~ruther/guix-local

4dc12417d2f982016832726b3e644eb3adb43262 — Marius Bakke 9 years ago a3dea99
gnu: gnupg: Update to 2.1.20.

* gnu/packages/gnupg.scm (gnupg): Update to 2.1.20.
[source]: Remove patch.
* gnu/packages/patches/gnupg-2.1-fix-Y2038-test-failure.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
3 files changed, 2 insertions(+), 71 deletions(-)

M gnu/local.mk
M gnu/packages/gnupg.scm
D gnu/packages/patches/gnupg-2.1-fix-Y2038-test-failure.patch
M gnu/local.mk => gnu/local.mk +0 -1
@@ 613,7 613,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/gmp-faulty-test.patch			\
  %D%/packages/patches/gnome-tweak-tool-search-paths.patch	\
  %D%/packages/patches/gnucash-price-quotes-perl.patch		\
  %D%/packages/patches/gnupg-2.1-fix-Y2038-test-failure.patch	\
  %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
  %D%/packages/patches/gobject-introspection-cc.patch		\
  %D%/packages/patches/gobject-introspection-girepository.patch	\

M gnu/packages/gnupg.scm => gnu/packages/gnupg.scm +2 -3
@@ 217,15 217,14 @@ compatible to GNU Pth.")
(define-public gnupg
  (package
    (name "gnupg")
    (version "2.1.19")
    (version "2.1.20")
    (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
                "1w4vccmb5l50lm4yrz9vkdj7whbfvzx543r55362kkj1aqgyvk26"))))
                "03cnd6gz8f4lf69inskssw57idrswcdimhccdyglmrlv6rlrmkr4"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("pkg-config" ,pkg-config)))

D gnu/packages/patches/gnupg-2.1-fix-Y2038-test-failure.patch => gnu/packages/patches/gnupg-2.1-fix-Y2038-test-failure.patch +0 -67
@@ 1,67 0,0 @@
Fix a Y2038 test failure on systems where time_t is a signed 32-bit value:

https://bugs.gnupg.org/gnupg/issue2988

Patch copied from upstream source repository:

https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=de3838372ae3cdecbd83eea2c53c8e2656d93052

From de3838372ae3cdecbd83eea2c53c8e2656d93052 Mon Sep 17 00:00:00 2001
From: Justus Winter <justus@g10code.com>
Date: Tue, 7 Mar 2017 12:18:59 +0100
Subject: [PATCH] tests: Avoid overflowing signed 32 bit time_t.

* tests/openpgp/quick-key-manipulation.scm: Use expiration times in
the year 2038 instead of 2105 to avoid overflowing 32 bit time_t.
time_t is used internally to parse the expiraton time from the iso
timestamp.

GnuPG-bug-id: 2988
Signed-off-by: Justus Winter <justus@g10code.com>
---
 tests/openpgp/quick-key-manipulation.scm | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/tests/openpgp/quick-key-manipulation.scm b/tests/openpgp/quick-key-manipulation.scm
index 10f0bfe21..08ef62613 100755
--- a/tests/openpgp/quick-key-manipulation.scm
+++ b/tests/openpgp/quick-key-manipulation.scm
@@ -125,8 +125,13 @@
    (default default never)
    (rsa "sign auth encr" "seconds=600") ;; GPGME uses this
    (rsa "auth,encr" "2") ;; "without a letter, days is assumed"
-   (rsa "sign" "2105-01-01") ;; "last year GnuPG can represent is 2105"
-   (rsa "sign" "21050101T115500") ;; "last year GnuPG can represent is 2105"
+   ;; Sadly, the timestamp is truncated by the use of time_t on
+   ;; systems where time_t is a signed 32 bit value.
+   (rsa "sign" "2038-01-01")      ;; unix millennium
+   (rsa "sign" "20380101T115500") ;; unix millennium
+   ;; Once fixed, we can use later timestamps:
+   ;; (rsa "sign" "2105-01-01")      ;; "last year GnuPG can represent is 2105"
+   ;; (rsa "sign" "21050101T115500") ;; "last year GnuPG can represent is 2105"
    (rsa sign "2d")
    (rsa1024 sign "2w")
    (rsa2048 encr "2m")
@@ -157,7 +162,8 @@
   (lambda (subkey)
     (assert (= 1 (:alg subkey)))
     (assert (string-contains? (:cap subkey) "s"))
-    (assert (time-matches? 4260207600 ;; 2105-01-01
+    (assert (time-matches? 2145916800    ;; 2038-01-01
+			   ;; 4260207600 ;; 2105-01-01
 			   (string->number (:expire subkey))
 			   ;; This is off by 12h, but I guess it just
 			   ;; choses the middle of the day.
@@ -165,7 +171,8 @@
   (lambda (subkey)
     (assert (= 1 (:alg subkey)))
     (assert (string-contains? (:cap subkey) "s"))
-    (assert (time-matches? 4260254100 ;; UTC 2105-01-01 11:55:00
+    (assert (time-matches? 2145959700    ;; UTC 2038-01-01 11:55:00
+			   ;; 4260254100 ;; UTC 2105-01-01 11:55:00
 			   (string->number (:expire subkey))
 			   (minutes->seconds 5))))
   (lambda (subkey)
-- 
2.12.0