From 69f777d14caa50a3a0d0167910ddb9a5910d4ab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 3 Nov 2013 22:35:17 +0100 Subject: [PATCH] gnu: make-bootstrap: Build libc and Guile without a .gnu_debuglink. * gnu/packages/make-bootstrap.scm (glibc-for-bootstrap, %guile-static): Add 'outputs' field. --- gnu/packages/make-bootstrap.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 2630ad5ce0..defc32bc08 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -64,7 +64,13 @@ (define* (glibc-for-bootstrap #:optional (base glibc)) ;; and can use statically-linked NSS modules. `(cons* "--disable-nscd" "--disable-build-nscd" "--enable-static-nss" - ,flags)))))) + ,flags)))) + + ;; Remove the 'debug' output to allow bit-reproducible builds (when the + ;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which + ;; includes a CRC of the corresponding debugging symbols; those symbols + ;; contain store file names, so the CRC changes at every rebuild.) + (outputs (delete "debug" (package-outputs base))))) (define (package-with-relocatable-glibc p) "Return a variant of P that uses the libc as defined by @@ -127,7 +133,7 @@ (define %static-inputs (#f '()) (x (list x)))) - ;; Remove the `debug' output. + ;; Remove the 'debug' output (see above for the reason.) (outputs '("out")))) (bzip2 (package (inherit bzip2) (arguments @@ -472,6 +478,10 @@ (define %guile-static (name (string-append (package-name guile-2.0) "-static")) (source source) (synopsis "Statically-linked and relocatable Guile") + + ;; Remove the 'debug' output (see above for the reason.) + (outputs (delete "debug" (package-outputs guile-2.0))) + (propagated-inputs `(("bdw-gc" ,libgc) ,@(alist-delete "bdw-gc"