diff options
Diffstat (limited to 'pkgs/os-specific/darwin')
4 files changed, 31 insertions, 25 deletions
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index 7bdff59c5ae..59a816e9b94 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, xar, gzip, cpio, CF }: +{ stdenv, fetchurl, xar, gzip, cpio, CF, pkgs }: let # sadly needs to be exported because security_tool needs it @@ -50,6 +50,9 @@ let phases = [ "installPhase" "fixupPhase" ]; + # because we copy files from the system + preferLocalBuild = true; + installPhase = '' linkFramework() { local path="$1" @@ -145,6 +148,10 @@ in rec { }; overrides = super: { + AppKit = stdenv.lib.overrideDerivation super.AppKit (drv: { + propagatedNativeBuildInputs = drv.propagatedNativeBuildInputs ++ [ pkgs.darwin.cf-private ]; + }); + QuartzCore = stdenv.lib.overrideDerivation super.QuartzCore (drv: { installPhase = drv.installPhase + '' f="$out/Library/Frameworks/QuartzCore.framework/Headers/CoreImage.h" 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 ba97aa4a1fc..ed35f8590bf 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 00000000000..8c91e7fb297 --- /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 febcb6b5d0c..1b8f37fdb8d 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"; } |