diff options
author | Kane York <kanepyork@gmail.com> | 2020-08-17T01·03-0700 |
---|---|---|
committer | kanepyork <rikingcoding@gmail.com> | 2020-08-19T01·23+0000 |
commit | 92d4554b622ea85ca08d351f696f48a37c67e8b0 (patch) | |
tree | d7f5d041acef637f6e805daaac2550b7719c9f44 /tools/tvlc/default.nix | |
parent | d6f17f48de91538c5b3623484672c1a81d207cba (diff) |
feat(tools/tvlc): init project r/1681
tvlc is a tool for managing sparse git worktrees of the TVL depot. It is still in development; near-term tasks include a setup script, Nix dependency resolution, worktree removal, and the dispatch script. See cs.tvl.fyi/depot/docs/designs/SPARSE_CHECKOUTS.md for more info. Change-Id: Iad96656f0206178980fe7dcadd3dffe70d690f8f Reviewed-on: https://cl.tvl.fyi/c/depot/+/1760 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'tools/tvlc/default.nix')
-rw-r--r-- | tools/tvlc/default.nix | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tools/tvlc/default.nix b/tools/tvlc/default.nix new file mode 100644 index 000000000000..de18af236fdd --- /dev/null +++ b/tools/tvlc/default.nix @@ -0,0 +1,35 @@ +{ pkgs, depot, ... }: + +let + commonsh = ./common.sh; + + # TODO(riking): path deduction + #tvix-instantiate="${third_party.nix}/bin/nix-instantiate" + pathScripts = pkgs.writeShellScript "imports" '' + ''; + + # setup: git rev-parse --show-toplevel > $tvlc_root/depot_root + # setup: mkdir $tvlc_root/clients + # setup: echo 1 > $tvlc_root/next_clientid + + tvlcNew = pkgs.stdenv.mkDerivation { + name = "tvlc-new"; + src = ./tvlc-new; + doCheck = true; + + unpackPhase = "true"; + buildPhase = '' + substitute ${./tvlc-new} $out --replace common.sh ${commonsh} + ''; + checkPhase = '' + ${pkgs.shellcheck}/bin/shellcheck $out ${commonsh} && echo "SHELLCHECK OK" + ''; + installPhase = '' + chmod +x $out + ''; + }; + +in pkgs.stdenv.mkDerivation rec { + inherit commonsh; + inherit tvlcNew; +} |