summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/hurd.scm41
-rw-r--r--gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch26
2 files changed, 67 insertions, 0 deletions
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
+