summaryrefslogtreecommitdiff
path: root/lang/python/python3/Makefile
diff options
context:
space:
mode:
authorJeffery To <jeffery.to@gmail.com>2019-05-24 13:18:09 +0800
committerJeffery To <jeffery.to@gmail.com>2019-05-24 13:18:09 +0800
commitda35e6770db37106b4746e9b790012164729cba6 (patch)
treece516f71dcadcb32709fc44fd0e43249535113e8 /lang/python/python3/Makefile
parent3d62778f6e4aac138fe9e239882c043f451a7ba1 (diff)
python-setuptools: Add reproducibility patches from Debian
This adds the ability to patch setuptools (and pip), and adds 3 reproducibility patches from Debian[1]. (003-PKG-INFO-output-reproducible.patch addresses the issue identified in #9039.) The patching is not perfect, in that the patches are applied to setuptools and pip after they have been installed, since they are installed from wheels which are already "precompiled". Also, patching for the host install cannot be updated in place, for example if a patch is added or removed. [1]: https://sources.debian.org/patches/python-setuptools/40.8.0-1/ Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Diffstat (limited to 'lang/python/python3/Makefile')
-rw-r--r--lang/python/python3/Makefile10
1 files changed, 10 insertions, 0 deletions
diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile
index 4053ff0c9..d151459ed 100644
--- a/lang/python/python3/Makefile
+++ b/lang/python/python3/Makefile
@@ -178,6 +178,7 @@ define Build/Compile/python3-setuptools
--ignore-installed \
--root=$(PKG_BUILD_DIR)/install-setuptools --prefix=. \
$(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-$(PYTHON3_SETUPTOOLS_VERSION)-py2.py3-none-any.whl
+ $(call PatchDir,$(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON3_VERSION)/site-packages,./patches-setuptools,)
endef
endif # CONFIG_PACKAGE_python3-setuptools
@@ -187,6 +188,7 @@ define Build/Compile/python3-pip
--ignore-installed \
--root=$(PKG_BUILD_DIR)/install-pip --prefix=. \
$(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON3_PIP_VERSION)-py2.py3-none-any.whl
+ $(call PatchDir,$(PKG_BUILD_DIR)/install-pip/lib/python$(PYTHON3_VERSION)/site-packages,./patches-pip,)
endef
endif # CONFIG_PACKAGE_python3-pip
@@ -299,6 +301,14 @@ define Host/Install
$(MAKE) -C $(HOST_BUILD_DIR) install
$(INSTALL_DIR) $(HOST_PYTHON3_DIR)/bin/
$(INSTALL_BIN) $(HOST_BUILD_DIR)/Parser/pgen $(HOST_PYTHON3_DIR)/bin/pgen3
+ ifeq ($(wildcard $(HOST_PYTHON3_PKG_DIR)/.setuptools-patched),)
+ $(call HostPatchDir,$(HOST_PYTHON3_PKG_DIR),./patches-setuptools,)
+ touch $(HOST_PYTHON3_PKG_DIR)/.setuptools-patched
+ endif
+ ifeq ($(wildcard $(HOST_PYTHON3_PKG_DIR)/.pip-patched),)
+ $(call HostPatchDir,$(HOST_PYTHON3_PKG_DIR),./patches-pip,)
+ touch $(HOST_PYTHON3_PKG_DIR)/.pip-patched
+ endif
endef
$(eval $(call HostBuild))