;;; Copyright © 2016, 2019, 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
-;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
+;;; Copyright © 2018, 2019, 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
+ #:use-module (gnu packages docbook)
#:use-module (gnu packages file)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
(define-public keepassxc
(package
(name "keepassxc")
- (version "2.5.3")
+ (version "2.6.4")
(source
(origin
(method url-fetch)
"/releases/download/" version "/keepassxc-"
version "-src.tar.xz"))
(sha256
- (base32 "1sx647mp1xikig50p9bb6vxv18ymdfj3wkxj6qfdr1zfcv7gn005"))))
+ (base32 "0azq20rqsx7axrigha4qh81ipvhqnnlb27w3xdjg5z4h3jky4dp5"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DWITH_XC_ALL=YES"
- "-DWITH_XC_UPDATECHECK=NO")))
+ "-DWITH_XC_UPDATECHECK=NO")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-bin
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/keepassxc")
+ `("QT_PLUGIN_PATH" ":" prefix
+ ,(map (lambda (label)
+ (string-append (assoc-ref inputs label)
+ "/lib/qt5/plugins"))
+ '("qtbase" "qtsvg")))))
+ #t)))))
+ (native-inputs
+ `(("asciidoctor" ,ruby-asciidoctor)
+ ("qttools" ,qttools)))
(inputs
`(("argon2" ,argon2)
("libgcrypt" ,libgcrypt)
("readline" ,readline)
("yubikey-personalization" ,yubikey-personalization) ; XC_YUBIKEY
("zlib" ,zlib)))
- (native-inputs
- `(("qttools" ,qttools)))
(home-page "https://www.keepassxc.org")
(synopsis "Password manager")
(description "KeePassXC is a password manager or safe which helps you to
(define-public pwsafe
(package
(name "pwsafe")
- (version "3.50.0")
+ (version "3.54.1")
(home-page "https://www.pwsafe.org/")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/pwsafe/pwsafe.git")
+ (url "https://github.com/pwsafe/pwsafe")
(commit version)))
(sha256
- (base32 "01kfssd2vr64yh4dqhch58x36n3aj3hpj5n560f41rsxym69c6qs"))
+ (base32 "0d51dlw98mv23nwb0b5jyji8gnb9f5cnig6kivfljl97lmr6lhvf"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(native-inputs
(display "find_package(GTest)
add_subdirectory(src/test)\n" cmake-port)
(close cmake-port)
- #t)))
- (add-after 'add-gtest 'patch-executables
- (lambda* (#:key inputs #:allow-other-keys)
- (chmod "src/test/OSTest.cpp" #o644)
- (substitute* "src/os/unix/media.cpp"
- (("/usr/bin/file")
- (string-append (assoc-ref inputs "file")
- "/bin/file")))
- #t)))))
+ #t))))))
(synopsis "Password safe with automatic input and key generation")
(description "pwsafe is a password manager originally designed by Bruce
Schneier. It offers a simple UI to manage passwords for different services.
(define-public yapet
(package
(name "yapet")
- (version "2.3")
+ (version "2.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://yapet.guengel.ch/downloads/yapet-"
version ".tar.xz"))
(sha256
- (base32 "1fl4s7v1psl52ndd6i7716i9f493aj8ipl6lgmraadnn5h26l3pm"))))
+ (base32 "0hpibsdry259cmvps35isr6jn9cd9fsk3r1h0ppjx9zxfrpqwldg"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--docdir=" (assoc-ref %outputs "out")
+ "/share/doc",name "-" ,version))))
(inputs
`(("argon2" ,argon2)
("ncurses" ,ncurses)
(define-public libpwquality
(package
(name "libpwquality")
- (version "1.4.2")
+ (version "1.4.4")
(source (origin
(method url-fetch)
(uri (list
"libpwquality-" version ".tar.bz2")))
(sha256
(base32
- "13hw532fmzc5xjpy75d74rlfdlxf2a8ibb4hyy9c0s92wsgf0qsj"))))
+ "0id5a8bi8xnjg11g9vzrl2xbpx65mfxclxcvis7zx1v8vhisyfyl"))))
(build-system gnu-build-system)
(arguments
- ;; XXX: have RUNPATH issue.
- '(#:configure-flags '("--disable-python-bindings")))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'set-LDFLAGS
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "LDFLAGS"
+ (string-append
+ "-Wl,-rpath="
+ (assoc-ref outputs "out") "/lib"))
+ #t)))))
+ (native-inputs
+ `(("python" ,python-wrapper)))
(inputs
`(("cracklib" ,cracklib)))
(synopsis "Password quality checker")
(define-public qtpass
(package
(name "qtpass")
- (version "1.2.3")
+ (version "1.3.2")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/IJHack/QtPass.git")
+ (url "https://github.com/IJHack/QtPass")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1vfhfyccrxq9snyvayqfzm5rqik8ny2gysyv7nipc91kvhq3bhky"))))
+ "0748hjvhjrybi33ci3c8hcr74k9pdrf5jv8npf9hrsrmdyy1kr9x"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
+ `(#:modules ((guix build gnu-build-system)
+ (guix build qt-utils)
+ (guix build utils))
+ #:imported-modules (,@%gnu-build-system-modules
+ (guix build qt-utils))
+ #:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(string-append icons "/qtpass-icon.svg"))
(install-file "qtpass.1" man)
#t)))
+ (add-after 'install 'wrap-qt
+ (lambda* (#:key outputs #:allow-other-keys)
+ (wrap-qt-program (assoc-ref outputs "out") "qtpass")
+ #t))
(add-before 'check 'check-setup
;; Make Qt render "offscreen", required for tests.
(lambda _
(define-public browserpass-native
(package
(name "browserpass-native")
- (version "3.0.6")
+ (version "3.0.7")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/browserpass/browserpass-native.git")
+ (url "https://github.com/browserpass/browserpass-native")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "0q3bsla07zjl6i69nj1axbkg2ia89pvh0jg6nlqgbm2kpzzbn0pz"))))
+ "1jkjslbbac49xjyjkc2b07phdm3i64z40kh6h55cl22dxjmpp1nb"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/browserpass/browserpass-native"
("python-pytest-mock" ,python-pytest-mock)))
(home-page "https://github.com/languitar/pass-git-helper")
(synopsis "Git credential helper interfacing with pass")
- (description "pass-git-helper is a git credential helper which allows to
-use pass, the standard unix password manager, as the credential backend for
+ (description "pass-git-helper is a git credential helper which
+uses pass, the standard unix password manager, as the credential backend for
your git repositories. This is achieved by explicitly defining mappings
between hosts and entries in the password store.")
(license license:lgpl3+)))
`(("gmp" ,gmp)
("libpcap" ,libpcap)
("nss" ,nss)
- ("openssl" ,openssl-1.0)
+ ("openssl" ,openssl)
("python" ,python-2) ; For "python" and "python2" shebangs
("ruby" ,ruby) ; For genincstats.rb
("zlib" ,zlib)))
(define-public hashcat
(package
(name "hashcat")
- (version "5.1.0")
+ (version "6.1.1")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "0f73y4cg8c7a6q7x34qvpfi4g3lw6j9bnn0a13g43aqyiskflfr8"))))
+ "104z63m7lqbb0sdrxhf9yi15l4a9zwf9m6zs9dbb3gf0nfxl1h9r"))))
(native-inputs
`(("opencl-headers" ,opencl-headers)))
(build-system gnu-build-system)
try every password contained in a file.")
(home-page "https://github.com/glv2/bruteforce-luks")
(license license:gpl3+)))
+
+(define-public makepasswd
+ (let ((commit "3545d57d3a589a392d7eb0df36a5286785345c9e")
+ (revision "1"))
+ (package
+ (name "makepasswd")
+ (version (git-version "0.5.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/khorben/makepasswd")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0lspqyyxbk6h28yxnp7pd5aib161vrkzgasam5jpzn35n1jacx2j"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("libxslt" ,libxslt)
+ ("libxml2" ,libxml2)
+ ("docbook-xsl" ,docbook-xsl)
+ ("docbook-xml" ,docbook-xml)))
+ (inputs
+ `(("openssl" ,openssl)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure))
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:tests? #f)) ;no tests
+ (synopsis "Generate (pseudo-)random passwords and hashes")
+ (description
+ "Makepasswd is a program that generates pseudo-random passwords of a
+desired length. It can also generate their corresponding hashes for a given
+encryption algorithm if so desired.")
+ (home-page "https://github.com/khorben/makepasswd")
+ (license license:gpl3))))
+
+(define-public pass-tomb
+ (package
+ (name "pass-tomb")
+ (version "1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/roddhjav/pass-tomb")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qj7vx7svk1ljwihj3kv310k17mafnf919n30n4qn1yxmmsvj924"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (let ((out (assoc-ref %outputs "out")))
+ (list (string-append "PREFIX=" out)
+ (string-append "BASHCOMPDIR=" out "/etc/bash_completion.d")))
+ #:test-target "tests"
+ ;; tests are very dependent on system state (swap partition) and require
+ ;; access to /tmp/zsh which is not in the build container.
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-tomb-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((tomb (assoc-ref inputs "tomb")))
+ (substitute* "tomb.bash"
+ ((":-tomb")
+ (string-append ":-" tomb "/bin/tomb"))))))
+ (delete 'configure))))
+ (inputs
+ `(("tomb" ,tomb)))
+ (home-page "https://github.com/roddhjav/pass-tomb")
+ (synopsis "Pass extension keeping the tree of passwords encrypted")
+ (description "Pass-tomb provides a convenient solution to put your
+password store in a Tomb and then keep your password tree encrypted when you
+are not using it. It uses the same GPG key to encrypt passwords and tomb,
+therefore you don't need to manage more key or secret. Moreover, you can ask
+pass-tomb to automatically close your store after a given time.")
+ (license license:gpl3+)))