aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/primops.cc
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2020-10-07 13:52:20 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2020-10-07 15:00:10 +0000
commitf8d562c0a7cef27c65d3cff96ad8ef384f05b331 (patch)
treeecba39f19746941564105f76e86cfa323a0bb019 /src/libexpr/primops.cc
parentdae4409071b827a539acd0f46f91f15cfa1e1a7d (diff)
Use PathReferences more widely
Diffstat (limited to 'src/libexpr/primops.cc')
-rw-r--r--src/libexpr/primops.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc
index 2b304aab0..c74b67658 100644
--- a/src/libexpr/primops.cc
+++ b/src/libexpr/primops.cc
@@ -1045,7 +1045,13 @@ static void prim_derivationStrict(EvalState & state, const Pos & pos, Value * *
std::optional<HashType> ht = parseHashTypeOpt(outputHashAlgo);
Hash h = newHashAllowEmpty(*outputHash, ht);
- auto outPath = state.store->makeFixedOutputPath(ingestionMethod, h, drvName);
+ auto outPath = state.store->makeFixedOutputPath(drvName, FixedOutputInfo {
+ {
+ .method = ingestionMethod,
+ .hash = h,
+ },
+ {},
+ });
drv.env["out"] = state.store->printStorePath(outPath);
drv.outputs.insert_or_assign("out", DerivationOutput {
.output = DerivationOutputCAFixed {
@@ -1764,7 +1770,13 @@ static void addPath(EvalState & state, const Pos & pos, const string & name, con
std::optional<StorePath> expectedStorePath;
if (expectedHash)
- expectedStorePath = state.store->makeFixedOutputPath(method, *expectedHash, name);
+ expectedStorePath = state.store->makeFixedOutputPath(name, FixedOutputInfo {
+ {
+ .method = method,
+ .hash = *expectedHash,
+ },
+ {},
+ });
Path dstPath;
if (!expectedHash || !state.store->isValidPath(*expectedStorePath)) {
dstPath = state.store->printStorePath(settings.readOnlyMode