Skip to content

Commit d9cfe5e

Browse files
committed
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.
1 parent 22a5695 commit d9cfe5e

File tree

2 files changed

+58
-21
lines changed

2 files changed

+58
-21
lines changed

Mac/BuildScript/build-installer.py

Lines changed: 55 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -242,29 +242,63 @@ def library_recipes():
242242
"TCL_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tcl8.6'%(getVersion())),
243243
},
244244
),
245-
dict(
246-
name="Tk 8.6.8",
247-
url="ftp://ftp.tcl.tk/pub/tcl//tcl8_6/tk8.6.8-src.tar.gz",
248-
checksum='5e0faecba458ee1386078fb228d008ba',
249-
patches=[
250-
"tk868_on_10_8_10_9.patch",
251-
],
252-
buildDir="unix",
253-
configure_pre=[
254-
'--enable-aqua',
255-
'--enable-shared',
256-
'--enable-threads',
257-
'--libdir=/Library/Frameworks/Python.framework/Versions/%s/lib'%(getVersion(),),
258-
],
259-
useLDFlags=False,
260-
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'%{
261-
"DESTDIR": shellQuote(os.path.join(WORKDIR, 'libraries')),
262-
"TCL_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tcl8.6'%(getVersion())),
263-
"TK_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tk8.6'%(getVersion())),
264-
},
265-
),
266245
])
267246

247+
# temporary workaround in 3.7.1 for addressing bpo-34370:
248+
# use development snapshot of Tk 8.6 branch (post 8.6.8) to pick up
249+
# potential fixes for various scrolling problems seen with 8.6.8.
250+
# However, the snapshot fails to build on 10.6. For the moment,
251+
# continue to build the 3.7.x 10.6 variant with the standard
252+
# 8.6.6 branch.
253+
if getDeptargetTuple() < (10, 9):
254+
result.extend([
255+
dict(
256+
name="Tk 8.6.8",
257+
url="ftp://ftp.tcl.tk/pub/tcl//tcl8_6/tk8.6.8-src.tar.gz",
258+
checksum='5e0faecba458ee1386078fb228d008ba',
259+
patches=[
260+
"tk868_on_10_8_10_9.patch",
261+
],
262+
buildDir="unix",
263+
configure_pre=[
264+
'--enable-aqua',
265+
'--enable-shared',
266+
'--enable-threads',
267+
'--libdir=/Library/Frameworks/Python.framework/Versions/%s/lib'%(getVersion(),),
268+
],
269+
useLDFlags=False,
270+
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'%{
271+
"DESTDIR": shellQuote(os.path.join(WORKDIR, 'libraries')),
272+
"TCL_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tcl8.6'%(getVersion())),
273+
"TK_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tk8.6'%(getVersion())),
274+
},
275+
),
276+
])
277+
else:
278+
result.extend([
279+
dict(
280+
name="Tk 8.6.8+",
281+
url="http://core.tcl.tk/tk/tarball/16fdad9d/tk-16fdad9d.tar.gz",
282+
checksum='b8e0df69021924e8392f03d506252bdb',
283+
patches=[
284+
"tk868_on_10_8_10_9.patch",
285+
],
286+
buildDir="unix",
287+
configure_pre=[
288+
'--enable-aqua',
289+
'--enable-shared',
290+
'--enable-threads',
291+
'--libdir=/Library/Frameworks/Python.framework/Versions/%s/lib'%(getVersion(),),
292+
],
293+
useLDFlags=False,
294+
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'%{
295+
"DESTDIR": shellQuote(os.path.join(WORKDIR, 'libraries')),
296+
"TCL_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tcl8.6'%(getVersion())),
297+
"TK_LIBRARY": shellQuote('/Library/Frameworks/Python.framework/Versions/%s/lib/tk8.6'%(getVersion())),
298+
},
299+
),
300+
])
301+
268302
if PYTHON_3:
269303
result.extend([
270304
dict(
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Have macOS 10.9+ installer builds for 3.7.1rc and 3.6.7rc use a development
2+
snapshot of Tk 8.6 (post-8.6.8) to mitigate certain scroller issues seen
3+
with IDLE and tkinter apps.

0 commit comments

Comments
 (0)