aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-02-05 16:36:38 +0100
committerLudovic Courtès <ludo@gnu.org>2016-02-05 22:10:42 +0100
commit42c97811c973d41b752a9cc561d2544583cc5c71 (patch)
treef65065fe56d0c68ec734bddd05e3f23cca4a74e1
parenta7d8c466db633bbdf10c0aebce7128c627c28342 (diff)
downloadguix-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.scm40
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.