From 377cef8d16c47df74d2653432d9bba968236c8a0 Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Mon, 19 Dec 2016 19:45:09 -0500 Subject: apple-sdk: 10.9 -> 10.11 --- pkgs/os-specific/darwin/apple-sdk/default.nix | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'pkgs/os-specific/darwin/apple-sdk/default.nix') diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index c1e09c201114..7f46a3963e04 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" ''; -- cgit 1.4.1