summary refs log tree commit diff
path: root/pkgs/os-specific/darwin/apple-sdk/default.nix
diff options
context:
space:
mode:
authorAristid Breitkreuz <aristidb@gmail.com>2016-12-20 14:05:30 +0100
committerAristid Breitkreuz <aristidb@gmail.com>2016-12-20 14:05:30 +0100
commitbb18e10ba0431bf9b8685d3b589f0ef262d5184d (patch)
treee2d54d2369993eab14429946770f8cdee154b39d /pkgs/os-specific/darwin/apple-sdk/default.nix
parent3a0f1975b09c4e0c7c68e4231b5c988a34af1ac5 (diff)
parenta02bb00156086b45e68c1112008db506734f8649 (diff)
downloadnixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.tar
nixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.tar.gz
nixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.tar.bz2
nixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.tar.lz
nixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.tar.xz
nixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.tar.zst
nixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.zip
Merge remote-tracking branch 'origin/master' into staging
Diffstat (limited to 'pkgs/os-specific/darwin/apple-sdk/default.nix')
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix26
1 files changed, 20 insertions, 6 deletions
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index 1148fe5c4a16..7a85790c57e6 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
@@ -114,6 +127,7 @@ let
         popd >/dev/null
       }
 
+
       linkFramework "${name}.framework"
     '';