[Python-checkins] cpython (3.3): Issue #15663: Revert OS X installer built-in Tcl/Tk support for 3.3.3.

georg.brandl python-checkins at python.org
Sun Nov 17 09:19:36 CET 2013


http://hg.python.org/cpython/rev/f9927dcc85cf
changeset:   87168:f9927dcc85cf
branch:      3.3
user:        Ned Deily <nad at acm.org>
date:        Tue Nov 05 02:44:17 2013 -0800
summary:
  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.

files:
  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 ++++
  5 files changed, 28 insertions(+), 52 deletions(-)


diff --git a/Mac/BuildScript/README.txt b/Mac/BuildScript/README.txt
--- a/Mac/BuildScript/README.txt
+++ b/Mac/BuildScript/README.txt
@@ -57,40 +57,13 @@
 
         * 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:
 
diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -193,7 +193,7 @@
 
     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 @@
     #    - 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 @@
     # 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 @@
     # 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 @@
             # 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(
diff --git a/Mac/BuildScript/resources/ReadMe.txt b/Mac/BuildScript/resources/ReadMe.txt
--- a/Mac/BuildScript/resources/ReadMe.txt
+++ b/Mac/BuildScript/resources/ReadMe.txt
@@ -17,27 +17,18 @@
 installer package icon.  Then select "Open using ... Installer" from
 the contextual menu that appears.
 
-       **** IMPORTANT changes if you use IDLE and Tkinter ****
+               **** IMPORTANT ****
 
-Installing a third-party version of Tcl/Tk is no longer required
-================================================================
+Update your version of Tcl/Tk to use IDLE or other Tk applications
+==================================================================
 
-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.
-
-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
 ====================================
 
diff --git a/Mac/BuildScript/resources/Welcome.rtf b/Mac/BuildScript/resources/Welcome.rtf
--- a/Mac/BuildScript/resources/Welcome.rtf
+++ b/Mac/BuildScript/resources/Welcome.rtf
@@ -25,7 +25,11 @@
 \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
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,14 @@
 
 - Issue #18964: Fix test_tcl when run with Tcl/Tk versions  < 8.5.
 
+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?
 ===============================================

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list