From 2c070763c74ca131e58d9d6762690c79170cda48 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Tue, 23 May 2023 22:01:16 -0400 Subject: [PATCH 1/2] rustPlatform.bindgenHook: use the correct Libsystem on the 11.0 SDK --- pkgs/os-specific/darwin/apple-sdk-11.0/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) 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..4f457860fee 100644 --- a/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix @@ -104,6 +104,15 @@ 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 = pkgs.clang.override { + bintools = pkgs.clang.bintools.override { libc = packages.Libsystem; }; + libc = packages.Libsystem; + }; + }) bindgenHook; }; callPackage = newScope (lib.optionalAttrs stdenv.isDarwin (stdenvs // rec { From 3d29de1f5b790d2074f93ae1ffceb1f01c91dece Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Wed, 24 May 2023 16:49:40 +0300 Subject: [PATCH 2/2] darwin.apple_sdk_11_0: add mkCc --- .../darwin/apple-sdk-11.0/default.nix | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) 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 4f457860fee..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"; @@ -108,10 +110,7 @@ let inherit (pkgs.callPackage ../../../build-support/rust/hooks { inherit (pkgs.darwin.apple_sdk_11_0) stdenv; inherit (pkgs) cargo rustc; - clang = pkgs.clang.override { - bintools = pkgs.clang.bintools.override { libc = packages.Libsystem; }; - libc = packages.Libsystem; - }; + clang = mkCc pkgs.clang; }) bindgenHook; };