diff options
author | Connor Brewster <cbrewster@hey.com> | 2023-10-07T02·17-0500 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2023-10-07T02·34+0000 |
commit | 9019d8568e845afe9f2621bf3d5e1918a8ff5cf9 (patch) | |
tree | 70b7babfd7ed0077eb20e2c0b10627a3aeb6b913 /tvix | |
parent | 9c0d66197bfa60a0c14109a471b6bcdfd61247e1 (diff) |
fix(tvix/store): Remove virtiofs from default features r/6720
vhost-user-backend doesn't support macOS yet, so the virtiofs features will not work on macOS. This removes it as a default feature which makes `cargo build` work out of the box on macOS. The `virtiofs` feature is enabled for Linux when building via Nix, but if being built by cargo directly, the feature must be enabled via a cargo flag. Change-Id: I2aaca9582f8e3dbcf9ee5f1b9831d614909f3799 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9555 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Autosubmit: Connor Brewster <cbrewster@hey.com>
Diffstat (limited to 'tvix')
-rw-r--r-- | tvix/Cargo.nix | 2 | ||||
-rw-r--r-- | tvix/default.nix | 3 | ||||
-rw-r--r-- | tvix/store/Cargo.toml | 2 | ||||
-rw-r--r-- | tvix/store/default.nix | 3 |
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); |