summaryrefslogtreecommitdiff
path: root/gnu/packages/gnupg.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gnupg.scm')
-rw-r--r--gnu/packages/gnupg.scm92
1 files changed, 54 insertions, 38 deletions
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 348724e8fb..5bd1c0450e 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -18,6 +18,7 @@
;;; 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>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Nikita Domnitskii <nikita@domnitskii.me>
;;;
;;; This file is part of GNU Guix.
@@ -80,13 +81,14 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
+ #:use-module (ice-9 match)
#:use-module (guix build-system meson)
#:use-module (srfi srfi-1))
(define-public libgpg-error
(package
(name "libgpg-error")
- (version "1.37")
+ (version "1.42")
(source
(origin
(method url-fetch)
@@ -94,32 +96,48 @@
version ".tar.bz2"))
(sha256
(base32
- "0qwpx8mbc2l421a22l0l1hpzkip9jng06bbzgxwpkkvk5bvnybdk"))))
+ "08syj8mlarww8mh8x3s0x6hjqbnxp2lkg3hab57qqpv1dh7yf1zw"))))
(build-system gnu-build-system)
(arguments
(if (%current-target-system)
- `(#:modules ((ice-9 match)
- (guix build gnu-build-system)
+ `(#:modules ((guix build gnu-build-system)
(guix build utils))
#:phases
(modify-phases %standard-phases
+ ;; If this is left out, some generated header
+ ;; files will be sprinkled with ‘\c’, which
+ ;; the compiler won't like.
+ (add-after 'unpack 'fix-gen-lock-obj.sh
+ (lambda _
+ (substitute* "src/gen-lock-obj.sh"
+ (("if test -n `echo -n`") "if ! test -n `echo -n`"))))
;; When cross-compiling, some platform specific properties cannot
;; be detected. Create a symlink to the appropriate platform
- ;; file. See Cross-Compiling section at:
+ ;; file if required. Note that these platform files depend on
+ ;; both the operating system and architecture!
+ ;;
+ ;; 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")
- ("mips64el" "mips-unknown-linux-gnu")
- (x
- (string-append x "-unknown-linux-gnu")))))
- (symlink
- (string-append "lock-obj-pub." triplet ".h")
- "src/syscfg/lock-obj-pub.linux-gnu.h"))
- #t))))
+ (lambda _
+ (define (link triplet source)
+ (symlink (string-append "lock-obj-pub." triplet ".h")
+ (string-append "src/syscfg/lock-obj-pub."
+ source ".h")))
+ ,(let* ((target (%current-target-system))
+ (architecture
+ (string-take target (string-index target #\-))))
+ (cond ((target-linux? target)
+ (match architecture
+ ("armhf"
+ `(link "arm-unknown-linux-gnueabi" "linux-gnu"))
+ ("mips64el"
+ `(link "mips-unknown-linux-gnu" "linux-gnu"))
+ ;; Don't always link to the "linux-gnu"
+ ;; configuration, as this is not correct for
+ ;; all architectures.
+ (_ #t)))
+ (#t #t)))))))
'()))
(native-inputs `(("gettext" ,gettext-minimal)))
(home-page "https://gnupg.org")
@@ -136,14 +154,14 @@ Daemon and possibly more in the future.")
(define-public libgcrypt
(package
(name "libgcrypt")
- (version "1.8.5")
+ (version "1.8.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
version ".tar.bz2"))
(sha256
(base32
- "1hvsazms1bfd769q0ngl0r9g5i4m9mpz9jmvvrdzyzk3rfa2ljiv"))))
+ "1xasrh9zxhgj2n5n8dvpzbwn1mzpmlzy270xhbq2gl8xk2xy4pc9"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error-host" ,libgpg-error)))
@@ -175,7 +193,7 @@ generation.")
(define-public libassuan
(package
(name "libassuan")
- (version "2.5.4")
+ (version "2.5.5")
(source
(origin
(method url-fetch)
@@ -183,7 +201,7 @@ generation.")
version ".tar.bz2"))
(sha256
(base32
- "1w7vnnycq4z7gf4bk38pi4hrb8qrrzgfpz3cd7frwldxnfbfx060"))))
+ "1r1lvcp67gn5lfrj1g388sd77ca6qwnmxndirdysd71gk362z34f"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)
@@ -203,7 +221,7 @@ provided.")
(define-public libksba
(package
(name "libksba")
- (version "1.5.0")
+ (version "1.6.0")
(source
(origin
(method url-fetch)
@@ -212,7 +230,7 @@ provided.")
version ".tar.bz2"))
(sha256
(base32
- "1fm0mf3wq9fmyi1rmc1vk2fafn6liiw2mgxml3g7ybbb44lz2jmf"))))
+ "12x40y9ihs8nw2xs2y2vjfw90mhikbm5rvabma0dh5frybk87mns"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)))
@@ -262,7 +280,7 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
- (version "2.2.29")
+ (version "2.2.30")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
@@ -270,7 +288,7 @@ compatible to GNU Pth.")
(patches (search-patches "gnupg-default-pinentry.patch"))
(sha256
(base32
- "1j8cpp08zlz9a9n4g9z6352m1bvl369r94p4pjg8z0948pdprl1r"))))
+ "1111ry31gaxv76miqsy6l0kwxwlx8sz0jk41jhyrjwx649p6sqyc"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -299,14 +317,12 @@ compatible to GNU Pth.")
(substitute* "scd/scdaemon.c"
(("\"(libpcsclite\\.so[^\"]*)\"" _ name)
(string-append "\"" (assoc-ref inputs "pcsc-lite")
- "/lib/" name "\"")))
- #t))
+ "/lib/" name "\"")))))
(add-after 'build 'patch-scheme-tests
(lambda _
(substitute* (find-files "tests" ".\\.scm$")
(("/usr/bin/env gpgscm")
- (string-append (getcwd) "/tests/gpgscm/gpgscm")))
- #t))
+ (string-append (getcwd) "/tests/gpgscm/gpgscm")))))
(add-before 'build 'patch-test-paths
(lambda _
(substitute* '("tests/inittests"
@@ -318,8 +334,7 @@ compatible to GNU Pth.")
(substitute* "common/t-exectool.c"
(("/bin/cat") (which "cat"))
(("/bin/true") (which "true"))
- (("/bin/false") (which "false")))
- #t)))))
+ (("/bin/false") (which "false"))))))))
(home-page "https://gnupg.org/")
(synopsis "GNU Privacy Guard")
(description
@@ -342,7 +357,8 @@ libskba (working with X.509 certificates and CMS data).")
".tar.bz2"))
(sha256
(base32
- "1fkq4sqldvf6a25mm2qz95swv1qjg464736091w51djiwqbjyin9"))))
+ "1fkq4sqldvf6a25mm2qz95swv1qjg464736091w51djiwqbjyin9"))
+ (patches (search-patches "gnupg-1-build-with-gcc10.patch"))))
(native-inputs '())
(inputs
`(("zlib" ,zlib)
@@ -451,8 +467,10 @@ gpgpme starting with version 1.7.")
;; 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")))))))))
+ (string-append
+ (dirname
+ (search-input-file inputs "bin/libgcrypt-config"))
+ ":" (getenv "PATH")))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
@@ -664,8 +682,7 @@ signing, decryption, verification, and key-listing parsing.")
(add-before
'build 'set-gpg-file-name
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((gpg (string-append (assoc-ref inputs "gpg")
- "/bin/gpg")))
+ (let* ((gpg (search-input-file inputs "/bin/gpg")))
(substitute* "libpius/constants.py"
(("/usr/bin/gpg2") gpg))
#t))))))
@@ -1193,8 +1210,7 @@ over.")
(delete 'configure) ; no configure script
(add-before 'install 'hardlink-gnupg
(lambda* (#:key inputs #:allow-other-keys)
- (let ((gpg (string-append (assoc-ref inputs "gnupg")
- "/bin/gpg")))
+ (let ((gpg (search-input-file inputs "/bin/gpg")))
(substitute* (find-files "." "jetring-[[:alpha:]]+$")
(("gpg -") (string-append gpg " -"))
(("\\\"gpg\\\"") (string-append "\"" gpg "\"")))