aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/gnupg.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gnupg.scm')
-rw-r--r--gnu/packages/gnupg.scm137
1 files changed, 94 insertions, 43 deletions
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 1e9d814889..dc801a6a4f 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -10,6 +10,8 @@
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.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>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,9 +47,11 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages security-token)
+ #:use-module (gnu packages swig)
#:use-module (gnu packages tls)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python))
@@ -188,7 +192,7 @@ specifications are building blocks of S/MIME and TLS.")
(define-public npth
(package
(name "npth")
- (version "1.2")
+ (version "1.3")
(source
(origin
(method url-fetch)
@@ -197,7 +201,7 @@ specifications are building blocks of S/MIME and TLS.")
version ".tar.bz2"))
(sha256
(base32
- "12n0nvhw4fzwp0k7gjv3rc6pdml0qiinbbfiz4ilg6pl5kdxvnvd"))))
+ "0am86vblapwz84254qpmhz0chk70g6qzh3wdxcs0gvba8d01ka5w"))))
(build-system gnu-build-system)
(home-page "https://www.gnupg.org")
(synopsis "Non-preemptive thread library")
@@ -213,20 +217,23 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
- (version "2.1.16")
+ (version "2.1.17")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
- "0i483m9q032a0s50f1izb213g4h5i7pcgn395m6hvl3sg2kadfa9"))))
+ "1js308b46ifx1gim0c9nivr5yxhans7iq1yvkf7zl2928gdm9p65"))
+ (patches
+ ;; This fixes a test failure on 32bit. Remove for next version.
+ ;; https://lists.gnu.org/archive/html/guix-devel/2016-12/msg00869.html
+ (search-patches "gnupg-test-segfault-on-32bit-arch.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("adns" ,adns)
- ("bzip2" ,bzip2)
+ `(("bzip2" ,bzip2)
("curl" ,curl)
("gnutls" ,gnutls)
("libassuan" ,libassuan)
@@ -347,7 +354,7 @@ libskba (working with X.509 certificates and CMS data).")
(define-public gpgme
(package
(name "gpgme")
- (version "1.6.0")
+ (version "1.8.0")
(source
(origin
(method url-fetch)
@@ -355,7 +362,7 @@ libskba (working with X.509 certificates and CMS data).")
".tar.bz2"))
(sha256
(base32
- "17892sclz3yg45wbyqqrzzpq3l0icbnfl28f101b3062g8cy97dh"))))
+ "0csx3qnycwm0n90ql6gs65if5xi4gqyzzy21fxs2xqicghjrfq2r"))))
(build-system gnu-build-system)
(propagated-inputs
;; Needs to be propagated because gpgme.h includes gpg-error.h.
@@ -363,7 +370,15 @@ libskba (working with X.509 certificates and CMS data).")
(inputs
`(("gnupg" ,gnupg-2.0)
("libassuan" ,libassuan)))
- (arguments '(#:make-flags '("GPG=gpg2")))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'patch-cmake-file
+ (lambda _
+ ;; Work around <https://bugs.gnupg.org/gnupg/issue2877>.
+ (substitute* "lang/cpp/src/GpgmeppConfig.cmake.in"
+ (("@libsuffix@") ".so"))
+ #t)))))
(home-page "https://www.gnupg.org/related_software/gpgme/")
(synopsis "Library providing simplified access to GnuPG functionality")
(description
@@ -378,6 +393,33 @@ instead. This way bug fixes or improvements can be done at a central place
and every application benefits from this.")
(license license:lgpl2.1+)))
+(define-public python-gpg
+ (package
+ (name "python-gpg")
+ (version (package-version gpgme))
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "gpg" version))
+ (sha256
+ (base32
+ "1x74i6q713c0bckls7rdm8kgsmllf9qvy9x62jghszlhgjkyh9nd"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; No test suite.
+ (inputs
+ `(("gpgme" ,gpgme)))
+ (native-inputs
+ `(("swig" ,swig)))
+ (home-page (package-home-page gpgme))
+ (synopsis "Python bindings for GPGME GnuPG cryptography library")
+ (description "This package provides Python bindings to the GPGME GnuPG
+cryptographic library. It is developed in the GPGME source code, and then
+distributed separately.")
+ (license license:lgpl2.1+)))
+
+(define-public python2-gpg
+ (package-with-python2 python-gpg))
+
(define-public python-pygpgme
(package
(name "python-pygpgme")
@@ -392,7 +434,8 @@ and every application benefits from this.")
;; Unfortunately, we have to disable some tests due to some gpg-agent
;; goofiness... see:
;; https://bugs.launchpad.net/pygpgme/+bug/999949
- (patches (search-patches "pygpgme-disable-problematic-tests.patch"))))
+ (patches (search-patches "pygpgme-disable-problematic-tests.patch"
+ "python-pygpgme-fix-pinentry-tests.patch"))))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -457,35 +500,43 @@ and signature functionality from Python programs.")
(package-with-python2 python-gnupg))
(define-public pius
- (package
- (name "pius")
- (version "2.2.2")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/jaymzh/pius/releases/download/v"
- version "/pius-" version ".tar.bz2"))
- (sha256
- (base32
- "0k94mlr7l12mplph7pdgjbampqha47d8mfjq69n4xm80qwbn1rq1"))))
- (build-system python-build-system)
- (inputs `(("perl" ,perl) ;for 'pius-party-worksheet'
- ("gpg" ,gnupg-2.0))) ;2.1 fails to talk to gpg-agent 2.0
- (arguments
- `(#:tests? #f
- #:python ,python-2 ;uses the Python 2 'print' syntax
- #:phases
- (modify-phases %standard-phases
- (add-before
- 'build 'set-gpg-file-name
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((gpg (string-append (assoc-ref inputs "gpg")
- "/bin/gpg")))
- (substitute* "libpius/constants.py"
- (("/usr/bin/gpg2") gpg))))))))
- (synopsis "Programs to simplify GnuPG key signing")
- (description
- "Pius (PGP Individual UID Signer) helps attendees of PGP keysigning
+ ;; pius 2.2.2 does not work with gpg-agent 2.1, so we take a newer
+ ;; commit. When a new pius (> 2.2.2) is released, update this package
+ ;; and delete this message.
+ ;; More info: https://github.com/jaymzh/pius/issues/46
+ (let ((commit "891687ccb3d232a1fc0e7da7d22572c0318644cb")
+ (base-version "2.2.2")) ; i.e. there were no releases
+ ; between BASE-VERSION and COMMIT
+ (package
+ (name "pius")
+ (version (string-append base-version "-0."
+ (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jaymzh/pius.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "0m2na4bnf1rv0zpf404l9ga6pwyf7ijldp4lw5irgh7gkmpllxr3"))))
+ (build-system python-build-system)
+ (inputs `(("perl" ,perl) ;for 'pius-party-worksheet'
+ ("gpg" ,gnupg)))
+ (arguments
+ `(#:tests? #f
+ #:python ,python-2 ;uses the Python 2 'print' syntax
+ #:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'build 'set-gpg-file-name
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((gpg (string-append (assoc-ref inputs "gpg")
+ "/bin/gpg")))
+ (substitute* "libpius/constants.py"
+ (("/usr/bin/gpg2") gpg))))))))
+ (synopsis "Programs to simplify GnuPG key signing")
+ (description
+ "Pius (PGP Individual UID Signer) helps attendees of PGP keysigning
parties. It is the main utility and makes it possible to quickly and easily
sign each UID on a set of PGP keys. It is designed to take the pain out of
the sign-all-the-keys part of PGP Keysigning Party while adding security
@@ -493,8 +544,8 @@ to the process.
pius-keyring-mgr and pius-party-worksheet help organisers of
PGP keysigning parties.")
- (license license:gpl2)
- (home-page "https://www.phildev.net/pius/index.shtml")))
+ (license license:gpl2)
+ (home-page "https://www.phildev.net/pius/index.shtml"))))
(define-public signing-party
(package
@@ -585,14 +636,14 @@ including tools for signing keys, keyring analysis, and party preparation.
(define-public pinentry-tty
(package
(name "pinentry-tty")
- (version "0.9.7")
+ (version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/pinentry/pinentry-"
version ".tar.bz2"))
(sha256
(base32
- "1cp7wjqr6nx31mdclr61s2h84ijqjl0ph99kgj4vyawpjj1j1633"))))
+ "0ni7g4plq6x78p32al7m8h2zsakvg1rhfz0qbc3kdc7yq7nw4whn"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-pinentry-tty")))