summaryrefslogtreecommitdiff
path: root/lang/python
diff options
context:
space:
mode:
Diffstat (limited to 'lang/python')
-rw-r--r--lang/python/python-version.mk2
-rw-r--r--lang/python/python/Makefile10
-rw-r--r--lang/python/python/patches-setuptools/001-reproducible.patch16
-rw-r--r--lang/python/python/patches-setuptools/002-sorted-requires.patch16
-rw-r--r--lang/python/python/patches-setuptools/003-PKG-INFO-output-reproducible.patch14
-rw-r--r--lang/python/python3-version.mk2
-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
10 files changed, 114 insertions, 2 deletions
diff --git a/lang/python/python-version.mk b/lang/python/python-version.mk
index 418217623..84b8e4f05 100644
--- a/lang/python/python-version.mk
+++ b/lang/python/python-version.mk
@@ -8,7 +8,7 @@
PYTHON_VERSION:=2.7
PYTHON_VERSION_MICRO:=16
-PYTHON_SETUPTOOLS_PKG_RELEASE:=2
+PYTHON_SETUPTOOLS_PKG_RELEASE:=3
PYTHON_PIP_PKG_RELEASE:=2
PYTHON_SETUPTOOLS_VERSION:=40.6.2
diff --git a/lang/python/python/Makefile b/lang/python/python/Makefile
index df825bc0d..979ccc771 100644
--- a/lang/python/python/Makefile
+++ b/lang/python/python/Makefile
@@ -174,6 +174,7 @@ define Build/Compile/python-setuptools
--ignore-installed \
--root=$(PKG_BUILD_DIR)/install-setuptools --prefix=. \
$(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-$(PYTHON_SETUPTOOLS_VERSION)-py2.py3-none-any.whl
+ $(call PatchDir,$(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON_VERSION)/site-packages,./patches-setuptools,)
endef
endif # CONFIG_PACKAGE_python-setuptools
@@ -183,6 +184,7 @@ define Build/Compile/python-pip
--ignore-installed \
--root=$(PKG_BUILD_DIR)/install-pip --prefix=. \
$(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON_PIP_VERSION)-py2.py3-none-any.whl
+ $(call PatchDir,$(PKG_BUILD_DIR)/install-pip/lib/python$(PYTHON_VERSION)/site-packages,./patches-pip,)
endef
endif # CONFIG_PACKAGE_python-pip
@@ -304,6 +306,14 @@ define Host/Install
$(MAKE) -C $(HOST_BUILD_DIR) install
$(INSTALL_DIR) $(HOST_PYTHON_DIR)/bin/
$(INSTALL_BIN) $(HOST_BUILD_DIR)/Parser/pgen $(HOST_PYTHON_DIR)/bin/pgen2
+ ifeq ($(wildcard $(HOST_PYTHON_PKG_DIR)/.setuptools-patched),)
+ $(call HostPatchDir,$(HOST_PYTHON_PKG_DIR),./patches-setuptools,)
+ touch $(HOST_PYTHON_PKG_DIR)/.setuptools-patched
+ endif
+ ifeq ($(wildcard $(HOST_PYTHON_PKG_DIR)/.pip-patched),)
+ $(call HostPatchDir,$(HOST_PYTHON_PKG_DIR),./patches-pip,)
+ touch $(HOST_PYTHON_PKG_DIR)/.pip-patched
+ endif
endef
$(eval $(call HostBuild))
diff --git a/lang/python/python/patches-setuptools/001-reproducible.patch b/lang/python/python/patches-setuptools/001-reproducible.patch
new file mode 100644
index 000000000..32edc568d
--- /dev/null
+++ b/lang/python/python/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/python/patches-setuptools/002-sorted-requires.patch b/lang/python/python/patches-setuptools/002-sorted-requires.patch
new file mode 100644
index 000000000..2ad4795b3
--- /dev/null
+++ b/lang/python/python/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/python/patches-setuptools/003-PKG-INFO-output-reproducible.patch b/lang/python/python/patches-setuptools/003-PKG-INFO-output-reproducible.patch
new file mode 100644
index 000000000..15f34dcdb
--- /dev/null
+++ b/lang/python/python/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)
+
+
diff --git a/lang/python/python3-version.mk b/lang/python/python3-version.mk
index 9eebeb260..784ec1778 100644
--- a/lang/python/python3-version.mk
+++ b/lang/python/python3-version.mk
@@ -12,7 +12,7 @@ PYTHON3_VERSION_MICRO:=2
PYTHON3_VERSION:=$(PYTHON3_VERSION_MAJOR).$(PYTHON3_VERSION_MINOR)
-PYTHON3_SETUPTOOLS_PKG_RELEASE:=2
+PYTHON3_SETUPTOOLS_PKG_RELEASE:=3
PYTHON3_PIP_PKG_RELEASE:=2
PYTHON3_SETUPTOOLS_VERSION:=40.6.2
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)
+
+