summary refs log tree commit diff
path: root/gnu/packages/password-utils.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-01-25 22:07:13 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-01-25 22:07:13 -0500
commit1a5302435ff0d2822b823f5a6fe01faa7a85c629 (patch)
treeac7810c88b560532f22d2bab2e59609cd7305c21 /gnu/packages/password-utils.scm
parent3ff2ac4980dacf10087e4b42bd9fbc490591900c (diff)
parent070b8a893febd6e7d8b2b7c8c4dcebacf7845aa9 (diff)
downloadguix-1a5302435ff0d2822b823f5a6fe01faa7a85c629.tar.gz
Merge branch 'master' into staging.
With "conflicts" solved (all in favor of master except git) in:
	gnu/local.mk
	gnu/packages/databases.scm
	gnu/packages/glib.scm
	gnu/packages/gnome.scm
	gnu/packages/gnupg.scm
	gnu/packages/gnuzilla.scm
	gnu/packages/graphics.scm
	gnu/packages/gstreamer.scm
	gnu/packages/gtk.scm
	gnu/packages/linux.scm
	gnu/packages/machine-learning.scm
	gnu/packages/networking.scm
	gnu/packages/polkit.scm
	gnu/packages/pulseaudio.scm
	gnu/packages/rpc.scm
	gnu/packages/rust.scm
	gnu/packages/version-control.scm
	gnu/packages/w3m.scm
Diffstat (limited to 'gnu/packages/password-utils.scm')
-rw-r--r--gnu/packages/password-utils.scm190
1 files changed, 79 insertions, 111 deletions
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 915c19fb3c..83066bb8ce 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2015 Aljosha Papsch <misc@rpapsch.de>
 ;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se>
@@ -15,7 +15,7 @@
 ;;; 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, 2022 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net>
 ;;; Copyright © 2018 Thomas Sigurdsen <tonton@riseup.net>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
@@ -157,20 +157,20 @@ human.")
      `(("asciidoctor" ,ruby-asciidoctor)
        ("qttools" ,qttools)))
     (inputs
-     `(("argon2" ,argon2)
-       ("libgcrypt" ,libgcrypt)
-       ("libsodium" ,libsodium)         ; XC_BROWSER
-       ("libyubikey" ,libyubikey)       ; XC_YUBIKEY
-       ("libxi" ,libxi)
-       ("libxtst" ,libxtst)
-       ("qrencode" ,qrencode)
-       ("qtbase" ,qtbase-5)
-       ("qtsvg" ,qtsvg)
-       ("qtx11extras" ,qtx11extras)
-       ("quazip" ,quazip)               ; XC_KEESHARE
-       ("readline" ,readline)
-       ("yubikey-personalization" ,yubikey-personalization) ; XC_YUBIKEY
-       ("zlib" ,zlib)))
+     (list argon2
+           libgcrypt
+           libsodium ; XC_BROWSER
+           libyubikey ; XC_YUBIKEY
+           libxi
+           libxtst
+           qrencode
+           qtbase-5
+           qtsvg
+           qtx11extras
+           quazip-0 ; XC_KEESHARE
+           readline
+           yubikey-personalization ; XC_YUBIKEY
+           zlib))
     (home-page "https://www.keepassxc.org")
     (synopsis "Password manager")
     (description "KeePassXC is a password manager or safe which helps you to
@@ -178,6 +178,8 @@ manage your passwords in a secure way.  You can put all your passwords in one
 database, which is locked with one master key or a key-file which can be stored
 on an external storage device.  The databases are encrypted using the
 algorithms AES or Twofish.")
+    (properties
+     '((release-monitoring-url . "https://github.com/keepassxreboot/keepassxc/releases")))
     ;; While various parts of the software are licensed under different licenses,
     ;; the combined work falls under the GPLv3.
     (license license:gpl3)))
