mirror of
https://github.com/NixOS/nix
synced 2025-06-28 01:11:15 +02:00
Remove flake 'edition' field
Future editions of flakes or the Nix language can be supported by renaming flake.nix (e.g. flake-v2.nix). This avoids a bootstrap problem where we don't know which grammar to use to parse flake*.nix. It also allows a project to support multiple flake editions, in theory.
This commit is contained in:
parent
3aaceeb7e2
commit
e5ea01c1a8
7 changed files with 6 additions and 64 deletions
|
@ -19,7 +19,6 @@ let
|
|||
result = outputs // sourceInfo // { inherit inputs; inherit outputs; inherit sourceInfo; };
|
||||
in
|
||||
if node.flake or true then
|
||||
assert flake.edition or flake.epoch or 0 == 201909;
|
||||
assert builtins.isFunction flake.outputs;
|
||||
result
|
||||
else
|
||||
|
|
|
@ -231,22 +231,14 @@ static Flake getFlake(
|
|||
|
||||
expectType(state, tAttrs, vInfo, Pos(state.symbols.create(flakeFile), 0, 0));
|
||||
|
||||
auto sEdition = state.symbols.create("edition");
|
||||
auto sEdition = state.symbols.create("edition"); // FIXME: remove soon
|
||||
auto sEpoch = state.symbols.create("epoch"); // FIXME: remove soon
|
||||
|
||||
auto edition = vInfo.attrs->get(sEdition);
|
||||
if (!edition)
|
||||
edition = vInfo.attrs->get(sEpoch);
|
||||
if (vInfo.attrs->get(sEdition))
|
||||
warn("flake '%s' has deprecated attribution 'edition'", lockedRef);
|
||||
|
||||
if (edition) {
|
||||
expectType(state, tInt, *edition->value, *edition->pos);
|
||||
flake.edition = edition->value->integer;
|
||||
if (flake.edition > 201909)
|
||||
throw Error("flake '%s' requires unsupported edition %d; please upgrade Nix", lockedRef, flake.edition);
|
||||
if (flake.edition < 201909)
|
||||
throw Error("flake '%s' has illegal edition %d", lockedRef, flake.edition);
|
||||
} else
|
||||
throw Error("flake '%s' lacks attribute 'edition'", lockedRef);
|
||||
if (vInfo.attrs->get(sEpoch))
|
||||
warn("flake '%s' has deprecated attribution 'epoch'", lockedRef);
|
||||
|
||||
if (auto description = vInfo.attrs->get(state.sDescription)) {
|
||||
expectType(state, tString, *description->value, *description->pos);
|
||||
|
|
|
@ -34,7 +34,6 @@ struct Flake
|
|||
std::shared_ptr<const fetchers::Tree> sourceInfo;
|
||||
FlakeInputs inputs;
|
||||
Value * vOutputs; // FIXME: gc
|
||||
unsigned int edition;
|
||||
~Flake();
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue