gnu: Add the Hurd.

* gnu/packages/hurd.scm (hurd): New variable.
* gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
Manolis Ragkousis 2017-04-08 16:58:04 +03:00
parent b005a37ac2
commit cc4faa35f8
No known key found for this signature in database
GPG key ID: 327C1EF38DF54C32
3 changed files with 68 additions and 0 deletions

View file

@ -652,6 +652,7 @@ dist_patch_DATA = \
%D%/packages/patches/higan-remove-march-native-flag.patch \
%D%/packages/patches/hop-linker-flags.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
%D%/packages/patches/icecat-bug-1299500-pt10.patch \

View file

@ -245,3 +245,44 @@ (define-public gnumach
(description
"GNU Mach is the microkernel upon which a GNU Hurd system is based.")
(license gpl2+)))
(define-public hurd
(package
(name "hurd")
(version "0.9")
(source (origin
(method url-fetch)
(uri (hurd-source-url version))
(sha256
(base32
"1nw9gly0n7pyv3cpfm4mmxy4yccrx4g0lyrvd3vk2vil26jpbggw"))
(patches (search-patches "hurd-fix-eth-multiplexer-dependency.patch"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda _
;; Don't change the ownership of any file at this time.
(substitute* '("daemons/Makefile" "utils/Makefile")
(("-o root -m 4755") ""))
#t)))
#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath="
%output "/lib")
"--disable-ncursesw"
"--without-libbz2"
"--without-libz"
"--without-parted")))
(build-system gnu-build-system)
(inputs `(("glibc-hurd-headers" ,glibc/hurd-headers)))
(native-inputs
`(("mig" ,mig)
("perl" ,perl)))
(supported-systems %hurd-systems)
(home-page "https://www.gnu.org/software/hurd/hurd.html")
(synopsis "The kernel servers for the GNU operating system")
(description
"The Hurd is the kernel for the GNU system, a replacement and
augmentation of standard Unix kernels. It is a collection of protocols for
system interaction (file systems, networks, authentication), and servers
implementing them.")
(license gpl2+)))

View file

@ -0,0 +1,26 @@
From ef0399bad41e60cb30d5073129abeb206076394a Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis <manolis837@gmail.com>
Date: Sat, 8 Apr 2017 16:44:52 +0300
Subject: [PATCH] eth-multiplexer: Fix iohelp missing dependency.
* eth-multiplexer/Makefile (HURDLIBS): Add iohelp.
---
eth-multiplexer/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eth-multiplexer/Makefile b/eth-multiplexer/Makefile
index 07f909e7..cefa0abd 100644
--- a/eth-multiplexer/Makefile
+++ b/eth-multiplexer/Makefile
@@ -26,7 +26,7 @@ MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
device-MIGSFLAGS="-DMACH_PAYLOAD_TO_PORT=ports_payload_get_name"
OBJS = $(SRCS:.c=.o) $(MIGSTUBS)
LCLHDRS = ethernet.h util.h vdev.h netfs_impl.h
-HURDLIBS = ports ihash fshelp shouldbeinlibc netfs bpf
+HURDLIBS = ports ihash iohelp fshelp shouldbeinlibc netfs bpf
LDLIBS = -lpthread
CFLAGS += -I$(top_srcdir)/libbpf
--
2.12.2