`nix app` had something called `InstallableDerivedPath` which is actually the same thing. We go with the later's name because it has become more correct. I originally did this change (more hurriedly) as part of #6225 --- a mini store-only Nix and a full Nix need to share this code. In the first RFC meeting for https://github.com/NixOS/rfcs/pull/134 we discussed how some splitting of the massive `installables.cc` could begin prior, as that is a good thing anyways. (@edolstra's words, not mine!) This would be one such PR.
29 lines
603 B
C++
29 lines
603 B
C++
#pragma once
|
|
|
|
#include "installables.hh"
|
|
|
|
namespace nix {
|
|
|
|
struct InstallableDerivedPath : Installable
|
|
{
|
|
ref<Store> store;
|
|
DerivedPath derivedPath;
|
|
|
|
InstallableDerivedPath(ref<Store> store, DerivedPath && derivedPath)
|
|
: store(store), derivedPath(std::move(derivedPath))
|
|
{ }
|
|
|
|
std::string what() const override;
|
|
|
|
DerivedPathsWithInfo toDerivedPaths() override;
|
|
|
|
std::optional<StorePath> getStorePath() override;
|
|
|
|
static InstallableDerivedPath parse(
|
|
ref<Store> store,
|
|
std::string_view prefix,
|
|
ExtendedOutputsSpec extendedOutputsSpec);
|
|
};
|
|
|
|
}
|