aboutsummaryrefslogtreecommitdiff
path: root/src/nix
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2021-10-01 18:05:53 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2022-03-11 21:20:37 +0000
commit0948b8e94dfbf87ed2a695c6c7d8dac250e2c293 (patch)
treef02b35f7801b5b6632269f8e7d5d7eaaee1cef63 /src/nix
parentaee56e0f895e7b9890d1ec948b24c75478f9e88e (diff)
Reduce variants for derivation hash modulo
This changes was taken from dynamic derivation (#4628). It` somewhat undoes the refactors I first did for floating CA derivations, as the benefit of hindsight + requirements of dynamic derivations made me reconsider some things. They aren't to consequential, but I figured they might be good to land first, before the more profound changes @thufschmitt has in the works.
Diffstat (limited to 'src/nix')
-rw-r--r--src/nix/develop.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nix/develop.cc b/src/nix/develop.cc
index 8af5da9d0..dafcafd79 100644
--- a/src/nix/develop.cc
+++ b/src/nix/develop.cc
@@ -206,7 +206,8 @@ static StorePath getDerivationEnvironment(ref<Store> store, ref<Store> evalStore
output.second = { .output = DerivationOutputInputAddressed { .path = StorePath::dummy } };
drv.env[output.first] = "";
}
- Hash h = std::get<0>(hashDerivationModulo(*evalStore, drv, true));
+ auto h0 = hashDerivationModulo(*evalStore, drv, true);
+ const Hash & h = h0.requireNoFixedNonDeferred();
for (auto & output : drv.outputs) {
auto outPath = store->makeOutputPath(output.first, h, drv.name);