diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-02-05 16:36:38 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-02-05 22:10:42 +0100 |
commit | 42c97811c973d41b752a9cc561d2544583cc5c71 (patch) | |
tree | f65065fe56d0c68ec734bddd05e3f23cca4a74e1 | |
parent | a7d8c466db633bbdf10c0aebce7128c627c28342 (diff) | |
download | guix-42c97811c973d41b752a9cc561d2544583cc5c71.tar guix-42c97811c973d41b752a9cc561d2544583cc5c71.tar.gz |
gnu: vpnc: Make sure 'vpnc-script' finds the commands it needs.
* gnu/packages/vpn.scm (vpnc)[inputs]: Add NET-TOOLS and IPROUTE.
[arguments]: Use 'modify-phases'. Wrap 'vpnc-script'.
-rw-r--r-- | gnu/packages/vpn.scm | 40 |
1 files changed, 29 insertions, 11 deletions
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 6af87d2657..34dacecdc5 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Jeff Mickey <j@codemac.net> ;;; @@ -70,19 +70,37 @@ endpoints.") (patches (list (search-patch "vpnc-script.patch"))))) (build-system gnu-build-system) (inputs `(("libgcrypt" ,libgcrypt) - ("perl" ,perl))) + ("perl" ,perl) + + ;; The following packages provide commands that 'vpnc-script' + ;; expects. + ("net-tools" ,net-tools) ;ifconfig, route + ("iproute2" ,iproute))) ;ip (arguments `(#:tests? #f ; there is no check target #:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* "Makefile" - (("PREFIX=/usr/local") (string-append "PREFIX=" out))) - (substitute* "Makefile" - (("ETCDIR=/etc/vpnc") (string-append "ETCDIR=" out "/etc/vpnc"))))) - %standard-phases))) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile" + (("PREFIX=/usr/local") (string-append "PREFIX=" out))) + (substitute* "Makefile" + (("ETCDIR=/etc/vpnc") (string-append "ETCDIR=" out + "/etc/vpnc")))))) + (add-after 'install 'wrap-vpnc-script + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Wrap 'etc/vpnc/vpnc-script' so that it finds the commands it + ;; needs. Assume coreutils/grep/sed are in $PATH. + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/etc/vpnc/vpnc-script") + `("PATH" ":" prefix + (,(string-append (assoc-ref inputs "net-tools") + "/sbin") + ,(string-append (assoc-ref inputs "net-tools") + "/bin") + ,(string-append (assoc-ref inputs "iproute2") + "/sbin")))))))))) (synopsis "Client for Cisco VPN concentrators") (description "vpnc is a VPN client compatible with Cisco's EasyVPN equipment. |