aboutsummaryrefslogtreecommitdiff
path: root/src/nix/develop.cc
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2020-07-08 19:11:39 -0400
committerMatthew Bauer <mjbauer95@gmail.com>2020-07-08 19:11:39 -0400
commit8e0d0689be797f9e42f9b43b06f50c1af7f20b4a (patch)
treee6cc7abc6bb082b92087ad91e8266ed8f1b99ffa /src/nix/develop.cc
parentaf95a7c16b0fc0b033a7191f686fe98b2015162f (diff)
Only store hash of fixed derivation output
we don’t need a full storepath for a fixedoutput derivation. So just putting the ingestion method + the hash is sufficient.
Diffstat (limited to 'src/nix/develop.cc')
-rw-r--r--src/nix/develop.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/nix/develop.cc b/src/nix/develop.cc
index eb93f56fc..929fae5c4 100644
--- a/src/nix/develop.cc
+++ b/src/nix/develop.cc
@@ -135,7 +135,9 @@ StorePath getDerivationEnvironment(ref<Store> store, const StorePath & drvPath)
drv.inputSrcs.insert(std::move(getEnvShPath));
Hash h = hashDerivationModulo(*store, drv, true);
auto shellOutPath = store->makeOutputPath("out", h, drvName);
- drv.outputs.insert_or_assign("out", DerivationOutput { .path = shellOutPath });
+ drv.outputs.insert_or_assign("out", DerivationOutput { .output = DerivationOutputIntensional {
+ .path = shellOutPath
+ } });
drv.env["out"] = store->printStorePath(shellOutPath);
auto shellDrvPath2 = writeDerivation(store, drv, drvName);