From 1d14bf9f5ff43ff9097f1c5e1e2d37528eb74971 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 17 Jul 2016 13:07:35 -0400 Subject: gnu: gnutls: Fix test failure. * gnu/packages/patches/gnutls-fix-stale-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/tls.scm (gnutls)[replacement]: New field. (gnutls/fixed): New variable. --- gnu/packages/patches/gnutls-fix-stale-test.patch | 50 ++++++++++++++++++++++++ gnu/packages/tls.scm | 8 ++++ 2 files changed, 58 insertions(+) create mode 100644 gnu/packages/patches/gnutls-fix-stale-test.patch (limited to 'gnu/packages') diff --git a/gnu/packages/patches/gnutls-fix-stale-test.patch b/gnu/packages/patches/gnutls-fix-stale-test.patch new file mode 100644 index 0000000000..abb547a4d9 --- /dev/null +++ b/gnu/packages/patches/gnutls-fix-stale-test.patch @@ -0,0 +1,50 @@ +A certificate used in the GnuTLS test suite has expired, causing the +test suite to fail. + +The effect of this patch depends on whether or not the datefudge program +is available. If it is, then it is used to change the date in the test +environment. If it is not, then the test is skipped. + +At the time this patch was added to Guix, datefudge was not available, +so the test is skipped. + +Taken from upstream commit: +https://gitlab.com/gnutls/gnutls/commit/47f25d9e08d4e102572804a2aed186b01db23c65 + +From 47f25d9e08d4e102572804a2aed186b01db23c65 Mon Sep 17 00:00:00 2001 +From: Nikos Mavrogiannopoulos +Date: Wed, 29 Jun 2016 17:31:13 +0200 +Subject: [PATCH] tests: use datefudge in name-constraints test + +This avoids the expiration of the used certificate to affect the test. +--- + tests/cert-tests/name-constraints | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/tests/cert-tests/name-constraints b/tests/cert-tests/name-constraints +index 05d6e9b..59af00f 100755 +--- a/tests/cert-tests/name-constraints ++++ b/tests/cert-tests/name-constraints +@@ -28,7 +28,18 @@ if ! test -z "${VALGRIND}"; then + fi + TMPFILE=tmp.$$.pem + +-${VALGRIND} "${CERTTOOL}" -e --infile "${srcdir}/name-constraints-ip.pem" ++export TZ="UTC" ++ ++# Check for datefudge ++TSTAMP=`datefudge -s "2006-09-23" date -u +%s || true` ++if test "$TSTAMP" != "1158969600"; then ++ echo $TSTAMP ++ echo "You need datefudge to run this test" ++ exit 77 ++fi ++ ++datefudge -s "2016-04-22" \ ++ ${VALGRIND} "${CERTTOOL}" -e --infile "${srcdir}/name-constraints-ip.pem" + rc=$? + + if test "${rc}" != "0"; then +-- +2.9.1 + diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index bdc1d7c997..6ba1776636 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -122,6 +122,7 @@ living in the same process.") (define-public gnutls (package (name "gnutls") + (replacement gnutls/fixed) (version "3.4.7") (source (origin (method url-fetch) @@ -194,6 +195,13 @@ required structures.") (properties '((ftp-server . "ftp.gnutls.org") (ftp-directory . "/gcrypt/gnutls"))))) +(define-public gnutls/fixed + (package + (inherit gnutls) + (source (origin + (inherit (package-source gnutls)) + (patches (search-patches "gnutls-fix-stale-test.patch")))))) + (define-public openssl (package (name "openssl") -- cgit 1.4.1