nix-prefetch-scripts: just don't depend on Nix

If we're running it from a build (fetchgit, fetchCargoVendor, etc),
none of the code paths that actually call Nix are hit.

If we're _not_ running it from a build, the user can reasonably be expected
to have a Nix present ambiently.

This avoids pulling Nix into the build closure of fetchCargoVendor,
and thus causing infrecs when Nix depends on Rust things.
This commit is contained in:
K900
2025-04-02 10:34:00 +03:00
parent 4af373b42d
commit 16c5b797a9
@@ -13,18 +13,6 @@
git-lfs,
gnused,
mercurial,
# FIXME: These scripts should not depend on Nix, they should depend on a
# `.nar` hasher compatible with Nix.
#
# The fact that these scripts depend on Nix means that e.g. Chromium depends
# on Nix.
#
# Also should be fixed:
# - prefetch-yarn-deps
# - nurl, nix-init
#
# Gridlock is one such candidate: https://github.com/lf-/gridlock
nixForLinking,
subversion,
}:
@@ -49,7 +37,6 @@ let
++ [
coreutils
gnused
nixForLinking
]
)
} \
@@ -66,6 +53,9 @@ let
};
in
rec {
# No explicit dependency on Nix, as these can be used inside builders,
# and thus will cause dependency loops. When used _outside_ builders,
# we expect people to have a Nix implementation available ambiently.
nix-prefetch-bzr = mkPrefetchScript "bzr" ../../../build-support/fetchbzr/nix-prefetch-bzr [
breezy
];