Skip to content

Commit

Permalink
Merge pull request #103925 from lopsided98/coreutils-tests-arm
Browse files Browse the repository at this point in the history
coreutils, findutils, gnutls: fix build on 32-bit ARM
  • Loading branch information
AndersonTorres committed Dec 8, 2020
2 parents e190f27 + f542668 commit 52242b4
Show file tree
Hide file tree
Showing 6 changed files with 147 additions and 5 deletions.
5 changes: 4 additions & 1 deletion pkgs/development/libraries/gnutls/default.nix
Expand Up @@ -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)
Expand Down
45 changes: 45 additions & 0 deletions 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

5 changes: 4 additions & 1 deletion pkgs/tools/misc/coreutils/default.nix
Expand Up @@ -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.
Expand Down
45 changes: 45 additions & 0 deletions 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 <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

7 changes: 4 additions & 3 deletions pkgs/tools/misc/findutils/default.nix
Expand Up @@ -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

Expand Down
45 changes: 45 additions & 0 deletions 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

0 comments on commit 52242b4

Please sign in to comment.