gnu: make-bootstrap: Fix cross-compilation of ‘%glibc-stripped’.

Previously, ‘guix build bootstrap-tarballs --target=aarch64-linux-gnu’
or similar would construct a cross-libc where ‘%current-target-system’
is set.  This would lead to a failure in the
‘add-cross-binutils-to-PATH’ phase, which assumes that
‘%current-target-system’ is #f; indeed, ‘cross-libc’ already returns a
cross libc and so ‘%current-target-system’ must be set to #f.

* gnu/packages/make-bootstrap.scm (%glibc-stripped)[inputs]: Move libc to…
[native-inputs]: … here.

Change-Id: Ifbf5e519ba3198940f4de4a36075d5302e923172
This commit is contained in:
Ludovic Courtès 2024-08-14 17:51:48 +02:00
parent cfd67d36b5
commit e8a1b10c27
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -448,19 +448,20 @@ (define (%glibc-stripped)
(make-stripped-libc (assoc-ref %outputs "out")
(assoc-ref %build-inputs "libc")
(assoc-ref %build-inputs "kernel-headers")))))
(inputs `(("kernel-headers"
,(if (or (and (%current-target-system)
(target-hurd? (%current-target-system)))
(string-suffix? "-hurd" (%current-system)))
gnumach-headers
linux-libre-headers))
("libc" ,(let ((target (%current-target-system)))
(native-inputs
`(("libc" ,(let ((target (%current-target-system)))
(if target
(glibc-for-bootstrap
(parameterize ((%current-target-system #f))
(cross-libc target)))
glibc)))))
(native-inputs '())
(inputs
`(("kernel-headers"
,(if (or (and (%current-target-system)
(target-hurd? (%current-target-system)))
(string-suffix? "-hurd" (%current-system)))
gnumach-headers
linux-libre-headers))))
(propagated-inputs '())
;; Only one output.