From 6fba728a6dd93212002511b6c0bf2eb25c8b2932 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sat, 20 Jan 2018 20:42:29 +0100 Subject: [PATCH 1/2] xcbuild: include version in sdk Without this xcbuild can detect an incorrect version for store paths that have a sequence of digits in their hash. ld: malformed 32-bit x.y.z version number: 85294 /nix/store/yz966rdvw1blblvzs15pxpcd85294isw-MacOSX.platform/Developer/SDKs/MacOSX.sdk --- pkgs/development/tools/xcbuild/sdk.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/development/tools/xcbuild/sdk.nix b/pkgs/development/tools/xcbuild/sdk.nix index 169fd5f6ec66..87bbedd57880 100644 --- a/pkgs/development/tools/xcbuild/sdk.nix +++ b/pkgs/development/tools/xcbuild/sdk.nix @@ -1,26 +1,30 @@ { stdenv, writeText, toolchainName, sdkName, xcbuild }: let + # TODO: expose MACOSX_DEPLOYMENT_TARGET in nix so we can use it here. + version = "10.10"; SDKSettings = { CanonicalName = sdkName; DisplayName = sdkName; Toolchains = [ toolchainName ]; - Version = "10.10"; - MaximumDeploymentTarget = "10.10"; + Version = version; + MaximumDeploymentTarget = version; isBaseSDK = "YES"; }; SystemVersion = { ProductName = "Mac OS X"; - ProductVersion = "10.10"; + ProductVersion = version; }; - in stdenv.mkDerivation { - name = "MacOSX.sdk"; + name = "MacOSX${version}.sdk"; + inherit version; + buildInputs = [ xcbuild ]; + buildCommand = '' mkdir -p $out/ plutil -convert xml1 -o $out/SDKSettings.plist ${writeText "SDKSettings.json" (builtins.toJSON SDKSettings)} From 6377391d68bbbee3d9171eaf5d205e9125a0aed8 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sat, 20 Jan 2018 20:50:23 +0100 Subject: [PATCH 2/2] xcbuild: include version in wrapper --- pkgs/development/tools/xcbuild/wrapper.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/xcbuild/wrapper.nix b/pkgs/development/tools/xcbuild/wrapper.nix index 2f6b42e7a00e..3a1547440fd6 100644 --- a/pkgs/development/tools/xcbuild/wrapper.nix +++ b/pkgs/development/tools/xcbuild/wrapper.nix @@ -30,7 +30,7 @@ let in stdenv.mkDerivation { - name = "xcbuild-wrapper"; + name = "xcbuild-wrapper-${xcbuild.version}"; buildInputs = [ xcbuild makeWrapper ];