Subject: [PATCH 0/5] Enable cross-compilation for the pyproject-build-system

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 15 Jan 2023 23:04:02 -0500

This change enables cross-compilation for the pyproject-build-system, at the
same time paving the way to fix the longstanding bug #25235 (Wrapped python
programs get native-inputs in PYTHONPATH), by keeping the distinction between
native and host (regular) inputs even when not cross-compiling.  A unified
builder is used, which departs from the other build systems (which use one
builder for the native build and another one for the cross build, where
implemented).

If this change is accepted, there would be adjustments needed to some of the
~150 Python packages using pyproject (looking for a native inputs now needs to
be done using the 'native-inputs' instead of 'inputs' argument even in the
native compilation mode).  Over time I think it'd make sense to migrate more
build systems to use this scheme, since it gives more control as to what
inputs go into the wrapper.

A demo package, python-pycryptodome, that contains C extensions is adjusted so
that it can be cross-compiled using this new build system.

Maxim Cournoyer (5):
  gnu: libtommath: Update to 1.2.0-0.03de03d.
  gnu: libtomcrypt: Update to 1.18.2-0.29986d0.
  build: Enable cross-compilation for pyproject-build-system.
  gnu: python-pycryptodome: Fix build and enable cross-compilation.
  gnu: python-coverage: Switch to pyproject-build-system.

 gnu/packages/check.scm                |   2 +-
 gnu/packages/multiprecision.scm       | 179 +++++++++-----------------
 gnu/packages/python-crypto.scm        |  20 ++-
 guix/build-system/pyproject.scm       | 115 ++++++++++-------
 guix/build/pyproject-build-system.scm | 126 ++++++++++++++++--
 guix/packages.scm                     |  46 +++----
 6 files changed, 288 insertions(+), 200 deletions(-)

base-commit: 5c921977179489caef4a9e54ada6696fc86d2f0b
-- 
2.38.1