tvix view: cloned workspace must be called tvix currently

#260
Opened by flokli at 2023-03-11T21·05+00

tonic-build (or the way we configure it in tvix/store/build.rs currently requires things to live in a tvix subdirectory.

People cloning the tvix workspace to another name, by running:

git clone "https://code.tvl.fyi/depot.git:workspace=views/tvix.git" something

Get a very unhelpful error on a nix-shell --pure --run "cd store && cargo check":

error: failed to run custom build command for `tvix-store-bin v0.1.0 (/tmp/something/store)`

Caused by:
  process didn't exit successfully: `/tmp/something/target/debug/build/tvix-store-bin-59e9396cbcff23ea/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-changed=tvix/store/protos/castore.proto
  cargo:rerun-if-changed=tvix/store/protos/pathinfo.proto
  cargo:rerun-if-changed=tvix/store/protos/rpc_blobstore.proto
  cargo:rerun-if-changed=tvix/store/protos/rpc_directory.proto
  cargo:rerun-if-changed=tvix/store/protos/rpc_pathinfo.proto
  cargo:rerun-if-changed=../..

  --- stderr
  Error: Custom { kind: Other, error: "protoc failed: Could not make proto path relative: tvix/store/protos/castore.proto: No such file or directory\n" }

We might want to make this more robust.

  1. This could probably be fixed by adding something setting the PROTO_ROOT env var in what's set inside shell.nix.

    flokli at 2023-11-15T22·16+00