about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2024-10-27T12·19+0100
committerclbot <clbot@tvl.fyi>2024-10-27T14·29+0000
commit057e4e3a997426434a8c511d237a6653c4927530 (patch)
treefe4bb3c32be433c4c1f922a810e8692eb47a435b
parent4c90f723d870822d26a4852606d86837d8024d9e (diff)
fix(tvix/shell): fix shell on MacOS r/8866
runc is not available on MacOS, we only want to include it in the shell if on
Linux.

Point TVIX_BUILD_SANDBOX_SHELL to /bin/sh if not on Linux.
While we cannot use the OCI/runc executor on MacOS, other implementations might
make use of this env var, so it's good to keep setting it.

Also update the other occurence of it, in tvix/utils.nix.

Change-Id: If7b47e1bb7c41bbde84c93016713754a252c4355
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12691
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Tested-by: BuildkiteCI
-rw-r--r--tvix/shell.nix5
-rw-r--r--tvix/utils.nix2
2 files changed, 4 insertions, 3 deletions
diff --git a/tvix/shell.nix b/tvix/shell.nix
index 0d5e2f27b5df..f3a4c946b39e 100644
--- a/tvix/shell.nix
+++ b/tvix/shell.nix
@@ -48,12 +48,13 @@ pkgs.mkShell {
     pkgs.mdbook-plantuml
     pkgs.nix_2_3 # b/313
     pkgs.pkg-config
-    pkgs.runc
     pkgs.rust-analyzer
     pkgs.rustc
     pkgs.rustfmt
     pkgs.plantuml
     pkgs.protobuf
+  ] ++ pkgs.lib.optionals pkgs.stdenv.isLinux [
+    pkgs.runc
   ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [
     # We need these two dependencies in the ambient environment to be able to
     # `cargo build` on MacOS.
@@ -67,7 +68,7 @@ pkgs.mkShell {
   # should also benchmark with a more static nixpkgs checkout, so nixpkgs
   # refactorings are not observed as eval perf changes.
   shellHook = ''
-    export TVIX_BUILD_SANDBOX_SHELL=${pkgs.busybox-sandbox-shell}/bin/busybox
+    export TVIX_BUILD_SANDBOX_SHELL=${if pkgs.stdenv.isLinux then pkgs.busybox-sandbox-shell + "/bin/busybox" else "/bin/sh"}
     export TVIX_BENCH_NIX_PATH=nixpkgs=${pkgs.path}
   '';
 }
diff --git a/tvix/utils.nix b/tvix/utils.nix
index 4a1fe4327029..f140728cad19 100644
--- a/tvix/utils.nix
+++ b/tvix/utils.nix
@@ -79,7 +79,7 @@
         PROTO_ROOT = depot.tvix.build.protos.protos;
         nativeBuildInputs = [ pkgs.protobuf ];
         buildInputs = lib.optional pkgs.stdenv.isDarwin commonDarwinDeps;
-        TVIX_BUILD_SANDBOX_SHELL = "${pkgs.pkgsStatic.busybox}/bin/sh";
+        TVIX_BUILD_SANDBOX_SHELL = if pkgs.stdenv.isLinux then pkgs.pkgsStatic.busybox + "/bin/sh" else "/bin/sh";
       };
 
       tvix-castore = prev: {