aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-03-07 21:30:41 +0100
committerLudovic Courtès <ludo@gnu.org>2018-03-07 21:39:32 +0100
commit7c788ed2276957ea52858d80faeca2962cd26f8d (patch)
treeaf8cdc24a4a1f7381f9ee462c18b2ae13efa96c2
parent0fccb24765dfda3e90d7ce6981d9204f05aa6117 (diff)
downloadguix-7c788ed2276957ea52858d80faeca2962cd26f8d.tar
guix-7c788ed2276957ea52858d80faeca2962cd26f8d.tar.gz
gnu: commencement: 'glibc-final' inherits the replacement of 'glibc'.
That was the intent of commit b672a8160755bab07fb3c13dbc43dcc26525a7b7, but that commit left 'glibc-final' ungrafted. Reported by Ricardo Wurmus at <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00435.html>. * gnu/packages/commencement.scm (glibc-final): Use 'package/inherit' so that we inherit the 'replacement' of GLIBC.
-rw-r--r--gnu/packages/commencement.scm53
1 files changed, 25 insertions, 28 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 1584f000d4..fe9fbebcc2 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -673,35 +673,32 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define glibc-final
;; The final glibc, which embeds the statically-linked Bash built above.
- (package (inherit glibc)
- (package
- (inherit (package
- (inherit glibc)
- ;; Use the source patched with %BOOTSTRAP-GUILE.
- (source (package-source 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))))
-
- ;; This time we need 'msgfmt' to install all the libc.mo files.
- (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash)
- ("gettext" ,gettext-boot0)))
-
- (propagated-inputs
- (package-propagated-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.
- (arguments
- `(#:allowed-references
- ,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0)
- static-bash-for-glibc
- (package-outputs glibc-final-with-bootstrap-bash))
+ ;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any.
+ (let ((glibc (package-with-bootstrap-guile glibc)))
+ (package/inherit glibc
+ (name "glibc")
+ (inputs `(("static-bash" ,static-bash-for-glibc)
+ ,@(alist-delete
+ "static-bash"
+ (package-inputs glibc-final-with-bootstrap-bash))))
+
+ ;; This time we need 'msgfmt' to install all the libc.mo files.
+ (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash)
+ ("gettext" ,gettext-boot0)))
+
+ (propagated-inputs
+ (package-propagated-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.
+ (arguments
+ `(#:allowed-references
+ ,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0)
+ static-bash-for-glibc
+ (package-outputs glibc-final-with-bootstrap-bash))
- ,@(package-arguments glibc-final-with-bootstrap-bash)))))
+ ,@(package-arguments glibc-final-with-bootstrap-bash))))))
(define gcc-boot0-wrapped
;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the