summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorJosselin Poiret <dev@jpoiret.xyz>2023-05-22 11:04:12 +0200
committerJosselin Poiret <dev@jpoiret.xyz>2023-07-13 18:20:01 +0200
commit85ebfcf4ffe5dda6f1eceb00b6afdac3239c0a31 (patch)
treeded825a52e2e5cebe3f7a013b086024d03d24825 /gnu/packages
parentff208b4b629a15ce0b72555db1cda9fcb7eec1c9 (diff)
downloadguix-85ebfcf4ffe5dda6f1eceb00b6afdac3239c0a31.tar.gz
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.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/base.scm12
-rw-r--r--gnu/packages/cross-base.scm7
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 <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 @@ 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 <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 @@ 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)))