From: Ned Deily <nad@python.org>
Date: Tue, 27 Feb 2018 22:36:12 +0000 (-0500)
Subject: bpo-32901: update macOS 10.9+ installer to Tcl/Tk 8.6.8
X-Git-Tag: v3.8.0a1~2145
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9189e95d9c6691de18783b2e9213ec2dc18fd0c5;p=python

bpo-32901: update macOS 10.9+ installer to Tcl/Tk 8.6.8
---

diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
index bacdbfb0fe..7f6228ba44 100755
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -225,9 +225,9 @@ def library_recipes():
     if internalTk():
         result.extend([
           dict(
-              name="Tcl 8.6.7",
-              url="ftp://ftp.tcl.tk/pub/tcl//tcl8_6/tcl8.6.7-src.tar.gz",
-              checksum='5673aaf45b5de5d8dd80bb3daaeb8838',
+              name="Tcl 8.6.8",
+              url="ftp://ftp.tcl.tk/pub/tcl//tcl8_6/tcl8.6.8-src.tar.gz",
+              checksum='81656d3367af032e0ae6157eff134f89',
               buildDir="unix",
               configure_pre=[
                     '--enable-shared',
@@ -241,9 +241,12 @@ def library_recipes():
                   },
               ),
           dict(
-              name="Tk 8.6.7",
-              url="ftp://ftp.tcl.tk/pub/tcl//tcl8_6/tk8.6.7-src.tar.gz",
-              checksum='46ea9c0165c515d87393700f4891ab6f',
+              name="Tk 8.6.8",
+              url="ftp://ftp.tcl.tk/pub/tcl//tcl8_6/tk8.6.8-src.tar.gz",
+              checksum='5e0faecba458ee1386078fb228d008ba',
+              patches=[
+                  "tk868_on_10_8_10_9.patch",
+                   ],
               buildDir="unix",
               configure_pre=[
                     '--enable-aqua',
diff --git a/Mac/BuildScript/tk868_on_10_8_10_9.patch b/Mac/BuildScript/tk868_on_10_8_10_9.patch
new file mode 100644
index 0000000000..8fe10604a6
--- /dev/null
+++ b/Mac/BuildScript/tk868_on_10_8_10_9.patch
@@ -0,0 +1,18 @@
+Fix build failure with +quartz variant on OS X 10.8 and 10.9.
+Even though Gestalt was deprecated in OS X 10.8, it should work fine
+through OS X 10.9, and its replacement NSOperatingSystemVersion was
+not introduced until OS X 10.10.
+
+Patch from MacPorts project and reported upstream:
+https://trac.macports.org/ticket/55649
+--- tk8.6.8/macosx/tkMacOSXXStubs.c.orig	2017-12-06 09:25:08.000000000 -0600
++++ tk8.6.8-patched/macosx/tkMacOSXXStubs.c	2018-01-06 19:34:17.000000000 -0600
+@@ -175,7 +175,7 @@
+     {
+ 	int major, minor, patch;
+ 
+-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1080
++#if MAC_OS_X_VERSION_MIN_REQUIRED < 101000
+ 	Gestalt(gestaltSystemVersionMajor, (SInt32*)&major);
+ 	Gestalt(gestaltSystemVersionMinor, (SInt32*)&minor);
+ 	Gestalt(gestaltSystemVersionBugFix, (SInt32*)&patch);
diff --git a/Misc/NEWS.d/next/macOS/2018-02-27-17-33-15.bpo-32901.hQu0w3.rst b/Misc/NEWS.d/next/macOS/2018-02-27-17-33-15.bpo-32901.hQu0w3.rst
new file mode 100644
index 0000000000..73e69a9b71
--- /dev/null
+++ b/Misc/NEWS.d/next/macOS/2018-02-27-17-33-15.bpo-32901.hQu0w3.rst
@@ -0,0 +1 @@
+Update macOS 10.9+ installer to Tcl/Tk 8.6.8.