diff options
-rw-r--r-- | pkgs/os-specific/darwin/xcode/default.nix | 37 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/os-specific/darwin/xcode/default.nix b/pkgs/os-specific/darwin/xcode/default.nix new file mode 100644 index 00000000000..671e73a0fa5 --- /dev/null +++ b/pkgs/os-specific/darwin/xcode/default.nix @@ -0,0 +1,37 @@ +{ 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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9ab8331bce9..93caa5c7796 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6546,6 +6546,8 @@ let cramfsswap = callPackage ../os-specific/linux/cramfsswap { }; + darwin.xcode = callPackage ../os-specific/darwin/xcode { }; + devicemapper = lvm2; dmidecode = callPackage ../os-specific/linux/dmidecode { }; |