From 85ebfcf4ffe5dda6f1eceb00b6afdac3239c0a31 Mon Sep 17 00:00:00 2001 From: Josselin Poiret Date: Mon, 22 May 2023 11:04:12 +0200 Subject: 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. --- gnu/packages/base.scm | 12 ++++++------ gnu/packages/cross-base.scm | 7 ++++++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index ada9edf0e6..38593e4ada 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2022 zamfofex ;;; Copyright © 2022 John Kehayias +;;; Copyright © 2023 Josselin Poiret ;;; ;;; This file is part of GNU Guix. ;;; @@ -1427,17 +1428,15 @@ command.") (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 @@ command.") (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 diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 8d0b41180b..e5fc4ba8b5 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2019 Carl Dong ;;; Copyright © 2020 Mathieu Othacehe ;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2023 Josselin Poiret ;;; ;;; This file is part of GNU Guix. ;;; @@ -492,7 +493,11 @@ the base compiler. Use XBINUTILS as the associated cross-Binutils." 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))) -- cgit 1.4.1