about summary refs log tree commit diff
path: root/pkgs/os-specific/darwin
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/darwin')
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix3
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CF/default.nix10
-rw-r--r--pkgs/os-specific/darwin/cf-private/default.nix18
-rw-r--r--pkgs/os-specific/darwin/osx-private-sdk/default.nix19
4 files changed, 26 insertions, 24 deletions
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index 7bdff59c5ae8..520d7019513e 100644
--- a/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -50,6 +50,9 @@ let
 
     phases = [ "installPhase" "fixupPhase" ];
 
+    # because we copy files from the system
+    preferLocalBuild = true;
+
     installPhase = ''
       linkFramework() {
         local path="$1"
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix
index ba97aa4a1fc7..ed35f8590bf6 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix
@@ -47,16 +47,6 @@ appleDerivation {
   '';
 
   postInstall = ''
-    # gross! convince apple to release these as part of CF
-    cp /System/Library/Frameworks/CoreFoundation.framework/Headers/{CFAttributedString,CFNotificationCenter}.h \
-      "$out/System/Library/Frameworks/CoreFoundation.framework/Headers"
-
-    cat >> $out/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h <<EOF
-    /* extra private system files [IMPURE] */
-    #include <CoreFoundation/CFAttributedString.h>
-    #include <CoreFoundation/CFNotificationCenter.h>
-    EOF
-
     mv $out/System/* $out
     rmdir $out/System
   '';
diff --git a/pkgs/os-specific/darwin/cf-private/default.nix b/pkgs/os-specific/darwin/cf-private/default.nix
new file mode 100644
index 000000000000..8c91e7fb2973
--- /dev/null
+++ b/pkgs/os-specific/darwin/cf-private/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, osx_private_sdk, CF }:
+
+let
+  headers = [
+    "CFAttributedString.h"
+    "CFNotificationCenter.h"
+    "CoreFoundation.h"
+  ];
+
+in stdenv.mkDerivation {
+  name = "${CF.name}-private";
+  unpackPhase = ":";
+  buildPhase = ":";
+  installPhase = ''
+    mkdir -p $out/include/CoreFoundation
+    install -m 0644 ${osx_private_sdk}/PrivateSDK10.10.sparse.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/{${stdenv.lib.concatStringsSep "," headers}} $out/include/CoreFoundation
+  '';
+}
diff --git a/pkgs/os-specific/darwin/osx-private-sdk/default.nix b/pkgs/os-specific/darwin/osx-private-sdk/default.nix
index febcb6b5d0cd..1b8f37fdb8d1 100644
--- a/pkgs/os-specific/darwin/osx-private-sdk/default.nix
+++ b/pkgs/os-specific/darwin/osx-private-sdk/default.nix
@@ -1,16 +1,7 @@
-{ stdenv, fetchzip }:
+{ stdenv, fetchgit }:
 
-let full = stdenv.lib.overrideDerivation (fetchzip {
-  url = "https://github.com/samdmarshall/OSXPrivateSDK/tarball/69bf3c7f7140ed6ab2b6684b427bd457209858fe";
-  name = "osx-private-sdk-10.9";
-  sha256 = "1agl4kyry6m7yz3sql5mrbvmd1xkmb4nbq976phcpk19inans1zm";
-}) (drv: {
-  postFetch = ''
-    unpackFile() {
-      tar xzf "$1"
-    }
-  '' + drv.postFetch;
-}); in {
-  outPath = "${full}/PrivateSDK10.9";
-  passthru.sdk10 = "${full}/PrivateSDK10.10";
+fetchgit {
+  url = "https://github.com/samdmarshall/OSXPrivateSDK.git";
+  rev = "f4d52b60e86b496abfaffa119a7d299562d99783";
+  sha256 = "0v1l11fqpqnzd5l2vq5c63jm1vrba56r06zpqnag87j5p1gic8lp";
 }