guix_mirror_bot pushed a commit to branch core-packages-team in repository guix.
commit 236aa99a1a2da1c36324332bc3ce96b541202004 Author: Sören Tempel <[email protected]> AuthorDate: Sat Mar 14 12:56:35 2026 +0100 gnu: binutils: Make build reproducible. binutils is not reproducible because it includes an examples tarball which is not created in a reproducible way. This patch modifies the tarball creation to make it reproducible. Refer to https://reproducible-builds.org/docs/archives/ for more info. See also #7041. * gnu/packages/base.scm (binutils) [source]: Apply patch to make tarball creation reproducible. * gnu/packages/patches/binutils-reproducible-tar.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. Signed-off-by: Ludovic Courtès <[email protected]> --- gnu/local.mk | 1 + gnu/packages/base.scm | 1 + .../patches/binutils-reproducible-tar.patch | 26 ++++++++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/gnu/local.mk b/gnu/local.mk index 4b9f2ee9d88..d060447314b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1088,6 +1088,7 @@ dist_patch_DATA = \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/binutils-mingw-w64-deterministic.patch \ %D%/packages/patches/binutils-2.41-fix-cross.patch \ + %D%/packages/patches/binutils-reproducible-tar.patch \ %D%/packages/patches/bloomberg-bde-tools-fix-install-path.patch \ %D%/packages/patches/bmake-run-check-separately.patch \ %D%/packages/patches/boolector-find-googletest.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index ebddeea770b..65558cf1b5e 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -678,6 +678,7 @@ change. GNU make offers many powerful extensions over the standard utility.") (sha256 (base32 "0fnwaasfglbphqzvz5n25js9gl695p7pjbmb1z81g8gsc6k90qzn")) (patches (search-patches + "binutils-reproducible-tar.patch" "binutils-2.41-fix-cross.patch" "binutils-loongson-workaround.patch")))) (build-system gnu-build-system) diff --git a/gnu/packages/patches/binutils-reproducible-tar.patch b/gnu/packages/patches/binutils-reproducible-tar.patch new file mode 100644 index 00000000000..857daf1e6bd --- /dev/null +++ b/gnu/packages/patches/binutils-reproducible-tar.patch @@ -0,0 +1,26 @@ +Ensure that the examples tarball is reproducible. + +See https://reproducible-builds.org/docs/archives/ + +diff -upr a/gprofng/doc/Makefile.in b/gprofng/doc/Makefile.in +--- a/gprofng/doc/Makefile.in 2025-02-02 01:00:00.000000000 +0100 ++++ b/gprofng/doc/Makefile.in 2026-03-15 11:03:49.597737186 +0100 +@@ -894,14 +894,14 @@ gprofng-display-text.1: $(srcdir)/gprofn + + info: $(man_MANS) + +-examples.tar.gz: +- $(AM_V_at)( tar czf $@ $(srcdir)/../examples ) ++examples.tar: ++ $(AM_V_at)( tar --owner=0 --group=0 --sort=name --mtime='2015-10-21 00:00Z' -cf $@ $(srcdir)/../examples ) + + .PHONY: install-data-local + +-install-data-local: examples.tar.gz ++install-data-local: examples.tar + $(mkinstalldirs) $(DESTDIR)$(docdir)/gprofng +- $(INSTALL_DATA) examples.tar.gz $(DESTDIR)$(docdir)/gprofng ++ $(INSTALL_DATA) examples.tar $(DESTDIR)$(docdir)/gprofng + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded.
