summary refs log tree commit diff
path: root/pkgs/top-level
diff options
context:
space:
mode:
authorJohn Ericson <Ericson2314@yahoo.com>2018-04-19 17:00:05 -0400
committerGitHub <noreply@github.com>2018-04-19 17:00:05 -0400
commitcf0dd1dbd24ccb3b866f53cffb893105b178016f (patch)
treed3570a6afe0cf1bd55b068a287791627ed76d15c /pkgs/top-level
parent3dd676c1af5c673b1cb3ea6dc2f61054ccdcd6e1 (diff)
parentef3db7d14c90e1876d38ebc25428b4f65962ffbc (diff)
downloadnixlib-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.nix6
-rw-r--r--pkgs/top-level/darwin-packages.nix20
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;