@@ -260,13 +262,9 @@ platforms.")
                (invoke "autoconf")
                #t)))))
       (native-inputs
-       `(("autoconf" ,autoconf)
-         ("automake" ,automake)))
+       (list autoconf automake))
       (inputs
-       `(("libx11" ,libx11)
-         ("libxmu" ,libxmu)
-         ("libxt" ,libxt)
-         ("openssl" ,openssl)))
+       (list libx11 libxmu libxt openssl))
       (home-page "https://github.com/nsd20463/pwsafe")
       (synopsis "CLI password manager")
       (description
@@ -287,7 +285,7 @@ Counterpane's Passwordsafe.")
                 "1l2shrhvcwfzkar9qiwb75nhcqmx25iz55lzmz0c187nbjhqzi9p"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     (list pkg-config))
     (arguments
      `(#:modules ((guix build gnu-build-system)
                     (guix build utils)
@@ -310,9 +308,7 @@ Counterpane's Passwordsafe.")
                  `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,ccachedir)))
                #t))))))
     (inputs
-     `(("guile" ,guile-2.2)
-       ("gnupg" ,gnupg)
-       ("xclip" ,xclip)))
+     (list guile-2.2 gnupg xclip))
     (synopsis "GnuPG-based secret manager")
     (description "Shroud is a simple secret manager with a command line
 interface.  The password database is stored as a Scheme s-expression and
@@ -340,12 +336,9 @@ applications, there is xclip integration." )
        (list (string-append "--docdir=" (assoc-ref %outputs "out")
                             "/share/doc",name "-" ,version))))
     (inputs
-     `(("argon2" ,argon2)
-       ("ncurses" ,ncurses)
-       ("openssl" ,openssl)))
+     (list argon2 ncurses openssl))
     (native-inputs
-     `(("cppunit" ,cppunit)
-       ("pkg-config" ,pkg-config)))
+     (list cppunit pkg-config))
     (synopsis "Yet Another Password Encryption Tool")
     (description "YAPET is a text based password manager using the Blowfish
 encryption algorithm.  Because of its small footprint and very few library
@@ -417,7 +410,7 @@ them out, at the source.")
     (native-inputs
      `(("python" ,python-wrapper)))
     (inputs
-     `(("cracklib" ,cracklib)))
+     (list cracklib))
     (synopsis "Password quality checker")
     (home-page "https://github.com/libpwquality/libpwquality")
     (description
@@ -461,24 +454,17 @@ random passwords that pass the checks.")
                #t)))
          (add-after 'install 'manpage
            (lambda* (#:key outputs #:allow-other-keys)
-             ;; Without this substitution, it fails with
-             ;; ImportError: No module named 'gpg'
-             (substitute* "Makefile"
-               (("PYTHONPATH=.") ""))
              (invoke "make" "assword.1")
              (install-file
               "assword.1"
               (string-append (assoc-ref outputs "out") "/share/man/man1")))))))
     (build-system python-build-system)
     (native-inputs
-     `(("txt2man" ,txt2man)))
+     (list txt2man))
     (inputs
-     `(("gtk+" ,gtk+)
-       ("python-xdo" ,python-xdo)
-       ("python-gpg" ,python-gpg)
-       ("python-pygobject" ,python-pygobject)))
+     (list gtk+ python-xdo python-gpg python-pygobject))
     (propagated-inputs
-     `(("xclip" ,xclip)))
+     (list xclip))
     (home-page "https://finestructure.net/assword/")
     (synopsis "Password manager")
     (description "assword is a simple password manager using GPG-wrapped
@@ -499,6 +485,7 @@ any X11 window.")
               (sha256
                (base32
                 "17zp9pnb3i9sd2zn9qanngmsywrb7y495ngcqs6313pv3gb83v53"))
+              (patches (search-patches "password-store-tree-compat.patch"))
               (file-name (git-file-name name version))))
     (build-system gnu-build-system)
     (arguments
@@ -517,8 +504,7 @@ any X11 window.")
                   (string-append " SYSTEM_EXTENSION_DIR=\""
                                  "${PASSWORD_STORE_SYSTEM_EXTENSION_DIR:-"
                                  extension-dir
-                                 "}\"\n"))))
-             #t))
+                                 "}\"\n"))))))
          (add-before 'install 'patch-passmenu-path
            ;; FIXME Wayland support requires ydotool and dmenu-wl packages
            ;; We are ignoring part of the script that gets executed if
@@ -528,27 +514,27 @@ any X11 window.")
              (substitute* "contrib/dmenu/passmenu"
                (("dmenu=dmenu\n")
                 (string-append "dmenu="
-                               (assoc-ref inputs "dmenu") "/bin/dmenu\n"))
+                               (search-input-file inputs "/bin/dmenu")
+                               "\n"))
                (("xdotool=\"xdotool")
                 (string-append "xdotool=\""
-                               (assoc-ref inputs "xdotool") "/bin/xdotool")))
-             #t))
+                               (search-input-file inputs "/bin/xdotool"))))))
          (add-after 'install 'install-passmenu
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (bin (string-append out "/bin")))
-               (install-file "contrib/dmenu/passmenu" bin)
-               #t)))
+               (install-file "contrib/dmenu/passmenu" bin))))
          (add-after 'install 'wrap-path
            (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (path (map (lambda (pkg)
-                                (string-append (assoc-ref inputs pkg) "/bin"))
-                              '("coreutils" "getopt" "git" "gnupg" "qrencode"
-                                "sed" "tree" "which" "wl-clipboard" "xclip"))))
+             (let* ((out (assoc-ref outputs "out"))
+                    (requisites '("getopt" "git" "gpg" "qrencode" "sed"
+                                  "tree" "which" "wl-copy" "xclip"))
+                    (path (map (lambda (pkg)
+                                 (dirname (search-input-file
+                                           inputs (string-append "/bin/" pkg))))
+                               requisites)))
                (wrap-program (string-append out "/bin/pass")
-                 `("PATH" ":" prefix (,(string-join path ":"))))
-               #t))))
+                 `("PATH" ":" prefix (,(string-join path ":"))))))))
        #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)
                           "WITH_ALLCOMP=yes"
                           (string-append "BASHCOMPDIR="
@@ -563,17 +549,17 @@ any X11 window.")
             (separator #f)             ;single entry
             (files '("lib/password-store/extensions")))))
     (inputs
-     `(("dmenu" ,dmenu)
-       ("getopt" ,util-linux)
-       ("git" ,git)
-       ("gnupg" ,gnupg)
-       ("qrencode" ,qrencode)
-       ("sed" ,sed)
-       ("tree" ,tree)
-       ("which" ,which)
-       ("wl-clipboard" ,wl-clipboard)
-       ("xclip" ,xclip)
-       ("xdotool" ,xdotool)))
+     (list dmenu
+           util-linux
+           git
+           gnupg
+           qrencode
+           sed
+           tree
+           which
+           wl-clipboard
+           xclip
+           xdotool))
     (home-page "https://www.passwordstore.org/")
     (synopsis "Encrypted password manager")
     (description "Password-store is a password manager which uses GnuPG to
@@ -618,13 +604,9 @@ through the pass command.")
              #t)))
        #:test-target "test"))
     (inputs
-     `(("oath-toolkit" ,oath-toolkit)))
+     (list oath-toolkit))
     (native-inputs
-     `(("password-store" ,password-store)
-       ("expect" ,expect)
-       ("git" ,git)
-       ("gnupg" ,gnupg)
-       ("which" ,which)))
+     (list password-store expect git gnupg which))
     (home-page "https://github.com/tadfisher/pass-otp")
     (synopsis "Pass extension for managing one-time-password (OTP) tokens")
     (description
@@ -701,10 +683,9 @@ key URIs using the standard otpauth:// scheme.")
              (setenv "QT_QPA_PLATFORM" "offscreen")
              #t)))))
     (native-inputs
-     `(("qttools" ,qttools)))
+     (list qttools))
     (inputs
-     `(("qtbase" ,qtbase-5)
-       ("qtsvg" ,qtsvg)))
+     (list qtbase-5 qtsvg))
     (home-page "https://qtpass.org")
     (synopsis "GUI for password manager password-store")
     (description
@@ -741,9 +722,7 @@ encryption.")
            (chmod script #o555)
            (install-file script (string-append out "/bin"))))))
     (propagated-inputs
-     `(("password-store" ,password-store)
-       ("rofi" ,rofi)
-       ("xdotool" ,xdotool)))
+     (list password-store rofi xdotool))
     (home-page "https://github.com/carnager/rofi-pass")
     (synopsis "Rofi frontend for password-store")
     (description "Rofi-pass provides a way to manipulate information stored
@@ -815,13 +794,11 @@ using password-store through rofi interface:
                    (,(string-append gnupg "/bin"))))
                #t))))))
     (native-inputs
-     `(("which" ,which)))
+     (list which))
     (inputs
-     `(("gnupg" ,gnupg)
-       ("go-github-com-mattn-go-zglob" ,go-github-com-mattn-go-zglob)
-       ("go-github-com-rifflock-lfshook" ,go-github-com-rifflock-lfshook)
-       ("go-github-com-sirupsen-logrus" ,go-github-com-sirupsen-logrus)
-       ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
+     (list gnupg go-github-com-mattn-go-zglob
+           go-github-com-rifflock-lfshook go-github-com-sirupsen-logrus
+           go-golang-org-x-sys))
     (home-page "https://github.com/browserpass/browserpass-native")
     (synopsis "Browserpass native messaging host")
     (description "Browserpass is a browser extension for pass, a
@@ -898,11 +875,9 @@ winner of the 2015 Password Hashing Competition.")
              (setenv "HOME" (getcwd))
              (invoke "pytest"))))))
     (inputs
-     `(("python-pyxdg" ,python-pyxdg)
-       ("password-store" ,password-store)))
+     (list python-pyxdg password-store))
     (native-inputs
-     `(("python-pytest" ,python-pytest)
-       ("python-pytest-mock" ,python-pytest-mock)))
+     (list python-pytest 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
@@ -927,7 +902,7 @@ between hosts and entries in the password store.")
            "0fvz3v41hnaiv1ggpxanfykyfjq79cwp9qcqqn63vic357w27lgm"))))
       (build-system gnu-build-system)
       (native-inputs
-       `(("perl" ,perl)))
+       (list perl))
       (inputs
        `(("gmp" ,gmp)
          ("libpcap" ,libpcap)
@@ -1031,8 +1006,7 @@ is the community-enhanced, \"jumbo\" version of John the Ripper.")
      ;; to Python 2, which works fine.
      `(#:python ,python-2))
     (propagated-inputs
-     `(("gnupg" ,gnupg)
-       ("pwgen" ,pwgen)))
+     (list gnupg pwgen))
     (home-page "http://www.digip.org/sala/")
     (synopsis "Encrypted plaintext password store")
     (description
@@ -1056,10 +1030,10 @@ by GnuPG's symmetrical encryption.")
     (inputs `(("gtk2" ,gtk+-2)
               ("gnupg" ,gnupg)
               ("libxml2" ,libxml2)))
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("intltool" ,intltool)))
+    (native-inputs (list pkg-config intltool))
     (arguments
-     `(#:phases
+     `(#:configure-flags '("CFLAGS=-O2 -g -fcommon")
+       #:phases
        (modify-phases %standard-phases
          (add-before 'configure 'pre-configure
            ;; The file po/POTFILES.in ends up missing for some reason in
@@ -1104,10 +1078,8 @@ to use a different password manager.")
           "1m067vvdlc85csbpkp8aw4s3ags7q8s3jszrr32kmj9qhk5c254f"))))
     (build-system python-build-system)
     (inputs
-     `(("python-beautifulsoup4" ,python-beautifulsoup4)
-       ("python-docopt" ,python-docopt)
-       ("python-html5lib" ,python-html5lib)
-       ("python-requests" ,python-requests)))
+     (list python-beautifulsoup4 python-docopt python-html5lib
+           python-requests))
     (home-page "https://github.com/ddevault/pass-rotate")
     (synopsis "Rotate password on online services")
     (description "pass-rotate is a command line utility and python library for
@@ -1129,7 +1101,7 @@ your online accounts makes it necessary.")
         (base32
          "104z63m7lqbb0sdrxhf9yi15l4a9zwf9m6zs9dbb3gf0nfxl1h9r"))))
     (native-inputs
-     `(("opencl-headers" ,opencl-headers)))
+     (list opencl-headers))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f                      ;no tests
@@ -1159,9 +1131,9 @@ password cracking.")
        (sha256
         (base32 "0kq555kb338691qd7zjmi8vhq4km3apnsl2w63zh0igwzcjx6lx1"))))
     (native-inputs
-     `(("p7zip" ,p7zip)))
+     (list p7zip))
     (inputs
-     `(("perl" ,perl)))
+     (list perl))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ;no tests
@@ -1217,9 +1189,9 @@ group them into chains.")
         (base32 "0yawrlbbklhmvwr99wm7li3r0d5kxvpkwf33a12rji7z0ya5p340"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("lzip" ,lzip)))
+     (list lzip))
     (inputs
-     `(("cryptsetup" ,cryptsetup)))
+     (list cryptsetup))
     (synopsis "LUKS encrypted volume cracker")
     (description
      "This is a cracker for LUKS encrypted volumes.  It can be used either in
@@ -1245,13 +1217,9 @@ try every password contained in a file.")
           (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)))
+       (list pkg-config libxslt libxml2 docbook-xsl docbook-xml))
       (inputs
-       `(("openssl" ,openssl)))
+       (list openssl))
       (arguments
        `(#:phases
          (modify-phases %standard-phases
@@ -1300,7 +1268,7 @@ encryption algorithm if so desired.")
                   (string-append ":-" tomb "/bin/tomb"))))))
          (delete 'configure))))
     (inputs
-     `(("tomb" ,tomb)))
+     (list 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