;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Steve Sprang ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages password-utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages gnupg) #:use-module (gnu packages version-control) #:use-module (gnu packages xdisorg)) (define-public pwgen (package (name "pwgen") (version "2.07") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/pwgen/pwgen-" version ".tar.gz")) (sha256 (base32 "0mhmw700kkh238fzivcwnwi94bj9f3h36yfh3k3j2v19b0zmjx7b")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no test suite (home-page "http://pwgen.sourceforge.net/") (synopsis "Password generator") (description "Pwgen generates passwords which can be easily memorized by a human.") (license license:gpl2))) (define-public pass (package (name "pass") (version "1.6.5") (source (origin (method url-fetch) (uri (string-append "http://git.zx2c4.com/password-store/snapshot/" "password-store-" version ".tar.xz")) (sha256 (base32 "05bk3lrp5jwg0v338lvylp7glpliydzz4jf5pjr6k3kagrv3jyik")))) (build-system gnu-build-system) (inputs `(("git" ,git) ("gnupg" ,gnupg) ("pwgen" ,pwgen) ("tree" ,tree) ("xclip" ,xclip))) (arguments `(#:phases (modify-phases %standard-phases (delete 'configure) (delete 'build) ; pass is implemented as a shell script (add-after 'install 'set-path (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (input->path (lambda (input) (string-append (assoc-ref inputs (car input)) "/bin")))) ;; pass executes its inputs as helper programs at runtime (wrap-program (string-append out "/bin/pass") `("PATH" ":" prefix ,(map input->path inputs))))))) #:make-flags (list (string-append "PREFIX=" %output) "FORCE_ALL=1") ; bash-completion #:test-target "test" #:tests? #f)) ; tests hang (home-page "http://www.passwordstore.org/") (synopsis "Simple password manager") (description "Pass is a simple password manager which uses GnuPG and ordinary directories.") (license license:gpl2+)))