summary refs log tree commit diff
path: root/pkgs/development/libraries/gnutls
diff options
context:
space:
mode:
authorBen Wolsieffer <benwolsieffer@gmail.com>2020-11-21 20:01:43 -0500
committerBen Wolsieffer <benwolsieffer@gmail.com>2020-11-21 20:02:22 -0500
commitf54266824d3a35f894d6dbc86bd9611648fbeffe (patch)
tree90586d6dd7f76863f406a6858037ae2123627068 /pkgs/development/libraries/gnutls
parent0f5235b688df1ac3fa5f28d3011e06bdd720f704 (diff)
downloadnixpkgs-f54266824d3a35f894d6dbc86bd9611648fbeffe.tar
nixpkgs-f54266824d3a35f894d6dbc86bd9611648fbeffe.tar.gz
nixpkgs-f54266824d3a35f894d6dbc86bd9611648fbeffe.tar.bz2
nixpkgs-f54266824d3a35f894d6dbc86bd9611648fbeffe.tar.lz
nixpkgs-f54266824d3a35f894d6dbc86bd9611648fbeffe.tar.xz
nixpkgs-f54266824d3a35f894d6dbc86bd9611648fbeffe.tar.zst
nixpkgs-f54266824d3a35f894d6dbc86bd9611648fbeffe.zip
gnutls: fix build on 32-bit ARM
Add an upstream patch to fix failing tests. The patch actually affects gnulib,
which is included as a vendored dependency.
Diffstat (limited to 'pkgs/development/libraries/gnutls')
-rw-r--r--pkgs/development/libraries/gnutls/default.nix5
-rw-r--r--pkgs/development/libraries/gnutls/fix-gnulib-tests-arm.patch45
2 files changed, 49 insertions, 1 deletions
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index 2436fc4afcb..17680fe15df 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -34,7 +34,10 @@ stdenv.mkDerivation {
 
   patches = [ ./nix-ssl-cert-file.patch ]
     # Disable native add_system_trust.
-    ++ lib.optional (isDarwin && !withSecurity) ./no-security-framework.patch;
+    ++ lib.optional (isDarwin && !withSecurity) ./no-security-framework.patch
+    # fix gnulib tests on 32-bit ARM. Included on gnutls master.
+    # https://lists.gnu.org/r/bug-gnulib/2020-08/msg00225.html
+    ++ lib.optional stdenv.hostPlatform.isAarch32 ./fix-gnulib-tests-arm.patch;
 
   # Skip some tests:
   #  - pkgconfig: building against the result won't work before installing (3.5.11)
diff --git a/pkgs/development/libraries/gnutls/fix-gnulib-tests-arm.patch b/pkgs/development/libraries/gnutls/fix-gnulib-tests-arm.patch
new file mode 100644
index 00000000000..5a222a9cb88
--- /dev/null
+++ b/pkgs/development/libraries/gnutls/fix-gnulib-tests-arm.patch
@@ -0,0 +1,45 @@
+>From 175e0bc72808d564074c4adcc72aeadb74adfcc6 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Thu, 27 Aug 2020 17:52:58 -0700
+Subject: [PATCH] perror, strerror_r: remove unportable tests
+
+Problem reported by Florian Weimer in:
+https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
+* tests/test-perror2.c (main):
+* tests/test-strerror_r.c (main): Omit unportable tests.
+---
+ tests/test-perror2.c    | 3 ---
+ tests/test-strerror_r.c | 3 ---
+ 2 files changed, 6 deletions(-)
+
+diff --git a/gl/tests/test-perror2.c b/gl/tests/test-perror2.c
+index 1d14eda7b..c6214dd25 100644
+--- a/gl/tests/test-perror2.c
++++ b/gl/tests/test-perror2.c
+@@ -79,9 +79,6 @@ main (void)
+     errno = -5;
+     perror ("");
+     ASSERT (!ferror (stderr));
+-    ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1));
+-    ASSERT (msg2 == msg4 || STREQ (msg2, str2));
+-    ASSERT (msg3 == msg4 || STREQ (msg3, str3));
+     ASSERT (STREQ (msg4, str4));
+ 
+     free (str1);
+diff --git a/gl/tests/test-strerror_r.c b/gl/tests/test-strerror_r.c
+index b11d6fd9f..c1dbcf837 100644
+--- a/gl/tests/test-strerror_r.c
++++ b/gl/tests/test-strerror_r.c
+@@ -165,9 +165,6 @@ main (void)
+ 
+     strerror_r (EACCES, buf, sizeof buf);
+     strerror_r (-5, buf, sizeof buf);
+-    ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1));
+-    ASSERT (msg2 == msg4 || STREQ (msg2, str2));
+-    ASSERT (msg3 == msg4 || STREQ (msg3, str3));
+     ASSERT (STREQ (msg4, str4));
+ 
+     free (str1);
+-- 
+2.17.1
+