From 0f5235b688df1ac3fa5f28d3011e06bdd720f704 Mon Sep 17 00:00:00 2001 From: Ben Wolsieffer Date: Sun, 15 Nov 2020 16:58:24 -0500 Subject: [PATCH] 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. --- pkgs/tools/misc/findutils/default.nix | 7 +-- .../misc/findutils/fix-gnulib-tests-arm.patch | 45 +++++++++++++++++++ 2 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch 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 +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 +