summary refs log tree commit diff
path: root/pkgs/stdenv/adapters.nix
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2018-07-24 16:32:40 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2018-07-24 20:01:43 -0400
commitc12b50b267d9ac578ada7b268ffc2aa6b574c4a3 (patch)
tree51b50f56c37440a615d00204df526ac509ba1c39 /pkgs/stdenv/adapters.nix
parent87b4a5d6a70dc08168edf81f4cbcfccc2c1dd919 (diff)
downloadnixlib-c12b50b267d9ac578ada7b268ffc2aa6b574c4a3.tar
nixlib-c12b50b267d9ac578ada7b268ffc2aa6b574c4a3.tar.gz
nixlib-c12b50b267d9ac578ada7b268ffc2aa6b574c4a3.tar.bz2
nixlib-c12b50b267d9ac578ada7b268ffc2aa6b574c4a3.tar.lz
nixlib-c12b50b267d9ac578ada7b268ffc2aa6b574c4a3.tar.xz
nixlib-c12b50b267d9ac578ada7b268ffc2aa6b574c4a3.tar.zst
nixlib-c12b50b267d9ac578ada7b268ffc2aa6b574c4a3.zip
stdenv cross adapter: Use `extraNativeBuildInputs`
This means we don't need to hackily avoid overwriting `mkDerivation`.
Diffstat (limited to 'pkgs/stdenv/adapters.nix')
-rw-r--r--pkgs/stdenv/adapters.nix33
1 files changed, 12 insertions, 21 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 8268dd5b0896..c05b6a05f4d8 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -63,33 +63,24 @@ rec {
                       # with this run on a different platform, so disable by
                       # default.
                       overrides ? _: _: {}
-                    } @ overrideArgs: let
-    stdenv = overrideArgs.stdenv.override {
+                    } @ overrideArgs:
+    overrideArgs.stdenv.override (old: {
       inherit
         buildPlatform hostPlatform targetPlatform
         cc overrides;
 
       allowedRequisites = null;
-      extraBuildInputs = [ ]; # Old ones run on wrong platform
-    };
-  in stdenv // {
-    mkDerivation =
-      { nativeBuildInputs ? []
-      , ...
-      } @ args:
-
-        stdenv.mkDerivation (args // {
-          nativeBuildInputs = nativeBuildInputs
-              # without proper `file` command, libtool sometimes fails
-              # to recognize 64-bit DLLs
-            ++ stdenv.lib.optional (hostPlatform.config == "x86_64-w64-mingw32") pkgs.file
-            ++ stdenv.lib.optional
-                 (hostPlatform.isAarch64 || hostPlatform.isMips || hostPlatform.libc == "musl")
-                 pkgs.updateAutotoolsGnuConfigScriptsHook
-            ;
-        });
-  };
+      extraNativeBuildInputs = old.extraNativeBuildInputs
+           # without proper `file` command, libtool sometimes fails
+           # to recognize 64-bit DLLs
+        ++ stdenv.lib.optional (hostPlatform.config == "x86_64-w64-mingw32") pkgs.file
+        ++ stdenv.lib.optional
+             (hostPlatform.isAarch64 || hostPlatform.isMips || hostPlatform.libc == "musl")
+             pkgs.updateAutotoolsGnuConfigScriptsHook
+        ;
 
+      extraBuildInputs = [ ]; # Old ones run on wrong platform
+    });
 
   /* Modify a stdenv so that the specified attributes are added to
      every derivation returned by its mkDerivation function.