31 lines
712 B
Nix
31 lines
712 B
Nix
|
# Here we construct an absolutely trivial `initial' standard
|
||
|
# environment. It's not actually a functional stdenv, since there is
|
||
|
# not necessarily a working C compiler. We need this to build
|
||
|
# gcc-wrapper et al. for the native stdenv.
|
||
|
|
||
|
{system, name, shell, path, extraEnv ? {}}:
|
||
|
|
||
|
let {
|
||
|
body =
|
||
|
derivation {
|
||
|
inherit system name;
|
||
|
initialPath = path;
|
||
|
builder = shell;
|
||
|
args = ["-e" ./builder.sh];
|
||
|
}
|
||
|
|
||
|
// {
|
||
|
mkDerivation = attrs:
|
||
|
derivation ((removeAttrs attrs ["meta"]) // {
|
||
|
builder = shell;
|
||
|
args = ["-e" attrs.builder];
|
||
|
stdenv = body;
|
||
|
system = body.system;
|
||
|
}
|
||
|
|
||
|
// extraEnv);
|
||
|
|
||
|
inherit shell;
|
||
|
};
|
||
|
}
|