aboutsummaryrefslogtreecommitdiff
path: root/src/libcmd/installable-derived-path.cc
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2023-02-05 23:28:18 -0500
committerJohn Ericson <John.Ericson@Obsidian.Systems>2023-03-24 12:22:40 -0400
commit256f3e306369131cb13756ed94606d47c343103e (patch)
treec48512735d694c815e1e728baa81078ebb3ae3e3 /src/libcmd/installable-derived-path.cc
parente00abd3f566b16bb107d513925cf33b40cca35f4 (diff)
Stratify `ExtraPathInfo` along `Installable` hierarchy
Instead of having a bunch of optional fields, have a few subclasses which can have mandatory fields. Additionally, the new `getExtraPathInfo`, and `nixpkgsFlakeRef`, are moved to `InstallableValue`. I did these things because https://github.com/NixOS/rfcs/pull/134 ; with these things moved to `InstallableValue`, the base `Installable` no longer depends on libexpr! This is a major step towards that. Also, add a bunch of doc comments for sake of the internal API docs.
Diffstat (limited to 'src/libcmd/installable-derived-path.cc')
-rw-r--r--src/libcmd/installable-derived-path.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libcmd/installable-derived-path.cc b/src/libcmd/installable-derived-path.cc
index 729dc7d31..6ecf54b7c 100644
--- a/src/libcmd/installable-derived-path.cc
+++ b/src/libcmd/installable-derived-path.cc
@@ -10,7 +10,10 @@ std::string InstallableDerivedPath::what() const
DerivedPathsWithInfo InstallableDerivedPath::toDerivedPaths()
{
- return {{.path = derivedPath, .info = {} }};
+ return {{
+ .path = derivedPath,
+ .info = make_ref<ExtraPathInfo>(),
+ }};
}
std::optional<StorePath> InstallableDerivedPath::getStorePath()