summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2020-04-12 23:06:30 +0200
committerJan Nieuwenhuizen <janneke@gnu.org>2020-05-01 08:10:47 +0200
commit2e463d6e2cb2bc468926e8ed1a6ed77d9ca01441 (patch)
treeb257025e2164158b1f41dc87e1682f39a2f023a7
parent9a554a7082b69eaf474e2d19998a482d29035db0 (diff)
downloadpatches-2e463d6e2cb2bc468926e8ed1a6ed77d9ca01441.tar
patches-2e463d6e2cb2bc468926e8ed1a6ed77d9ca01441.tar.gz
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.
-rw-r--r--gnu/packages/hurd.scm34
1 files changed, 33 insertions, 1 deletions
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 <rpc/pmap_prot.h>" m)
+ (string-append "#include <rpc/xdr.h>\n" m)))
+ (substitute* '("nfsd/cache.c")
+ (("#undef (TRUE|FALSE)") ""))
+ (substitute* '("nfsd/loop.c"
+ "nfsd/main.c"
+ "nfsd/ops.c")
+ (("#include <rpc/pmap_prot.h>" m)
+ (string-append "#include <rpc/types.h>\n#include <rpc/xdr.h>\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)