gnu: glibc/hurd-headers: Properly cross-build.

* gnu/packages/base.scm (glibc/hurd-headers): Rely on cross-mig, and remove
hardcoded configure flag `--host=i586-pc-gnu`.
* gnu/packages/cross-base.scm (cross-kernel-headers*): Add `--host` and
`--build` configure flags.
This commit is contained in:
Josselin Poiret 2023-05-22 11:04:12 +02:00
parent ff208b4b62
commit 85ebfcf4ff
No known key found for this signature in database
GPG key ID: 505E40B916171A8A
2 changed files with 12 additions and 7 deletions

View file

@ -22,6 +22,7 @@
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1427,17 +1428,15 @@ (define-public glibc/hurd-headers
(native-inputs
(modify-inputs (package-native-inputs glibc)
(prepend (if (%current-target-system)
;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG,
;; hence this hack.
(package (inherit mig)
(arguments `(#:system "i686-linux")))
(let* ((cross-base (resolve-interface '(gnu packages cross-base)))
(cross-mig (module-ref cross-base 'cross-mig)))
(cross-mig (%current-target-system)))
mig))))
(arguments
(substitute-keyword-arguments (package-arguments glibc)
;; We just pass the flags really needed to build the headers.
((#:configure-flags flags)
`(list "--enable-add-ons"
"--host=i586-pc-gnu"
,@%glibc/hurd-configure-flags))
((#:phases _)
'(modify-phases %standard-phases
@ -1452,7 +1451,8 @@ (define-public glibc/hurd-headers
(close-port
(open-output-file
(string-append out "/include/gnu/stubs.h"))))))
(delete 'build))))))) ; nothing to build
(delete 'build))))) ; nothing to build
(supported-systems %hurd-systems)))
(define-public tzdata
(package

View file

@ -8,6 +8,7 @@
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -492,7 +493,11 @@ (define xglibc/hurd-headers
hurd "/include")))
(for-each (cut setenv <> cpath)
',%gcc-cross-include-paths)
#t)))))))
#t)))))
((#:configure-flags flags)
`(cons* ,(string-append "--build=" (%current-system))
,(string-append "--host=" target)
,flags))))
(propagated-inputs `(("gnumach-headers" ,xgnumach-headers)
("hurd-headers" ,xhurd-headers)))