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