gnu: Add LV2 mda Piano plugin.
[jackhill/guix/guix.git] / gnu / packages / gnupg.scm
index 85ce076..9bc75b2 100644 (file)
@@ -2,6 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,8 +27,7 @@
   #:use-module (gnu packages pth)
   #:use-module (gnu packages python)
   #:use-module (gnu packages readline)
-  #:use-module ((gnu packages compression)
-                #:renamer (symbol-prefix-proc 'guix:))
+  #:use-module ((gnu packages compression) #:prefix guix:)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages pkg-config)
@@ -39,7 +39,7 @@
 (define-public libgpg-error
   (package
     (name "libgpg-error")
-    (version "1.12")
+    (version "1.17")
     (source
      (origin
       (method url-fetch)
                           version ".tar.bz2"))
       (sha256
        (base32
-        "0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a"))))
+        "1dapxzxl1naghf342fwfc2w2f2c5hb9gr1a1s4n8dsqn26kybx1z"))))
     (build-system gnu-build-system)
-    (arguments
-     (if (%current-target-system)
-         '(#:configure-flags '("CC_FOR_BUILD=gcc"))
-         '()))
     (home-page "http://gnupg.org")
-    (synopsis
-     "Libgpg-error, a small library that defines common error values for all GnuPG components")
+    (synopsis "Library of error values for GnuPG components")
     (description
      "Libgpg-error is a small library that defines common error values
 for all GnuPG components.  Among these are GPG, GPGSM, GPGME,
@@ -66,27 +61,27 @@ Daemon and possibly more in the future.")
 (define-public libgcrypt
   (package
     (name "libgcrypt")
-    (version "1.6.1")
+    (version "1.6.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
                                  version ".tar.bz2"))
              (sha256
               (base32
-               "0w10vhpj1r5nq7qm6jp21p1v1vhf37701cw8yilygzzqd7mfzhx1"))))
+               "0k2wi34qhp5hq71w1ab3kw1gfsx7xff79bvynqkxp35kls94826y"))))
     (build-system gnu-build-system)
     (propagated-inputs
-     `(("libgpg-error" ,libgpg-error)))
+     `(("libgpg-error-host" ,libgpg-error)))
     (native-inputs
      ;; Needed here for the 'gpg-error' program.
-     `(("libgpg-error" ,libgpg-error)))
+     `(("libgpg-error-native" ,libgpg-error)))
     (arguments
      ;; The '--with-gpg-error-prefix' argument is needed because otherwise
      ;; 'configure' uses 'gpg-error-config' to determine the '-L' flag, and
      ;; 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")))))
+                            (assoc-ref %build-inputs "libgpg-error-host")))))
     (outputs '("out" "debug"))
     (home-page "http://gnupg.org/")
     (synopsis "Cryptographic function library")
@@ -99,7 +94,7 @@ generation.")
 
 (define-public libgcrypt-1.5
   (package (inherit libgcrypt)
-    (version "1.5.3")
+    (version "1.5.4")
     (source
      (origin
       (method url-fetch)
@@ -107,12 +102,12 @@ generation.")
                           version ".tar.bz2"))
       (sha256
        (base32
-        "1lar8y3lh61zl5flljpz540d78g99h4d5idfwrfw8lm3gm737xdw"))))))
+        "0czvqxkzd5y872ipy6s010ifwdwv29sqbnqc4pf56sd486gqvy6m"))))))
 
 (define-public libassuan
   (package
     (name "libassuan")
-    (version "2.1.1")
+    (version "2.2.0")
     (source
      (origin
       (method url-fetch)
@@ -120,13 +115,13 @@ generation.")
                           version ".tar.bz2"))
       (sha256
        (base32
-        "1783nb0b6nr9yjhb5wfh8ykc5w89f4anppz1kz9913mqg5vxdqi3"))))
+        "1ikf9whfi7rg71qa610ynyv12qrw20zkn7zxgvvr9dp41gbqxxbx"))))
     (build-system gnu-build-system)
     (propagated-inputs
      `(("libgpg-error" ,libgpg-error) ("pth" ,pth)))
     (home-page "http://gnupg.org")
     (synopsis
-     "Libassuan, the IPC library used by GnuPG and related software")
+     "IPC library used by GnuPG and related software")
     (description
      "Libassuan is a small library implementing the so-called Assuan
 protocol.  This protocol is used for IPC between most newer
@@ -137,7 +132,7 @@ provided.")
 (define-public libksba
   (package
     (name "libksba")
-    (version "1.3.0")
+    (version "1.3.2")
     (source
      (origin
       (method url-fetch)
@@ -146,7 +141,7 @@ provided.")
             version ".tar.bz2"))
       (sha256
        (base32
-        "0w8rfb6yhcwkwzvjafrashcygy4hd9xwwmvlnkfd1m2h0paywqas"))))
+        "01l4hvcknk9nb4bvyb6aqaid19jg0wv3ik54j1b89hnzamwm75gb"))))
     (build-system gnu-build-system)
     (propagated-inputs
      `(("libgpg-error" ,libgpg-error)))
