apple-sdk: 10.9 -> 10.11

This commit is contained in:
Dan Peebles 2016-12-19 19:45:09 -05:00
parent 405507acac
commit 377cef8d16
2 changed files with 23 additions and 6 deletions

View File

@ -1,29 +1,42 @@
{ stdenv, fetchurl, xar, gzip, cpio, pkgs }:
{ stdenv, fetchurl, xar, xz, cpio, pkgs, python }:
let
# TODO: make this available to other packages and generalize the unpacking a bit
# from https://gist.github.com/pudquick/ff412bcb29c9c1fa4b8d
unpbzx = fetchurl {
url = "https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py";
sha256 = "0jgp6qbfl36i0jlz7as5zk2w20z4ca8wlrhdw49lwsld6wi3rfhc";
};
# sadly needs to be exported because security_tool needs it
sdk = stdenv.mkDerivation rec {
version = "10.9";
version = "10.11";
name = "MacOS_SDK-${version}";
# This URL comes from https://swscan.apple.com/content/catalogs/others/index-10.11-1.sucatalog, which we found by:
# 1. Google: site:swscan.apple.com and look for a name that seems appropriate for your version
# 2. In the resulting file, search for a file called DevSDK ending in .pkg
# 3. ???
# 4. Profit
src = fetchurl {
url = "http://swcdn.apple.com/content/downloads/27/02/031-06182/xxog8vxu8i6af781ivf4uhy6yt1lslex34/DevSDK_OSX109.pkg";
sha256 = "16b7aplha5573yl1d44nl2yxzp0w2hafihbyh7930wrcvba69iy4";
url = "http://swcdn.apple.com/content/downloads/61/58/031-85396/fsu2775ydsciy13wycm3zngxrjcp0eqsl2/DevSDK_OSX1011.pkg";
sha256 = "182yh8li653pjrzgk7s2dvsqm7vwkk6ry8n31qqs8c0xr67yrqgl";
};
buildInputs = [ xar gzip cpio ];
buildInputs = [ xar xz cpio python ];
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
unpackPhase = ''
xar -x -f $src
python ${unpbzx} Payload
'';
installPhase = ''
start="$(pwd)"
mkdir -p $out
cd $out
cat $start/Payload | gzip -d | cpio -idm
cat $start/Payload.*.xz | xz -d | cpio -idm
mv usr/* .
rmdir usr
@ -110,6 +123,7 @@ let
popd >/dev/null
}
linkFramework "${name}.framework"
'';

View File

@ -52,6 +52,7 @@ with frameworks; with libs; {
GSS = [];
GameController = [];
GameKit = [ Foundation ];
Hypervisor = [];
ICADevices = [ Carbon CF IOBluetooth ];
IMServicePlugIn = [];
IOBluetoothUI = [ IOBluetooth ];
@ -116,4 +117,6 @@ with frameworks; with libs; {
OpenDirectory = [];
Quartz = [ QuickLook QTKit ];
QuartzCore = [ ApplicationServices CF CoreVideo OpenCL ];
vmnet = [];
}