@@ -11,7 +11,91 @@ export PATH=${TOOLS_PATH}/deps/bin:${TOOLS_PATH}/${TOOLCHAIN}/bin:${TOOLS_PATH}/
11
11
export PKG_CONFIG_PATH=${TOOLS_PATH} /deps/share/pkgconfig:${TOOLS_PATH} /deps/lib/pkgconfig
12
12
13
13
tar -xf tk${TK_VERSION} -src.tar.gz
14
- pushd tk${TK_VERSION} /unix
14
+
15
+ pushd tk${TK_VERSION}
16
+
17
+ if [ " ${PYBUILD_PLATFORM} " = " macos" ]; then
18
+ # The @available annotations create missing symbol errors
19
+ # for ___isOSVersionAtLeast. We work around this by removing
20
+ # their use.
21
+ #
22
+ # This is not an ideal solution.
23
+ patch -p1 << EOF
24
+ diff --git a/macosx/tkMacOSXColor.c b/macosx/tkMacOSXColor.c
25
+ index 80b368f..b51796e 100644
26
+ --- a/macosx/tkMacOSXColor.c
27
+ +++ b/macosx/tkMacOSXColor.c
28
+ @@ -278,11 +278,9 @@ SetCGColorComponents(
29
+ OSStatus err = noErr;
30
+ NSColor *bgColor, *color = nil;
31
+ CGFloat rgba[4] = {0, 0, 0, 1};
32
+ -#if MAC_OS_X_VERSION_MAX_ALLOWED < 101400
33
+ NSInteger colorVariant;
34
+ static CGFloat graphiteAccentRGBA[4] =
35
+ {152.0 / 255, 152.0 / 255, 152.0 / 255, 1.0};
36
+ -#endif
37
+
38
+ if (!deviceRGB) {
39
+ deviceRGB = [NSColorSpace deviceRGBColorSpace];
40
+ @@ -373,16 +371,6 @@ SetCGColorComponents(
41
+ deviceRGB];
42
+ break;
43
+ case 8:
44
+ -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
45
+ - if (@available(macOS 10.14, *)) {
46
+ - color = [[NSColor controlAccentColor] colorUsingColorSpace:
47
+ - deviceRGB];
48
+ - } else {
49
+ - color = [NSColor colorWithColorSpace: deviceRGB
50
+ - components: blueAccentRGBA
51
+ - count: 4];
52
+ - }
53
+ -#else
54
+ colorVariant = [[NSUserDefaults standardUserDefaults]
55
+ integerForKey:@"AppleAquaColorVariant"];
56
+ if (colorVariant == 6) {
57
+ @@ -394,7 +382,6 @@ SetCGColorComponents(
58
+ components: blueAccentRGBA
59
+ count: 4];
60
+ }
61
+ -#endif
62
+ break;
63
+ default:
64
+ #if MAC_OS_X_VERSION_MAX_ALLOWED >= 101000
65
+ diff --git a/macosx/tkMacOSXWm.c b/macosx/tkMacOSXWm.c
66
+ index ceb3f3f..5c04f17 100644
67
+ --- a/macosx/tkMacOSXWm.c
68
+ +++ b/macosx/tkMacOSXWm.c
69
+ @@ -5928,12 +5928,6 @@ WmWinAppearance(
70
+ resultString = appearanceStrings[APPEARANCE_AUTO];
71
+ } else if (appearance == NSAppearanceNameAqua) {
72
+ resultString = appearanceStrings[APPEARANCE_AQUA];
73
+ -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
74
+ - } else if (@available(macOS 10.14, *)) {
75
+ - if (appearance == NSAppearanceNameDarkAqua) {
76
+ - resultString = appearanceStrings[APPEARANCE_DARKAQUA];
77
+ - }
78
+ -#endif // MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
79
+ }
80
+ result = Tcl_NewStringObj(resultString, strlen(resultString));
81
+ }
82
+ @@ -5953,12 +5947,6 @@ WmWinAppearance(
83
+ NSAppearanceNameAqua];
84
+ break;
85
+ case APPEARANCE_DARKAQUA:
86
+ -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
87
+ - if (@available(macOS 10.14, *)) {
88
+ - win.appearance = [NSAppearance appearanceNamed:
89
+ - NSAppearanceNameDarkAqua];
90
+ - }
91
+ -#endif // MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
92
+ break;
93
+ default:
94
+ win.appearance = nil;
95
+ EOF
96
+ fi
97
+
98
+ pushd unix
15
99
16
100
CFLAGS=" ${EXTRA_TARGET_CFLAGS} -fPIC"
17
101
LDFLAGS=" "
0 commit comments