forked from mirrors/nixpkgs
3e197f7d81
Introduce new abstraction, `stdenv/booter.nix` for composing bootstraping stages, and use it everywhere for consistency. See that file for more doc. Stdenvs besides Linux and Darwin are completely refactored to utilize this. Those two, due to their size and complexity, are minimally edited for easier reviewing. No hashes should be changed.
23 lines
491 B
Nix
23 lines
491 B
Nix
{ lib
|
|
, system, platform, crossSystem, config
|
|
}:
|
|
|
|
assert crossSystem == null;
|
|
|
|
let
|
|
bootStages = import ../. {
|
|
inherit lib system platform crossSystem;
|
|
# Remove config.replaceStdenv to ensure termination.
|
|
config = builtins.removeAttrs config [ "replaceStdenv" ];
|
|
};
|
|
|
|
in bootStages ++ [
|
|
|
|
# Additional stage, built using custom stdenv
|
|
(vanillaPackages: {
|
|
inherit system platform crossSystem config;
|
|
stdenv = config.replaceStdenv { pkgs = vanillaPackages; };
|
|
})
|
|
|
|
]
|