@@ -160,8 +155,7 @@ provided.")
              (string-append "--with-gpg-error-prefix="
                             (assoc-ref %build-inputs "libgpg-error")))))
     (home-page "http://www.gnupg.org")
-    (synopsis
-     "Libksba is a CMS and X.509 access library under development")
+    (synopsis "CMS and X.509 access library")
     (description
      "KSBA (pronounced Kasbah) is a library to make X.509 certificates
 as well as the CMS easily accessible by other applications.  Both
@@ -171,15 +165,14 @@ specifications are building blocks of S/MIME and TLS.")
 (define-public gnupg
   (package
     (name "gnupg")
-    (version "2.0.22")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
-                          ".tar.bz2"))
-      (sha256
-       (base32
-        "0lg210acj2rxq291q4cwamg9gx6gh2prb1xa93y5jhw5b6r0lza3"))))
+    (version "2.0.26")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
+                                  ".tar.bz2"))
+              (sha256
+               (base32
+                "1q5qcl5panrvcvpwvz6nl9gayl5a6vwvfhgdcxqpmbl2qc6y6n3p"))))
     (build-system gnu-build-system)
     (inputs
      `(("bzip2" ,guix:bzip2)
@@ -194,13 +187,11 @@ specifications are building blocks of S/MIME and TLS.")
        ("readline" ,readline)))
    (arguments
     `(#:phases
-       (alist-replace
-        'configure
-        (lambda* (#:key #:allow-other-keys #:rest args)
-         (let ((configure (assoc-ref %standard-phases 'configure)))
-           (substitute* "tests/openpgp/Makefile.in"
-             (("/bin/sh") (which "bash")))
-           (apply configure args)))
+       (alist-cons-before
+        'configure 'patch-config-files
+        (lambda _
+          (substitute* "tests/openpgp/Makefile.in"
+            (("/bin/sh") (which "bash"))))
        %standard-phases)))
     (home-page "http://gnupg.org/")
     (synopsis "GNU Privacy Guard")
@@ -209,14 +200,38 @@ specifications are building blocks of S/MIME and TLS.")
 standard.  It is used to encrypt and sign data and communication.  It
 features powerful key management and the ability to access public key
 servers.  It includes several libraries: libassuan (IPC between GnuPG
-components), libgpg-error (centralized GnuPG error values), and libskba
-(working with X.509 certificates and CMS data).")
+components), libgpg-error (centralized GnuPG error values), and
+libskba (working with X.509 certificates and CMS data).")
     (license gpl3+)))
 
+(define-public gnupg-1
+  (package (inherit gnupg)
+    (version "1.4.18")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
+                                  ".tar.bz2"))
+              (sha256
+               (base32
+                "1233bppjvdpbbl425ii6l7xvgy0879ghhnmwrph5b6c4g3dgvddp"))))
+    (inputs
+     `(("zlib" ,guix:zlib)
+       ("bzip2" ,guix:bzip2)
+       ("curl" ,curl)
+       ("readline" ,readline)
+       ("libgpg-error" ,libgpg-error)))
+    (arguments
+     `(#:phases (alist-cons-after
+                 'unpack 'patch-check-sh
+                 (lambda _
+                   (substitute* "checks/Makefile.in"
+                     (("/bin/sh") (which "bash"))))
+                 %standard-phases)))))
+
 (define-public gpgme
   (package
     (name "gpgme")
-    (version "1.4.3")
+    (version "1.5.1")
     (source
      (origin
       (method url-fetch)
@@ -224,7 +239,7 @@ components), libgpg-error (centralized GnuPG error values), and libskba
                           ".tar.bz2"))
       (sha256
        (base32
-        "15h429h6pd67iiv580bjmwbkadpxsdppw0xrqpcm4dvm24jc271d"))))
+        "1qqi9bxwxxsc4r15j7drclgp0w8jk9nj3h2fsivk4c7brvw3lbvc"))))
     (build-system gnu-build-system)
     (propagated-inputs
      ;; Needs to be propagated because gpgme.h includes gpg-error.h.
@@ -232,8 +247,9 @@ components), libgpg-error (centralized GnuPG error values), and libskba
     (inputs
      `(("gnupg" ,gnupg)
        ("libassuan" ,libassuan)))
+    (arguments '(#:make-flags '("GPG=gpg2")))
     (home-page "http://www.gnupg.org/related_software/gpgme/")
-    (synopsis "library providing simplified access to GnuPG functionality")
+    (synopsis "Library providing simplified access to GnuPG functionality")
     (description
      "GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG
 easier for applications.  It provides a High-Level Crypto API for encryption,
@@ -259,17 +275,15 @@ and every application benefits from this.")
                      "1g1jly3wl4ks6h8ydkygyl2c4i7v3z91rg42005m6vm70y1d8b3d"))))
    (build-system gnu-build-system)
    (inputs `(("perl" ,perl)
-             ("python" ,python-wrapper)
+             ("python" ,python-2)           ; uses the Python 2 'print' syntax
              ("gpg" ,gnupg)))
    (arguments
     `(#:tests? #f
       #:phases
-       (alist-replace
+       (alist-delete
         'configure
-        (lambda* (#:key #:allow-other-keys) #t)
-       (alist-replace
+       (alist-delete
         'build
-        (lambda* (#:key #:allow-other-keys) #t)
        (alist-replace
         'install
         (lambda* (#:key inputs outputs #:allow-other-keys)
@@ -287,8 +301,8 @@ and every application benefits from this.")
    (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
+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
 to the process.
 
@@ -312,13 +326,9 @@ PGP keysigning parties.")
    (arguments
     `(#:tests? #f
       #:phases
-      (alist-replace
-       'unpack
-       (lambda* (#:key #:allow-other-keys #:rest args)
-         (let ((unpack (assoc-ref %standard-phases 'unpack)))
-           (apply unpack args)
-           ;; remove spurious symlink
-           (delete-file "keyanalyze/pgpring/depcomp")))
+      (alist-cons-after
+       'unpack 'remove-spurious-links
+       (lambda _ (delete-file "keyanalyze/pgpring/depcomp"))
       (alist-replace
        'configure
        (lambda* (#:key outputs #:allow-other-keys)
@@ -363,9 +373,9 @@ PGP keysigning parties.")
                 "gpgparticipants.1" "gpgsigs.1" "gpgwrap.1"
                 "process_keys.1" "pgpring.1" "keyanalyze.1"))))
       %standard-phases)))))
-   (synopsis "collection of scripts for simplifying gnupg key signing")
+   (synopsis "Collection of scripts for simplifying gnupg key signing")
    (description
-    "signing-party is a collection for all kinds of PGP/GnuPG related things,
+    "Signing-party is a collection for all kinds of PGP/GnuPG related things,
 including tools for signing keys, keyring analysis, and party preparation.
 
  * caff: CA - Fire and Forget signs and mails a key
@@ -441,14 +451,12 @@ enter a passphrase when `gpg' or `gpg2' is run and needs it.")
     (build-system gnu-build-system)
     (arguments
      `(#:phases
-       (alist-replace
-        'check
-        (lambda* (#:key #:allow-other-keys #:rest args)
-          (let ((check (assoc-ref %standard-phases 'check)))
-            (substitute* '("checks/roundtrip.sh"
-                           "checks/roundtrip-raw.sh")
-              (("/bin/echo") "echo"))
-            (apply check args)))
+       (alist-cons-before
+        'check 'patch-check-scripts
+        (lambda _
+          (substitute* '("checks/roundtrip.sh"
+                         "checks/roundtrip-raw.sh")
+            (("/bin/echo") "echo")))
         %standard-phases)))
     (home-page "http://www.jabberwocky.com/software/paperkey/")
     (synopsis "Backup OpenPGP keys to paper")