summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-06-07 19:36:50 +0200
committerLudovic Courtès <ludo@gnu.org>2014-06-07 19:36:50 +0200
commit2e92375eb1618595df15fd4779eeb3595f919f78 (patch)
tree011adf1760a27f5ed81fcfb811dee9e97a6172a1
parentf986c264b2502df5376f4c50ff104b5fc8db9f23 (diff)
downloadguix-2e92375eb1618595df15fd4779eeb3595f919f78.tar.gz
gnu: glibc-final: Make sure we hold just the right set of references.
* gnu/packages/base.scm (glibc-final): Wrap in
  'package-with-restricted-references'.
-rw-r--r--gnu/packages/base.scm19
1 files changed, 13 insertions, 6 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 1755ba17e6..92c7eb28ef 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -929,12 +929,19 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
 
 (define-public glibc-final
   ;; The final glibc, which embeds the statically-linked Bash built above.
-  (package (inherit glibc-final-with-bootstrap-bash)
-    (name "glibc")
-    (inputs `(("static-bash" ,static-bash-for-glibc)
-              ,@(alist-delete
-                 "static-bash"
-                 (package-inputs glibc-final-with-bootstrap-bash))))))
+  (package-with-restricted-references
+   (package (inherit glibc-final-with-bootstrap-bash)
+     (name "glibc")
+     (inputs `(("static-bash" ,static-bash-for-glibc)
+               ,@(alist-delete
+                  "static-bash"
+                  (package-inputs glibc-final-with-bootstrap-bash)))))
+
+   ;; The final libc only refers to itself, but the 'debug' output contains
+   ;; references to GCC-BOOT0 and to the Linux headers.  XXX: Would be great
+   ;; if 'allowed-references' were per-output.
+   (cons* gcc-boot0 (linux-libre-headers-boot0)
+          (package-outputs glibc-final-with-bootstrap-bash))))
 
 (define gcc-boot0-wrapped
   ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the