Merge pull request #20366 from commodo/python-toml-support
python-build: add support for pyproject.toml files (reboot of #17130)
This commit is contained in:
commit
6cf9fa9436
|
@ -51,6 +51,12 @@ HOST_PYTHON3_PIP:=$(STAGING_DIR_HOSTPKG)/bin/pip$(PYTHON3_VERSION)
|
||||||
|
|
||||||
HOST_PYTHON3_PIP_CACHE_DIR:=$(DL_DIR)/pip-cache
|
HOST_PYTHON3_PIP_CACHE_DIR:=$(DL_DIR)/pip-cache
|
||||||
|
|
||||||
|
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
|
# Multiple concurrent pip processes can lead to errors or unexpected results: https://github.com/pypa/pip/issues/2361
|
||||||
# $(1) => packages to install
|
# $(1) => packages to install
|
||||||
define HostPython3/PipInstall
|
define HostPython3/PipInstall
|
||||||
|
@ -75,8 +81,9 @@ endef
|
||||||
# $(2) => additional arguments to setup.py
|
# $(2) => additional arguments to setup.py
|
||||||
# $(3) => additional variables
|
# $(3) => additional variables
|
||||||
define HostPython3/ModSetup
|
define HostPython3/ModSetup
|
||||||
|
$(call SetupPyShim,$(HOST_BUILD_DIR)/$(strip $(1)))
|
||||||
$(call HostPython3/Run, \
|
$(call HostPython3/Run, \
|
||||||
$(HOST_BUILD_DIR)/$(strip $(1)), \
|
$(HOST_BUILD_DIR)/$(strip $(1)), \
|
||||||
setup.py $(2), \
|
setup.py $(2), \
|
||||||
$(3))
|
$(3) PY_PKG_VERSION=$(PKG_VERSION))
|
||||||
endef
|
endef
|
||||||
|
|
|
@ -62,10 +62,11 @@ endef
|
||||||
# $(3) => additional variables
|
# $(3) => additional variables
|
||||||
define Python3/ModSetup
|
define Python3/ModSetup
|
||||||
$(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)
|
$(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)
|
||||||
|
$(call SetupPyShim,$(PKG_BUILD_DIR)/$(strip $(1)))
|
||||||
$(call Python3/Run, \
|
$(call Python3/Run, \
|
||||||
$(PKG_BUILD_DIR)/$(strip $(1)), \
|
$(PKG_BUILD_DIR)/$(strip $(1)), \
|
||||||
setup.py $(2), \
|
setup.py $(2), \
|
||||||
$(3))
|
$(3) PY_PKG_VERSION=$(PKG_VERSION))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Python3/FixShebang
|
define Python3/FixShebang
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
import os
|
||||||
|
import setuptools
|
||||||
|
|
||||||
|
# FIXME: see about getting rid of PY_PKG_VERSION asap when setuptools handles this correctly
|
||||||
|
if __name__ == "__main__":
|
||||||
|
setuptools.setup(version=os.environ['PY_PKG_VERSION'])
|
Loading…
Reference in New Issue