mirror of
https://github.com/NixOS/nix
synced 2025-06-27 00:11:17 +02:00
* Fix builtins.
This commit is contained in:
parent
81de12bc8f
commit
267dc693d2
4 changed files with 30 additions and 28 deletions
|
@ -999,15 +999,13 @@ void EvalState::createBaseEnv()
|
|||
{
|
||||
baseEnv.up = 0;
|
||||
|
||||
#if 0
|
||||
Value & builtins = baseEnv.bindings[symbols.create("builtins")];
|
||||
builtins.type = tAttrs;
|
||||
builtins.attrs = new Bindings;
|
||||
#endif
|
||||
|
||||
/* Add global constants such as `true' to the base environment. */
|
||||
Value v;
|
||||
|
||||
/* `builtins' must be first! */
|
||||
mkAttrs(v);
|
||||
addConstant("builtins", v);
|
||||
|
||||
mkBool(v, true);
|
||||
addConstant("true", v);
|
||||
|
||||
|
@ -1023,14 +1021,6 @@ void EvalState::createBaseEnv()
|
|||
mkString(v, thisSystem.c_str());
|
||||
addConstant("__currentSystem", v);
|
||||
|
||||
/* Add a wrapper around the derivation primop that computes the
|
||||
`drvPath' and `outPath' attributes lazily. */
|
||||
#if 0
|
||||
string s = "attrs: let res = derivationStrict attrs; in attrs // { drvPath = res.drvPath; outPath = res.outPath; type = \"derivation\"; }";
|
||||
mkThunk(v, baseEnv, parseExprFromString(*this, s, "/"));
|
||||
addConstant("derivation", v);
|
||||
#endif
|
||||
|
||||
// Miscellaneous
|
||||
addPrimOp("import", 1, prim_import);
|
||||
addPrimOp("isNull", 1, prim_isNull);
|
||||
|
@ -1053,6 +1043,12 @@ void EvalState::createBaseEnv()
|
|||
// Derivations
|
||||
addPrimOp("derivationStrict", 1, prim_derivationStrict);
|
||||
|
||||
/* Add a wrapper around the derivation primop that computes the
|
||||
`drvPath' and `outPath' attributes lazily. */
|
||||
string s = "attrs: let res = derivationStrict attrs; in attrs // { drvPath = res.drvPath; outPath = res.outPath; type = \"derivation\"; }";
|
||||
mkThunk(v, baseEnv, parseExprFromString(*this, s, "/"));
|
||||
addConstant("derivation", v);
|
||||
|
||||
// Paths
|
||||
addPrimOp("__toPath", 1, prim_toPath);
|
||||
#if 0
|
||||
|
@ -1105,7 +1101,7 @@ void EvalState::createBaseEnv()
|
|||
|
||||
// Versions
|
||||
addPrimOp("__parseDrvName", 1, prim_parseDrvName);
|
||||
addPrimOp("__compareVersions", 2, prim_compareVersions);
|
||||
addPrimOp("__compareVersions", 2, prim_compareVersions);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue