summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2018-12-02 14:17:26 -0600
committerMatthew Bauer <mjbauer95@gmail.com>2018-12-03 08:31:57 -0600
commit26de2d17809fffa91d433316037433d457828632 (patch)
treec24c180f39426571aee6031078343a00308b4721 /pkgs/development/tools
parent7beb1adcf5a34e739cf4862a72ed5d1e5b69882b (diff)
downloadnixpkgs-26de2d17809fffa91d433316037433d457828632.tar
nixpkgs-26de2d17809fffa91d433316037433d457828632.tar.gz
nixpkgs-26de2d17809fffa91d433316037433d457828632.tar.bz2
nixpkgs-26de2d17809fffa91d433316037433d457828632.tar.lz
nixpkgs-26de2d17809fffa91d433316037433d457828632.tar.xz
nixpkgs-26de2d17809fffa91d433316037433d457828632.tar.zst
nixpkgs-26de2d17809fffa91d433316037433d457828632.zip
gnumake: disable subsecond mtime on darwin
gnumake can support subsecond mtimes if it is available. But Darwin
doesn’t support setting subsecond mtimes until 10.13! So we can just
disable this check to avoid the issue where most of our built tools
use seconds but make uses nanoseconds. Might fix some parallel issues
along the way.

Fixes #51221
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/default.nix11
1 files changed, 10 insertions, 1 deletions
diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
index 95466d843d6..4db0c18dae1 100644
--- a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
@@ -27,7 +27,16 @@ stdenv.mkDerivation {
   nativeBuildInputs = stdenv.lib.optionals guileSupport [ pkgconfig ];
   buildInputs = stdenv.lib.optionals guileSupport [ guile ];
 
-  configureFlags = stdenv.lib.optional guileSupport "--with-guile";
+  configureFlags = stdenv.lib.optional guileSupport "--with-guile"
+
+    # Make uses this test to decide whether it should keep track of
+    # subseconds. Apple made this possible with APFS and macOS 10.13.
+    # However, we still support macOS 10.11 and 10.12. Binaries built
+    # in Nixpkgs will be unable to use futimens to set mtime less than
+    # a second. So, tell Make to ignore nanoseconds in mtime here by
+    # overriding the autoconf test for the struct.
+    # See https://github.com/NixOS/nixpkgs/issues/51221 for discussion.
+    ++ stdenv.lib.optional stdenv.isDarwin "ac_cv_struct_st_mtim_nsec=no";
 
   outputs = [ "out" "man" "info" ];