cpython: f9927dcc85cf (original) (raw)
Mercurial > cpython
changeset 87168:f9927dcc85cf 3.3
Issue #15663: Revert OS X installer built-in Tcl/Tk support for 3.3.3. Some third-party projects, such as matplotlib and PIL/Pillow, depended on being able to build with Tcl and Tk frameworks in /Library/Frameworks. They were unable to build with the built-in Tcl/Tk and/or execute correctly. [#15663]
Ned Deily nad@acm.org | |
---|---|
date | Tue, 05 Nov 2013 02:44:17 -0800 |
parents | ef44d2c58c7f |
children | 691b3df5036b |
files | Mac/BuildScript/README.txt Mac/BuildScript/build-installer.py Mac/BuildScript/resources/ReadMe.txt Mac/BuildScript/resources/Welcome.rtf Misc/NEWS |
diffstat | 5 files changed, 28 insertions(+), 52 deletions(-)[+] [-] Mac/BuildScript/README.txt 29 Mac/BuildScript/build-installer.py 10 Mac/BuildScript/resources/ReadMe.txt 23 Mac/BuildScript/resources/Welcome.rtf 10 Misc/NEWS 8 |
line wrap: on
line diff
--- a/Mac/BuildScript/README.txt +++ b/Mac/BuildScript/README.txt @@ -57,40 +57,13 @@ 2. 64-bit / 32-bit, x86_64 and i386 uni * NCurses 5.9 (http://bugs.python.org/issue15037)[](#l1.5) * SQLite 3.7.13
* Tcl 8.5.15[](#l1.7)
* Tk 8.5.15[](#l1.8) * XZ 5.0.3[](#l1.9)
- uses system-supplied versions of third-party libraries * readline module links with Apple BSD editline (libedit)
* Beginning with Python 3.3.3, this installer now includes its own[](#l1.17)
builtin copy of Tcl and Tk 8.5.15 libraries and thus is no longer[](#l1.18)
dependent on the buggy releases of Aqua Cocoa Tk 8.5 shipped with[](#l1.19)
OS X 10.6 or on installing a newer third-party version of Tcl/Tk[](#l1.20)
in /Library/Frameworks, such as from ActiveState. If it is[](#l1.21)
necessary to fallback to using a third-party Tcl/Tk because of[](#l1.22)
a problem with the builtin Tcl/Tk, there is a backup version of[](#l1.23)
the _tkinter extension included which will dynamically link to[](#l1.24)
Tcl and Tk frameworks in /Library/Frameworks as in previous releases.[](#l1.25)
To enable (for all users of this Python 3.3)::[](#l1.26)
sudo bash[](#l1.28)
cd /Library/Frameworks/Python.framework/Versions/3.3[](#l1.29)
cd ./lib/python3.3[](#l1.30)
cp -p ./lib-tkinter/library/_tkinter.so ./lib-dynload[](#l1.31)
exit[](#l1.32)
To restore using Python's builtin versions of Tcl and Tk::[](#l1.34)
sudo bash[](#l1.36)
cd /Library/Frameworks/Python.framework/Versions/3.3[](#l1.37)
cd ./lib/python3.3[](#l1.38)
cp -p ./lib-tkinter/builtin/_tkinter.so ./lib-dynload[](#l1.39)
exit[](#l1.40)
- recommended build environment:
--- a/Mac/BuildScript/build-installer.py +++ b/Mac/BuildScript/build-installer.py @@ -193,7 +193,7 @@ def library_recipes(): LT_10_5 = bool(DEPTARGET < '10.5')
@@ -571,7 +571,7 @@ def checkEnvironment(): # - the traditional version (renamed to _tkinter_library.so) linked # with /Library/Frameworks/{Tcl,Tk}.framework # - the default version linked with our builtin copies of Tcl and Tk
- if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)): EXPECTED_SHARED_LIBS['_tkinter_library.so'] = [](#l2.18) EXPECTED_SHARED_LIBS['_tkinter.so'] EXPECTED_SHARED_LIBS['_tkinter.so'] = [
@@ -971,7 +971,7 @@ def buildPython(): # out-of-date and has critical bugs. Save the _tkinter.so that was # linked with /Library/Frameworks/{Tck,Tk}.framework and build # another _tkinter.so linked with our builtin Tcl and Tk libs.
- if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)): runCommand("find build -name '_tkinter.so' " " -execdir mv '{}' _tkinter_library.so ;") print("Running make to build builtin _tkinter")
@@ -1012,7 +1012,7 @@ def buildPython(): # users to select which to import by manipulating sys.path # directly or with PYTHONPATH.
- if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)): TKINTERS = ['builtin', 'library'] tkinter_moves = [('_tkinter_' + tkn + '.so', os.path.join(path_to_lib, 'lib-tkinter', tkn))
@@ -1059,7 +1059,7 @@ def buildPython(): # The files are moved after the entire tree has been walked # since the shared library checking depends on the files # having unique names.
if DEPTARGET > '10.5':[](#l2.43)
if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)):[](#l2.44) for tkm in tkinter_moves:[](#l2.45) if fn == tkm[0]:[](#l2.46) moves_list.append([](#l2.47)
--- a/Mac/BuildScript/resources/ReadMe.txt +++ b/Mac/BuildScript/resources/ReadMe.txt @@ -17,27 +17,18 @@ instead of double-clicking, control-clic installer package icon. Then select "Open using ... Installer" from the contextual menu that appears.
**** IMPORTANT changes if you use IDLE and Tkinter ****[](#l3.7)
- -Installing a third-party version of Tcl/Tk is no longer required -================================================================
**** IMPORTANT ****[](#l3.11)
-As of Python 3.3.3, the 10.6+ 64-bit installer now -comes with its own private copy of Tcl and Tk 8.5 libraries. For -this version of Python, it is no longer necessary to install -a third-party version of Tcl/Tk 8.5, such as those from ActiveState, -to work around the problematic versions of Tcl/Tk 8.5 shipped by -Apple in OS X 10.6 and later. (This does not change the requirements -for older versions of Python installed from python.org.) By default, -this version of Python will always use its own private version, -regardless of whether a third-party Tcl/Tk is installed. -The 10.5+ 32-bit-only installer continues to use Tcl/Tk 8.4, -either a third-party or system-supplied version. +Update your version of Tcl/Tk to use IDLE or other Tk applications +================================================================== -Visit http://www.python.org/download/mac/tcltk/[](#l3.27) +To use IDLE or other programs that use the Tkinter graphical user +interface toolkit, you may need to install a newer third-party version +of the Tcl/Tk frameworks. Visit http://www.python.org/download/mac/tcltk/[](#l3.30) for current information about supported and recommended versions of Tcl/Tk for this version of Python and of Mac OS X. + Using this version of Python on OS X ====================================
--- a/Mac/BuildScript/resources/Welcome.rtf +++ b/Mac/BuildScript/resources/Welcome.rtf @@ -25,7 +25,11 @@ See the ReadMe file and the Python docum \b0 at any time to make $FULL_VERSION the default Python 3 version. This version can co-exist with other installed versions of Python 3 and Python 2.[](#l4.4) [](#l4.5) -\b IMPORTANT for users of IDLE and tkinter: -\b0 As of Python 3.3.3, it is no longer necessary to install third-party versions of the +\b IMPORTANT: +\b0 +\b IDLE +\b0 and other programs using the +\b tkinter +\b0 graphical user interface toolkit require specific versions of the \b Tcl/Tk -\b0 platform independent windowing toolkit. Please read the ReadMe file and visit {\field{*\fldinst{HYPERLINK "http://www.python.org/download/mac/tcltk/"}}{\fldrslt http://www.python.org/download/mac/tcltk/}} for more information on supported and recommended versions of Tcl/Tk for this version of Python and Mac OS X.} \ No newline at end of file +\b0 platform independent windowing toolkit. Visit {\field{*\fldinst{HYPERLINK "http://www.python.org/download/mac/tcltk/"}}{\fldrslt http://www.python.org/download/mac/tcltk/}} for current information on supported and recommended versions of Tcl/Tk for this version of Python and Mac OS X.} \ No newline at end of file