mirror of
https://github.com/NixOS/nix
synced 2025-06-25 19:01:16 +02:00
Revert "Use the hash modulo in the derivation outputs"
This reverts commit bab1cda0e6
.
This commit is contained in:
parent
fb028ae701
commit
c6fefcb2f4
48 changed files with 920 additions and 961 deletions
|
@ -1565,31 +1565,7 @@ static void derivationStrictInternal(
|
|||
DerivationOutput::Deferred { });
|
||||
}
|
||||
|
||||
auto hashModulo = hashDerivationModulo(*state.store, Derivation(drv), true);
|
||||
switch (hashModulo.kind) {
|
||||
case DrvHash::Kind::Regular:
|
||||
for (auto & i : outputs) {
|
||||
auto h = get(hashModulo.hashes, i);
|
||||
if (!h)
|
||||
state.error<AssertionError>(
|
||||
"derivation produced no hash for output '%s'",
|
||||
i
|
||||
).atPos(v).debugThrow();
|
||||
auto outPath = state.store->makeOutputPath(i, *h, drvName);
|
||||
drv.env[i] = state.store->printStorePath(outPath);
|
||||
drv.outputs.insert_or_assign(
|
||||
i,
|
||||
DerivationOutput::InputAddressed {
|
||||
.path = std::move(outPath),
|
||||
});
|
||||
}
|
||||
break;
|
||||
;
|
||||
case DrvHash::Kind::Deferred:
|
||||
for (auto & i : outputs) {
|
||||
drv.outputs.insert_or_assign(i, DerivationOutput::Deferred {});
|
||||
}
|
||||
}
|
||||
resolveInputAddressed(*state.store, drv);
|
||||
}
|
||||
|
||||
/* Write the resulting term into the Nix store directory. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue