me
/
guix
Archived
1
0
Fork 0

gnu: commencement: 'glibc-final' inherits the replacement of 'glibc'.

That was the intent of commit b672a81607,
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.
master
Ludovic Courtès 2018-03-07 21:30:41 +01:00
parent 0fccb24765
commit 7c788ed227
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 22 additions and 25 deletions

View File

@ -673,35 +673,32 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define glibc-final (define glibc-final
;; The final glibc, which embeds the statically-linked Bash built above. ;; The final glibc, which embeds the statically-linked Bash built above.
(package (inherit glibc) ;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any.
(package (let ((glibc (package-with-bootstrap-guile glibc)))
(inherit (package (package/inherit glibc
(inherit glibc) (name "glibc")
;; Use the source patched with %BOOTSTRAP-GUILE. (inputs `(("static-bash" ,static-bash-for-glibc)
(source (package-source glibc-final-with-bootstrap-bash)))) ,@(alist-delete
(name "glibc") "static-bash"
(inputs `(("static-bash" ,static-bash-for-glibc) (package-inputs glibc-final-with-bootstrap-bash))))
,@(alist-delete
"static-bash"
(package-inputs glibc-final-with-bootstrap-bash))))
;; This time we need 'msgfmt' to install all the libc.mo files. ;; This time we need 'msgfmt' to install all the libc.mo files.
(native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash) (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash)
("gettext" ,gettext-boot0))) ("gettext" ,gettext-boot0)))
(propagated-inputs (propagated-inputs
(package-propagated-inputs glibc-final-with-bootstrap-bash)) (package-propagated-inputs glibc-final-with-bootstrap-bash))
;; The final libc only refers to itself, but the 'debug' output contains ;; 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 ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great
;; if 'allowed-references' were per-output. ;; if 'allowed-references' were per-output.
(arguments (arguments
`(#:allowed-references `(#:allowed-references
,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0) ,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0)
static-bash-for-glibc static-bash-for-glibc
(package-outputs glibc-final-with-bootstrap-bash)) (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 (define gcc-boot0-wrapped
;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the