mirror of
https://github.com/NixOS/nix.git
synced 2024-11-21 22:32:26 +00:00
commit
37c61907d7
@ -72,11 +72,13 @@ static PathSet realisePath(StorePathWithOutputs path, bool build = true)
|
||||
Derivation drv = store->derivationFromPath(path.path);
|
||||
rootNr++;
|
||||
|
||||
/* FIXME: Encode this empty special case explicitly in the type. */
|
||||
if (path.outputs.empty())
|
||||
for (auto & i : drv.outputs) path.outputs.insert(i.first);
|
||||
|
||||
PathSet outputs;
|
||||
for (auto & j : path.outputs) {
|
||||
/* Match outputs of a store path with outputs of the derivation that produces it. */
|
||||
DerivationOutputs::iterator i = drv.outputs.find(j);
|
||||
if (i == drv.outputs.end())
|
||||
throw Error("derivation '%s' does not have an output named '%s'",
|
||||
@ -141,6 +143,7 @@ static void opRealise(Strings opFlags, Strings opArgs)
|
||||
toDerivedPaths(paths),
|
||||
willBuild, willSubstitute, unknown, downloadSize, narSize);
|
||||
|
||||
/* Filter out unknown paths from `paths`. */
|
||||
if (ignoreUnknown) {
|
||||
std::vector<StorePathWithOutputs> paths2;
|
||||
for (auto & i : paths)
|
||||
|
Loading…
Reference in New Issue
Block a user