;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015, 2018 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
-;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
-;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2017, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
-;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Fredrik Salomonsson <plattfot@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
#: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)
(match (string-take target
(string-index target #\-))
("armhf" "arm-unknown-linux-gnueabi")
+ ("mips64el" "mips-unknown-linux-gnu")
(x
(string-append x "-unknown-linux-gnu")))))
(symlink
;; the 'gpg-error-config' it runs is the native one---i.e., the wrong one.
`(#:configure-flags
(list (string-append "--with-gpg-error-prefix="
- (assoc-ref %build-inputs "libgpg-error-host")))))
+ (assoc-ref %build-inputs "libgpg-error-host"))
+ ;; When cross-compiling, _gcry_mpih_lshift etc are undefined
+ ,@(if (%current-target-system) '("--disable-asm")
+ '()))))
(outputs '("out" "debug"))
(home-page "https://gnupg.org/")
(synopsis "Cryptographic function library")
(define-public libassuan
(package
(name "libassuan")
- (version "2.5.3")
+ (version "2.5.4")
(source
(origin
(method url-fetch)
version ".tar.bz2"))
(sha256
(base32
- "00p7cpvzf0q3qwcgg51r9d0vbab4qga2xi8wpk2fgd36710b1g4i"))))
+ "1w7vnnycq4z7gf4bk38pi4hrb8qrrzgfpz3cd7frwldxnfbfx060"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)
(define-public libksba
(package
(name "libksba")
- (version "1.3.5")
+ (version "1.5.0")
(source
(origin
(method url-fetch)
version ".tar.bz2"))
(sha256
(base32
- "0h53q4sns1jz1pkmhcz5wp9qrfn9f5g9i3vjv6dafwzzlvblyi21"))))
+ "1fm0mf3wq9fmyi1rmc1vk2fafn6liiw2mgxml3g7ybbb44lz2jmf"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)))
(define-public gnupg
(package
(name "gnupg")
- (version "2.2.20")
+ (version "2.2.27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
+ (patches (search-patches "gnupg-default-pinentry.patch"))
(sha256
(base32
- "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4"))
- (patches (search-patches "gnupg-default-pinentry.patch"))))
+ "1693s2rp9sjwvdslj94n03wnb6rxysjy0dli0q1698af044h1ril"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(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:
- ;; <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22883#58>.
- (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")
(define-public gpgme
(package
(name "gpgme")
- (version "1.13.1")
+ (version "1.15.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gpgme/gpgme-" version ".tar.bz2"))
(sha256
- (base32 "0imyjfryvvjdbai454p70zcr95m94j9xnzywrlilqdw2fqi0pqy4"))))
+ (base32 "1bg13l5s8x9p1v0jyv29n84bay27pflindpzjsc9gj7i4wdkrg7f"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'disable-failing-test
- ;; XXX gnupg@2.2.20 breaks the expected JSON response for this test.
- (lambda _
- (substitute* "tests/json/t-json.c"
- (("\"t-keylist-secret\", ") ""))
- #t)))))
(native-inputs
`(("gnupg" ,gnupg)))
(propagated-inputs
(define-public guile-gcrypt
(package
(name "guile-gcrypt")
- (version "0.2.1")
+ (version "0.3.0")
(home-page "https://notabug.org/cwebber/guile-gcrypt")
(source (origin
(method git-fetch)
(commit (string-append "v" version))))
(sha256
(base32
- "0n232iyayc46f7hywmjw0jr7pbmmz5h4b04jskhkzz9gxz0ci99c"))
+ "0m29fg4pdfifnqqsa437zc5c1bhbfh62mc69ba25ak4x2cla41ll"))
(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 <https://bugs.gnu.org/20272> 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)
("libgcrypt" ,libgcrypt)))
(synopsis "Cryptography library for Guile using Libgcrypt")
(description
- "Guile-Gcrypt provides a Guile 2.x interface to a subset of the
+ "Guile-Gcrypt provides a Guile interface to a subset of the
GNU Libgcrypt crytographic library. It provides modules for cryptographic
hash functions, message authentication codes (MAC), public-key cryptography,
strong randomness, and more. It is implemented using the foreign function
(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)
(file-name (git-file-name name version))
(sha256
(base32
- "0lq8nmwjmysry0n4jg6vb7bh0lagbyb9pa11ii3s41p1mhzchf2r"))))
+ "1aig5ssabzbk4mih7xd04vgr931bw0flbi8dz902wlr610gyv5s5"))))
(build-system gnu-build-system)
(native-inputs
+ ;; autoconf-wrapper is required due to the non-standard
+ ;; 'configure phase.
`(("autoconf" ,autoconf-wrapper)
("automake" ,automake)))
(inputs `(("perl" ,perl)
(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")))
(package
(inherit pinentry-tty)
(name "pinentry-gtk2")
+ (arguments
+ `(#:configure-flags '("--enable-fallback-curses")))
(inputs
`(("gtk+" ,gtk+-2)
("glib" ,glib)
("glib" ,glib)
,@(package-inputs pinentry-tty)))
(arguments
- `(#:configure-flags '("--enable-pinentry-gnome3")))
+ `(#:configure-flags '("--enable-pinentry-gnome3"
+ "--enable-fallback-curses")))
(description
"Pinentry provides a console and a GUI designed for use with GNOME@tie{}3
that allows users to enter a passphrase when required by @code{gpg} or other
(package
(inherit pinentry-tty)
(name "pinentry-qt")
+ (arguments
+ `(#:configure-flags '("--enable-fallback-curses")))
(inputs
`(("qtbase" ,qtbase)
,@(package-inputs pinentry-tty)))
(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")
+ '(#:configure-flags '("--enable-pinentry-efl"
+ "--enable-fallback-curses")
#:phases
(modify-phases %standard-phases
(replace 'bootstrap
`(("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")))
(define-public jetring
(package
(name "jetring")
- (version "0.29")
+ (version "0.30")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/debian/jetring")
- (commit (string-append "debian/" version))))
+ (commit "535380166eb1b222ba34864af07f3e36f4fb52c9")))
(file-name (git-file-name name version))
(sha256
- (base32
- "1acbx2vnbkms1c0wgcnh05d4g359sg5z0aiw541vx2qq9sgdhlv6"))))
+ (base32 "19m7rj446pr4nql44khwq0cfxfrm8cslj5v9jll08p7nk6glq5px"))))
(build-system gnu-build-system)
(arguments
'(#:phases