mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-24 11:39:46 -05:00
gnu: gnumach: Fix build for i686-linux.
* gnu/packages/patches/gnumach-fix-i686-linux-build.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/hurd.scm (gnumach)[source]: Use it. [arguments]: Remove #:make-flags to avoid overriding now-essential CFLAGS set by configure. Rewrite to use gexps. [supported-systems]: Add i686-linux. Change-Id: Ibec03121f90b30160725c87e999e38f677b2e369
This commit is contained in:
parent
8fc1b0ccc8
commit
9c1266bdc4
3 changed files with 63 additions and 14 deletions
|
@ -11,7 +11,7 @@
|
|||
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
# Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
|
||||
# Copyright © 2016-2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
# Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
# Copyright © 2017, 2018, 2023, 2024 Clément Lassieur <clement@lassieur.org>
|
||||
# Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
|
@ -1428,6 +1428,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gnome-session-support-elogind.patch \
|
||||
%D%/packages/patches/gnome-tweaks-search-paths.patch \
|
||||
%D%/packages/patches/gnulib-bootstrap.patch \
|
||||
%D%/packages/patches/gnumach-fix-i686-linux-build.patch \
|
||||
%D%/packages/patches/gnumach-support-noide.patch \
|
||||
%D%/packages/patches/gnupg-default-pinentry.patch \
|
||||
%D%/packages/patches/gnupg-1-build-with-gcc10.patch \
|
||||
|
|
|
@ -255,26 +255,24 @@ (define-public gnumach
|
|||
(inherit (package-source gnumach-headers))
|
||||
(patches
|
||||
(append
|
||||
(search-patches "gnumach-support-noide.patch")
|
||||
(search-patches "gnumach-support-noide.patch"
|
||||
"gnumach-fix-i686-linux-build.patch")
|
||||
(origin-patches (package-source gnumach-headers))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments gnumach-headers)
|
||||
((#:make-flags flags ''())
|
||||
`(cons "CFLAGS=-fcommon" ,flags))
|
||||
((#:configure-flags flags ''())
|
||||
`(cons* "--enable-kdb" ;enable kernel debugger
|
||||
`(cons* "--enable-kdb" ;enable kernel debugger
|
||||
"--disable-net-group"
|
||||
"--disable-pcmcia-group"
|
||||
"--disable-wireless-group"
|
||||
,flags))
|
||||
,flags))
|
||||
((#:phases phases '%standard-phases)
|
||||
`(modify-phases %standard-phases
|
||||
(add-after 'install 'produce-image
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(boot (string-append out "/boot")))
|
||||
(invoke "make" "gnumach.gz")
|
||||
(install-file "gnumach.gz" boot))))))))
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'produce-image
|
||||
(lambda _
|
||||
(let ((boot (string-append #$output "/boot")))
|
||||
(invoke "make" "gnumach.gz")
|
||||
(install-file "gnumach.gz" boot))))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
|
@ -283,7 +281,7 @@ (define-public gnumach
|
|||
mig)
|
||||
perl
|
||||
texinfo-4))
|
||||
(supported-systems %hurd-systems)
|
||||
(supported-systems `("i686-linux" ,@%hurd-systems))
|
||||
(synopsis "Microkernel of the GNU system")
|
||||
(description
|
||||
"GNU Mach is the microkernel upon which a GNU Hurd system is based.")))
|
||||
|
|
50
gnu/packages/patches/gnumach-fix-i686-linux-build.patch
Normal file
50
gnu/packages/patches/gnumach-fix-i686-linux-build.patch
Normal file
|
@ -0,0 +1,50 @@
|
|||
Upstream status: presented upstream.
|
||||
|
||||
https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00198.html
|
||||
|
||||
From af5ec3c82ae6a9077ce7d814dda773562ef6757f Mon Sep 17 00:00:00 2001
|
||||
From: Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
Date: Mon, 22 Jan 2024 08:41:02 +0100
|
||||
Subject: [PATCH] Resurrect x86-linux build.
|
||||
|
||||
This avoids using system headers, which may result in
|
||||
|
||||
kern/strings.c: In function 'strchr':
|
||||
kern/strings.c:188:32: error: 'NULL' undeclared (first use in this function)
|
||||
|
||||
In file included from util/atoi.c:77:
|
||||
./util/atoi.h:65:29: error: unknown type name 'u_char'
|
||||
|
||||
device/net_io.c: In function 'bpf_do_filter':
|
||||
device/net_io.c:1636:34: error: 'u_int' undeclared (first use in this function); did you mean 'int'?
|
||||
|
||||
In file included from device/subrs.c:36:
|
||||
./device/if_ether.h:43:9: error: unknown type name 'u_char'
|
||||
43 | u_char ether_dhost[6];
|
||||
|
||||
./linux/dev/include/linux/fs.h:304:5: error: unknown type name 'loff_t'
|
||||
304 | loff_t f_pos;
|
||||
|
||||
This is a follow-up to commit
|
||||
d5e5dd3401ea0d0475aa830c2171be5b8a72f4fa
|
||||
Update configure.ac so that we don't need glibc when running ./configure.
|
||||
---
|
||||
Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index e31a875d..ad38249b 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -43,7 +43,7 @@ AM_LDFLAGS =
|
||||
|
||||
GCC_INSTALL = $(shell LANG=C $(CC) -print-search-dirs | sed -n -e 's/install: \(.*\)/\1/p')
|
||||
AM_CPPFLAGS += \
|
||||
- -imacros config.h -I $(GCC_INSTALL)/include
|
||||
+ -nostdinc -imacros config.h -I $(GCC_INSTALL)/include
|
||||
|
||||
AM_CPPFLAGS += \
|
||||
-I$(systype) \
|
||||
--
|
||||
2.41.0
|
||||
|
Loading…
Reference in a new issue