* Drop the inefficient "Path" suffix in output attribute names.

This commit is contained in:
Eelco Dolstra 2012-01-03 15:27:18 +00:00
parent 921111d197
commit 71f3c46cf6
2 changed files with 5 additions and 7 deletions

View file

@ -7,13 +7,13 @@ let
attrValues = attrs:
map (name: builtins.getAttr name attrs) (builtins.attrNames attrs);
outputToAttrListElement = output:
{ name = output;
outputToAttrListElement = outputName:
{ name = outputName;
value = attrs // {
outPath = builtins.getAttr (output + "Path") strict;
outPath = builtins.getAttr outputName strict;
drvPath = strict.drvPath;
type = "derivation";
currentOutput = output;
currentOutput = outputName;
} // outputsAttrs // { all = allList; };
};

View file

@ -451,9 +451,7 @@ static void prim_derivationStrict(EvalState & state, Value * * args, Value & v)
state.mkAttrs(v, 1 + drv.outputs.size());
mkString(*state.allocAttr(v, state.sDrvPath), drvPath, singleton<PathSet>("=" + drvPath));
foreach (DerivationOutputs::iterator, i, drv.outputs) {
/* The output path of an output X is <X>Path,
e.g. outPath. */
mkString(*state.allocAttr(v, state.symbols.create(i->first + "Path")),
mkString(*state.allocAttr(v, state.symbols.create(i->first)),
i->second.path, singleton<PathSet>("!" + i->first + "!" + drvPath));
}
v.attrs->sort();