Author: ludo
Date: Sat Oct 15 23:25:12 2011
New Revision: 29856
URL: https://nixos.org/websvn/nix/?rev=29856&sc=1

Log:
GNU M4: Have a test work around flaws in newer Linux versions.

Added:
   
nixpkgs/branches/stdenv-updates/pkgs/development/tools/misc/gnum4/readlink-EINVAL.patch
Modified:
   nixpkgs/branches/stdenv-updates/pkgs/development/tools/misc/gnum4/default.nix

Modified: 
nixpkgs/branches/stdenv-updates/pkgs/development/tools/misc/gnum4/default.nix
==============================================================================
--- 
nixpkgs/branches/stdenv-updates/pkgs/development/tools/misc/gnum4/default.nix   
    Sat Oct 15 21:01:30 2011        (r29855)
+++ 
nixpkgs/branches/stdenv-updates/pkgs/development/tools/misc/gnum4/default.nix   
    Sat Oct 15 23:25:12 2011        (r29856)
@@ -11,7 +11,7 @@
   doCheck = !stdenv.isDarwin;
 
   # Upstream is aware of it; it may be in the next release.
-  patches = [ ./s_isdir.patch ];
+  patches = [ ./s_isdir.patch ./readlink-EINVAL.patch ];
 
   meta = {
     homepage = http://www.gnu.org/software/m4/;

Added: 
nixpkgs/branches/stdenv-updates/pkgs/development/tools/misc/gnum4/readlink-EINVAL.patch
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
nixpkgs/branches/stdenv-updates/pkgs/development/tools/misc/gnum4/readlink-EINVAL.patch
     Sat Oct 15 23:25:12 2011        (r29856)
@@ -0,0 +1,18 @@
+Newer Linux kernels would return EINVAL instead of ENOENT.
+The patch below, taken from Gnulib, allows the test to pass when
+these Linux versions are in use:
+https://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00308.html .
+
+diff --git a/tests/test-readlink.h b/tests/test-readlink.h
+index 08d5662..7247fc4 100644
+--- a/tests/test-readlink.h
++++ b/tests/test-readlink.h
+@@ -38,7 +38,7 @@ test_readlink (ssize_t (*func) (char const *, char *, 
size_t), bool print)
+   ASSERT (errno == ENOENT);
+   errno = 0;
+   ASSERT (func ("", buf, sizeof buf) == -1);
+-  ASSERT (errno == ENOENT);
++  ASSERT (errno == ENOENT || errno == EINVAL);
+   errno = 0;
+   ASSERT (func (".", buf, sizeof buf) == -1);
+   ASSERT (errno == EINVAL);
_______________________________________________
nix-commits mailing list
nix-comm...@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to