diff options
author | Griffin Smith <grfn@gws.fyi> | 2020-07-25T01·30-0400 |
---|---|---|
committer | glittershark <grfn@gws.fyi> | 2020-07-25T02·29+0000 |
commit | 2f85dfe50c1eb9622a1b409de95629bcced0992f (patch) | |
tree | 3354016f3d4010550fbd144cbd2b2ed28095f5cf /third_party/nix | |
parent | 4dca023385034839873b330cb6fcaf46807e0a59 (diff) |
fix(3p/nix): Don't include depotPath in the main drv r/1466
Including depotPath in the shellHook of the main derivation for tvix was, unsurprisingly, causing spurious rebuilds. It's still useful when developing locally, though, so I've extracted it to a `build-shell` derivation as a passthru attribute and updated the documentation. Fixes: #20 Change-Id: Ibc686b9f06ec68e79759ca2c989414bd5fbce696 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1426 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
Diffstat (limited to '')
-rw-r--r-- | third_party/nix/README.md | 2 | ||||
-rw-r--r-- | third_party/nix/default.nix | 19 |
2 files changed, 12 insertions, 9 deletions
diff --git a/third_party/nix/README.md b/third_party/nix/README.md index 9e3d7486c87a..36ba7d0c2742 100644 --- a/third_party/nix/README.md +++ b/third_party/nix/README.md @@ -144,7 +144,7 @@ nix-shell. mkdir ~/build/tvix cd ~/build/tvix -nix-shell $DEPOT_PATH -A third_party.nix +nix-shell $DEPOT_PATH -A third_party.nix.build-shell # Disable clang-tidy for quicker builds cmake $DEPOT_PATH -DCLANG_TIDY_PATH="" diff --git a/third_party/nix/default.nix b/third_party/nix/default.nix index c8ed5adc8720..a5f2e5bd7677 100644 --- a/third_party/nix/default.nix +++ b/third_party/nix/default.nix @@ -30,7 +30,7 @@ let --plugin=protoc-gen-grpc=${pkgs.grpc}/bin/grpc_cpp_plugin --grpc_out=$out/libproto \ $PROTO_SRCS/*.proto ''; -in pkgs.llvmPackages.libcxxStdenv.mkDerivation { +in lib.fix (self: pkgs.llvmPackages.libcxxStdenv.mkDerivation { pname = "tvix"; version = "2.3.4"; inherit src; @@ -133,13 +133,16 @@ in pkgs.llvmPackages.libcxxStdenv.mkDerivation { ln -s $out/bin/nix $out/libexec/nix/build-remote ''; - shellHook = '' - export NIX_DATA_DIR="${toString depotPath}/third_party" - export NIX_TEST_VAR=foo - ''; - # TODO(tazjin): integration test setup? # TODO(tazjin): docs generation? - passthru = { test-vm = import ./test-vm.nix args; }; -} + passthru = { + build-shell = self.overrideAttrs (_: { + shellHook = '' + export NIX_DATA_DIR="${toString depotPath}/third_party" + export NIX_TEST_VAR=foo + ''; + }); + test-vm = import ./test-vm.nix args; + }; +}) |