diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2023-02-05 23:28:18 -0500 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2023-03-24 12:22:40 -0400 |
commit | 256f3e306369131cb13756ed94606d47c343103e (patch) | |
tree | c48512735d694c815e1e728baa81078ebb3ae3e3 /src/libcmd/installable-derived-path.cc | |
parent | e00abd3f566b16bb107d513925cf33b40cca35f4 (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.cc | 5 |
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() |