X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/a485a98ca8296d760251e9d870583117ac50979e..752843d92349372454a9a6e6afc024a2c7d914f2:/gnu/packages/gnupg.scm diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 7093643722..18fc76ef35 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès ;;; Copyright © 2013, 2015, 2018 Andreas Enge ;;; Copyright © 2014, 2018 Eric Bavier ;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver @@ -13,10 +13,11 @@ ;;; Copyright © 2016 Troy Sankey ;;; Copyright © 2017, 2020 Leo Famulari ;;; Copyright © 2017 Petter -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Marius Bakke ;;; Copyright © 2018 Björn Höfling ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2020 Fredrik Salomonsson ;;; ;;; This file is part of GNU Guix. ;;; @@ -67,6 +68,7 @@ #:use-module (gnu packages tor) #:use-module (gnu packages web) #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (guix packages) #:use-module (guix download) @@ -196,7 +198,7 @@ provided.") (define-public libksba (package (name "libksba") - (version "1.4.0") + (version "1.5.0") (source (origin (method url-fetch) @@ -205,7 +207,7 @@ provided.") version ".tar.bz2")) (sha256 (base32 - "1dj1razn35srkgadx3i30yr0q037cr0dn54m6a54vxgh3zlsirmz")))) + "1fm0mf3wq9fmyi1rmc1vk2fafn6liiw2mgxml3g7ybbb44lz2jmf")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error))) @@ -255,7 +257,7 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.2.24") + (version "2.2.27") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version @@ -263,7 +265,7 @@ compatible to GNU Pth.") (patches (search-patches "gnupg-default-pinentry.patch")) (sha256 (base32 - "0ilcp7m1dvwnri3i7q9wanf5pvhwxk7h106pd62g0d5fz80b944h")))) + "1693s2rp9sjwvdslj94n03wnb6rxysjy0dli0q1698af044h1ril")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -326,52 +328,6 @@ libskba (working with X.509 certificates and CMS data).") (properties '((ftp-server . "ftp.gnupg.org") (ftp-directory . "/gcrypt/gnupg"))))) -(define-public gnupg-2.0 - (package (inherit gnupg) - (version "2.0.30") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnupg/gnupg/gnupg-" version - ".tar.bz2")) - (sha256 - (base32 - "0wax4cy14hh0h7kg9hj0hjn9424b71z8lrrc5kbsasrn9xd7hag3")))) - (native-inputs '()) - (inputs - `(("adns" ,adns) - ("bzip2" ,bzip2) - ("curl" ,curl) - ("libassuan" ,libassuan) - ("libgcrypt" ,libgcrypt) - ("libgpg-error" ,libgpg-error) - ("libksba" ,libksba) - ("pth" ,pth) - ("openldap" ,openldap) - ("zlib" ,zlib) - ("readline" ,readline))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'configure 'patch-config-files - (lambda _ - (substitute* "tests/openpgp/Makefile.in" - (("/bin/sh") (which "sh"))) - #t)) - (add-after 'install 'rename-v2-commands - (lambda* (#:key outputs #:allow-other-keys) - ;; Upstream suggests removing the trailing '2' from command names: - ;; . - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion (string-append out "/bin") - (rename-file "gpgv2" "gpgv") - (rename-file "gpg2" "gpg") - - ;; Keep the old name around to ease transition. - (symlink "gpgv" "gpgv2") - (symlink "gpg" "gpg2") - #t))))))) - (properties `((superseded . ,gnupg))))) - (define-public gnupg-1 (package (inherit gnupg) (version "1.4.23") @@ -401,13 +357,13 @@ libskba (working with X.509 certificates and CMS data).") (define-public gpgme (package (name "gpgme") - (version "1.15.0") + (version "1.15.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gpgme/gpgme-" version ".tar.bz2")) (sha256 - (base32 "0nqfipv5s4npfidsm1rs3kpq0r0av9bfqfd5r035jibx5k0jniqb")))) + (base32 "1bg13l5s8x9p1v0jyv29n84bay27pflindpzjsc9gj7i4wdkrg7f")))) (build-system gnu-build-system) (native-inputs `(("gnupg" ,gnupg))) @@ -478,19 +434,20 @@ gpgpme starting with version 1.7.") (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - ;; When cross-compiling, the bash script libgcrypt-config provided by - ;; libgcrypt must be accessible during configure phase. - `(,@(if (%current-target-system) - '(#:phases - (modify-phases %standard-phases - (add-before 'configure 'add-libgrypt-config - (lambda _ - (setenv "PATH" (string-append - (assoc-ref %build-inputs "libgcrypt") - "/bin:" - (getenv "PATH"))) - #t)))) - '()))) + ;; Work around to achieve reproducible + ;; builds. + '(#:parallel-build? #f + + #:phases + (modify-phases %standard-phases + (add-before 'configure 'add-libgrypt-config + (lambda* (#:key inputs target #:allow-other-keys) + (when target + ;; When cross-compiling, the bash script 'libgcrypt-config' + ;; must be accessible during the configure phase. + (setenv "PATH" + (string-append (assoc-ref inputs "libgcrypt") + "/bin:" (getenv "PATH"))))))))) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) @@ -725,7 +682,7 @@ PGP keysigning parties.") (define-public signing-party (package (name "signing-party") - (version "2.10") + (version "2.11") (home-page "https://salsa.debian.org/signing-party-team/signing-party") (source (origin (method git-fetch) @@ -735,7 +692,7 @@ PGP keysigning parties.") (file-name (git-file-name name version)) (sha256 (base32 - "0lq8nmwjmysry0n4jg6vb7bh0lagbyb9pa11ii3s41p1mhzchf2r")))) + "1aig5ssabzbk4mih7xd04vgr931bw0flbi8dz902wlr610gyv5s5")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf-wrapper) @@ -828,14 +785,14 @@ including tools for signing keys, keyring analysis, and party preparation. (define-public pinentry-tty (package (name "pinentry-tty") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/pinentry/pinentry-" version ".tar.bz2")) (sha256 (base32 - "0w35ypl960pczg5kp6km3dyr000m1hf0vpwwlh72jjkjza36c1v8")))) + "0zx5vg6wws2sp2yxwi01b8i1pnsqkydncpj7x0p8xl9y05ja04nd")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-pinentry-tty"))) @@ -913,10 +870,6 @@ passphrase when @code{gpg} is run and needs it."))) (package (inherit pinentry-tty) (name "pinentry-efl") - (source - (origin - (inherit (package-source pinentry-tty)) - (patches (search-patches "pinentry-efl.patch")))) (arguments '(#:configure-flags '("--enable-pinentry-efl" "--enable-fallback-curses") @@ -934,10 +887,62 @@ passphrase when @code{gpg} is run and needs it."))) `(("efl" ,efl) ,@(package-inputs pinentry-tty))) (description - "Pinentry provides a console and a graphical interface for the -@dfn{Enlightenment Foundation Libraries} (EFL) that allows users to enter a + "Pinentry provides a console and a graphical interface for @acronym{EFL, +the Enlightenment Foundation Libraries} that allows users to enter a passphrase when @code{gpg} is run and needs it."))) +(define-public pinentry-rofi + (package + (name "pinentry-rofi") + (version "2.0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/plattfot/pinentry-rofi/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kjzvgni9srl8h5c52pqrvgdxs6avv0nhgk19apd97sx10qdwdhk")))) + (build-system gnu-build-system) + (arguments + `(#:modules + ((ice-9 match) + (ice-9 ftw) + ,@%gnu-build-system-modules) + #:phases + (modify-phases + %standard-phases + (add-after 'install 'hall-wrap-binaries + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/")) + (site (string-append out "/share/guile/site")) + (rofi-bin (string-append (assoc-ref inputs "rofi") "/bin"))) + (match (scandir site) + (("." ".." version) + (wrap-program + (string-append bin "pinentry-rofi") + (list "PATH" ":" 'prefix `(,rofi-bin))) + #t))))) + (add-after 'compress-documentation 'installcheck + (lambda* rest + (invoke "make" "installcheck")))))) + (native-inputs + `(("autoconf" ,autoconf) + ("autoconf-archive" ,autoconf-archive) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) + (inputs `(("guile" ,guile-3.0) + ("rofi" ,rofi))) + (synopsis "Rofi GUI for GnuPG's passphrase input") + (description "Pinentry-rofi is a simple graphical user interface for +passphrase or PIN when required by @code{gpg} or other software. It is using +the Rofi application launcher as the user interface. Which makes it combined +with @code{rofi-pass} a good front end for @code{password-store}.") + (home-page "https://github.com/plattfot/pinentry-rofi/") + (license license:gpl3+))) + (define-public pinentry (package (inherit pinentry-gtk2) (name "pinentry")))