Message ID | 3171d7e17ba481e977e45fdf35fb0ef42250abb4.1705075889.git.~@wolfsden.cz |
---|---|
State | New |
Headers | show |
Series | [bug#68394,python-team,v2] gnu: python: Make the build reproducible. | expand |
Hi Tomas, Tomas Volf <~@wolfsden.cz> writes: > 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 I've pushed a variant of this on to core-updates in commit e84519a949 ("gnu: python: Make the build reproducible."), thank you! > --- > 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"))) I've opted to keep the patch local, which has been discussed as preferred in the past (I think for reliability -- they don't disappear).
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"))