diff --git a/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix b/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix index e4cc740ba1e..2576d8bcafb 100644 --- a/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix @@ -50,16 +50,18 @@ let ''; }; - mkStdenv = stdenv: - let - cc = stdenv.cc.override { + mkCc = cc: + if stdenv.isAarch64 then cc + else + cc.override { bintools = stdenv.cc.bintools.override { libc = packages.Libsystem; }; libc = packages.Libsystem; }; - in + + mkStdenv = stdenv: if stdenv.isAarch64 then stdenv else - (overrideCC stdenv cc).override { + (overrideCC stdenv (mkCc stdenv.cc)).override { targetPlatform = stdenv.targetPlatform // { darwinMinVersion = "10.12"; darwinSdkVersion = "11.0"; @@ -104,6 +106,12 @@ let rustPlatform = pkgs.makeRustPlatform { inherit (pkgs.darwin.apple_sdk_11_0) stdenv; inherit (pkgs) rustc cargo; + } // { + inherit (pkgs.callPackage ../../../build-support/rust/hooks { + inherit (pkgs.darwin.apple_sdk_11_0) stdenv; + inherit (pkgs) cargo rustc; + clang = mkCc pkgs.clang; + }) bindgenHook; }; callPackage = newScope (lib.optionalAttrs stdenv.isDarwin (stdenvs // rec {