1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-27 08:31:16 +02:00

Split the parsing of an App and its resolving

That way things (like `nix flake check`) can evaluate the `app` outputs
without having to build anything
This commit is contained in:
regnat 2021-05-17 17:49:20 +02:00
parent bd6cf25952
commit ca96f52194
4 changed files with 42 additions and 39 deletions

View file

@ -23,6 +23,12 @@ struct App
// FIXME: add args, sandbox settings, metadata, ...
};
struct UnresolvedApp
{
App unresolved;
App resolve(ref<Store>);
};
struct Installable
{
virtual ~Installable() { }
@ -33,7 +39,7 @@ struct Installable
DerivedPath toDerivedPath();
App toApp(EvalState & state);
UnresolvedApp toApp(EvalState & state);
virtual std::pair<Value *, Pos> toValue(EvalState & state)
{