tvl-depot/third_party/nix/src/libstore/parsed-derivations.hh

34 lines
756 B
C++

#include <nlohmann/json.hpp>
#include "derivations.hh"
namespace nix {
class ParsedDerivation {
Path drvPath;
BasicDerivation& drv;
std::optional<nlohmann::json> structuredAttrs;
public:
ParsedDerivation(const Path& drvPath, BasicDerivation& drv);
const std::optional<nlohmann::json>& getStructuredAttrs() const {
return structuredAttrs;
}
std::optional<std::string> getStringAttr(const std::string& name) const;
bool getBoolAttr(const std::string& name, bool def = false) const;
std::optional<Strings> getStringsAttr(const std::string& name) const;
StringSet getRequiredSystemFeatures() const;
bool canBuildLocally() const;
bool willBuildLocally() const;
bool substitutesAllowed() const;
};
} // namespace nix