]> granicus.if.org Git - python/commitdiff
Issue #15663: Revert OS X installer built-in Tcl/Tk support for 3.3.3.
authorNed Deily <nad@acm.org>
Tue, 5 Nov 2013 10:44:17 +0000 (02:44 -0800)
committerNed Deily <nad@acm.org>
Tue, 5 Nov 2013 10:44:17 +0000 (02:44 -0800)
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.

Mac/BuildScript/README.txt
Mac/BuildScript/build-installer.py
Mac/BuildScript/resources/ReadMe.txt
Mac/BuildScript/resources/Welcome.rtf
Misc/NEWS

index 38470c5bb9226fb6101cd45ab0f5bbf86454ae04..56c769af7bd66102a88da8807cfeb0d10ac91816 100644 (file)
@@ -57,40 +57,13 @@ for each release.
 
         * NCurses 5.9 (http://bugs.python.org/issue15037)
         * SQLite 3.7.13
-        * Tcl 8.5.15
-        * Tk 8.5.15
         * XZ 5.0.3
 
     - uses system-supplied versions of third-party libraries
 
         * readline module links with Apple BSD editline (libedit)
 
-    - requires ActiveState Tcl/Tk 8.5.14 (or later) to be installed for building
-
-        * Beginning with Python 3.3.3, this installer now includes its own
-          builtin copy of Tcl and Tk 8.5.15 libraries and thus is no longer
-          dependent on the buggy releases of Aqua Cocoa Tk 8.5 shipped with
-          OS X 10.6 or on installing a newer third-party version of Tcl/Tk
-          in /Library/Frameworks, such as from ActiveState.  If it is
-          necessary to fallback to using a third-party Tcl/Tk because of
-          a problem with the builtin Tcl/Tk, there is a backup version of
-          the _tkinter extension included which will dynamically link to
-          Tcl and Tk frameworks in /Library/Frameworks as in previous releases.
-          To enable (for all users of this Python 3.3)::
-
-              sudo bash
-              cd /Library/Frameworks/Python.framework/Versions/3.3
-              cd ./lib/python3.3
-              cp -p ./lib-tkinter/library/_tkinter.so ./lib-dynload
-              exit
-
-          To restore using Python's builtin versions of Tcl and Tk::
-
-              sudo bash
-              cd /Library/Frameworks/Python.framework/Versions/3.3
-              cd ./lib/python3.3
-              cp -p ./lib-tkinter/builtin/_tkinter.so ./lib-dynload
-              exit
+    - requires ActiveState Tcl/Tk 8.5.9 (or later) to be installed for building
 
     - recommended build environment:
 
index 0859b3aa068d11b0d945a249981bb3bbe04d3ae7..fd5d5c36a775fb5365822454232cf9907379ee03 100755 (executable)
@@ -193,7 +193,7 @@ def library_recipes():
 
     LT_10_5 = bool(DEPTARGET < '10.5')
 
-    if DEPTARGET > '10.5':
+    if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)):
         result.extend([
           dict(
               name="Tcl 8.5.15",
@@ -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':
+    if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)):
         EXPECTED_SHARED_LIBS['_tkinter_library.so'] = \
             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':
+    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':
+    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':
+            if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)):
                 for tkm in tkinter_moves:
                     if fn == tkm[0]:
                         moves_list.append(
index e5c49f0a98cfcff3f9b255ee4ee79145097c5d9e..212d963c64163391da79504a92fcb4cc61fd6452 100644 (file)
@@ -17,27 +17,18 @@ instead of double-clicking, control-click or right click the "Python"
 installer package icon.  Then select "Open using ... Installer" from
 the contextual menu that appears.
 
-       **** IMPORTANT changes if you use IDLE and Tkinter ****
-
-Installing a third-party version of Tcl/Tk is no longer required
-================================================================
+               **** IMPORTANT ****
 
-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/
+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/
 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
 ====================================
 
index c3b4b7cbf386f5da6aede206a033d0ef0efe1e05..239d76ecc2dad3fb819feef47527cac095234227 100644 (file)
@@ -25,7 +25,11 @@ See the ReadMe file and the Python documentation for more information.\
 \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.\
 \
 
-\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
index 808f46de1f5b9e16a17fac8615a57c3511378ceb..9d03d0c641d513327e8df7ed92caccb1ac90b314 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -33,6 +33,14 @@ Tests
 
 - Issue #19085: Added basic tests for all tkinter widget options.
 
+Build
+-----
+
+- 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.
+
 
 What's New in Python 3.3.3 release candidate 1?
 ===============================================