2016-06-26 05:45:55 +01:00
|
|
|
{ stdenv, callPackage, makeWrapper, writeText, CoreServices, ImageIO, CoreGraphics
|
2016-11-06 00:51:15 +00:00
|
|
|
, cctools, bootstrap_cmds, binutils}:
|
2016-06-26 05:45:55 +01:00
|
|
|
|
|
|
|
let
|
|
|
|
|
|
|
|
toolchainName = "com.apple.dt.toolchain.XcodeDefault";
|
|
|
|
platformName = "com.apple.platform.macosx";
|
2016-11-06 00:51:15 +00:00
|
|
|
sdkName = "macosx10.10";
|
2016-06-26 05:45:55 +01:00
|
|
|
|
|
|
|
xcbuild = callPackage ./default.nix {
|
|
|
|
inherit CoreServices ImageIO CoreGraphics;
|
|
|
|
};
|
|
|
|
|
|
|
|
toolchain = callPackage ./toolchain.nix {
|
2016-11-10 20:53:28 +00:00
|
|
|
inherit cctools bootstrap_cmds toolchainName xcbuild binutils stdenv;
|
2016-06-26 05:45:55 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
sdk = callPackage ./sdk.nix {
|
|
|
|
inherit toolchainName sdkName xcbuild;
|
|
|
|
};
|
|
|
|
|
|
|
|
platform = callPackage ./platform.nix {
|
|
|
|
inherit sdk platformName xcbuild;
|
|
|
|
};
|
|
|
|
|
|
|
|
xcconfig = writeText "nix.xcconfig" ''
|
2016-11-06 00:51:15 +00:00
|
|
|
SDKROOT=${sdkName}
|
2016-06-26 05:45:55 +01:00
|
|
|
'';
|
|
|
|
|
|
|
|
in
|
|
|
|
|
|
|
|
stdenv.mkDerivation {
|
|
|
|
name = "xcbuild-wrapper";
|
|
|
|
|
|
|
|
buildInputs = [ xcbuild makeWrapper ];
|
|
|
|
|
|
|
|
setupHook = ./setup-hook.sh;
|
|
|
|
|
|
|
|
phases = [ "installPhase" "fixupPhase" ];
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/bin
|
|
|
|
cd $out/bin/
|
|
|
|
|
|
|
|
for file in ${xcbuild}/bin/*; do
|
|
|
|
ln -s $file
|
|
|
|
done
|
|
|
|
|
2016-11-12 21:51:25 +00:00
|
|
|
mkdir -p $out/Library/Xcode/
|
|
|
|
ln -s ${xcbuild}/Library/Xcode/Specifications $out/Library/Xcode/Specifications
|
|
|
|
|
|
|
|
mkdir -p $out/Platforms/
|
2017-03-22 03:22:15 +00:00
|
|
|
ln -s ${platform} $out/Platforms/nixpkgs.platform
|
2016-11-12 21:51:25 +00:00
|
|
|
|
|
|
|
mkdir -p $out/Toolchains/
|
2017-03-22 16:33:37 +00:00
|
|
|
ln -s ${toolchain} $out/Toolchains/nixpkgs.xctoolchain
|
2016-11-12 21:51:25 +00:00
|
|
|
|
2016-06-26 05:45:55 +01:00
|
|
|
wrapProgram $out/bin/xcodebuild \
|
|
|
|
--add-flags "-xcconfig ${xcconfig}" \
|
|
|
|
--add-flags "DERIVED_DATA_DIR=." \
|
2017-10-10 21:41:44 +01:00
|
|
|
--set DEVELOPER_DIR "$out" \
|
|
|
|
--set SDKROOT ${sdkName}
|
2016-06-26 05:45:55 +01:00
|
|
|
wrapProgram $out/bin/xcrun \
|
2017-10-10 21:41:44 +01:00
|
|
|
--set DEVELOPER_DIR "$out" \
|
|
|
|
--set SDKROOT ${sdkName}
|
2017-01-19 21:21:00 +00:00
|
|
|
wrapProgram $out/bin/xcode-select \
|
2017-10-10 21:41:44 +01:00
|
|
|
--set DEVELOPER_DIR "$out" \
|
|
|
|
--set SDKROOT ${sdkName}
|
2016-06-26 05:45:55 +01:00
|
|
|
'';
|
|
|
|
|
2016-12-15 17:07:54 +00:00
|
|
|
inherit (xcbuild) meta;
|
|
|
|
|
2016-11-02 05:17:58 +00:00
|
|
|
passthru = {
|
|
|
|
raw = xcbuild;
|
|
|
|
};
|
|
|
|
|
2016-06-26 05:45:55 +01:00
|
|
|
preferLocalBuild = true;
|
|
|
|
}
|