summary refs log tree commit diff
path: root/gnu/packages/cross-base.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/cross-base.scm')
-rw-r--r--gnu/packages/cross-base.scm18
1 files changed, 18 insertions, 0 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index e5fc4ba8b5..cdf642358d 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -375,6 +375,24 @@ target that libc."
     (inherit gnumach-headers)
     (name (string-append (package-name gnumach-headers)
                          "-cross-" target))
+    (arguments
+     (substitute-keyword-arguments (package-arguments gnumach-headers)
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            ;; Cheat by setting the host_cpu variable manually, since using
+            ;; --host= would require a working cross-compiler, which we don't
+            ;; have yet.
+            (add-after 'unpack 'substitute-host-cpu
+              (lambda _
+                (substitute* "configure.ac"
+                  (("AC_CANONICAL_HOST")
+                   #$(string-append
+                      "host_cpu="
+                      (match target
+                        ((? target-x86-32?)
+                         "i386")
+                        ((? target-x86-64?)
+                         "x86_64")))))))))))
     (native-inputs
      (modify-inputs (package-native-inputs gnumach-headers)
        (prepend xgcc xbinutils)))))