Subject: [PATCH python-team v2] gnu: python: Make the build reproducible.

From: Tomas Volf <[email-masked]>
Date: Fri, 12 Jan 2024 17:00:00 +0100

While python build was reproducible on a single machine, once multiple
file systems entered the picture, it was no longer true.  My local builds on
BTRFS differed from build on ext4 done in a virtual machine.

The solution adopted by the upstream (and debian) was cherry-picked.  With
this patch, build on my machine (BTRFS) and in a guix system vm (ext4) produce
the same store item.

More info: https://github.com/python/cpython/pull/8226

* gnu/packages/python.scm (python-3.10)[source]: Apply reproducibility patch.

Change-Id: I0273dc0f8511a7acdcc2b462a26cc29a9756c801
---
Use patch directly from the upstream.

 gnu/packages/python.scm | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 51d5f598d7..c92ac720a5 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -428,12 +428,21 @@ (define-public python-3.10
               (method url-fetch)
               (uri (string-append "https://www.python.org/ftp/python/"
                                   version "/Python-" version ".tar.xz"))
-              (patches (search-patches
-                        "python-3-arm-alignment.patch"
-                        "python-3-deterministic-build-info.patch"
-                        "python-3-fix-tests.patch"
-                        "python-3-hurd-configure.patch"
-                        "python-3-search-paths.patch"))
+              (patches
+               (cons*
+                ;; https://github.com/python/cpython/pull/8226
+                (origin
+                  (method url-fetch)
+                  (uri "https://github.com/python/cpython/commit/6c8ea7c1dacd42f3ba00440231ec0e6b1a38300d.patch")
+                  (sha256
+                   (base32
+                    "13llngsyskp4c9j8lwqqpwp7h07mxai734zk1i387z8g261jk46v")))
+                (search-patches
+                 "python-3-arm-alignment.patch"
+                 "python-3-deterministic-build-info.patch"
+                 "python-3-fix-tests.patch"
+                 "python-3-hurd-configure.patch"
+                 "python-3-search-paths.patch")))
               (sha256
                (base32
                 "0j6wvh2ad5jjq5n7sjmj1k66mh6lipabavchc3rb4vsinwaq9vbf"))

base-commit: 5c0f77f4241c9beac0c82deae946bfdc70b49ff0
-- 
2.41.0