From 057e4e3a997426434a8c511d237a6653c4927530 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 27 Oct 2024 13:19:27 +0100 Subject: fix(tvix/shell): fix shell on MacOS 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 Reviewed-by: Ilan Joselevich Tested-by: BuildkiteCI --- tvix/shell.nix | 5 +++-- tvix/utils.nix | 2 +- 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: { -- cgit 1.4.1