18 typedef std::map<std::string, std::optional<StorePath>> Outputs;
23 std::optional<std::optional<StorePath>> drvPath;
24 std::optional<StorePath> outPath;
25 std::string outputName;
33 Bindings * attrs =
nullptr, * meta =
nullptr;
39 void fillOutputs(
EvalState & state,
bool withPaths =
true);
43 const std::string & drvPathWithOutputs,
46 const std::set<std::string> & selectedOutputs
56 static kj::Promise<Result<DrvInfo>>
57 create(
ref<Store> store,
const std::string & drvPathWithOutputs);
60 std::string querySystem(
EvalState & state);
61 std::optional<StorePath> queryDrvPath(
EvalState & state);
64 std::string queryOutputName(
EvalState & state);
71 StringSet queryMetaNames(
EvalState & state);
73 std::string queryMetaString(
EvalState & state,
const std::string & name);
75 bool queryMetaBool(
EvalState & state,
const std::string & name,
bool def);
76 void setMeta(
EvalState & state,
const std::string & name,
Value * v);
83 void setName(
const std::string & s) { name = s; }
84 void setDrvPath(
StorePath path) { drvPath = {{std::move(path)}}; }
85 void setOutPath(StorePath path) { outPath = {{std::move(path)}}; }
87 void setFailed() { failed =
true; };
88 bool hasFailed() {
return failed; };
91using DrvInfos = GcList<DrvInfo>;
97std::optional<DrvInfo> getDerivation(EvalState & state,
98 Value & v,
bool ignoreAssertionFailures);
100void getDerivations(EvalState & state, Value & v,
const std::string & pathPrefix,
101 Bindings & autoArgs, DrvInfos & drvs,
102 bool ignoreAssertionFailures);
Definition attr-set.hh:49
Definition derivations.hh:324
Definition get-drvs.hh:16
Outputs queryOutputs(EvalState &state, bool withPaths=true, bool onlyOutputsToInstall=false)
Definition get-drvs.cc:197
std::string attrPath
Definition get-drvs.hh:53