aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-11-03 22:35:17 +0100
committerLudovic Courtès <ludo@gnu.org>2013-11-03 22:35:17 +0100
commit69f777d14caa50a3a0d0167910ddb9a5910d4ab2 (patch)
treec81768bfd059c45fa02a66c43a4bc16c2ab5d4b0
parentc9323eac746e1905f9cacf17408a5678c2bdefbf (diff)
downloadguix-69f777d14caa50a3a0d0167910ddb9a5910d4ab2.tar.gz
guix-69f777d14caa50a3a0d0167910ddb9a5910d4ab2.zip
gnu: make-bootstrap: Build libc and Guile without a .gnu_debuglink.
* gnu/packages/make-bootstrap.scm (glibc-for-bootstrap, %guile-static): Add 'outputs' field.
-rw-r--r--gnu/packages/make-bootstrap.scm14
1 files 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 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
;; 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 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(#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 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(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"