forked from mirrors/nixpkgs
83dd414ca2
This package provides the SDK and standard library needed for cross-compiling to Mac US X. We're using xpwn here to extract the DMG. Also, this version (XCode 5.0.2) only contains the SDKs for version 10.9 and 10.8, so we might need to add requireFile directives for older versions as well. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
38 lines
983 B
Nix
38 lines
983 B
Nix
{ stdenv, requireFile, xpwn }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "xcode-${version}";
|
|
version = "5.0.2";
|
|
|
|
src = requireFile {
|
|
name = "xcode_${version}.dmg";
|
|
url = meta.homepage;
|
|
sha256 = "0mrligqkfqwx8cy883pxm4w5w7a17nfh227zdspfll23r9agf32k";
|
|
};
|
|
|
|
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
|
|
|
|
unpackCmd = let
|
|
basePath = "Xcode.app/Contents/Developer/Platforms/MacOSX.platform";
|
|
sdkPath = "${basePath}/Developer/SDKs";
|
|
in ''
|
|
${xpwn}/bin/dmg extract "$curSrc" main.hfs > /dev/null
|
|
${xpwn}/bin/hfsplus main.hfs extractall "${sdkPath}" > /dev/null
|
|
'';
|
|
|
|
setSourceRoot = "sourceRoot=MacOSX10.9.sdk";
|
|
|
|
installPhase = ''
|
|
ensureDir "$out/share/sysroot"
|
|
cp -a * "$out/share/sysroot/"
|
|
ln -s "$out/usr/lib" "$out/lib"
|
|
ln -s "$out/usr/include" "$out/include"
|
|
'';
|
|
|
|
meta = {
|
|
homepage = "https://developer.apple.com/downloads/";
|
|
description = "Apple's XCode SDK";
|
|
license = stdenv.lib.licenses.unfree;
|
|
};
|
|
}
|