[Python-checkins] bpo-34370: Update Tk 8.6 used with macOS installers

Ned Deily webhook-mailer at python.org
Wed Sep 26 20:12:57 EDT 2018


https://github.com/python/cpython/commit/d9cfe5ed2c2c61eeae915b76f5e10aadbbb28da6
commit: d9cfe5ed2c2c61eeae915b76f5e10aadbbb28da6
branch: 3.7
author: Ned Deily <nad at python.org>
committer: Ned Deily <nad at python.org>
date: 2018-09-26T01:06:13-04:00
summary:

bpo-34370: Update Tk 8.6 used with macOS installers

Have macOS 10.9+ installer builds for 3.7.1rc and 3.6.7rc use a development
snapshot of Tk 8.6 (post-8.6.8) to mitigate certain scroller issues seen
with IDLE and tkinter apps.

files:
A Misc/NEWS.d/next/macOS/2018-09-25-23-37-39.bpo-34370.FQhtAD.rst
M Mac/BuildScript/build-installer.py

diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
index 15488780327e..7d3bed2f6457 100755
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -242,29 +242,63 @@ def library_recipes():
                   "TCL_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tcl8.6'%(getVersion())),
                   },
               ),
-          dict(
-              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',
-                    '--enable-shared',
-                    '--enable-threads',
-                    '--libdir=/Library/Frameworks/Python.framework/Versions/%s/lib'%(getVersion(),),
-              ],
-              useLDFlags=False,
-              install='make TCL_LIBRARY=%(TCL_LIBRARY)s TK_LIBRARY=%(TK_LIBRARY)s && make install TCL_LIBRARY=%(TCL_LIBRARY)s TK_LIBRARY=%(TK_LIBRARY)s DESTDIR=%(DESTDIR)s'%{
-                  "DESTDIR": shellQuote(os.path.join(WORKDIR, 'libraries')),
-                  "TCL_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tcl8.6'%(getVersion())),
-                  "TK_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tk8.6'%(getVersion())),
-                  },
-                ),
         ])
 
+        # temporary workaround in 3.7.1 for addressing bpo-34370:
+        #   use development snapshot of Tk 8.6 branch (post 8.6.8) to pick up
+        #   potential fixes for various scrolling problems seen with 8.6.8.
+        #   However, the snapshot fails to build on 10.6.  For the moment,
+        #   continue to build the 3.7.x 10.6 variant with the standard
+        #   8.6.6 branch.
+        if getDeptargetTuple() < (10, 9):
+            result.extend([
+              dict(
+                  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',
+                        '--enable-shared',
+                        '--enable-threads',
+                        '--libdir=/Library/Frameworks/Python.framework/Versions/%s/lib'%(getVersion(),),
+                  ],
+                  useLDFlags=False,
+                  install='make TCL_LIBRARY=%(TCL_LIBRARY)s TK_LIBRARY=%(TK_LIBRARY)s && make install TCL_LIBRARY=%(TCL_LIBRARY)s TK_LIBRARY=%(TK_LIBRARY)s DESTDIR=%(DESTDIR)s'%{
+                      "DESTDIR": shellQuote(os.path.join(WORKDIR, 'libraries')),
+                      "TCL_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tcl8.6'%(getVersion())),
+                      "TK_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tk8.6'%(getVersion())),
+                      },
+                    ),
+            ])
+        else:
+            result.extend([
+              dict(
+                  name="Tk 8.6.8+",
+                  url="http://core.tcl.tk/tk/tarball/16fdad9d/tk-16fdad9d.tar.gz",
+                  checksum='b8e0df69021924e8392f03d506252bdb',
+                  patches=[
+                      "tk868_on_10_8_10_9.patch",
+                       ],
+                  buildDir="unix",
+                  configure_pre=[
+                        '--enable-aqua',
+                        '--enable-shared',
+                        '--enable-threads',
+                        '--libdir=/Library/Frameworks/Python.framework/Versions/%s/lib'%(getVersion(),),
+                  ],
+                  useLDFlags=False,
+                  install='make TCL_LIBRARY=%(TCL_LIBRARY)s TK_LIBRARY=%(TK_LIBRARY)s && make install TCL_LIBRARY=%(TCL_LIBRARY)s TK_LIBRARY=%(TK_LIBRARY)s DESTDIR=%(DESTDIR)s'%{
+                      "DESTDIR": shellQuote(os.path.join(WORKDIR, 'libraries')),
+                      "TCL_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tcl8.6'%(getVersion())),
+                      "TK_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tk8.6'%(getVersion())),
+                      },
+                    ),
+            ])
+
     if PYTHON_3:
         result.extend([
           dict(
diff --git a/Misc/NEWS.d/next/macOS/2018-09-25-23-37-39.bpo-34370.FQhtAD.rst b/Misc/NEWS.d/next/macOS/2018-09-25-23-37-39.bpo-34370.FQhtAD.rst
new file mode 100644
index 000000000000..b9b0c2c786f1
--- /dev/null
+++ b/Misc/NEWS.d/next/macOS/2018-09-25-23-37-39.bpo-34370.FQhtAD.rst
@@ -0,0 +1,3 @@
+Have macOS 10.9+ installer builds for 3.7.1rc and 3.6.7rc use a development
+snapshot of Tk 8.6 (post-8.6.8) to mitigate certain scroller issues seen
+with IDLE and tkinter apps.



More information about the Python-checkins mailing list