Skip to content

Commit

Permalink
build: rely on OS toolchain for aarch64 Darwin builds
Browse files Browse the repository at this point in the history
Signed-off-by: Roman Volosatovs <rvolosatovs@riseup.net>
  • Loading branch information
rvolosatovs committed Jul 12, 2023
1 parent 646043d commit e396734
Showing 1 changed file with 28 additions and 14 deletions.
42 changes: 28 additions & 14 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -195,21 +195,35 @@
depsBuildBuild
++ optional stdenv.hostPlatform.isDarwin libiconv;
}
// optionalAttrs (craneArgs ? cargoArtifacts) {
buildInputs =
buildInputs
++ optionals stdenv.hostPlatform.isDarwin [
pkgs.darwin.apple_sdk.frameworks.Security
pkgs.libiconv
];

# only lock deps in non-dep builds
preBuild =
preBuild
+ ''
${lock.build-test}
// optionalAttrs (craneArgs ? cargoArtifacts) ({
buildInputs =
buildInputs
++ optionals stdenv.hostPlatform.isDarwin [
pkgs.darwin.apple_sdk.frameworks.Security
pkgs.libiconv
];

# only lock deps in non-dep builds
preBuild =
preBuild
+ ''
${lock.build-test}
'';
}
// optionalAttrs (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isDarwin) {
preConfigure = ''
export SDKROOT=$(xcrun -sdk macosx --show-sdk-path);
export MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx --show-sdk-platform-version);
'';
};

CARGO_TARGET_AARCH64_APPLE_DARWIN_LINKER = "/usr/bin/ld";

AR_aarch64-apple-darwin = "/usr/bin/ar";
CC_aarch64-apple-darwin = "/usr/bin/clang";
CXX_aarch64-apple-darwin = "/usr/bin/clang++";
LD_aarch64-apple-darwin = "/usr/bin/ld";
RANLIB_aarch64-apple-darwin = "/usr/bin/ranlib";
});

withChecks = {
checks,
Expand Down

0 comments on commit e396734

Please sign in to comment.