top-level: Stop exposing all stdenvs

This commit is contained in:
John Ericson 2016-11-13 10:38:41 -08:00 committed by John Ericson
parent b09435ea51
commit ddeb0d2d6b
4 changed files with 8 additions and 11 deletions

View file

@ -8,7 +8,7 @@ rec {
}; };
vanillaStdenv = (import ../. (args // argClobber // { vanillaStdenv = (import ../. (args // argClobber // {
allPackages = args: allPackages (argClobber // args); allPackages = args: allPackages (argClobber // args);
})).stdenv // { })) // {
# Needed elsewhere as a hacky way to pass the target # Needed elsewhere as a hacky way to pass the target
cross = crossSystem; cross = crossSystem;
}; };

View file

@ -1,10 +1,10 @@
{ system, allPackages, platform, crossSystem, config, ... } @ args: { system, allPackages, platform, crossSystem, config, ... } @ args:
rec { rec {
vanillaStdenv = (import ../. (args // { vanillaStdenv = import ../. (args // {
# Remove config.replaceStdenv to ensure termination. # Remove config.replaceStdenv to ensure termination.
config = builtins.removeAttrs config [ "replaceStdenv" ]; config = builtins.removeAttrs config [ "replaceStdenv" ];
})).stdenv; });
buildPackages = allPackages { buildPackages = allPackages {
# It's OK to change the built-time dependencies # It's OK to change the built-time dependencies

View file

@ -8,7 +8,7 @@
{ system, allPackages ? import ../.., platform, config, crossSystem, lib }: { system, allPackages ? import ../.., platform, config, crossSystem, lib }:
rec { let
# The native (i.e., impure) build environment. This one uses the # The native (i.e., impure) build environment. This one uses the
@ -43,7 +43,7 @@ rec {
inherit (import ./custom { inherit system allPackages platform crossSystem config lib; }) stdenvCustom; inherit (import ./custom { inherit system allPackages platform crossSystem config lib; }) stdenvCustom;
# Select the appropriate stdenv for the platform `system'. # Select the appropriate stdenv for the platform `system'.
stdenv = in
if crossSystem != null then if crossSystem != null then
if crossSystem.useiOSCross or false then stdenvCrossiOS if crossSystem.useiOSCross or false then stdenvCrossiOS
else stdenvCross else else stdenvCross else
@ -60,5 +60,4 @@ rec {
if system == "i686-cygwin" then stdenvNative else if system == "i686-cygwin" then stdenvNative else
if system == "x86_64-cygwin" then stdenvNative else if system == "x86_64-cygwin" then stdenvNative else
if system == "x86_64-freebsd" then stdenvFreeBSD else if system == "x86_64-freebsd" then stdenvFreeBSD else
stdenvNative; stdenvNative
}

View file

@ -1,12 +1,10 @@
{ system, bootStdenv, crossSystem, config, platform, lib, nixpkgsFun }: { system, bootStdenv, crossSystem, config, platform, lib, nixpkgsFun }:
rec { rec {
allStdenvs = import ../stdenv { defaultStdenv = import ../stdenv {
inherit system platform config crossSystem lib; inherit system platform config crossSystem lib;
allPackages = nixpkgsFun; allPackages = nixpkgsFun;
}; } // { inherit platform; };
defaultStdenv = allStdenvs.stdenv // { inherit platform; };
stdenv = stdenv =
if bootStdenv != null if bootStdenv != null