xcode: Drop use of weak_import on enumerators.
GCC doesn't support attributes on enumerators, which could pose a problem but fortunately not in this case. Here a __attribute__((weak_import)) is used, which doesn't make much sense for enumerators anyway (noone will die because the corresponding enumerator won't be referenced either in older OS X versions). Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This commit is contained in:
parent
5eb3dd8a1b
commit
a6621202af
@ -1,6 +1,10 @@
|
|||||||
{ stdenv, requireFile, xpwn }:
|
{ stdenv, requireFile, xpwn }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
with stdenv.lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
osxVersion = "10.9";
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
name = "xcode-${version}";
|
name = "xcode-${version}";
|
||||||
version = "5.0.2";
|
version = "5.0.2";
|
||||||
|
|
||||||
@ -10,9 +14,10 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0mrligqkfqwx8cy883pxm4w5w7a17nfh227zdspfll23r9agf32k";
|
sha256 = "0mrligqkfqwx8cy883pxm4w5w7a17nfh227zdspfll23r9agf32k";
|
||||||
};
|
};
|
||||||
|
|
||||||
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
|
phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
|
||||||
outputs = [ "out" "toolchain" ];
|
outputs = [ "out" "toolchain" ];
|
||||||
|
|
||||||
|
|
||||||
unpackCmd = let
|
unpackCmd = let
|
||||||
basePath = "Xcode.app/Contents/Developer/Platforms/MacOSX.platform";
|
basePath = "Xcode.app/Contents/Developer/Platforms/MacOSX.platform";
|
||||||
sdkPath = "${basePath}/Developer/SDKs";
|
sdkPath = "${basePath}/Developer/SDKs";
|
||||||
@ -21,7 +26,9 @@ stdenv.mkDerivation rec {
|
|||||||
${xpwn}/bin/hfsplus main.hfs extractall "${sdkPath}" > /dev/null
|
${xpwn}/bin/hfsplus main.hfs extractall "${sdkPath}" > /dev/null
|
||||||
'';
|
'';
|
||||||
|
|
||||||
setSourceRoot = "sourceRoot=MacOSX10.9.sdk";
|
setSourceRoot = "sourceRoot=MacOSX${osxVersion}.sdk";
|
||||||
|
|
||||||
|
patches = optional (osxVersion == "10.9") ./gcc-fix-enum-attributes.patch;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
ensureDir "$out/share/sysroot"
|
ensureDir "$out/share/sysroot"
|
||||||
|
13
pkgs/os-specific/darwin/xcode/gcc-fix-enum-attributes.patch
Normal file
13
pkgs/os-specific/darwin/xcode/gcc-fix-enum-attributes.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h b/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h
|
||||||
|
index fa0c290..7da7e0c 100644
|
||||||
|
--- a/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h
|
||||||
|
+++ b/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h
|
||||||
|
@@ -13,7 +13,7 @@ typedef NS_ENUM(NSInteger, NSUserNotificationActivationType) {
|
||||||
|
NSUserNotificationActivationTypeNone = 0,
|
||||||
|
NSUserNotificationActivationTypeContentsClicked = 1,
|
||||||
|
NSUserNotificationActivationTypeActionButtonClicked = 2,
|
||||||
|
- NSUserNotificationActivationTypeReplied NS_AVAILABLE(10_9, NA) = 3
|
||||||
|
+ NSUserNotificationActivationTypeReplied = 3
|
||||||
|
} NS_ENUM_AVAILABLE(10_8, NA);
|
||||||
|
|
||||||
|
NS_CLASS_AVAILABLE(10_8, NA)
|
Loading…
x
Reference in New Issue
Block a user