python: Add proper support for pyproject.toml-based builds

This removes the changes made in
61f202c017 and adds actual support for
pyproject.toml-based (PEP 517) builds of Python packages.

Packages can force the use of the old build process by setting
PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1; this should only be a temporary
workaround until the package can be updated/fixed to use the new build
process.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This commit is contained in:
Jeffery To
2023-02-18 01:13:22 +08:00
parent 705176cd6a
commit 5156c0c82b
4 changed files with 69 additions and 39 deletions

View File

@@ -98,12 +98,6 @@ HOST_PYTHON3_PIP_VARS:= \
PIP_CONFIG_FILE=/dev/null \
PIP_DISABLE_PIP_VERSION_CHECK=1
define SetupPyShim
if [ -f $(1)/pyproject.toml ] && [ ! -f $(1)/setup.py ] ; then \
$(CP) $(python3_mk_path)setup.py.shim $(1)setup.py ; \
fi
endef
# Multiple concurrent pip processes can lead to errors or unexpected results: https://github.com/pypa/pip/issues/2361
# $(1) => packages to install
define HostPython3/PipInstall