diff options
Diffstat (limited to 'pkgs/os-specific/darwin/xcode')
-rw-r--r-- | pkgs/os-specific/darwin/xcode/default.nix | 22 | ||||
-rw-r--r-- | pkgs/os-specific/darwin/xcode/sdk-pkgs.nix | 20 |
2 files changed, 22 insertions, 20 deletions
diff --git a/pkgs/os-specific/darwin/xcode/default.nix b/pkgs/os-specific/darwin/xcode/default.nix index 1144232fba2..2ce607896b5 100644 --- a/pkgs/os-specific/darwin/xcode/default.nix +++ b/pkgs/os-specific/darwin/xcode/default.nix @@ -1,10 +1,10 @@ -{ stdenv, requireFile, lib }: +{ buildPlatform, requireFile, targetPlatform, lib }: let requireXcode = version: sha256: let xip = "Xcode_" + version + ".xip"; # TODO(alexfmpe): Find out how to validate the .xip signature in Linux - unxip = if stdenv.isDarwin + unxip = if buildPlatform.isDarwin then '' open -W ${xip} rm -rf ${xip} @@ -31,7 +31,7 @@ let requireXcode = version: sha256: rm -rf Xcode.app ''; }; - meta = with stdenv.lib; { + meta = with lib; { homepage = "https://developer.apple.com/downloads/"; description = "Apple's XCode SDK"; license = licenses.unfree; @@ -53,5 +53,19 @@ in lib.makeExtensible (self: { xcode_10_2_1 = requireXcode "10.2.1" "11sdb54nr0x7kp987qq839x6k5gdx7vqdxjiy5xm5279n1n47bmg"; xcode_10_3 = requireXcode "10.3" "1i628vfn6zad81fsz3zpc6z15chhskvyp8qnajp2wnpzvrwl6ngb"; xcode_11 = requireXcode "11" "1r03j3kkp4blfp2kqpn538w3dx57ms930fj8apjkq6dk7fv3jcqh"; - xcode = self."xcode_${lib.replaceStrings ["."] ["_"] (if stdenv.targetPlatform.useiOSPrebuilt then stdenv.targetPlatform.xcodeVer else "10.3")}"; + xcode_11_1 = requireXcode "11.1" "1c2gzc4jhhx5a7ncg19sh1r99izhipybaqxl1ll52x5y8689awc1"; + xcode_11_2 = requireXcode "11.2" "1lm3q8zpvm184246h5j9mw4c1y9kk9sxnr3j98kfm0312n0l98gj"; + xcode_11_3 = requireXcode "11.3" "04rv6xlywy8xqfx9ma8ygsdw4yhckk2mq0qnklxnfly899iw4wza"; + xcode_11_3_1 = requireXcode "11.3.1" "1p6nicj91kr6ad3rmycahd1i7z4hj7ccjs93ixsiximjzaahx3q4"; + xcode_11_4 = requireXcode "11.4" "065rpb3rdk19nv3rwyf9bk32ccbd0lld12gj12l89cyg65mhpyy7"; + xcode_11_5 = requireXcode "11.5" "1dizazq9nz1vjkc5gy7dd4x760mkfjiifk1hf6d9mscchdq8rfkw"; + xcode_11_6 = requireXcode "11.6" "1y4fhw1kiphzxdb4wpv697z5r0algvaldwq5iqv266797rnfql4x"; + xcode_11_7 = requireXcode "11.7" "0422rdc4j5qwyk59anbybxyfv0p26x0xryszm0wd8i44g66smlmj"; + xcode_12 = requireXcode "12" "1w3xm268pyn5m04wv22invd5kr2k4jqllgrzapv6n1sxxynxrh8z"; + xcode_12_0_1 = requireXcode "12.0.1" "1p6vd5ai0hh3cq6aflh4h21ar0shxnz8wlkaxwq7liwsdmkwzbl0"; + xcode_12_1 = requireXcode "12.1" "1widy74dk43wx8iqgd7arzf6q4kzdmaz8pfwymzs8chnq9dqr3wp"; + xcode_12_2 = requireXcode "12.2" "17i0wf4pwrxwfgjw7rpw9mcd59nkmys1k5h2rqsw81snzyxy9j0v"; + xcode_12_3 = requireXcode "12.3" "0kwf1y4llysf1p0nsbqyzccn7d77my0ldagr5fi3by4k0xy3d189"; + xcode = self."xcode_${lib.replaceStrings ["."] ["_"] (if (targetPlatform ? xcodeVer) then targetPlatform.xcodeVer else "12.3")}"; }) + diff --git a/pkgs/os-specific/darwin/xcode/sdk-pkgs.nix b/pkgs/os-specific/darwin/xcode/sdk-pkgs.nix index e8302a82555..0512d9dd46a 100644 --- a/pkgs/os-specific/darwin/xcode/sdk-pkgs.nix +++ b/pkgs/os-specific/darwin/xcode/sdk-pkgs.nix @@ -2,7 +2,7 @@ , clang-unwrapped , binutils-unwrapped , runCommand -, stdenv + , wrapBintoolsWith , wrapCCWith , buildIosSdk, targetIosSdkPkgs @@ -12,13 +12,7 @@ let -minSdkVersion = "9.0"; - -iosPlatformArch = { parsed, ... }: { - armv7a = "armv7"; - aarch64 = "arm64"; - x86_64 = "x86_64"; -}.${parsed.cpu.name}; +minSdkVersion = targetPlatform.minSdkVersion or "9.0"; in @@ -35,9 +29,6 @@ rec { binutils = wrapBintoolsWith { libc = targetIosSdkPkgs.libraries; bintools = binutils-unwrapped; - extraBuildCommands = '' - echo "-arch ${iosPlatformArch targetPlatform}" >> $out/nix-support/libc-ldflags - ''; }; clang = (wrapCCWith { @@ -48,12 +39,9 @@ rec { extraBuildCommands = '' tr '\n' ' ' < $out/nix-support/cc-cflags > cc-cflags.tmp mv cc-cflags.tmp $out/nix-support/cc-cflags - echo "-target ${targetPlatform.config} -arch ${iosPlatformArch targetPlatform}" >> $out/nix-support/cc-cflags + echo "-target ${targetPlatform.config}" >> $out/nix-support/cc-cflags echo "-isystem ${sdk}/usr/include${lib.optionalString (lib.versionAtLeast "10" sdk.version) " -isystem ${sdk}/usr/include/c++/4.2.1/ -stdlib=libstdc++"}" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (sdk.platform == "iPhoneSimulator") '' - echo "-mios-simulator-version-min=${minSdkVersion}" >> $out/nix-support/cc-cflags - '' + stdenv.lib.optionalString (sdk.platform == "iPhoneOS") '' - echo "-miphoneos-version-min=${minSdkVersion}" >> $out/nix-support/cc-cflags + ${lib.optionalString (lib.versionAtLeast sdk.version "14") "echo -isystem ${xcode}/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 >> $out/nix-support/cc-cflags"} ''; }) // { inherit sdk; |