gnu: mig: Define 'mig/32-bit'.
authorLudovic Courtès <ludo@gnu.org>
Sat, 10 Oct 2020 20:26:14 +0000 (22:26 +0200)
committerLudovic Courtès <ludo@gnu.org>
Sat, 10 Oct 2020 20:37:45 +0000 (22:37 +0200)
* gnu/packages/hurd.scm (mig/32-bit): New variable.
(hurd)[native-inputs]: Use it.  Previous inline variant would drop the
'patch-non-shebang-references' phase.

gnu/packages/hurd.scm

index 98fe594..47c7e17 100644 (file)
@@ -157,6 +157,17 @@ for other software in the GNU system that uses Mach-based inter-process
 communication.")
     (license gpl2+)))
 
+(define-public mig/32-bit
+  ;; When cross-compiling from x86_64-linux to i586-gnu, we need this 32-bit
+  ;; native MIG.
+  (package
+    (inherit mig)
+    (arguments
+     (substitute-keyword-arguments (package-arguments mig)
+       ((#:system _ #f)
+        "i686-linux")))
+    (properties `((hidden? . #t)))))
+
 (define-public hurd-headers
   ;; Resort to a post-0.9 snapshot that provides the 'file_utimens' and
   ;; 'file_exec_paths' RPCs that glibc 2.28 expects.
@@ -536,9 +547,7 @@ exec ${system}/rc \"$@\"
        ("mig" ,(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")))
+                   mig/32-bit
                    mig))
        ("perl" ,perl)
        ("texinfo" ,texinfo-4)