about summary refs log tree commit diff
path: root/tvix/default.nix
diff options
context:
space:
mode:
authorNikita Voloboev <nikita.voloboev@gmail.com>2024-02-06T18·57+0300
committerNikita Voloboev <nikita.voloboev@gmail.com>2024-02-06T19·10+0000
commit70c068df51c46cecb44453bf2e0dcab8c07afe14 (patch)
treeb627684d5b5bfc14c8fac021cad3ffc9032c8778 /tvix/default.nix
parent40d81d0c74bdad3d78a28a0fe63322ef9820d866 (diff)
fix(tvix): fix build on darwin r/7480
on macOS additional framework was needed to build tvix build

Change-Id: I0e327378d1bd4837f62496c4c6e66bc489ddedb4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10747
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Diffstat (limited to 'tvix/default.nix')
-rw-r--r--tvix/default.nix10
1 files changed, 7 insertions, 3 deletions
diff --git a/tvix/default.nix b/tvix/default.nix
index 9080a85a2dc0..e34e5e3164b3 100644
--- a/tvix/default.nix
+++ b/tvix/default.nix
@@ -7,7 +7,10 @@ let
   iconvDarwinDep = lib.optional pkgs.stdenv.isDarwin pkgs.libiconv;
 
   # On Darwin, some crates producing binaries need to be able to link against security.
-  securityDarwinDep = lib.optional pkgs.stdenv.isDarwin pkgs.buildPackages.darwin.apple_sdk.frameworks.Security;
+  darwinDeps = lib.optionals pkgs.stdenv.isDarwin (with pkgs.buildPackages.darwin.apple_sdk.frameworks; [
+    Security
+    SystemConfiguration
+  ]);
 
   # Load the crate2nix crate tree.
   crates = import ./Cargo.nix {
@@ -47,6 +50,7 @@ let
       tvix-build = prev: {
         PROTO_ROOT = depot.tvix.build.protos.protos;
         nativeBuildInputs = protobufDep prev;
+        buildInputs = darwinDeps;
       };
 
       tvix-castore = prev: {
@@ -55,7 +59,7 @@ let
       };
 
       tvix-cli = prev: {
-        buildInputs = prev.buildInputs or [ ] ++ securityDarwinDep;
+        buildInputs = prev.buildInputs or [ ] ++ darwinDeps;
       };
 
       tvix-store = prev: {
@@ -63,7 +67,7 @@ let
         nativeBuildInputs = protobufDep prev;
         # fuse-backend-rs uses DiskArbitration framework to handle mount/unmount on Darwin
         buildInputs = prev.buildInputs or [ ]
-          ++ securityDarwinDep
+          ++ darwinDeps
           ++ lib.optional pkgs.stdenv.isDarwin pkgs.buildPackages.darwin.apple_sdk.frameworks.DiskArbitration;
       };
     };