guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/24: gnu: gnumach-headers: Cross-build without relying on x86.


From: guix-commits
Subject: 02/24: gnu: gnumach-headers: Cross-build without relying on x86.
Date: Thu, 13 Jul 2023 13:02:36 -0400 (EDT)

jpoiret pushed a commit to branch master
in repository guix.

commit c2bb342b5ff0ac15d6dc37a9ba8daeb8956237e1
Author: Josselin Poiret <dev@jpoiret.xyz>
AuthorDate: Mon May 22 11:04:13 2023 +0200

    gnu: gnumach-headers: Cross-build without relying on x86.
    
    * gnu/packages/hurd.scm (gnumach-headers): Remove configure flags where we
    say the builder is running x86.
    * gnu/packages/cross-base.scm (cross-gnumach-headers): Work around 
limitation
    of build system, by manually changing the target host_cpu without relying on
    --host, because we don't have a working cross-compiler yet.
---
 gnu/packages/cross-base.scm | 18 ++++++++++++++++++
 gnu/packages/hurd.scm       | 11 +----------
 2 files changed, 19 insertions(+), 10 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)))))
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index c9f77d799a..438f07c20c 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2020, 2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2020 Rene Saavedra <pacoon@protonmail.com>
+;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -75,16 +76,6 @@
            (lambda _
              (invoke "make" "install-data")))
          (delete 'build))
-
-       ;; GNU Mach supports only IA32 currently, so cheat so that we can at
-       ;; least install its headers.
-       ,@(if (%current-target-system)
-             '()
-             ;; See 
<http://lists.gnu.org/archive/html/bug-hurd/2015-06/msg00042.html>
-             ;; 
<http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00716.html>
-             '(#:configure-flags '("--build=i586-pc-gnu"
-                                   "--host=i686-linux-gnu")))
-
        #:tests? #f))
     (native-inputs
      (list autoconf automake texinfo-4))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]