diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index c1e09c201114b9..7f46a3963e04ce 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -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" ''; diff --git a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix index 3ecb3511422028..cc99de258b23d4 100644 --- a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix +++ b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix @@ -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 = []; }