forked from lix-project/lix
Don't update the global registry when building a locked flake
It's unnecessary and slows things down (e.g. when you're on a Thalys with super-crappy Internet).
This commit is contained in:
parent
d132d057a8
commit
aa2846198f
2 changed files with 7 additions and 2 deletions
|
@ -119,7 +119,9 @@ static FlakeRef lookupFlake(EvalState & state, const FlakeRef & flakeRef, const
|
||||||
static SourceInfo fetchFlake(EvalState & state, const FlakeRef & flakeRef, bool impureIsAllowed = false)
|
static SourceInfo fetchFlake(EvalState & state, const FlakeRef & flakeRef, bool impureIsAllowed = false)
|
||||||
{
|
{
|
||||||
FlakeRef resolvedRef = lookupFlake(state, flakeRef,
|
FlakeRef resolvedRef = lookupFlake(state, flakeRef,
|
||||||
impureIsAllowed ? state.getFlakeRegistries() : std::vector<std::shared_ptr<FlakeRegistry>>());
|
impureIsAllowed && !flakeRef.isDirect()
|
||||||
|
? state.getFlakeRegistries()
|
||||||
|
: std::vector<std::shared_ptr<FlakeRegistry>>());
|
||||||
|
|
||||||
if (evalSettings.pureEval && !impureIsAllowed && !resolvedRef.isImmutable())
|
if (evalSettings.pureEval && !impureIsAllowed && !resolvedRef.isImmutable())
|
||||||
throw Error("requested to fetch mutable flake '%s' in pure mode", resolvedRef);
|
throw Error("requested to fetch mutable flake '%s' in pure mode", resolvedRef);
|
||||||
|
|
|
@ -168,6 +168,9 @@ git -C $flake2Dir commit flake.lock -m 'Add flake.lock'
|
||||||
nix build -o $TEST_ROOT/result --flake-registry $registry $flake2Dir:bar
|
nix build -o $TEST_ROOT/result --flake-registry $registry $flake2Dir:bar
|
||||||
[[ -z $(git -C $flake2Dir diff master) ]]
|
[[ -z $(git -C $flake2Dir diff master) ]]
|
||||||
|
|
||||||
|
# Building with a lockfile should not require a fetch of the registry.
|
||||||
|
nix build -o $TEST_ROOT/result --flake-registry file:///no-registry.json $flake2Dir:bar --tarball-ttl 0
|
||||||
|
|
||||||
# Updating the flake should not change the lockfile.
|
# Updating the flake should not change the lockfile.
|
||||||
nix flake update --flake-registry $registry $flake2Dir
|
nix flake update --flake-registry $registry $flake2Dir
|
||||||
[[ -z $(git -C $flake2Dir diff master) ]]
|
[[ -z $(git -C $flake2Dir diff master) ]]
|
||||||
|
@ -297,7 +300,7 @@ nix build -o $TEST_ROOT/result --flake-registry $registry flake3:xyzzy flake3:fn
|
||||||
|
|
||||||
# Test doing multiple `lookupFlake`s
|
# Test doing multiple `lookupFlake`s
|
||||||
nix build -o $TEST_ROOT/result --flake-registry $registry flake4:xyzzy
|
nix build -o $TEST_ROOT/result --flake-registry $registry flake4:xyzzy
|
||||||
nix build -o $TEST_ROOT/result --flake-registry $registry file://$flake4Dir:xyzzy
|
#nix build -o $TEST_ROOT/result --flake-registry $registry file://$flake4Dir:xyzzy
|
||||||
|
|
||||||
# Make branch "removeXyzzy" where flake3 doesn't have xyzzy anymore
|
# Make branch "removeXyzzy" where flake3 doesn't have xyzzy anymore
|
||||||
git -C $flake3Dir checkout -b removeXyzzy
|
git -C $flake3Dir checkout -b removeXyzzy
|
||||||
|
|
Loading…
Reference in a new issue