From b70430a3ddf8f9153606c4e5aa8034cf361c709b Mon Sep 17 00:00:00 2001 From: Ben Wolsieffer Date: Sun, 15 Nov 2020 00:30:49 -0500 Subject: [PATCH] coreutils: fix build on 32-bit ARM Adds an upstream patch to fix failing tests. The patch actually affects gnulib, which is included as a vendored dependency. --- pkgs/tools/misc/coreutils/default.nix | 5 ++- .../misc/coreutils/fix-gnulib-tests-arm.patch | 45 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 pkgs/tools/misc/coreutils/fix-gnulib-tests-arm.patch diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index e3e2e167e33..d0e032b7c10 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -31,7 +31,10 @@ stdenv.mkDerivation (rec { patches = optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch # included on coreutils master; TODO: apply unconditionally, I guess - ++ optional stdenv.hostPlatform.isAarch64 ./sys-getdents-undeclared.patch; + ++ optional stdenv.hostPlatform.isAarch64 ./sys-getdents-undeclared.patch + # fix gnulib tests on 32-bit ARM. Included on coreutils master. + # https://lists.gnu.org/r/bug-gnulib/2020-08/msg00225.html + ++ optional stdenv.hostPlatform.isAarch32 ./fix-gnulib-tests-arm.patch; postPatch = '' # The test tends to fail on btrfs,f2fs and maybe other unusual filesystems. diff --git a/pkgs/tools/misc/coreutils/fix-gnulib-tests-arm.patch b/pkgs/tools/misc/coreutils/fix-gnulib-tests-arm.patch new file mode 100644 index 00000000000..39bd29f8439 --- /dev/null +++ b/pkgs/tools/misc/coreutils/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 +