diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-03-07 21:30:41 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-03-07 21:39:32 +0100 |
commit | 7c788ed2276957ea52858d80faeca2962cd26f8d (patch) | |
tree | af8cdc24a4a1f7381f9ee462c18b2ae13efa96c2 | |
parent | 0fccb24765dfda3e90d7ce6981d9204f05aa6117 (diff) | |
download | guix-patches-7c788ed2276957ea52858d80faeca2962cd26f8d.tar guix-patches-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.scm | 53 |
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 |