;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 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 © 2015 Paul van der Walt <paul@denknerd.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; 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 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018, 2019, 2020 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>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages tls)
#:use-module (gnu packages tor)
#:use-module (gnu packages web)
+ #:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module (guix packages)
#:use-module (guix download)
(define-public libgpg-error
(package
(name "libgpg-error")
- (version "1.36")
+ (version "1.37")
(source
(origin
(method url-fetch)
version ".tar.bz2"))
(sha256
(base32
- "0z696dmhfxm2n6pmr8b857wwljq9h633yi99bhbn7h88f91rigds"))
- (patches (search-patches "libgpg-error-gawk-compat.patch"))
- ;; XXX: Remove this snippet with the gawk patch above. It avoids having
- ;; to call autoreconf for the Makefile.am change to take effect.
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "src/Makefile.in"
- (("namespace=errnos") "pkg_namespace=errnos"))
- #t))))
+ "0qwpx8mbc2l421a22l0l1hpzkip9jng06bbzgxwpkkvk5bvnybdk"))))
(build-system gnu-build-system)
+ (arguments
+ (if (%current-target-system)
+ `(#:modules ((ice-9 match)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
+ (modify-phases %standard-phases
+ ;; When cross-compiling, some platform specific properties cannot
+ ;; be detected. Create a symlink to the appropriate platform
+ ;; file. See Cross-Compiling section at:
+ ;; https://github.com/gpg/libgpg-error/blob/master/README
+ (add-after 'unpack 'cross-symlinks
+ (lambda* (#:key target inputs #:allow-other-keys)
+ (let ((triplet
+ (match (string-take target
+ (string-index target #\-))
+ ("armhf" "arm-unknown-linux-gnueabi")
+ (x
+ (string-append x "-unknown-linux-gnu")))))
+ (symlink
+ (string-append "lock-obj-pub." triplet ".h")
+ "src/syscfg/lock-obj-pub.linux-gnu.h"))
+ #t))))
+ '()))
+ (native-inputs `(("gettext" ,gettext-minimal)))
(home-page "https://gnupg.org")
(synopsis "Library of error values for GnuPG components")
(description
(define-public libgcrypt
(package
(name "libgcrypt")
- (version "1.8.4")
+ (version "1.8.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
version ".tar.bz2"))
(sha256
(base32
- "09r27ywj9zplq6n9qw3mn7zmvf6y2jdmwx5d1kg8yqkj0qx18f7n"))))
+ "1hvsazms1bfd769q0ngl0r9g5i4m9mpz9jmvvrdzyzk3rfa2ljiv"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error-host" ,libgpg-error)))
;; 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 gnupg
(package
(name "gnupg")
- (version "2.2.17")
+ (version "2.2.20")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
+ (patches (search-patches "gnupg-default-pinentry.patch"))
(sha256
(base32
- "056mgy09lvsi03531a437qj58la1j2x1y1scvfi53diris3658mg"))))
+ "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(sha256
(base32 "0imyjfryvvjdbai454p70zcr95m94j9xnzywrlilqdw2fqi0pqy4"))))
(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.1.0")
+ (version "0.3.0")
(home-page "https://notabug.org/cwebber/guile-gcrypt")
(source (origin
(method git-fetch)
(commit (string-append "v" version))))
(sha256
(base32
- "1lhgh3105yi0ggrjsjibv4wp1ipz8s17pa820hk2wln3rc04wpvf"))
- (file-name (string-append name "-" version "-checkout"))))
+ "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))))
+ '())))
(native-inputs
`(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
- ("texinfo" ,texinfo)))
+ ("texinfo" ,texinfo)
+ ("guile" ,guile-3.0)))
(inputs
- `(("guile" ,guile-2.2)
+ `(("guile" ,guile-3.0)
("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 guile2.0-gcrypt
(package (inherit guile-gcrypt)
(name "guile2.0-gcrypt")
+ (native-inputs
+ `(("guile" ,guile-2.0)
+ ,@(alist-delete "guile" (package-native-inputs guile-gcrypt))))
(inputs
`(("guile" ,guile-2.0)
,@(alist-delete "guile" (package-inputs guile-gcrypt))))))
+(define-public guile2.2-gcrypt
+ (package
+ (inherit guile-gcrypt)
+ (name "guile2.2-gcrypt")
+ (native-inputs
+ `(("guile" ,guile-2.2)
+ ,@(alist-delete "guile" (package-native-inputs guile-gcrypt))))
+ (inputs
+ `(("guile" ,guile-2.2)
+ ,@(alist-delete "guile" (package-inputs guile-gcrypt))))))
+
+(define-public guile3.0-gcrypt
+ (deprecated-package "guile3.0-gcrypt" guile-gcrypt))
+
(define-public python-gpg
(package
(name "python-gpg")
(inputs
`(("qtbase" ,qtbase)
,@(package-inputs pinentry-tty)))
- (arguments
- `(#:configure-flags '("CXXFLAGS=-std=gnu++11")))
(description
"Pinentry provides a console and a Qt GUI that allows users to enter a
passphrase when @code{gpg} is run and needs it.")))
(define-public paperkey
(package
(name "paperkey")
- (version "1.5")
+ (version "1.6")
(source (origin
(method url-fetch)
- (uri (string-append "http://www.jabberwocky.com/"
+ (uri (string-append "https://www.jabberwocky.com/"
"software/paperkey/paperkey-"
version ".tar.gz"))
(sha256
(base32
- "1prd2jaf4zjad3xhv160hmi5n408ssljfg7iz90jxs9w111pjwy4"))))
+ "1xq5gni6gksjkd5avg0zpd73vsr97appksfx0gx2m38s4w9zsid2"))))
(build-system gnu-build-system)
(arguments
`(#:phases
"checks/roundtrip-raw.sh")
(("/bin/echo") "echo"))
#t)))))
- (home-page "http://www.jabberwocky.com/software/paperkey/")
+ (home-page "https://www.jabberwocky.com/software/paperkey/")
(synopsis "Backup OpenPGP keys to paper")
(description
"Paperkey extracts the secret bytes from an OpenPGP (GnuPG, PGP, etc) key
them to transform your existing public key into a secret key.")
(license license:gpl2+)))
+(define-public pgpdump
+ (package
+ (name "pgpdump")
+ (version "0.33")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.mew.org/~kazu/proj/pgpdump/pgpdump-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1j001jra2m89n6cys3n0hs574bipjdzfxhzpnd4jfyv95mqwl7n4"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no make check
+ #:configure-flags (list "--prefix=/")
+ #:make-flags (list "CC=gcc"
+ (string-append "DESTDIR=" (assoc-ref %outputs "out")))))
+ (inputs
+ `(("zlib" ,zlib)))
+ (home-page "https://www.mew.org/~kazu/proj/pgpdump/en/")
+ (synopsis "PGP packet visualizer")
+ (description "pgpdump displays the sequence of OpenPGP or PGP version 2
+packets from a file.
+
+The output of this command is similar to GnuPG's list packets command,
+however, pgpdump produces more detailed and easier to understand output.")
+ (license license:bsd-3)))
+
(define-public gpa
(package
(name "gpa")
(base32
"1cbpc45f8qbdkd62p12s3q2rdq6fa5xdzwmcwd3xrj55bzkspnwm"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (gnupg (assoc-ref inputs "gnupg")))
+ (wrap-program (string-append out "/bin/gpa")
+ `("PATH" ":" prefix (,(string-append gnupg "/bin"))))
+ #t))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
(define-public parcimonie
(package
(name "parcimonie")
- (version "0.10.3")
+ (version "0.11.0")
(source (origin
(method url-fetch)
(uri (string-append "https://gaffer.boum.org/intrigeri/files/"
version ".tar.gz"))
(sha256
(base32
- "1kf891117s1f3k6lxvbjdb21va9gxh29vlp9bd664ssgw266rcyb"))))
+ "14pvapvzrxh1yh8zgcj1llmc2dd8g1fgzskxlja21gmw8c88aqdk"))))
(build-system perl-build-system)
(inputs
- `(("gnupg" ,gnupg-1) ; This is the version used by perl-gnupg-interface
+ `(("gnupg" ,gnupg)
("perl-config-general" ,perl-config-general)
("perl-clone" ,perl-clone)
("perl-data" ,perl-data)
("perl-moox-handlesvia" ,perl-moox-handlesvia)
("perl-moox-late" ,perl-moox-late)
("perl-moox-options" ,perl-moox-options)
+ ("perl-moox-strictconstructor" ,perl-moox-strictconstructor)
("perl-namespace-clean" ,perl-namespace-clean)
("perl-net-dbus" ,perl-net-dbus)
("perl-net-dbus-glib" ,perl-net-dbus-glib)
("perl-path-tiny" ,perl-path-tiny)
+ ("perl-strictures" ,perl-strictures-2)
("perl-test-most" ,perl-test-most)
("perl-test-trap" ,perl-test-trap)
("perl-time-duration" ,perl-time-duration)
("perl-xml-parser" ,perl-xml-parser)
("perl-xml-twig" ,perl-xml-twig)
("torsocks" ,torsocks)))
+ (native-inputs
+ `(("xorg-server" ,xorg-server-for-tests)))
(arguments
`(#:phases
(modify-phases %standard-phases
;; Needed for using gpg-connect-agent during tests.
- (add-before 'check 'set-HOME
- (lambda _ (setenv "HOME" "/tmp") #t))
+ (add-before 'check 'prepare-for-tests
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((xorg-server (assoc-ref inputs "xorg-server")))
+ (system (string-append xorg-server "/bin/Xvfb :1 &"))
+ (setenv "DISPLAY" ":1")
+ (setenv "HOME" "/tmp")
+ ;; These tests are known to fail
+ (delete-file "t/32-keyserver_defined_on_command_line.t")
+ (delete-file "t/33-checkGpgHasDefinedKeyserver.t")
+ ;; The applet is deprecated upstream.
+ (delete-file "t/00-load_all.t")
+ #t)))
(add-before 'install 'fix-references
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "lib/App/Parcimonie/GnuPG/Interface.pm"
- (("gpg2") "gpg")
;; Skip check whether dependencies are in the PATH
- (("defined which.*") "")
- (("call\\('parcimonie-torified-gpg'\\)")
- (string-append "call('" (assoc-ref outputs "out")
- "/bin/parcimonie-torified-gpg')")))
- (substitute* "bin/parcimonie-torified-gpg"
- (("torsocks") (string-append (assoc-ref inputs "torsocks")
- "/bin/torsocks")))
+ (("defined which.*") ""))
#t))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(define-public jetring
(package
(name "jetring")
- (version "0.27")
+ (version "0.29")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://debian/pool/main/j/" name "/"
- name "_" version ".tar.xz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://salsa.debian.org/debian/jetring")
+ (commit (string-append "debian/" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0jy0x5zj7v87xgyldlsx1knzp0mv10wzamblrw1b61i2m1ii4pxz"))))
+ "1acbx2vnbkms1c0wgcnh05d4g359sg5z0aiw541vx2qq9sgdhlv6"))))
(build-system gnu-build-system)
(arguments
'(#:phases