aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/downstream-placeholder.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/downstream-placeholder.cc')
-rw-r--r--src/libstore/downstream-placeholder.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libstore/downstream-placeholder.cc b/src/libstore/downstream-placeholder.cc
index d623c05e2..885b3604d 100644
--- a/src/libstore/downstream-placeholder.cc
+++ b/src/libstore/downstream-placeholder.cc
@@ -38,4 +38,19 @@ DownstreamPlaceholder DownstreamPlaceholder::unknownDerivation(
};
}
+DownstreamPlaceholder DownstreamPlaceholder::fromSingleDerivedPathBuilt(
+ const SingleDerivedPath::Built & b)
+{
+ return std::visit(overloaded {
+ [&](const SingleDerivedPath::Opaque & o) {
+ return DownstreamPlaceholder::unknownCaOutput(o.path, b.output);
+ },
+ [&](const SingleDerivedPath::Built & b2) {
+ return DownstreamPlaceholder::unknownDerivation(
+ DownstreamPlaceholder::fromSingleDerivedPathBuilt(b2),
+ b.output);
+ },
+ }, b.drvPath->raw());
+}
+
}