Subject: [PATCH core-updates v2 11/20] gnu: gnumach, hurd-headers, hurd: Switch to using cross-mig.

From: Ludovic Courtès <[email-masked]>
Date: Tue, 28 Mar 2023 16:28:43 +0200

From: Josselin Poiret <[email-masked]>

* gnu/packages/hurd.scm (gnumach, hurd-headers, hurd): Switch to cross-mig when
cross-building.

Signed-off-by: Ludovic Courtès <[email-masked]>
---
 gnu/packages/hurd.scm | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 375e8af76a..7ad893380c 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -188,7 +188,13 @@ (define-public hurd-headers
                                          "hurd-fix-types-of-read-write-and-readables-methods-2.patch"))))
       (build-system gnu-build-system)
       (native-inputs
-       (list autoconf automake mig))
+       (list autoconf
+             automake
+             (if (%current-target-system)
+                 (let* ((cross-base (resolve-interface '(gnu packages cross-base)))
+                        (cross-mig (module-ref cross-base 'cross-mig)))
+                   (cross-mig (%current-target-system)))
+                 mig)))
       (arguments
        `(#:phases
          (modify-phases %standard-phases
@@ -312,7 +318,15 @@ (define-public gnumach
                  (invoke "make" "gnumach.gz")
                  (install-file "gnumach.gz" boot))))))))
     (native-inputs
-     (list mig perl autoconf automake texinfo-4))
+     (list autoconf
+           automake
+           (if (%current-target-system)
+                   (let* ((cross-base (resolve-interface '(gnu packages cross-base)))
+                          (cross-mig (module-ref cross-base 'cross-mig)))
+                     (cross-mig (%current-target-system)))
+                   mig)
+           perl
+           texinfo-4))
     (supported-systems (cons "i686-linux" %hurd-systems))
     (synopsis "Microkernel of the GNU system")
     (description
@@ -532,12 +546,12 @@ (define-public hurd
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
        ("libgcrypt" ,libgcrypt)                   ;for 'libgcrypt-config'
-       ("pkg-config" ,pkg-config)
        ("mig" ,(if (%current-target-system)
-                   ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG,
-                   ;; hence this hack.
-                   mig/32-bit
+                   (let* ((cross-base (resolve-interface '(gnu packages cross-base)))
+                          (cross-mig (module-ref cross-base 'cross-mig)))
+                     (cross-mig (%current-target-system)))
                    mig))
+       ("pkg-config" ,pkg-config)
        ("perl" ,perl)
        ("texinfo" ,texinfo-4)
        ("dde-sources" ,dde-sources)))
-- 
2.39.2