summary refs log tree commit diff
diff options
context:
space:
mode:
-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)))