From c12b50b267d9ac578ada7b268ffc2aa6b574c4a3 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Tue, 24 Jul 2018 16:32:40 -0400 Subject: stdenv cross adapter: Use `extraNativeBuildInputs` This means we don't need to hackily avoid overwriting `mkDerivation`. --- pkgs/stdenv/adapters.nix | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) (limited to 'pkgs/stdenv/adapters.nix') 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. -- cgit 1.4.1