summary refs log tree commit diff
diff options
context:
space:
mode:
authorBen Wolsieffer <benwolsieffer@gmail.com>2020-11-15 16:58:24 -0500
committerBen Wolsieffer <benwolsieffer@gmail.com>2020-11-15 17:17:31 -0500
commit0f5235b688df1ac3fa5f28d3011e06bdd720f704 (patch)
tree241470ccd06aebb7414814f1d7da2836fb840e9e
parentb70430a3ddf8f9153606c4e5aa8034cf361c709b (diff)
downloadnixpkgs-0f5235b688df1ac3fa5f28d3011e06bdd720f704.tar
nixpkgs-0f5235b688df1ac3fa5f28d3011e06bdd720f704.tar.gz
nixpkgs-0f5235b688df1ac3fa5f28d3011e06bdd720f704.tar.bz2
nixpkgs-0f5235b688df1ac3fa5f28d3011e06bdd720f704.tar.lz
nixpkgs-0f5235b688df1ac3fa5f28d3011e06bdd720f704.tar.xz
nixpkgs-0f5235b688df1ac3fa5f28d3011e06bdd720f704.tar.zst
nixpkgs-0f5235b688df1ac3fa5f28d3011e06bdd720f704.zip
findutils: 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.
-rw-r--r--pkgs/tools/misc/findutils/default.nix7
-rw-r--r--pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch45
2 files changed, 49 insertions, 3 deletions
diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix
index 84dd187e1fc..6e07125ab72 100644
--- a/pkgs/tools/misc/findutils/default.nix
+++ b/pkgs/tools/misc/findutils/default.nix
@@ -20,9 +20,10 @@ stdenv.mkDerivation rec {
     substituteInPlace xargs/xargs.c --replace 'char default_cmd[] = "echo";' 'char default_cmd[] = "${coreutils}/bin/echo";'
   '';
 
-  patches = [
-    ./no-install-statedir.patch
-  ];
+  patches = [ ./no-install-statedir.patch ]
+    # fix gnulib tests on 32-bit ARM. Included on findutils master.
+    # https://lists.gnu.org/r/bug-gnulib/2020-08/msg00225.html
+    ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./fix-gnulib-tests-arm.patch;
 
   buildInputs = [ coreutils ]; # bin/updatedb script needs to call sort
 
diff --git a/pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch b/pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch
new file mode 100644
index 00000000000..39bd29f8439
--- /dev/null
+++ b/pkgs/tools/misc/findutils/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/gnulib-tests/test-perror2.c b/gnulib-tests/test-perror2.c
+index 1d14eda7b..c6214dd25 100644
+--- a/gnulib-tests/test-perror2.c
++++ b/gnulib-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/gnulib-tests/test-strerror_r.c b/gnulib-tests/test-strerror_r.c
+index b11d6fd9f..c1dbcf837 100644
+--- a/gnulib-tests/test-strerror_r.c
++++ b/gnulib-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
+