[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#63641] [PATCH 3/8] gnu: gnumach-headers: Cross-build without relyin
From: |
Josselin Poiret |
Subject: |
[bug#63641] [PATCH 3/8] gnu: gnumach-headers: Cross-build without relying on x86. |
Date: |
Mon, 22 May 2023 11:04:13 +0200 |
From: Josselin Poiret <dev@jpoiret.xyz>
* 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 | 10 ----------
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 50e86083c3..01c2295853 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -374,6 +374,24 @@ (define* (cross-gnumach-headers target
(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 34c7c00f2d..a6f0f76009 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -88,16 +88,6 @@ (define-public gnumach-headers
(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))
--
2.40.1
- [bug#63641] [PATCH 2/8] gnu: glibc/hurd-headers: Properly cross-build., (continued)
- [bug#63641] [PATCH 6/8] gnu: gnumach: Update to 1.8+git20221224., Josselin Poiret, 2023/05/22
- [bug#63641] [PATCH 8/8] gnu: hurd: Update to v0.9.git20230216., Josselin Poiret, 2023/05/22
- [bug#63641] [PATCH 4/8] gnu: hurd: Update supported systems., Josselin Poiret, 2023/05/22
- [bug#63641] [PATCH 1/8] hurd-boot: Add urandom and default-pager translators., Josselin Poiret, 2023/05/22
- [bug#63641] [PATCH 3/8] gnu: gnumach-headers: Cross-build without relying on x86.,
Josselin Poiret <=
- [bug#63641] [PATCH 5/8] gnu: Add libc-for-target and glibc/hurd., Josselin Poiret, 2023/05/22
- [bug#63641] [PATCH 7/8] gnu: mig: Update to 04bfe7a91223ba15d868f7165e49328b1c6e86c3., Josselin Poiret, 2023/05/22
- [bug#63641] [PATCH 0/8] Add libc specific to Hurd and update components, Janneke Nieuwenhuizen, 2023/05/23