summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/nfs.scm44
-rw-r--r--gnu/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch73
3 files changed, 118 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index dc9ef7488e..73eabef66e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1320,6 +1320,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/netsurf-system-utf8proc.patch		\
   %D%/packages/patches/netsurf-y2038-tests.patch		\
   %D%/packages/patches/netsurf-longer-test-timeout.patch	\
+  %D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch	\
   %D%/packages/patches/ngircd-handle-zombies.patch		\
   %D%/packages/patches/network-manager-plugin-path.patch	\
   %D%/packages/patches/nsis-env-passthru.patch			\
diff --git a/gnu/packages/nfs.scm b/gnu/packages/nfs.scm
index f3015ef79a..049de2c4b0 100644
--- a/gnu/packages/nfs.scm
+++ b/gnu/packages/nfs.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,8 @@
 
 (define-module (gnu packages nfs)
   #:use-module (gnu packages)
+  #:use-module (gnu packages attr)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages libevent)
@@ -35,6 +38,7 @@
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
@@ -133,3 +137,43 @@ disk.  It allows for fast, seamless sharing of files across a network.")
     ;; restrictive licence, and until advice to the contrary we must assume
     ;; that is what is intended.
     (license license:gpl2)))
+
+(define-public nfs4-acl-tools
+  (package
+    (name "nfs4-acl-tools")
+    (version "0.3.7")
+    (source (origin
+              (method git-fetch)
+              ;; tarballs are available here:
+              ;; http://linux-nfs.org/~bfields/nfs4-acl-tools/
+              (uri (git-reference
+                    (url "git://git.linux-nfs.org/projects/bfields/nfs4-acl-tools.git")
+                    (commit (string-append name "-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0lq9xdaskxysggs918vs8x42xvmg9nj7lla21ni2scw5ljld3h1i"))
+              (patches (search-patches "nfs4-acl-tools-0.3.7-fixpaths.patch"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-bin-sh
+           (lambda _
+             (substitute* "include/buildmacros"
+               (("/bin/sh") (which "sh")))
+             #t)))))
+    (native-inputs
+     `(("automake" ,automake)
+       ("autoconf" ,autoconf)
+       ("libtool" ,libtool)))
+    (inputs
+     `(("attr" ,attr)))
+    (home-page "https://linux-nfs.org/wiki/index.php/Main_Page")
+    (synopsis "Commandline ACL utilities for the Linux NFSv4 client")
+    (description "This package provides the commandline utilities
+@command{nfs4_getfacl} and @command{nfs4_setfacl}, which are similar to their
+POSIX equivalents @command{getfacl} and @command{setfacl}.  They fetch and
+manipulate access control lists for files and directories on NFSv4 mounts.")
+    (license license:bsd-3)))
diff --git a/gnu/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch b/gnu/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch
new file mode 100644
index 0000000000..23cb586766
--- /dev/null
+++ b/gnu/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch
@@ -0,0 +1,73 @@
+Remove fixed search paths from autotools.
+
+--- a/m4/package_utilies.m4	1970-01-01 01:00:01.000000000 +0100
++++ b/m4/package_utilies.m4	2020-07-07 12:41:48.871661042 +0200
+@@ -23,32 +23,32 @@
+     AC_PACKAGE_NEED_UTILITY($1, "$cc", cc, [C compiler])
+ 
+     if test -z "$MAKE"; then
+-        AC_PATH_PROG(MAKE, gmake,, /usr/bin:/usr/freeware/bin)
++        AC_PATH_PROG(MAKE, gmake)
+     fi
+     if test -z "$MAKE"; then
+-        AC_PATH_PROG(MAKE, make,, /usr/bin)
++        AC_PATH_PROG(MAKE, make)
+     fi
+     make=$MAKE
+     AC_SUBST(make)
+     AC_PACKAGE_NEED_UTILITY($1, "$make", make, [GNU make])
+ 
+     if test -z "$LIBTOOL"; then
+-	AC_PATH_PROG(LIBTOOL, glibtool,, /usr/bin)
++	AC_PATH_PROG(LIBTOOL, glibtool)
+     fi
+     if test -z "$LIBTOOL"; then
+-	AC_PATH_PROG(LIBTOOL, libtool,, /usr/bin:/usr/local/bin:/usr/freeware/bin)
++	AC_PATH_PROG(LIBTOOL, libtool)
+     fi
+     libtool=$LIBTOOL
+     AC_SUBST(libtool)
+     AC_PACKAGE_NEED_UTILITY($1, "$libtool", libtool, [GNU libtool])
+ 
+     if test -z "$TAR"; then
+-        AC_PATH_PROG(TAR, tar,, /usr/freeware/bin:/bin:/usr/local/bin:/usr/bin)
++        AC_PATH_PROG(TAR, tar)
+     fi
+     tar=$TAR
+     AC_SUBST(tar)
+     if test -z "$ZIP"; then
+-        AC_PATH_PROG(ZIP, gzip,, /bin:/usr/local/bin:/usr/freeware/bin)
++        AC_PATH_PROG(ZIP, gzip)
+     fi
+ 
+     zip=$ZIP
+@@ -61,25 +61,25 @@
+     AC_SUBST(makedepend)
+ 
+     if test -z "$AWK"; then
+-        AC_PATH_PROG(AWK, awk,, /bin:/usr/bin)
++        AC_PATH_PROG(AWK, awk)
+     fi
+     awk=$AWK
+     AC_SUBST(awk)
+ 
+     if test -z "$SED"; then
+-        AC_PATH_PROG(SED, sed,, /bin:/usr/bin)
++        AC_PATH_PROG(SED, sed)
+     fi
+     sed=$SED
+     AC_SUBST(sed)
+ 
+     if test -z "$ECHO"; then
+-        AC_PATH_PROG(ECHO, echo,, /bin:/usr/bin)
++        AC_PATH_PROG(ECHO, echo)
+     fi
+     echo=$ECHO
+     AC_SUBST(echo)
+ 
+     if test -z "$SORT"; then
+-        AC_PATH_PROG(SORT, sort,, /bin:/usr/bin)
++        AC_PATH_PROG(SORT, sort)
+     fi
+     sort=$SORT
+     AC_SUBST(sort)