summary refs log tree commit diff
path: root/gnu/packages/gnupg.scm
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-03-04 18:07:26 -0500
committerLeo Famulari <leo@famulari.name>2017-03-07 16:37:17 -0500
commitf11275c9e52bca7964c86f3c7d9daee2dd4771a0 (patch)
tree459a526b58f5924ff3f2a5653eb0f029cf0e10e0 /gnu/packages/gnupg.scm
parentc1029f86e3a11518ee26c8fc994fb401fe2e581c (diff)
downloadguix-f11275c9e52bca7964c86f3c7d9daee2dd4771a0.tar.gz
gnu: gnupg: Update to 2.1.19.
* gnu/packages/gnupg.scm (gnupg): Update to 2.1.19.
[arguments]: Add 'patch-test-paths' phase and remove 'set-gnupg-home' phase.
Add '--enable-gnupg-builddir-envvar' to #:configure-flags.
[source]: Add 'gnupg-2.1-fix-Y2038-test-failure.patch'.
* gnu/packages/patches/gnupg-2.1-fix-Y2038-test-failure.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu/packages/gnupg.scm')
-rw-r--r--gnu/packages/gnupg.scm37
1 files changed, 29 insertions, 8 deletions
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index befd29961c..4fc9f38521 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -217,14 +217,15 @@ compatible to GNU Pth.")
 (define-public gnupg
   (package
     (name "gnupg")
-    (version "2.1.18")
+    (version "2.1.19")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
                                   ".tar.bz2"))
+              (patches (search-patches "gnupg-2.1-fix-Y2038-test-failure.patch"))
               (sha256
                (base32
-                "157rrv3ly9j2k0acz43nhiba5hfl6h7048jvj55wwqjmgsmnyk6h"))))
+                "1w4vccmb5l50lm4yrz9vkdj7whbfvzx543r55362kkj1aqgyvk26"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -243,7 +244,11 @@ compatible to GNU Pth.")
        ("sqlite" ,sqlite)
        ("zlib" ,zlib)))
    (arguments
-    `(#:configure-flags '("--enable-gpg2-is-gpg")
+    `(#:configure-flags '("--enable-gpg2-is-gpg"
+                          ;; Otherwise, the test suite looks for the `gpg`
+                          ;; executable in its installation directory in
+                          ;; /gnu/store before it has been installed.
+                          "--enable-gnupg-builddir-envvar")
       #:phases
       (modify-phases %standard-phases
         (add-before 'configure 'patch-paths
@@ -259,11 +264,27 @@ compatible to GNU Pth.")
               (("/usr/bin/env gpgscm")
                (string-append (getcwd) "/tests/gpgscm/gpgscm")))
             #t))
-        ;; If this variable is undefined, /bin/pwd is invoked.
-        (add-before 'check 'set-gnupg-home
-          (lambda _
-            (setenv "GNUPGHOME" (getcwd))
-            #t)))))
+        (add-before 'build 'patch-test-paths
+          (lambda* (#:key inputs #:allow-other-keys)
+            (let* ((coreutils (assoc-ref inputs "coreutils"))
+                   (cat (string-append coreutils "/bin/cat"))
+                   (pwd (string-append coreutils "/bin/pwd"))
+                   (true (string-append coreutils "/bin/true"))
+                   (false (string-append coreutils "/bin/false")))
+              (substitute* '("tests/inittests"
+                             "tests/pkits/inittests"
+                             "tests/Makefile"
+                             "tests/pkits/common.sh"
+                             "tests/pkits/Makefile"
+                            )
+               (("/bin/pwd") pwd))
+              (substitute* "common/t-exectool.c"
+                (("/bin/cat") cat))
+              (substitute* "common/t-exectool.c"
+                (("/bin/true") true))
+              (substitute* "common/t-exectool.c"
+                (("/bin/false") false))
+              #t))))))
     (home-page "https://gnupg.org/")
     (synopsis "GNU Privacy Guard")
     (description