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.

Reply via email to