Subject: [PATCH 0/8] Misc Python build system improvements

From: Sharlatan Hellseher <[email-masked]>
Date: Tue, 14 Jan 2025 20:36:33 +0000

Hi jgart,

It happens because python-build-system does not provide any base Python
build backend by default now, which is bundled in python-build-system,
it's more flexible when we need to update or add a new version of
python-setuptools for example or when the project does not need
setuptools at all and requires some other build backend.

Python ecosystem does not follow any particular standard when it
concerns packaging or package management so we have a collection of any
potential build back end packaged in python-build module.

Build back end is specified in pyproject.toml in modern Python proejcts
which is captured by the pypi import now, but for any packaged packaged
before #65010 was merged the build back end might be missing - that is
the main reason of issue.

The simplest solution - check pyproject.toml, setup.cf, setup.py for any
reference of expected build backend (flit-core, hatcling, pdm-backend,
poetry-core, setuptools) and add it to native-inputs of failing package.

Example:
--8<---------------cut here---------------start------------->8---
[build-system]
requires = ["setuptools",
            "setuptools_scm>=6.2",
            "cython>=3.0.0, <4",
            "numpy>=2.0.0, <3",
            "extension-helpers>=1,<2"]
build-backend = "setuptools.build_meta"
--8<---------------cut here---------------end--------------->8---
<https://raw.githubusercontent.com/astropy/astropy/refs/heads/main/pyproject.toml>

Most of the major packages were fixed on python-team branch which is
next to be merged <https://issues.guix.gnu.org/75246>.

--
Oleg