diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2020-09-04 15:58:42 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2020-09-04 15:58:42 +0000 |
commit | 5aed6f9b25b8547feb67bbbfaa263d013b82fb52 (patch) | |
tree | 5813bed1222a4651715b31e620409fb9ac3db5c1 /src/libexpr/primops.cc | |
parent | e9fad3006b0b6f3a6430fdbfc61392cac6834502 (diff) |
Document `mkOutputString`
Diffstat (limited to 'src/libexpr/primops.cc')
-rw-r--r-- | src/libexpr/primops.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc index 4e248f979..78dc314fa 100644 --- a/src/libexpr/primops.cc +++ b/src/libexpr/primops.cc @@ -75,6 +75,18 @@ void EvalState::realiseContext(const PathSet & context) } } +/* Add and attribute to the given attribute map from the output name to + the output path, or a placeholder. + + Where possible the path is used, but for floating CA derivations we + may not know it. For sake of determinism we always assume we don't + and instead put in a place holder. In either case, however, the + string context will contain the drv path and output name, so + downstream derivations will have the proper dependency, and in + addition, before building, the placeholder will be rewritten to be + the actual path. + + The 'drv' and 'drvPath' outputs must correspond. */ static void mkOutputString(EvalState & state, Value & v, const StorePath & drvPath, const BasicDerivation & drv, std::pair<string, DerivationOutput> o) |