summary refs log tree commit diff
path: root/gnu/packages/make-bootstrap.scm
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 /gnu/packages/make-bootstrap.scm
parentc9323eac746e1905f9cacf17408a5678c2bdefbf (diff)
downloadguix-69f777d14caa50a3a0d0167910ddb9a5910d4ab2.tar.gz
gnu: make-bootstrap: Build libc and Guile without a .gnu_debuglink.
* gnu/packages/make-bootstrap.scm (glibc-for-bootstrap, %guile-static):
  Add 'outputs' field.
Diffstat (limited to 'gnu/packages/make-bootstrap.scm')
-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"