gnu: password-store: Wrap PATH.

* gnu/packages/password-utils.scm (password-store)
[arguments]: Wrap PATH more thoroughly.
[native-inputs]: Move getopt to inputs.
[inputs]: Add sed.

Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
This commit is contained in:
Alex Griffin 2016-07-28 19:06:10 -05:00 committed by Mathieu Lirzin
parent f33e71fca2
commit 61201e46a7
No known key found for this signature in database
GPG key ID: 0ADEE10094604D37

View file

@ -6,6 +6,7 @@
;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se> ;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -266,27 +267,26 @@ (define-public password-store
'(#:phases '(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(add-after (add-after 'install 'wrap-path
;; The script requires 'getopt' at run-time, and this allows (lambda* (#:key inputs outputs #:allow-other-keys)
;; the user to not install the providing package 'util-linux' (let ((out (assoc-ref outputs "out"))
;; in their profile. (path (map (lambda (pkg)
'unpack 'patch-path (string-append (assoc-ref inputs pkg) "/bin"))
(lambda* (#:key inputs outputs #:allow-other-keys) '("coreutils" "getopt" "git" "gnupg" "pwgen"
(let ((getopt (string-append (assoc-ref inputs "getopt") "sed" "tree" "which" "xclip"))))
"/bin/getopt"))) (wrap-program (string-append out "/bin/pass")
(substitute* "src/password-store.sh" `("PATH" ":" prefix (,(string-join path ":"))))))))
(("GETOPT=\"getopt\"")
(string-append "GETOPT=\"" getopt "\"")))
#t))))
#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
#:test-target "test")) #:test-target "test"))
(native-inputs `(("getopt" ,util-linux))) ; getopt for the tests (inputs
(inputs `(("gnupg" ,gnupg) `(("getopt" ,util-linux)
("pwgen" ,pwgen) ("git" ,git)
("xclip" ,xclip) ("gnupg" ,gnupg)
("git" ,git) ("pwgen" ,pwgen)
("tree" ,tree) ("sed" ,sed)
("which" ,which))) ("tree" ,tree)
("which" ,which)
("xclip" ,xclip)))
(home-page "http://www.passwordstore.org/") (home-page "http://www.passwordstore.org/")
(synopsis "Encrypted password manager") (synopsis "Encrypted password manager")
(description "Password-store is a password manager which uses GnuPG to (description "Password-store is a password manager which uses GnuPG to