aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/hurd.scm41
-rw-r--r--gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch26
3 files changed, 68 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index ee18517e22..29f6d3516c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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 \
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 12fce5453d..bd1eb4b085 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -245,3 +245,44 @@ Hurd-minimal package which are needed for both glibc and GCC.")
(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+)))
diff --git a/gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch b/gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch
new file mode 100644
index 0000000000..5f0da3eab3
--- /dev/null
+++ b/gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch
@@ -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
+