Move stdenvDefault into its own file.
This commit is contained in:
parent
f043ffcea4
commit
054327729c
@ -83,6 +83,11 @@ let
|
|||||||
platform = if platform_ != null then platform_
|
platform = if platform_ != null then platform_
|
||||||
else config.platform or platformAuto;
|
else config.platform or platformAuto;
|
||||||
|
|
||||||
|
topLevelArguments = {
|
||||||
|
inherit system bootStdenv noSysDirs gccWithCC gccWithProfiling config
|
||||||
|
crossSystem platform lib;
|
||||||
|
};
|
||||||
|
|
||||||
# Allow packages to be overriden globally via the `packageOverrides'
|
# Allow packages to be overriden globally via the `packageOverrides'
|
||||||
# configuration option, which must be a function that takes `pkgs'
|
# configuration option, which must be a function that takes `pkgs'
|
||||||
# as an argument and returns a set of new or overriden packages.
|
# as an argument and returns a set of new or overriden packages.
|
||||||
@ -130,38 +135,7 @@ let
|
|||||||
stdenvAdapters =
|
stdenvAdapters =
|
||||||
import ../stdenv/adapters.nix pkgs;
|
import ../stdenv/adapters.nix pkgs;
|
||||||
|
|
||||||
stdenvDefault = with pkgs; with stdenvDefault; {
|
stdenvDefault = (import ./stdenv.nix topLevelArguments) {} pkgs;
|
||||||
|
|
||||||
|
|
||||||
### STANDARD ENVIRONMENT
|
|
||||||
|
|
||||||
|
|
||||||
allStdenvs = import ../stdenv {
|
|
||||||
inherit system platform config lib;
|
|
||||||
allPackages = args: import ./../.. ({ inherit config system; } // args);
|
|
||||||
};
|
|
||||||
|
|
||||||
defaultStdenv = allStdenvs.stdenv // { inherit platform; };
|
|
||||||
|
|
||||||
stdenv =
|
|
||||||
if bootStdenv != null then (bootStdenv // {inherit platform;}) else
|
|
||||||
if crossSystem != null then
|
|
||||||
stdenvCross
|
|
||||||
else
|
|
||||||
let
|
|
||||||
changer = config.replaceStdenv or null;
|
|
||||||
in if changer != null then
|
|
||||||
changer {
|
|
||||||
# We import again all-packages to avoid recursivities.
|
|
||||||
pkgs = import ./../.. {
|
|
||||||
# We remove packageOverrides to avoid recursivities
|
|
||||||
config = removeAttrs config [ "replaceStdenv" ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
defaultStdenv;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
self = with pkgs; {
|
self = with pkgs; {
|
||||||
|
|
||||||
|
31
pkgs/top-level/stdenv.nix
Normal file
31
pkgs/top-level/stdenv.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{ system, bootStdenv, crossSystem, config, platform, lib, ... }:
|
||||||
|
self: super:
|
||||||
|
|
||||||
|
with super;
|
||||||
|
|
||||||
|
rec {
|
||||||
|
allStdenvs = import ../stdenv {
|
||||||
|
inherit system platform config lib;
|
||||||
|
allPackages = args: import ./../.. ({ inherit config system; } // args);
|
||||||
|
};
|
||||||
|
|
||||||
|
defaultStdenv = allStdenvs.stdenv // { inherit platform; };
|
||||||
|
|
||||||
|
stdenv =
|
||||||
|
if bootStdenv != null then (bootStdenv // {inherit platform;}) else
|
||||||
|
if crossSystem != null then
|
||||||
|
stdenvCross
|
||||||
|
else
|
||||||
|
let
|
||||||
|
changer = config.replaceStdenv or null;
|
||||||
|
in if changer != null then
|
||||||
|
changer {
|
||||||
|
# We import again all-packages to avoid recursivities.
|
||||||
|
pkgs = import ./../.. {
|
||||||
|
# We remove packageOverrides to avoid recursivities
|
||||||
|
config = removeAttrs config [ "replaceStdenv" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
defaultStdenv;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user