feat(.envrc): gcroot third_party.sources
This is a bit slower than I'd like, but acceptable. Change-Id: I419b3c49201540de9d0ade1c6c2ac97758d8a811 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6576 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
parent
ee1f62f5e5
commit
16da548f93
3 changed files with 17 additions and 2 deletions
15
.envrc
15
.envrc
|
@ -1,7 +1,18 @@
|
||||||
|
# Create a gcroot that keeps all third_party.sources alive
|
||||||
|
nix-build --out-link .gcroots/sources -E '
|
||||||
|
with import ./. {};
|
||||||
|
third_party.nixpkgs.writeText "depot-3p-sources.txt" (
|
||||||
|
toString (
|
||||||
|
builtins.map (s: s.outPath or null) (
|
||||||
|
builtins.attrValues third_party.sources
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)'
|
||||||
|
|
||||||
# Configure the local PATH to contain tools which are fetched ad-hoc
|
# Configure the local PATH to contain tools which are fetched ad-hoc
|
||||||
# from Nix.
|
# from Nix.
|
||||||
|
out=$(nix-build -A tools.depot-deps --out-link .gcroots/depot-deps)
|
||||||
out=$(nix-build -A tools.depot-deps --no-out-link)
|
|
||||||
PATH_add "$out/bin"
|
PATH_add "$out/bin"
|
||||||
|
|
||||||
watch_file tools/depot-deps.nix
|
watch_file tools/depot-deps.nix
|
||||||
|
watch_file third_party/sources/sources.json
|
||||||
|
|
1
.gcroots/.skip-subtree
Normal file
1
.gcroots/.skip-subtree
Normal file
|
@ -0,0 +1 @@
|
||||||
|
these are just symlinks to prevent Nix from gc-ing paths we'd like to keep
|
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -2,6 +2,9 @@
|
||||||
# trash locally that might be valuable in the future.
|
# trash locally that might be valuable in the future.
|
||||||
garbage/
|
garbage/
|
||||||
|
|
||||||
|
# Nix gcroot symlinks created by .envrc
|
||||||
|
/.gcroots/*
|
||||||
|
|
||||||
# Ignore Nix result symlinks
|
# Ignore Nix result symlinks
|
||||||
result
|
result
|
||||||
result-*
|
result-*
|
||||||
|
|
Loading…
Reference in a new issue