summaryrefslogtreecommitdiff
path: root/lang/python/python3
diff options
context:
space:
mode:
Diffstat (limited to 'lang/python/python3')
-rw-r--r--lang/python/python3/Makefile10
-rw-r--r--lang/python/python3/patches-setuptools/001-reproducible.patch16
-rw-r--r--lang/python/python3/patches-setuptools/002-sorted-requires.patch16
-rw-r--r--lang/python/python3/patches-setuptools/003-PKG-INFO-output-reproducible.patch14
4 files changed, 56 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))
diff --git a/lang/python/python3/patches-setuptools/001-reproducible.patch b/lang/python/python3/patches-setuptools/001-reproducible.patch
new file mode 100644
index 000000000..32edc568d
--- /dev/null
+++ b/lang/python/python3/patches-setuptools/001-reproducible.patch
@@ -0,0 +1,16 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848136
+https://sources.debian.org/patches/python-setuptools/40.8.0-1/reproducible.diff/
+
+Index: b/setuptools/command/easy_install.py
+===================================================================
+--- a/setuptools/command/easy_install.py
++++ b/setuptools/command/easy_install.py
+@@ -436,7 +436,7 @@ consider to install to another location,
+ for spec in self.args:
+ self.easy_install(spec, not self.no_deps)
+ if self.record:
+- outputs = self.outputs
++ outputs = list(sorted(self.outputs))
+ if self.root: # strip any package prefix
+ root_len = len(self.root)
+ for counter in range(len(outputs)):
diff --git a/lang/python/python3/patches-setuptools/002-sorted-requires.patch b/lang/python/python3/patches-setuptools/002-sorted-requires.patch
new file mode 100644
index 000000000..2ad4795b3
--- /dev/null
+++ b/lang/python/python3/patches-setuptools/002-sorted-requires.patch
@@ -0,0 +1,16 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804249
+https://sources.debian.org/patches/python-setuptools/40.8.0-1/sorted-requires.diff/
+
+Index: b/setuptools/command/egg_info.py
+===================================================================
+--- a/setuptools/command/egg_info.py
++++ b/setuptools/command/egg_info.py
+@@ -621,7 +621,7 @@ def warn_depends_obsolete(cmd, basename,
+ def _write_requirements(stream, reqs):
+ lines = yield_lines(reqs or ())
+ append_cr = lambda line: line + '\n'
+- lines = map(append_cr, lines)
++ lines = map(append_cr, sorted(lines))
+ stream.writelines(lines)
+
+
diff --git a/lang/python/python3/patches-setuptools/003-PKG-INFO-output-reproducible.patch b/lang/python/python3/patches-setuptools/003-PKG-INFO-output-reproducible.patch
new file mode 100644
index 000000000..15f34dcdb
--- /dev/null
+++ b/lang/python/python3/patches-setuptools/003-PKG-INFO-output-reproducible.patch
@@ -0,0 +1,14 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=894215
+https://sources.debian.org/patches/python-setuptools/40.8.0-1/PKG-INFO-output-reproducible.diff/
+
+--- a/setuptools/dist.py
++++ b/setuptools/dist.py
+@@ -191,7 +191,7 @@ def write_pkg_file(self, file):
+ self.long_description_content_type
+ )
+ if self.provides_extras:
+- for extra in self.provides_extras:
++ for extra in sorted(self.provides_extras):
+ write_field('Provides-Extra', extra)
+
+