* Recurse into attribute sets and lists when getting derivations from
an expression.
This commit is contained in:
parent
7cce0c34e1
commit
8e459d919d
|
@ -89,6 +89,8 @@ bool parseDerivations(EvalState & state, Expr e, DrvInfos & drvs)
|
||||||
debug(format("evaluating attribute `%1%'") % *i);
|
debug(format("evaluating attribute `%1%'") % *i);
|
||||||
if (parseDerivation(state, drvMap.get(*i), drv))
|
if (parseDerivation(state, drvMap.get(*i), drv))
|
||||||
drvs[drv.drvPath] = drv;
|
drvs[drv.drvPath] = drv;
|
||||||
|
else
|
||||||
|
parseDerivations(state, drvMap.get(*i), drvs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,6 +99,8 @@ bool parseDerivations(EvalState & state, Expr e, DrvInfos & drvs)
|
||||||
debug(format("evaluating list element"));
|
debug(format("evaluating list element"));
|
||||||
if (parseDerivation(state, *i, drv))
|
if (parseDerivation(state, *i, drv))
|
||||||
drvs[drv.drvPath] = drv;
|
drvs[drv.drvPath] = drv;
|
||||||
|
else
|
||||||
|
parseDerivations(state, *i, drvs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue