nixpkgs/pkgs/os-specific/darwin/xcode/default.nix
aszlig 83dd414ca2
Add new package for Apple's XCode.
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>
2014-03-12 10:00:43 +01:00

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;
};
}