;;; 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, 2020 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.
;;;
(define-public keepassxc
(package
(name "keepassxc")
- (version "2.5.4")
+ (version "2.6.4")
(source
(origin
(method url-fetch)
"/releases/download/" version "/keepassxc-"
version "-src.tar.xz"))
(sha256
- (base32 "0jndssyvpl8bc5i2q3d6kq1ppynchxx9nvp1qhd2pc0qqc0hhpm5"))))
+ (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"
`(("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)
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+)))