From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Darrington Subject: [PATCH] gnu: Add nfs-utils Date: Wed, 7 Sep 2016 22:20:53 +0200 Message-ID: <1473279653-23139-1-git-send-email-jmd@gnu.org> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35059) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bhjLH-0006Em-1t for guix-devel@gnu.org; Wed, 07 Sep 2016 16:21:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bhjLB-0006yd-2L for guix-devel@gnu.org; Wed, 07 Sep 2016 16:21:06 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org Cc: John Darrington * gnu/packages/linux.scm (nfs-utils): New variable. --- gnu/packages/linux.scm | 87 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 86 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 030e35e..eb9cb03 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -55,9 +55,14 @@ #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) + #:use-module (gnu packages gsasl) + #:use-module (gnu packages libevent) #:use-module (gnu packages libusb) #:use-module (gnu packages maths) + #:use-module (gnu packages mit-krb5) #:use-module (gnu packages ncurses) + #:use-module (gnu packages networking) + #:use-module (gnu packages onc-rpc) #:use-module (gnu packages perl) #:use-module (gnu packages pciutils) #:use-module (gnu packages pkg-config) @@ -228,6 +233,86 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.") (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")))) +(define-public nfs-utils + (package + (name "nfs-utils") + (version "1.3.4") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://kernel.org/linux/utils/nfs-utils/" version + "/nfs-utils-" version ".tar.xz")) + (sha256 + (base32 + "0xarqhwy757vazv9gqhyrgxsrx083yhvkkih01jh83fqm305naml")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + `("--without-tcp-wrappers" + ,(string-append "--with-start-statd=" + (assoc-ref %outputs "out") "/sbin/start-statd") + ,(string-append "--with-krb5=" (assoc-ref %build-inputs "mit-krb5"))) + #:phases (modify-phases %standard-phases + (add-before + 'configure 'mutate-source + (lambda _ + ;; Eventually, we should provide our own start-statd + ;; script instead ... one which starts the rpc.statd + ;; service (which we don't yet have) + (substitute* `("utils/statd/start-statd") + (("^PATH=.*") "") + (("^flock") + (string-append + (assoc-ref %build-inputs "util-linux") + "/bin/flock")) + (("^exec rpc.statd") + (string-append "exec " + (assoc-ref %outputs "out") "/sbin/rpc.statd"))) + + ;; This hook tries to write to /var + ;; That needs to be done by a service too. + (substitute* `("Makefile.in") + (("^install-data-hook:") + "install-data-hook-disabled-for-guix:")) + + ;; Replace some hard coded paths + (substitute* `("utils/nfsd/nfssvc.c") + (("/bin/mount") + (string-append + (assoc-ref %build-inputs "util-linux") + "/bin/mount"))) + (substitute* `("utils/statd/statd.c") + (("/usr/sbin/") + (string-append (assoc-ref %outputs "out") "/sbin/"))) + (substitute* `("utils/osd_login/Makefile.in" + "utils/mount/Makefile.in" + "utils/nfsdcltrack/Makefile.in") + (("^sbindir = /sbin") + (string-append "sbindir = " + (assoc-ref %outputs "out") "/sbin")))))))) + (inputs `(("libevent" ,libevent) + ("libnfsidmap" ,libnfsidmap) + ("sqlite" ,sqlite) + ("lvm2" ,lvm2) + ("gss" ,gss) + ("util-linux" ,util-linux) + ("mit-krb5" ,mit-krb5) + ("libtirpc" ,libtirpc))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.kernel.org/pub/linux/utils/nfs-utils/") + (synopsis "Tools for loading and managing Linux NFS mounts") + (description "The Network File System (NFS) was developed to allow +machines to mount a disk partition on a remote machine as if it were a local +disk. It allows for fast, seamless sharing of files across a network.") + ;; It is hard to be sure what the licence is. Most of the source files + ;; contain no licence notice at all. A few have a licence notice for a 3 + ;; clause non-copyleft licence. However the tarball has a COPYING file + ;; with the text of GPLv2 -- It seems then that GLPv2 is the most + ;; restrictive licence, and until advice to the contrary we must assume + ;; that is what is intended. + (license license:gpl2))) + (define %boot-logo-patch ;; Linux-Libre boot logo featuring Freedo and a gnu. (origin @@ -2183,7 +2268,7 @@ WLAN, Bluetooth and mobile broadband.") (version "1.7") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/acpiclient/acpiclient/" + (uri (string-append "mirror://sourceforge/acpiclient/acpiclient/" version "/" name "-" version ".tar.gz")) (sha256 (base32 -- 2.1.4