about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tvix/Cargo.nix2
-rw-r--r--tvix/default.nix3
-rw-r--r--tvix/store/Cargo.toml2
-rw-r--r--tvix/store/default.nix3
4 files changed, 7 insertions, 3 deletions
diff --git a/tvix/Cargo.nix b/tvix/Cargo.nix
index f0eb27a6ef35..e5ca1679344c 100644
--- a/tvix/Cargo.nix
+++ b/tvix/Cargo.nix
@@ -8880,7 +8880,7 @@ rec {
           }
         ];
         features = {
-          "default" = [ "fuse" "virtiofs" "tonic-reflection" ];
+          "default" = [ "fuse" "tonic-reflection" ];
           "fs" = [ "dep:libc" "dep:fuse-backend-rs" ];
           "fuse" = [ "fs" ];
           "tonic-reflection" = [ "dep:tonic-reflection" "tvix-castore/tonic-reflection" ];
diff --git a/tvix/default.nix b/tvix/default.nix
index 94f50b29ba80..34acde434a80 100644
--- a/tvix/default.nix
+++ b/tvix/default.nix
@@ -5,6 +5,8 @@ let
   # crate override for crates that need protobuf
   protobufDep = prev: (prev.nativeBuildInputs or [ ]) ++ [ pkgs.protobuf ];
   iconvDarwinDep = lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ];
+  # fuse-backend-rs uses DiskArbitration framework to handle mount/unmount on Darwin
+  diskArbitrationDep = lib.optionals pkgs.stdenv.isDarwin [ pkgs.buildPackages.darwin.apple_sdk.frameworks.DiskArbitration ];
 
   # Load the crate2nix crate tree.
   crates = import ./Cargo.nix {
@@ -44,6 +46,7 @@ let
       tvix-store = prev: {
         PROTO_ROOT = depot.tvix.proto;
         nativeBuildInputs = protobufDep prev;
+        buildInputs = prev.buildInputs or [ ] ++ diskArbitrationDep;
       };
     };
   };
diff --git a/tvix/store/Cargo.toml b/tvix/store/Cargo.toml
index d566ebed7059..41a19d7ed120 100644
--- a/tvix/store/Cargo.toml
+++ b/tvix/store/Cargo.toml
@@ -80,7 +80,7 @@ tempfile = "3.3.0"
 tonic-mock = { git = "https://github.com/brainrake/tonic-mock", branch = "bump-dependencies" }
 
 [features]
-default = ["fuse", "virtiofs", "tonic-reflection"]
+default = ["fuse", "tonic-reflection"]
 fs = ["dep:libc", "dep:fuse-backend-rs"]
 virtiofs = [
   "fs",
diff --git a/tvix/store/default.nix b/tvix/store/default.nix
index 0372047e94fe..35d2a22bb2ce 100644
--- a/tvix/store/default.nix
+++ b/tvix/store/default.nix
@@ -25,7 +25,8 @@ in
 (depot.tvix.crates.workspaceMembers.tvix-store.build.override {
   runTests = true;
   # virtiofs feature currently fails to build on Darwin.
-  features = if pkgs.stdenv.isDarwin then [ "fuse" "tonic-reflection" ] else [ "default" ];
+  # we however can ship it for non-darwin.
+  features = if pkgs.stdenv.isDarwin then [ "default" ] else [ "default" "virtiofs" ];
 }).overrideAttrs (_: {
   meta.ci.extraSteps = {
     import-docs = (mkImportCheck "tvix/store/docs" ./docs);