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(-) 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 @@ #: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 @@ boot, since this cannot be done from GNU/Linux." (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 @@ fsysopts / --writable\n")) "--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 @@ fsysopts / --writable\n")) ("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