nixpkgs/pkgs/top-level/darwin-packages.nix
Ivan Babrou a730703e6f
darwin.binutils: use clang for as on aarch64-darwin (#115167)
Without this change `as` on `aarch64-darwin` is defunct:

```
$ /nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/bin/as -v
/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/bin/as: assembler (/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/arm64/as or /nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/arm64/as) for architecture arm64 not installed
Installed assemblers are:
/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/ppc64/as for architecture ppc64
/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/x86_64/as for architecture x86_64
/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/ppc/as for architecture ppc
/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/i386/as for architecture i386
/nix/store/g11xba8ch20zndaf32hfnap46z47b5k3-cctools-port-949.0.1/libexec/as/arm/as for architecture arm
```

Apple defaults to Clang in all cases from what I see, but nixpkgs prefers `cctools`: #51881.
2021-03-17 00:27:34 -04:00

104 lines
3.2 KiB
Nix

{ buildPackages, pkgs, targetPackages
, darwin, stdenv, callPackage, callPackages, newScope
}:
let
apple-source-releases = callPackage ../os-specific/darwin/apple-source-releases { };
impure-cmds = callPackage ../os-specific/darwin/impure-cmds { };
in
(impure-cmds // apple-source-releases // {
callPackage = newScope (darwin.apple_sdk.frameworks // darwin);
stdenvNoCF = stdenv.override {
extraBuildInputs = [];
};
apple_sdk = callPackage ../os-specific/darwin/apple-sdk {
inherit (darwin) darwin-stubs print-reexports;
};
binutils-unwrapped = callPackage ../os-specific/darwin/binutils {
inherit (darwin) cctools;
inherit (pkgs) binutils-unwrapped;
inherit (pkgs.llvmPackages_7) llvm clang-unwrapped;
};
binutils = pkgs.wrapBintoolsWith {
libc =
if stdenv.targetPlatform != stdenv.hostPlatform
then pkgs.libcCross
else pkgs.stdenv.cc.libc;
bintools = darwin.binutils-unwrapped;
};
cctools = callPackage ../os-specific/darwin/cctools/port.nix {
inherit (darwin) libobjc maloader libtapi;
stdenv = if stdenv.isDarwin then stdenv else pkgs.libcxxStdenv;
libcxxabi = pkgs.libcxxabi;
};
# TODO: remove alias.
cf-private = darwin.apple_sdk.frameworks.CoreFoundation;
DarwinTools = callPackage ../os-specific/darwin/DarwinTools { };
darwin-stubs = callPackage ../os-specific/darwin/darwin-stubs { };
print-reexports = callPackage ../os-specific/darwin/apple-sdk/print-reexports { };
maloader = callPackage ../os-specific/darwin/maloader {
inherit (darwin) opencflite;
};
insert_dylib = callPackage ../os-specific/darwin/insert_dylib { };
iosSdkPkgs = darwin.callPackage ../os-specific/darwin/xcode/sdk-pkgs.nix {
buildIosSdk = buildPackages.darwin.iosSdkPkgs.sdk;
targetIosSdkPkgs = targetPackages.darwin.iosSdkPkgs;
xcode = darwin.xcode;
inherit (pkgs.llvmPackages) clang-unwrapped;
};
iproute2mac = callPackage ../os-specific/darwin/iproute2mac { };
libobjc = apple-source-releases.objc4;
lsusb = callPackage ../os-specific/darwin/lsusb { };
opencflite = callPackage ../os-specific/darwin/opencflite { };
stubs = callPackages ../os-specific/darwin/stubs { };
trash = darwin.callPackage ../os-specific/darwin/trash { };
usr-include = callPackage ../os-specific/darwin/usr-include { };
inherit (callPackages ../os-specific/darwin/xcode { })
xcode_8_1 xcode_8_2
xcode_9_1 xcode_9_2 xcode_9_4 xcode_9_4_1
xcode_10_2 xcode_10_2_1 xcode_10_3
xcode_11
xcode;
CoreSymbolication = callPackage ../os-specific/darwin/CoreSymbolication { };
CF = callPackage ../os-specific/darwin/swift-corelibs/corefoundation.nix { inherit (darwin) objc4 ICU; };
# As the name says, this is broken, but I don't want to lose it since it's a direction we want to go in
# libdispatch-broken = callPackage ../os-specific/darwin/swift-corelibs/libdispatch.nix { inherit (darwin) apple_sdk_sierra xnu; };
darling = callPackage ../os-specific/darwin/darling/default.nix { };
libtapi = callPackage ../os-specific/darwin/libtapi {};
ios-deploy = callPackage ../os-specific/darwin/ios-deploy {};
discrete-scroll = callPackage ../os-specific/darwin/discrete-scroll {
inherit (darwin.apple_sdk.frameworks) Cocoa;
};
})