From b81ee9df9f4724b7c9ac611999758a85cf684cc4 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Tue, 24 Jul 2018 16:46:52 -0400 Subject: makeStdenvCross: Remove It is inlined into the cross stdenv, which is its last use-case after the previous commit. --- pkgs/stdenv/adapters.nix | 29 ----------------------------- pkgs/stdenv/cross/default.nix | 20 +++++++++++++++++--- 2 files changed, 17 insertions(+), 32 deletions(-) (limited to 'pkgs/stdenv') diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index c05b6a05f4d..66570cba946 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -53,35 +53,6 @@ rec { }); }; - - # Return a modified stdenv that adds a cross compiler to the - # builds. - makeStdenvCross = { stdenv - , cc - , buildPlatform, hostPlatform, targetPlatform - , # Prior overrides are surely not valid as packages built - # with this run on a different platform, so disable by - # default. - overrides ? _: _: {} - } @ overrideArgs: - overrideArgs.stdenv.override (old: { - inherit - buildPlatform hostPlatform targetPlatform - cc overrides; - - allowedRequisites = null; - 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. diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix index ab42dd319a6..29521874d1e 100644 --- a/pkgs/stdenv/cross/default.nix +++ b/pkgs/stdenv/cross/default.nix @@ -34,17 +34,31 @@ in lib.init bootStages ++ [ (buildPackages: { inherit config overlays; selfBuild = false; - stdenv = buildPackages.makeStdenvCross { - inherit (buildPackages) stdenv; + stdenv = buildPackages.stdenv.override (old: rec { buildPlatform = localSystem; hostPlatform = crossSystem; targetPlatform = crossSystem; + + # Prior overrides are surely not valid as packages built with this run on + # a different platform, and so are disabled. + overrides = _: _: {}; + extraBuildInputs = [ ]; # Old ones run on wrong platform + cc = if crossSystem.useiOSPrebuilt or false then buildPackages.darwin.iosSdkPkgs.clang else if crossSystem.useAndroidPrebuilt then buildPackages.androidenv."androidndkPkgs_${crossSystem.ndkVer}".gcc else buildPackages.gcc; - }; + + extraNativeBuildInputs = old.extraNativeBuildInputs + # without proper `file` command, libtool sometimes fails + # to recognize 64-bit DLLs + ++ lib.optional (hostPlatform.config == "x86_64-w64-mingw32") buildPackages.file + ++ lib.optional + (hostPlatform.isAarch64 || hostPlatform.isMips || hostPlatform.libc == "musl") + buildPackages.updateAutotoolsGnuConfigScriptsHook + ; + }); }) ] -- cgit 1.4.1