about summary refs log tree commit diff
path: root/pkgs/os-specific/darwin
diff options
context:
space:
mode:
authorJude Taylor <me@jude.bio>2015-10-06 00:11:00 -0700
committerJude Taylor <me@jude.bio>2015-10-06 00:11:10 -0700
commit7283bb7466ba407caaa5077c527938685736a8d5 (patch)
tree6e6979b2e2cd1d85bd4258ee1728773cba9080f1 /pkgs/os-specific/darwin
parentbcf536ff3fb6338caeb92c4fce0c7053599aeb91 (diff)
downloadnixlib-7283bb7466ba407caaa5077c527938685736a8d5.tar
nixlib-7283bb7466ba407caaa5077c527938685736a8d5.tar.gz
nixlib-7283bb7466ba407caaa5077c527938685736a8d5.tar.bz2
nixlib-7283bb7466ba407caaa5077c527938685736a8d5.tar.lz
nixlib-7283bb7466ba407caaa5077c527938685736a8d5.tar.xz
nixlib-7283bb7466ba407caaa5077c527938685736a8d5.tar.zst
nixlib-7283bb7466ba407caaa5077c527938685736a8d5.zip
introduce separate cf-private package to account for no CLT
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";
 }