Respect all outputs passed to the derivation, not just the last one

This commit is contained in:
Shea Levy 2011-11-06 06:54:05 +00:00
parent 24b65937e1
commit ca0d47a70c

View file

@ -388,8 +388,10 @@ static void prim_derivationStrict(EvalState & state, Value * * args, Value & v)
if (!useDrvAsSrc && isDerivation(path))
if (explicitlyPassed)
drv.inputDrvs[path] = store -> queryDerivationOutputNames(path);
else
else if (drv.inputDrvs.find(path) == drv.inputDrvs.end())
drv.inputDrvs[path] = singleton<StringSet>(output);
else
drv.inputDrvs[path].insert(output);
else
drv.inputSrcs.insert(path);
}