diff options
author | John Ericson <Ericson2314@yahoo.com> | 2018-04-19 17:00:05 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-19 17:00:05 -0400 |
commit | cf0dd1dbd24ccb3b866f53cffb893105b178016f (patch) | |
tree | d3570a6afe0cf1bd55b068a287791627ed76d15c /pkgs/top-level | |
parent | 3dd676c1af5c673b1cb3ea6dc2f61054ccdcd6e1 (diff) | |
parent | ef3db7d14c90e1876d38ebc25428b4f65962ffbc (diff) | |
download | nixlib-cf0dd1dbd24ccb3b866f53cffb893105b178016f.tar nixlib-cf0dd1dbd24ccb3b866f53cffb893105b178016f.tar.gz nixlib-cf0dd1dbd24ccb3b866f53cffb893105b178016f.tar.bz2 nixlib-cf0dd1dbd24ccb3b866f53cffb893105b178016f.tar.lz nixlib-cf0dd1dbd24ccb3b866f53cffb893105b178016f.tar.xz nixlib-cf0dd1dbd24ccb3b866f53cffb893105b178016f.tar.zst nixlib-cf0dd1dbd24ccb3b866f53cffb893105b178016f.zip |
Merge pull request #39172 from obsidiansystems/ios-cross
ios-sdk-pkgs: Init from iOS SDK from XCode
Diffstat (limited to 'pkgs/top-level')
-rw-r--r-- | pkgs/top-level/all-packages.nix | 6 | ||||
-rw-r--r-- | pkgs/top-level/darwin-packages.nix | 20 |
2 files changed, 17 insertions, 9 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 05bb159a5f77..ec3a9186a8fe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6922,15 +6922,14 @@ with pkgs; libc = if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc; }; - wrapBintoolsWith = { bintools, libc }: bintoolsWrapperFun { + wrapBintoolsWith = { bintools, libc, extraBuildCommands ? "" }: bintoolsWrapperFun { nativeTools = targetPlatform == hostPlatform && stdenv.cc.nativeTools or false; nativeLibc = targetPlatform == hostPlatform && stdenv.cc.nativeLibc or false; nativePrefix = stdenv.cc.nativePrefix or ""; noLibc = (libc == null); - inherit bintools libc; - extraBuildCommands = ""; + inherit bintools libc extraBuildCommands; }; # prolog @@ -9016,6 +9015,7 @@ with pkgs; else if name == "uclibc" then uclibcCross else if name == "musl" then targetPackages.muslCross or muslCross else if name == "msvcrt" then targetPackages.windows.mingw_w64 or windows.mingw_w64 + else if targetPlatform.useiOSPrebuilt then targetPackages.iosSdkPkgs.libraries else if name == "libSystem" then darwin.xcode else throw "Unknown libc"; diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix index d1d5aa470bca..d2d41792c461 100644 --- a/pkgs/top-level/darwin-packages.nix +++ b/pkgs/top-level/darwin-packages.nix @@ -1,4 +1,6 @@ -{ pkgs, darwin, stdenv, callPackage, callPackages, newScope }: +{ buildPackages, pkgs, targetPackages +, darwin, stdenv, callPackage, callPackages, newScope +}: let apple-source-releases = callPackage ../os-specific/darwin/apple-source-releases { }; @@ -10,19 +12,23 @@ in apple_sdk = callPackage ../os-specific/darwin/apple-sdk { }; + binutils-unwrapped = callPackage ../os-specific/darwin/binutils { + inherit (darwin) cctools; + inherit (pkgs) binutils-unwrapped; + }; + binutils = pkgs.wrapBintoolsWith { libc = if pkgs.targetPlatform != pkgs.hostPlatform then pkgs.libcCross else pkgs.stdenv.cc.libc; - bintools = callPackage ../os-specific/darwin/binutils { - inherit (darwin) cctools; - }; + bintools = darwin.binutils-unwrapped; }; cctools = callPackage ../os-specific/darwin/cctools/port.nix { inherit (darwin) libobjc maloader; stdenv = if stdenv.isDarwin then stdenv else pkgs.libcxxStdenv; + libcxxabi = pkgs.libcxxabi; xctoolchain = darwin.xcode.toolchain; }; @@ -39,8 +45,10 @@ in insert_dylib = callPackage ../os-specific/darwin/insert_dylib { }; - ios-cross = callPackage ../os-specific/darwin/ios-cross { - inherit (darwin) binutils; + iosSdkPkgs = darwin.callPackage ../os-specific/darwin/ios-sdk-pkgs { + buildIosSdk = buildPackages.darwin.iosSdkPkgs.sdk; + targetIosSdkPkgs = targetPackages.darwin.iosSdkPkgs; + inherit (pkgs.llvmPackages) clang-unwrapped; }; libobjc = apple-source-releases.objc4; |