Subject: [bug#62307] [PATCH core-updates 11/15] gnumach, hurd: Switch to using cross-mig.

From: Josselin Poiret <[email-masked]>
Date: Mon, 20 Mar 2023 23:10:47 +0100

* gnu/packages/hurd.scm (gnumach, hurd): Switch to cross-mig when
cross-building.
---
 gnu/packages/hurd.scm | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 2a823f6576..be5eb25fee 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -313,7 +313,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
@@ -533,12 +541,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