diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2020-08-14 17:00:13 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2020-08-14 17:00:13 +0000 |
commit | 3c8b5b62192b828c392e9122536d666e23278d8e (patch) | |
tree | 6302c4599c947dee9044e74f5f116aa927713c8f /src/libexpr | |
parent | 5f80aea795d3f6f78d682c7b99453b6fb7c9b6ba (diff) | |
parent | 13e49be6602314fe5e5d7beb8a807d5d892e864e (diff) |
Merge remote-tracking branch 'upstream/master' into single-ca-drv-build
Diffstat (limited to 'src/libexpr')
-rw-r--r-- | src/libexpr/get-drvs.cc | 3 | ||||
-rw-r--r-- | src/libexpr/primops.cc | 2 | ||||
-rw-r--r-- | src/libexpr/primops/fetchTree.cc | 2 |
3 files changed, 4 insertions, 3 deletions
diff --git a/src/libexpr/get-drvs.cc b/src/libexpr/get-drvs.cc index d41cac132..e66832182 100644 --- a/src/libexpr/get-drvs.cc +++ b/src/libexpr/get-drvs.cc @@ -38,8 +38,9 @@ DrvInfo::DrvInfo(EvalState & state, ref<Store> store, const std::string & drvPat auto i = drv.outputs.find(outputName); if (i == drv.outputs.end()) throw Error("derivation '%s' does not have output '%s'", store->printStorePath(drvPath), outputName); + auto & [outputName, output] = *i; - auto optStorePath = i->second.pathOpt(*store, drv.name); + auto optStorePath = output.pathOpt(*store, drv.name, outputName); if (optStorePath) outPath = store->printStorePath(*optStorePath); } diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc index 05c571d65..e6391f509 100644 --- a/src/libexpr/primops.cc +++ b/src/libexpr/primops.cc @@ -79,7 +79,7 @@ static void mkOutputString(EvalState & state, Value & v, const StorePath & drvPath, const BasicDerivation & drv, std::pair<string, DerivationOutput> o) { - auto optOutputPath = o.second.pathOpt(*state.store, drv.name); + auto optOutputPath = o.second.pathOpt(*state.store, drv.name, o.first); mkString( *state.allocAttr(v, state.symbols.create(o.first)), state.store->printStorePath(optOutputPath diff --git a/src/libexpr/primops/fetchTree.cc b/src/libexpr/primops/fetchTree.cc index cddcf0e59..0dbf4ae1d 100644 --- a/src/libexpr/primops/fetchTree.cc +++ b/src/libexpr/primops/fetchTree.cc @@ -212,7 +212,7 @@ static void fetch(EvalState & state, const Pos & pos, Value * * args, Value & v, : hashFile(htSHA256, path); if (hash != *expectedHash) throw Error((unsigned int) 102, "hash mismatch in file downloaded from '%s':\n wanted: %s\n got: %s", - *url, expectedHash->to_string(Base32, true), hash->to_string(Base32, true)); + *url, expectedHash->to_string(Base32, true), hash.to_string(Base32, true)); } if (state.allowedPaths) |