~ruther/guix-local

c5b65f7e2bd907a5b7061a42959c485d69ba1ac6 — Ludovic Courtès 10 years ago 6042f40
gnu: glibc: Remove timestamp from 'nscd' binary.

This makes libc bit-for-bit reproducible per '--rounds=2'.

* gnu/packages/base.scm (glibc)[arguments] <pre-configure>: Remove
__DATE__ and __TIME__ from nscd_stat.c.
1 files changed, 9 insertions(+), 0 deletions(-)

M gnu/packages/base.scm
M gnu/packages/base.scm => gnu/packages/base.scm +9 -0
@@ 595,6 595,15 @@ store.")
                         (string-append "#define _PATH_BSHELL \""
                                        bash "/bin/bash\"\n")))

                      ;; Nscd uses __DATE__ and __TIME__ to create a string to
                      ;; make sure the client and server come from the same
                      ;; libc.  Use something deterministic instead.
                      (substitute* "nscd/nscd_stat.c"
                        (("static const char compilation\\[21\\] =.*$")
                         (string-append
                          "static const char compilation[21] = \""
                          (string-take (basename out) 20) "\";\n")))

                      ;; Make sure we don't retain a reference to the
                      ;; bootstrap Perl.
                      (substitute* "malloc/mtrace.pl"