about summary refs log tree commit diff
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
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
-rw-r--r--pkgs/applications/editors/vim/default.nix4
-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
-rw-r--r--pkgs/stdenv/pure-darwin/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix7
7 files changed, 36 insertions, 27 deletions
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index 3bdd44529ddb..cb151548f79d 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, ncurses, gettext, pkgconfig
 
 # apple frameworks
-, CoreServices, CoreData, Cocoa, Foundation, libobjc }:
+, CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private }:
 
 stdenv.mkDerivation rec {
   name = "vim-${version}";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   buildInputs = [ ncurses pkgconfig ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ CoreData CoreServices Cocoa Foundation libobjc ];
+    ++ stdenv.lib.optionals stdenv.isDarwin [ cf-private CoreData CoreServices Cocoa Foundation libobjc ];
   nativeBuildInputs = [ gettext ];
 
   configureFlags = [
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";
 }
diff --git a/pkgs/stdenv/pure-darwin/default.nix b/pkgs/stdenv/pure-darwin/default.nix
index 51780b6f774b..1d194f90d9b8 100644
--- a/pkgs/stdenv/pure-darwin/default.nix
+++ b/pkgs/stdenv/pure-darwin/default.nix
@@ -43,6 +43,8 @@ in rec {
     export MACOSX_DEPLOYMENT_TARGET=10.7
     export SDKROOT=
     export CMAKE_OSX_ARCHITECTURES=x86_64
+    # Workaround for https://openradar.appspot.com/22671534 on 10.11.
+    export gl_cv_func_getcwd_abort_bug=no
   '';
 
   # The one dependency of /bin/sh :(
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2fd9ac1ca81a..440113a7d3f7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9483,6 +9483,11 @@ let
 
     cctools = (callPackage ../os-specific/darwin/cctools/port.nix { inherit libobjc; }).native;
 
+    cf-private = callPackage ../os-specific/darwin/cf-private {
+      inherit (apple-source-releases) CF;
+      inherit osx_private_sdk;
+    };
+
     maloader = callPackage ../os-specific/darwin/maloader {
       inherit opencflite;
     };
@@ -13000,7 +13005,7 @@ let
 
   vim = callPackage ../applications/editors/vim {
     inherit (darwin.apple_sdk.frameworks) CoreServices Cocoa Foundation CoreData;
-    inherit (darwin) libobjc;
+    inherit (darwin) libobjc cf-private;
   };
 
   macvim = callPackage ../applications/editors/vim/macvim.nix { stdenv = clangStdenv; };