From f379c665a8ba6ab30e19ddeabc310b2f4bb9e4fc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 16 Feb 2020 15:18:39 +0100 Subject: gnu: hurd-headers: Update snapshot. * gnu/packages/hurd.scm (hurd-headers): Update to 0.9-1.91a5167. [version]: Use GIT-VERSION. [arguments]: Add "--without-libcrypt" in #:configure-flags. --- gnu/packages/hurd.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 3d1709fcc3..c147bac8a3 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017 Manolis Fragkiskos Ragkousis ;;; Copyright © 2018 Ludovic Courtès ;;; Copyright © 2020 Efraim Flashner +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -129,11 +130,11 @@ (define-public mig (define-public hurd-headers ;; Resort to a post-0.9 snapshot that provides the 'file_utimens' and ;; 'file_exec_paths' RPCs that glibc 2.28 expects. - (let ((revision "0") - (commit "98b33905c89b7e5c309c74ae32302a5745901a6e")) + (let ((revision "1") + (commit "91a51672ff4cfe1f1a0712b4c542ded3081c825b")) (package (name "hurd-headers") - (version "0.9") + (version (git-version "0.9" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -141,7 +142,7 @@ (define-public hurd-headers (commit commit))) (sha256 (base32 - "1mj22sxgscas2675vrbxr477mwbxdj68pqcrh65lbir8qlssrgrf")) + "16k9wkahz9wasviijz53n6i13nmiwa9fs64ikf1jqh8rl60hw7cz")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs @@ -167,6 +168,7 @@ (define-public hurd-headers "--disable-ncursesw" "--disable-test" "--without-libbz2" + "--without-libcrypt" "--without-libz" ;; Skip the clnt_create check because it expects ;; a working glibc causing a circular dependency. -- cgit v1.2.3 From 9b943db357ad63b7a3d063c658b1f557697ef0fa Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 4 Mar 2020 11:49:46 -0500 Subject: gnu: hurd: Fix hurd-target?, add hurd-system?. * gnu/packages/hurd.scm (hurd-target?): Bugfix; the arguments to string-suffix? to test (%current-system) were transposed, always resulting in #f. Use hurd-triplet?. (hurd-system?): New exported variable. --- gnu/packages/hurd.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index c147bac8a3..59d5c31e33 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2018 Ludovic Courtès ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,8 +35,9 @@ (define-module (gnu packages hurd) #:use-module (gnu packages base) #:use-module (gnu packages texinfo) #:use-module (guix git-download) - #:export (hurd-triplet? - hurd-target?)) + #:export (hurd-system? + hurd-target? + hurd-triplet?)) (define (hurd-triplet? triplet) (and (string-suffix? "-gnu" triplet) @@ -45,7 +47,12 @@ (define (hurd-target?) "Return true if the cross-compilation target or the current system is GNU/Hurd." (or (and=> (%current-target-system) hurd-triplet?) - (string-suffix? (%current-system) "-gnu"))) + (and (not (%current-target-system)) + (and=> (%current-system) hurd-triplet?)))) + +(define (hurd-system?) + "Return true if the current system is the Hurd." + (and=> (%current-system) hurd-triplet?)) (define (hurd-source-url version) (string-append "mirror://gnu/hurd/hurd-" -- cgit v1.2.3 From 496d607db3cf1e438ffd1526c4153be551bbef50 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 8 Mar 2020 14:07:51 -0400 Subject: gnu: hurd: Update to hurd-headers version: 0.9-91a51672. * gnu/packages/patches/hurd-cross.patch: New file. * gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch: Remove unused file. * gnu/local.mk (dist_patch_DATA): Update admin. * gnu/packages/hurd.scm (hurd): Update to latest git master: version and source from hurd-headers; Add hurd-cross patch. --- gnu/local.mk | 2 +- gnu/packages/hurd.scm | 18 ++++++------ gnu/packages/patches/hurd-cross.patch | 33 ++++++++++++++++++++++ .../hurd-fix-eth-multiplexer-dependency.patch | 26 ----------------- 4 files changed, 42 insertions(+), 37 deletions(-) create mode 100644 gnu/packages/patches/hurd-cross.patch delete mode 100644 gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 1b268fd1c7..f80f577f00 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1038,7 +1038,7 @@ dist_patch_DATA = \ %D%/packages/patches/hdf-eos5-fortrantests.patch \ %D%/packages/patches/higan-remove-march-native-flag.patch \ %D%/packages/patches/hubbub-sort-entities.patch \ - %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \ + %D%/packages/patches/hurd-cross.patch \ %D%/packages/patches/hplip-remove-imageprocessor.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/icecat-makeicecat.patch \ diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 59d5c31e33..b2a53b5f41 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -282,14 +282,9 @@ (define-public gnumach (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")))) + (version (package-version hurd-headers)) + (source (origin (inherit (package-source hurd-headers)) + (patches (search-patches "hurd-cross.patch")))) (arguments `(#:phases (modify-phases %standard-phases @@ -308,8 +303,11 @@ (define-public hurd (build-system gnu-build-system) (inputs `(("glibc-hurd-headers" ,glibc/hurd-headers))) (native-inputs - `(("mig" ,mig) - ("perl" ,perl))) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("mig" ,mig) + ("perl" ,perl) + ("texinfo" ,texinfo-4))) (supported-systems %hurd-systems) (home-page "https://www.gnu.org/software/hurd/hurd.html") (synopsis "The kernel servers for the GNU operating system") diff --git a/gnu/packages/patches/hurd-cross.patch b/gnu/packages/patches/hurd-cross.patch new file mode 100644 index 0000000000..cc95dddccc --- /dev/null +++ b/gnu/packages/patches/hurd-cross.patch @@ -0,0 +1,33 @@ +This fixes linking libfstest/test-fcntl (and others). + +As discussed with upstream: https://lists.gnu.org/archive/html/bug-hurd/2020-03/msg00018.html + +From 96a9f67a8685e713f25259c18306797d54cc27a5 Mon Sep 17 00:00:00 2001 +From: Jan Nieuwenhuizen +Date: Sat, 14 Mar 2020 11:28:31 +0100 +Subject: [PATCH] build: Fix cross build on Guix. + +As discussed in https://lists.gnu.org/archive/html/bug-hurd/2020-03/msg00018.html. + +* Makeconf (lpath): Add -Wl,-rpath-link= next to -L. +--- + Makeconf | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makeconf b/Makeconf +index 67f7ab1c..f68ff6e3 100644 +--- a/Makeconf ++++ b/Makeconf +@@ -325,7 +325,8 @@ _libsubst=${libsubst$(patsubst %,-override,${libsubst-override})} + + # Direct the linker where to find shared objects specified in the + # dependencies of other shared objects it encounters. +-lpath := -L. $(patsubst %,-L%,$(dir $(wildcard ../lib*/lib*.so))) ++lib_dirs := $(dir $(wildcard ../lib*/lib*.so)) ++lpath := -L. $(lib_dirs:%=-L%) $(lib_dirs:%=-Wl,-rpath-link=%) + + # Main rule to link executables + # +-- +2.24.0 + diff --git a/gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch b/gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch deleted file mode 100644 index 5f0da3eab3..0000000000 --- a/gnu/packages/patches/hurd-fix-eth-multiplexer-dependency.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ef0399bad41e60cb30d5073129abeb206076394a Mon Sep 17 00:00:00 2001 -From: Manolis Ragkousis -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 - -- cgit v1.2.3 From 29814639c405d02735613bcbb1b5fd665cd8bd25 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 1 Apr 2020 16:07:25 +0200 Subject: gnu: gnumach: Enable kernel debugger (kbd). * gnu/packages/hurd.scm (gnumach)[arguments]: Add "--enable-kdb". --- gnu/packages/hurd.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index f94d4fa5a7..7ea35bbf31 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -264,6 +264,8 @@ (define-public gnumach (name "gnumach") (arguments (substitute-keyword-arguments (package-arguments gnumach-headers) + ((#:configure-flags flags ''()) + `(cons "--enable-kdb" ,flags)) ;enable kernel debugger ((#:phases phases '%standard-phases) `(modify-phases %standard-phases (add-after 'install 'produce-image -- cgit v1.2.3 From f46cf8ef252fbfb8dce6f458bd099978883089d2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 1 Apr 2020 16:14:40 +0200 Subject: gnu: hurd: Provide our own /libexec/rc script. * gnu/packages/hurd.scm (hurd-rc-script): New procedure. (hurd)[inputs]: Add (hurd-rc-script). --- gnu/packages/hurd.scm | 70 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 64 insertions(+), 6 deletions(-) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 7ea35bbf31..ca7d7e97a3 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -25,6 +25,7 @@ (define-module (gnu packages hurd) #:use-module (guix download) #:use-module (guix packages) #:use-module (gnu packages) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) @@ -286,6 +287,51 @@ (define-public gnumach (description "GNU Mach is the microkernel upon which a GNU Hurd system is based."))) +(define (hurd-rc-script) + "Return a script to be installed as /libexec/rc in the 'hurd' package. The +script takes care of installing the relevant passive translators on the first +boot, since this cannot be done from GNU/Linux." + (define translators + '(("/servers/crash-dump-core" ("/hurd/crash" "--dump-core")) + ("/servers/crash-kill" ("/hurd/crash" "--kill")) + ("/servers/crash-suspend" ("/hurd/crash" "--suspend")) + ("/servers/password" ("/hurd/password")) + ("/servers/socket/1" ("/hurd/pflocal")) + ("/servers/socket/2" ("/hurd/pfinet" "--interface" "eth0" + "--address" "10.0.2.77" + "--netmask" "255.255.255.0" + "--gateway" "10.0.2.2" + "--ipv6" "/servers/socket/16")))) + + (define rc + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (ice-9 match)) + + ;; "@HURD@" is a placeholder. + (setenv "PATH" "@HURD@/bin") + + (define (translated? node) + ;; Return true if a translator is installed on NODE. + (with-output-to-port (%make-void-port "w") + (lambda () + (with-error-to-port (%make-void-port "w") + (lambda () + (zero? (system* "showtrans" "-s" node))))))) + + (for-each (match-lambda + ((node command) + (unless (translated? node) + (mkdir-p (dirname node)) + (apply invoke "settrans" "-c" node command)))) + '#$translators)))) + + ;; FIXME: We want the program to use the cross-compiled Guile when + ;; cross-compiling. But why do we need to be explicit here? + (with-parameters ((%current-target-system "i586-pc-gnu")) + (program-file "rc" rc))) + (define-public hurd (package (name "hurd") @@ -296,11 +342,21 @@ (define-public hurd `(#: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))) + (lambda _ + ;; Don't change the ownership of any file at this time. + (substitute* '("daemons/Makefile" "utils/Makefile") + (("-o root -m 4755") "")) + #t)) + (add-after 'install 'install-rc-file + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (file (string-append out "/libexec/rc")) + (rc (assoc-ref inputs "hurd-rc"))) + (delete-file file) + (copy-file rc file) + (substitute* file + (("@HURD@") out)) + #t)))) #:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib") "--disable-ncursesw" @@ -308,7 +364,9 @@ (define-public hurd "--without-libz" "--without-parted"))) (build-system gnu-build-system) - (inputs `(("glibc-hurd-headers" ,glibc/hurd-headers))) + (inputs + `(("glibc-hurd-headers" ,glibc/hurd-headers) + ("hurd-rc" ,(hurd-rc-script)))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) -- cgit v1.2.3 From 09ac892a951aeded1bc6d0487980041fb55a71b7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 3 Apr 2020 22:20:46 +0200 Subject: gnu: hurd: Use a 32-bit MiG when cross-compiling. * gnu/packages/hurd.scm (hurd)[native-inputs]: When '%current-target-system' is true, pass #:system "i686-linux" to 'mig'. --- gnu/packages/hurd.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index ca7d7e97a3..6478eb4434 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -370,7 +370,13 @@ (define-public hurd (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("mig" ,mig) + ("mig" ,(if (%current-target-system) + ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG, + ;; hence this hack. + (package + (inherit mig) + (arguments `(#:system "i686-linux"))) + mig)) ("perl" ,perl) ("texinfo" ,texinfo-4))) (supported-systems %hurd-systems) -- cgit v1.2.3 From b7e23a92a57f50686a5334c4737ffe46b06bbf77 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 3 Apr 2020 23:12:10 +0200 Subject: gnu: hurd: Record the right file name of 'login'. * gnu/packages/hurd.scm (hurd)[arguments]: Add 'set-file-names' phase. --- gnu/packages/hurd.scm | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 6478eb4434..9f398e0d6c 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -347,6 +347,13 @@ (define-public hurd (substitute* '("daemons/Makefile" "utils/Makefile") (("-o root -m 4755") "")) #t)) + (add-before 'build 'set-file-names + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* '("daemons/runttys.c" "daemons/getty.c") + (("/bin/login") + (string-append out "/bin/login"))) + #t))) (add-after 'install 'install-rc-file (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- cgit v1.2.3 From 29505c7d1eb08afc14a881d84705cde54b12192f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 5 Apr 2020 01:49:37 +0200 Subject: gnu: hurd: Ensure startup scripts refer to the right programs. * gnu/packages/hurd.scm (hurd)[arguments]: In 'set-file-names' phase, patch startup.c, init.c, login.c, and daemons/runsystem/*. Add 'patch-libexec-shebangs' phase. Subtitute /libexec and /sbin, so that we may run RC. [inputs]: Add BASH-MINIMAL, COREUTILS, SED, GREP, and UTIL-LINUX. --- gnu/packages/hurd.scm | 70 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 4 deletions(-) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 9f398e0d6c..45e1b21a77 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -32,8 +32,10 @@ (define-module (gnu packages hurd) #:use-module (gnu packages autotools) #:use-module (gnu packages flex) #:use-module (gnu packages bison) + #:use-module (gnu packages linux) #:use-module (gnu packages perl) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages texinfo) #:use-module (guix git-download) #:export (hurd-system? @@ -349,10 +351,63 @@ (define-public hurd #t)) (add-before 'build 'set-file-names (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* '("daemons/runttys.c" "daemons/getty.c") + (let* ((out (assoc-ref outputs "out")) + (bash (assoc-ref inputs "bash-minimal")) + (coreutils (assoc-ref inputs "coreutils")) + (sed (assoc-ref inputs "sed")) + (grep (assoc-ref inputs "grep")) + (util-linux (assoc-ref inputs "util-linux"))) + (substitute* '("daemons/runttys.c" "daemons/getty.c" "utils/login.c") (("/bin/login") - (string-append out "/bin/login"))) + (string-append out "/bin/login")) + (("/bin/bash") (string-append bash "/bin/bash"))) + (substitute* '("startup/startup.c" "init/init.c" "config/ttys") + (("/libexec/") + (string-append out "/libexec/"))) + (substitute* "daemons/console-run.c" + (("/hurd/") + (string-append out "/hurd/"))) + + (substitute* '("daemons/runsystem.sh" + "daemons/runsystem.hurd.sh" + "sutils/MAKEDEV.sh") + (("^PATH=.*") + (string-append "PATH=" out "/bin:" out "/sbin:" + coreutils "/bin:" + sed "/bin:" grep "/bin:" + util-linux "/bin\n")) + (("^SHELL=.*") + (string-append "SHELL=" bash "/bin/bash\n")) + (("/sbin/") (string-append out "/sbin/")) + (("/libexec/") (string-append out "/libexec/")) + (("/hurd/") (string-append out "/hurd/"))) + + (substitute* "daemons/runsystem.sh" + (("export PATH") + (string-append "export PATH\n" + "\ +fsysopts / --writable + +# MAKEDEV relies on pipes so this needs to be set up. +settrans -c /servers/socket/1 /hurd/pflocal + +(cd /dev; MAKEDEV -D /dev std vcs tty{1,2,3,4,5,6})\n"))) + + (substitute* "daemons/runsystem.hurd.sh" + (("export PATH") + "export PATH +fsysopts / --writable\n")) + #t))) + (add-after 'patch-shebangs 'patch-libexec-shebangs + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; XXX: Since the 'patch-shebangs' phase doesn't traverse + ;; /libexec, do it here. + (let* ((out (assoc-ref outputs "out")) + (bash (assoc-ref inputs "bash-minimal")) + (path (list (string-append bash "/bin")))) + (for-each (lambda (file) + (patch-shebang file path)) + (find-files (string-append out "/libexec"))) #t))) (add-after 'install 'install-rc-file (lambda* (#:key inputs outputs #:allow-other-keys) @@ -373,7 +428,14 @@ (define-public hurd (build-system gnu-build-system) (inputs `(("glibc-hurd-headers" ,glibc/hurd-headers) - ("hurd-rc" ,(hurd-rc-script)))) + ("hurd-rc" ,(hurd-rc-script)) + + ;; Tools for the /libexec/* scripts. + ("bash-minimal" ,bash-minimal) + ("coreutils" ,coreutils) + ("sed" ,sed) + ("grep" ,grep) + ("util-linux" ,util-linux))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) -- cgit v1.2.3 From 62a3bbfdfef42b8aa0b8a04bbf62c9f845903da9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 6 Apr 2020 14:58:19 +0200 Subject: gnu: hurd: Install the UTF-8 motd. * gnu/packages/hurd.scm (hurd)[arguments]: Add 'install-goodies' phase. --- gnu/packages/hurd.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 45e1b21a77..e5ad8e4f73 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -409,6 +409,16 @@ (define-public hurd (patch-shebang file path)) (find-files (string-append out "/libexec"))) #t))) + (add-after 'install 'install-goodies + (lambda* (#:key outputs #:allow-other-keys) + ;; Install additional goodies. + ;; TODO: Build & install *.msgids for rpctrace. + (let ((out (assoc-ref outputs "out"))) + ;; Install the fancy UTF-8 motd. + (mkdir-p (string-append out "/etc")) + (copy-file "console/motd.UTF8" + (string-append out "/etc/motd")) + #t))) (add-after 'install 'install-rc-file (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- cgit v1.2.3 From abbeaf5450826077d27292fbc230f5724f5ff9d0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Apr 2020 15:54:12 +0200 Subject: gnu: hurd: Add dependency on libgcrypt. * gnu/packages/hurd.scm (hurd)[inputs]: Add LIBGCRYPT. [native-inputs]: Likewise. --- gnu/packages/hurd.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index e5ad8e4f73..8d9ba1137d 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -31,6 +31,7 @@ (define-module (gnu packages hurd) #:use-module (guix build-system trivial) #:use-module (gnu packages autotools) #:use-module (gnu packages flex) + #:use-module (gnu packages gnupg) #:use-module (gnu packages bison) #:use-module (gnu packages linux) #:use-module (gnu packages perl) @@ -440,6 +441,7 @@ (define-public hurd `(("glibc-hurd-headers" ,glibc/hurd-headers) ("hurd-rc" ,(hurd-rc-script)) + ("libgcrypt" ,libgcrypt) ;for /hurd/random ;; Tools for the /libexec/* scripts. ("bash-minimal" ,bash-minimal) ("coreutils" ,coreutils) @@ -449,6 +451,7 @@ (define-public hurd (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) + ("libgcrypt" ,libgcrypt) ;for 'libgcrypt-config' ("mig" ,(if (%current-target-system) ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG, ;; hence this hack. -- cgit v1.2.3 From 1d5fc9f7a70b89c70bfc540ac087d08d5b1943b8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Apr 2020 15:54:39 +0200 Subject: gnu: hurd: Add dependency on libdaemon. * gnu/packages/hurd.scm (hurd)[inputs]: Add dependency on libdaemon. [native-inputs]: Add PKG-CONFIG. --- gnu/packages/hurd.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 8d9ba1137d..620faf30ca 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -33,8 +33,10 @@ (define-module (gnu packages hurd) #:use-module (gnu packages flex) #:use-module (gnu packages gnupg) #:use-module (gnu packages bison) + #:use-module (gnu packages libdaemon) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages texinfo) @@ -442,6 +444,8 @@ (define-public hurd ("hurd-rc" ,(hurd-rc-script)) ("libgcrypt" ,libgcrypt) ;for /hurd/random + ("libdaemon" ,libdaemon) ;for /bin/console --daemonize + ;; Tools for the /libexec/* scripts. ("bash-minimal" ,bash-minimal) ("coreutils" ,coreutils) @@ -452,6 +456,7 @@ (define-public hurd `(("autoconf" ,autoconf) ("automake" ,automake) ("libgcrypt" ,libgcrypt) ;for 'libgcrypt-config' + ("pkg-config" ,pkg-config) ("mig" ,(if (%current-target-system) ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG, ;; hence this hack. -- cgit v1.2.3 From ad3bbeadb46accce9c744f45cf079426b7e9a318 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 7 Apr 2020 16:55:29 +0200 Subject: gnu: hurd: Install a BDF font. * gnu/packages/hurd.scm (unifont): New variable. (hurd)[arguments]: In 'install-goodies' phase, install OUT/share/hurd/vga-system.bdf. [inputs]: Add UNIFONT. --- gnu/packages/hurd.scm | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 620faf30ca..f7c0637f40 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -292,6 +292,17 @@ (define-public gnumach (description "GNU Mach is the microkernel upon which a GNU Hurd system is based."))) +(define unifont + ;; GNU Unifont, . + ;; Used the the VGA driver of the Hurd's console client. + (origin + (method url-fetch) + (uri + "http://unifoundry.com/pub/unifont-7.0.06/font-builds/unifont-7.0.06.bdf.gz") + (sha256 + (base32 + "0p2vhnc18cnbmb39vq4m7hzv4mhnm2l0a2s7gx3ar277fwng3hys")))) + (define (hurd-rc-script) "Return a script to be installed as /libexec/rc in the 'hurd' package. The script takes care of installing the relevant passive translators on the first @@ -413,14 +424,23 @@ (define-public hurd (find-files (string-append out "/libexec"))) #t))) (add-after 'install 'install-goodies - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) ;; Install additional goodies. ;; TODO: Build & install *.msgids for rpctrace. - (let ((out (assoc-ref outputs "out"))) + (let* ((out (assoc-ref outputs "out")) + (datadir (string-append out "/share/hurd"))) ;; Install the fancy UTF-8 motd. (mkdir-p (string-append out "/etc")) (copy-file "console/motd.UTF8" (string-append out "/etc/motd")) + + ;; Install the BDF font for use by the console client. + (copy-file (assoc-ref inputs "unifont") + "unifont.gz") + (invoke "gunzip" "unifont.gz") + (mkdir-p datadir) + (copy-file "unifont" + (string-append datadir "/vga-system.bdf")) #t))) (add-after 'install 'install-rc-file (lambda* (#:key inputs outputs #:allow-other-keys) @@ -445,6 +465,7 @@ (define-public hurd ("libgcrypt" ,libgcrypt) ;for /hurd/random ("libdaemon" ,libdaemon) ;for /bin/console --daemonize + ("unifont" ,unifont) ;; Tools for the /libexec/* scripts. ("bash-minimal" ,bash-minimal) -- cgit v1.2.3 From df0010a9dc18937ba481393f9d153a476dac13c0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 8 Apr 2020 15:35:58 +0200 Subject: gnu: hurd: "/libexec/rc" spawns the console client. * gnu/packages/hurd.scm (hurd-rc-script): Start the console client. --- gnu/packages/hurd.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index f7c0637f40..90e39a279b 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -341,7 +341,12 @@ (define (translated? node) (unless (translated? node) (mkdir-p (dirname node)) (apply invoke "settrans" "-c" node command)))) - '#$translators)))) + '#$translators) + + ;; Start the oh-so-fancy console client. + (mkdir-p "/var/run") ;for the PID file + (invoke "console" "--daemonize" "-c" "/dev/vcs" + "-d" "vga" "-d" "pc_kbd" "-d" "generic_speaker")))) ;; FIXME: We want the program to use the cross-compiled Guile when ;; cross-compiling. But why do we need to be explicit here? -- cgit v1.2.3 From 706b91ea8ded9118b3f5ef3d0a68ffc6f579f847 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 11 Apr 2020 14:05:32 +0200 Subject: gnu: hurd: Build DDE libraries. * gnu/packages/hurd.scm (hurd)[native-inputs]: Add "dde-sources". [inputs]: Add libpciaccess. [arguments]: Add phase "prepare-dde". --- gnu/packages/hurd.scm | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 90e39a279b..88af75c48e 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ (define-module (gnu packages hurd) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages texinfo) + #:use-module (gnu packages xorg) ; libpciaccess #:use-module (guix git-download) #:export (hurd-system? hurd-target? @@ -362,6 +364,19 @@ (define-public hurd (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'prepare-dde + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (substitute* "Makefile" + (("libbpf ") + "libbpf libmachdev libmachdevdde libddekit")) + (for-each make-file-writable (find-files ".")) + (let ((dde (or (assoc-ref inputs "dde-sources") + (assoc-ref native-inputs "dde-sources")))) + (for-each (lambda (dir) + (copy-recursively + (string-append dde "/" dir ) dir)) + '("libmachdev" "libmachdevdde" "libddekit"))) + #t)) (add-before 'build 'pre-build (lambda _ ;; Don't change the ownership of any file at this time. @@ -471,6 +486,7 @@ (define-public hurd ("libgcrypt" ,libgcrypt) ;for /hurd/random ("libdaemon" ,libdaemon) ;for /bin/console --daemonize ("unifont" ,unifont) + ("libpciaccess" ,libpciaccess) ;; Tools for the /libexec/* scripts. ("bash-minimal" ,bash-minimal) @@ -491,7 +507,20 @@ (define-public hurd (arguments `(#:system "i686-linux"))) mig)) ("perl" ,perl) - ("texinfo" ,texinfo-4))) + ("texinfo" ,texinfo-4) + ("dde-sources" + ;; This is the current tip of the dde branch + ,(let ((commit "ac1c7eb7a8b24b7469bed5365be38a968d59a136")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/hurd/incubator.git") + (commit commit))) + (sha256 + (base32 + "1vryinbg75xpydfrv9dbgfnds6knlh8l8bk2rxp32y9dc58z0692")) + (file-name (string-append "dde-checkout-" + (string-take commit 7)))))))) (supported-systems %hurd-systems) (home-page "https://www.gnu.org/software/hurd/hurd.html") (synopsis "The kernel servers for the GNU operating system") -- cgit v1.2.3 From 71b92e1abd015b03ba6ea011ab4129499c1f44c4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 14 Apr 2020 12:45:15 +0200 Subject: gnu: Add dde-sources. * gnu/packages/hurd.scm (dde-sources): New variable. (hurd)[native-inputs]: Add it. --- gnu/packages/hurd.scm | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 88af75c48e..716fd59f75 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -355,6 +355,19 @@ (define (translated? node) (with-parameters ((%current-target-system "i586-pc-gnu")) (program-file "rc" rc))) +(define dde-sources + ;; This is the current tip of the dde branch + (let ((commit "ac1c7eb7a8b24b7469bed5365be38a968d59a136")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/hurd/incubator.git") + (commit commit))) + (sha256 + (base32 + "1vryinbg75xpydfrv9dbgfnds6knlh8l8bk2rxp32y9dc58z0692")) + (file-name (git-file-name "dde" commit))))) + (define-public hurd (package (name "hurd") @@ -508,19 +521,7 @@ (define-public hurd mig)) ("perl" ,perl) ("texinfo" ,texinfo-4) - ("dde-sources" - ;; This is the current tip of the dde branch - ,(let ((commit "ac1c7eb7a8b24b7469bed5365be38a968d59a136")) - (origin - (method git-fetch) - (uri (git-reference - (url "https://git.savannah.gnu.org/git/hurd/incubator.git") - (commit commit))) - (sha256 - (base32 - "1vryinbg75xpydfrv9dbgfnds6knlh8l8bk2rxp32y9dc58z0692")) - (file-name (string-append "dde-checkout-" - (string-take commit 7)))))))) + ("dde-sources" ,dde-sources))) (supported-systems %hurd-systems) (home-page "https://www.gnu.org/software/hurd/hurd.html") (synopsis "The kernel servers for the GNU operating system") -- cgit v1.2.3 From d30d3e3f60df511e484adb3e459625b3251b0917 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 14 Apr 2020 12:46:00 +0200 Subject: gnu: Add netdde. * gnu/packages/hurd.scm (netdde): New variable. --- gnu/packages/hurd.scm | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 87 insertions(+), 1 deletion(-) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 716fd59f75..bc2d864bf4 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -22,7 +22,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages hurd) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:hide (zlib)) #:use-module (guix download) #:use-module (guix packages) #:use-module (gnu packages) @@ -31,7 +31,9 @@ (define-module (gnu packages hurd) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages autotools) + #:use-module (gnu packages compression) #:use-module (gnu packages flex) + #:use-module (gnu packages gawk) #:use-module (gnu packages gnupg) #:use-module (gnu packages bison) #:use-module (gnu packages libdaemon) @@ -531,3 +533,87 @@ (define-public hurd system interaction (file systems, networks, authentication), and servers implementing them.") (license gpl2+))) + +(define-public netdde + (let ((commit "4a1016f130b6f2065d3f088325e5fb0b2997ae12") + (revision "1")) + (package + (name "netdde") + ;; The version prefix corresponds to the version of Linux from which the + ;; drivers were taken. + (version (git-version "2.6.32.65" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/hurd/incubator.git") + (commit commit))) + (sha256 + (base32 + "1njv9dszq4lj05yq4v9j5v247hfghpzvvz4hzy0khjjr35mw7hr8")) + (file-name (git-file-name name commit)))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "SHELL=" (assoc-ref %build-inputs "bash") + "/bin/bash") + "PKGDIR=libdde_linux26" + ,@(if (%current-target-system) + (list "CC=i586-pc-gnu-gcc" + "LINK_PROGRAM=i586-pc-gnu-gcc") + (list "CC=gcc"))) + #:configure-flags + (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'prepare-dde + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (for-each make-file-writable (find-files ".")) + (let ((dde (or (assoc-ref inputs "dde-sources") + (assoc-ref native-inputs "dde-sources")))) + (for-each (lambda (dir) + (copy-recursively + (string-append dde "/" dir ) dir)) + '("libdde_linux26" "libddekit"))) + (substitute* "libdde_linux26/mk/rel2abs.sh" + (("/bin/bash") (which "bash"))) + #t)) + (add-after 'patch-generated-file-shebangs 'build-libdde-linux26 + (lambda* (#:key make-flags #:allow-other-keys) + (with-directory-excursion "libdde_linux26" + (apply invoke "make" + (delete "PKGDIR=libdde_linux26" make-flags))))) + (add-after 'build-libdde-linux26 'convert + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "convert" make-flags))) + (replace 'build + (lambda* (#:key make-flags #:allow-other-keys) + ;; no-common can be dropped with GCC 10+ where this is the + ;; default. + (apply invoke "make" "CFLAGS=-fno-common" make-flags))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "netdde" + (string-append (assoc-ref outputs "out") + "/bin")) + #t))))) + (inputs + `(("hurd" ,hurd) + ("libpciaccess" ,libpciaccess) + ("zlib" ,zlib))) + (native-inputs + `(("coreutils" ,coreutils) + ("gawk" ,gawk) + ("grep" ,grep) + ("perl" ,perl) + ("sed" ,sed) + ("dde-sources" ,dde-sources))) + (supported-systems %hurd-systems) + (home-page "https://www.gnu.org/software/hurd/hurd.html") + (synopsis "Linux network drivers glued by the DDE layer") + (description + "This package provides Linux 2.6 network drivers that can be embedded +in userland processes thanks to the DDE layer.") + ;; Some drivers are dually licensed with the options being GPLv2 or one + ;; of MPL/Expat/BSD-3 (dependent on the driver). + (license gpl2)))) -- cgit v1.2.3 From 2676579dc8a930a3bc77d46dd642993cfd870bc6 Mon Sep 17 00:00:00 2001 From: Rene Saavedra Date: Sun, 12 Apr 2020 22:33:08 -0500 Subject: gnu: hurd: Fix references to /bin/w. * gnu/packages/hurd.scm (hurd): Use '/bin/w' from hurd package. --- gnu/packages/hurd.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index bc2d864bf4..398de07df4 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Ricardo Wurmus +;;; Copyright © 2020 Rene Saavedra ;;; ;;; This file is part of GNU Guix. ;;; @@ -413,6 +414,9 @@ (define-public hurd (substitute* '("startup/startup.c" "init/init.c" "config/ttys") (("/libexec/") (string-append out "/libexec/"))) + (substitute* '("utils/uptime.sh") + (("/bin/w") + (string-append out "/bin/w"))) (substitute* "daemons/console-run.c" (("/hurd/") (string-append out "/hurd/"))) -- cgit v1.2.3 From 9a554a7082b69eaf474e2d19998a482d29035db0 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 12 Apr 2020 13:53:04 +0200 Subject: gnu: hurd: Use default QEMU guest IP: 10.0.2.15. Specifying 10.0.2.77 also works -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:2228-10.0.2.77:22 but using this default allows us to use the widely advertised -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:2228-:22 * gnu/packages/hurd.scm (hurd-rc-script): Used from (hurd)[inputs]: Use 10.0.2.15; the default QEMU guest IP. --- gnu/packages/hurd.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 398de07df4..afb9cf5496 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -319,7 +319,7 @@ (define translators ("/servers/password" ("/hurd/password")) ("/servers/socket/1" ("/hurd/pflocal")) ("/servers/socket/2" ("/hurd/pfinet" "--interface" "eth0" - "--address" "10.0.2.77" + "--address" "10.0.2.15" ;the default QEMU guest IP "--netmask" "255.255.255.0" "--gateway" "10.0.2.2" "--ipv6" "/servers/socket/16")))) -- cgit v1.2.3 From 2e463d6e2cb2bc468926e8ed1a6ed77d9ca01441 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 12 Apr 2020 23:06:30 +0200 Subject: gnu: hurd: Add NFS support. * gnu/packages/hurd.scm (hurd)[inputs]: Add libtirpc/hurd. [arguments]: Add configure flags to use libtirpc; add phase "find-tirpc" to find the RPC headers; add phase "fix-rpc-headers" to include missing headers. --- gnu/packages/hurd.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'gnu/packages/hurd.scm') diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index afb9cf5496..55c40710fa 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -44,6 +44,7 @@ (define-module (gnu packages hurd) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages texinfo) + #:use-module (gnu packages onc-rpc) #:use-module (gnu packages xorg) ; libpciaccess #:use-module (guix git-download) #:export (hurd-system? @@ -393,6 +394,30 @@ (define-public hurd (string-append dde "/" dir ) dir)) '("libmachdev" "libmachdevdde" "libddekit"))) #t)) + (add-after 'unpack 'find-tirpc + (lambda* (#:key inputs #:allow-other-keys) + (for-each (lambda (var) + (setenv var + (string-append (assoc-ref inputs "libtirpc") + "/include/tirpc:" + (or (getenv var) "")))) + '("CROSS_C_INCLUDE_PATH" "C_INCLUDE_PATH" + "CROSS_CPATH" "CPATH")) + #t)) + (add-after 'unpack 'fix-rpc-headers + (lambda _ + (substitute* "nfs/mount.c" + (("#undef (TRUE|FALSE)") "") + (("#include " m) + (string-append "#include \n" m))) + (substitute* '("nfsd/cache.c") + (("#undef (TRUE|FALSE)") "")) + (substitute* '("nfsd/loop.c" + "nfsd/main.c" + "nfsd/ops.c") + (("#include " m) + (string-append "#include \n#include \n" m))) + #t)) (add-before 'build 'pre-build (lambda _ ;; Don't change the ownership of any file at this time. @@ -496,7 +521,11 @@ (define-public hurd "--disable-ncursesw" "--without-libbz2" "--without-libz" - "--without-parted"))) + "--without-parted" + ;; This is needed to pass the configure check for + ;; clnt_create + "ac_func_search_save_LIBS=-ltirpc" + "ac_cv_search_clnt_create=false"))) (build-system gnu-build-system) (inputs `(("glibc-hurd-headers" ,glibc/hurd-headers) @@ -507,6 +536,9 @@ (define-public hurd ("unifont" ,unifont) ("libpciaccess" ,libpciaccess) + ;; For NFS support + ("libtirpc" ,libtirpc/hurd) + ;; Tools for the /libexec/* scripts. ("bash-minimal" ,bash-minimal) ("coreutils" ,coreutils) -- cgit v1.2.3