[Python-checkins] Update macOS installer to use Tk 8.6.12rc1 pre-release. (GH-29354)

ned-deily webhook-mailer at python.org
Mon Nov 1 11:53:15 EDT 2021


https://github.com/python/cpython/commit/e2063d6a1ebc3568e90a14ed163fa291b5977ae8
commit: e2063d6a1ebc3568e90a14ed163fa291b5977ae8
branch: main
author: Ned Deily <nad at python.org>
committer: ned-deily <nad at python.org>
date: 2021-11-01T11:53:05-04:00
summary:

Update macOS installer to use Tk 8.6.12rc1 pre-release. (GH-29354)

files:
D Mac/BuildScript/bpo-44828-filedialog-crash-monterey.patch
M Mac/BuildScript/build-installer.py
M Mac/BuildScript/resources/ReadMe.rtf
M Mac/BuildScript/resources/Welcome.rtf

diff --git a/Mac/BuildScript/bpo-44828-filedialog-crash-monterey.patch b/Mac/BuildScript/bpo-44828-filedialog-crash-monterey.patch
deleted file mode 100644
index 1d06329fff3fb..0000000000000
--- a/Mac/BuildScript/bpo-44828-filedialog-crash-monterey.patch
+++ /dev/null
@@ -1,202 +0,0 @@
---- tk8.6.11/macosx/tkMacOSXDialog.c	2020-12-31 01:46:07.000000000 +0000
-+++ tk8.6.11-patched/macosx/tkMacOSXDialog.c	2021-10-28 15:13:03.000000000 +0000
-@@ -221,7 +221,7 @@
- 		returnCode: (NSModalResponse) returnCode
- 	       contextInfo: (void *) contextInfo
- {
--    FilePanelCallbackInfo *callbackInfo = contextInfo;
-+    FilePanelCallbackInfo *callbackInfo = (FilePanelCallbackInfo *)contextInfo;
- 
-     if (returnCode == modalOK) {
- 	Tcl_Obj *resultObj;
-@@ -266,7 +266,7 @@
- - (void) tkAlertDidEnd: (NSAlert *) alert returnCode: (NSInteger) returnCode
- 	contextInfo: (void *) contextInfo
- {
--    AlertCallbackInfo *callbackInfo = contextInfo;
-+    AlertCallbackInfo *callbackInfo = (AlertCallbackInfo *)contextInfo;
- 
-     if (returnCode >= NSAlertFirstButtonReturn) {
- 	Tcl_Obj *resultObj = Tcl_NewStringObj(alertButtonStrings[
-@@ -350,49 +350,41 @@
-     FilePanelCallbackInfo *callbackInfo)
- {
-     NSInteger modalReturnCode;
-+    int OSVersion = [NSApp macOSVersion];
- 
--    if (parent && ![parent attachedSheet]) {
--	[panel beginSheetModalForWindow:parent
--	       completionHandler:^(NSModalResponse returnCode) {
--	    [NSApp tkFilePanelDidEnd:panel
--		       returnCode:returnCode
--		       contextInfo:callbackInfo ];
--	    }];
--
--	/*
--	 * The sheet has been prepared, so now we have to run it as a modal
--	 * window.  Using [NSApp runModalForWindow:] on macOS 10.15 or later
--	 * generates warnings on stderr.  But using [NSOpenPanel runModal] or
--	 * [NSSavePanel runModal] on 10.14 or earler does not cause the
--	 * completion handler to run when the panel is closed.
--	 */
-+    /*
-+     * Use a sheet if -parent is specified (unless there is already a sheet).
-+     */
- 
--	if ([NSApp macOSVersion] > 101400) {
--	    modalReturnCode = [panel runModal];
--	} else {
-+    if (parent && ![parent attachedSheet]) {
-+	if (OSVersion < 101500) {
-+	    [panel beginSheetModalForWindow:parent
-+			  completionHandler:^(NSModalResponse returnCode) {
-+		    [NSApp tkFilePanelDidEnd:panel
-+				  returnCode:returnCode
-+				 contextInfo:callbackInfo ];
-+		}];
- 	    modalReturnCode = [NSApp runModalForWindow:panel];
--	}
--    } else {
--
--	/*
--	 * For the standalone file dialog, completion handlers do not work
--	 * at all on macOS 10.14 and earlier.
--	 */
--
--	if ([NSApp macOSVersion] > 101400) {
--	    [panel beginWithCompletionHandler:^(NSModalResponse returnCode) {
-+	} else if (OSVersion < 110000) {
-+	    [panel beginSheetModalForWindow:parent
-+			  completionHandler:^(NSModalResponse returnCode) {
- 		    [NSApp tkFilePanelDidEnd:panel
--			          returnCode:returnCode
--			         contextInfo:callbackInfo ];
--	    }];
-+				  returnCode:returnCode
-+				 contextInfo:callbackInfo ];
-+		}];
- 	    modalReturnCode = [panel runModal];
- 	} else {
-+	    [parent beginSheet: panel completionHandler:nil];
- 	    modalReturnCode = [panel runModal];
- 	    [NSApp tkFilePanelDidEnd:panel
--		   	  returnCode:modalReturnCode
--		         contextInfo:callbackInfo ];
--	    [panel close];
-+			  returnCode:modalReturnCode
-+			 contextInfo:callbackInfo ];
- 	}
-+    } else {
-+	modalReturnCode = [panel runModal];
-+	[NSApp tkFilePanelDidEnd:panel
-+		      returnCode:modalReturnCode
-+		     contextInfo:callbackInfo ];
-     }
-     return callbackInfo->cmdObj ? modalOther : modalReturnCode;
- }
-@@ -422,7 +414,7 @@
-     Tcl_Obj *const objv[])	/* Argument objects. */
- {
-     int result = TCL_ERROR;
--    Tk_Window parent, tkwin = clientData;
-+    Tk_Window parent, tkwin = (Tk_Window)clientData;
-     const char *title = NULL;
-     int i;
-     NSColor *color = nil, *initialColor = nil;
-@@ -677,7 +669,7 @@
-     int objc,			/* Number of arguments. */
-     Tcl_Obj *const objv[])	/* Argument objects. */
- {
--    Tk_Window tkwin = clientData;
-+    Tk_Window tkwin = (Tk_Window)clientData;
-     char *str;
-     int i, result = TCL_ERROR, haveParentOption = 0;
-     int index, len, multiple = 0;
-@@ -1679,10 +1671,10 @@
-     if (!fontchooserInterp) {
- 	return;
-     }
--    fcdPtr = Tcl_GetAssocData(fontchooserInterp, "::tk::fontchooser", NULL);
-+    fcdPtr = (FontchooserData *)Tcl_GetAssocData(fontchooserInterp, "::tk::fontchooser", NULL);
-     switch (kind) {
-     case FontchooserClosed:
--	if (fcdPtr->parent != None) {
-+	if (fcdPtr->parent != NULL) {
- 	    TkSendVirtualEvent(fcdPtr->parent, "TkFontchooserVisibility", NULL);
- 	    fontchooserInterp = NULL;
- 	}
-@@ -1738,7 +1730,7 @@
- 
-     switch(optionIndex) {
-     case FontchooserParent:
--	if (fcdPtr->parent != None) {
-+	if (fcdPtr->parent != NULL) {
- 	    resObj = Tcl_NewStringObj(
- 		    ((TkWindow *)fcdPtr->parent)->pathName, -1);
- 	} else {
-@@ -1801,7 +1793,7 @@
-     Tcl_Obj *const objv[])
- {
-     Tk_Window tkwin = (Tk_Window)clientData;
--    FontchooserData *fcdPtr = Tcl_GetAssocData(interp, "::tk::fontchooser",
-+    FontchooserData *fcdPtr = (FontchooserData *)Tcl_GetAssocData(interp, "::tk::fontchooser",
- 	    NULL);
-     int i, r = TCL_OK;
- 
-@@ -1858,7 +1850,7 @@
- 	    Tk_Window parent = Tk_NameToWindow(interp,
- 		    Tcl_GetString(objv[i+1]), tkwin);
- 
--	    if (parent == None) {
-+	    if (parent == NULL) {
- 		return TCL_ERROR;
- 	    }
- 	    if (fcdPtr->parent) {
-@@ -1885,7 +1877,7 @@
- 		fcdPtr->titleObj = NULL;
- 	    }
- 	    break;
--	case FontchooserFont:
-+	case FontchooserFont: {
- 	    Tcl_GetStringFromObj(objv[i+1], &len);
- 	    if (len) {
- 		Tk_Font f = Tk_AllocFontFromObj(interp, tkwin, objv[i+1]);
-@@ -1919,6 +1911,7 @@
- 			"TkFontchooserFontChanged", NULL);
- 	    }
- 	    break;
-+	}
- 	case FontchooserCmd:
- 	    if (fcdPtr->cmdObj) {
- 		Tcl_DecrRefCount(fcdPtr->cmdObj);
-@@ -1964,10 +1957,10 @@
-     TCL_UNUSED(int),
-     TCL_UNUSED(Tcl_Obj *const *))
- {
--    FontchooserData *fcdPtr = Tcl_GetAssocData(interp, "::tk::fontchooser",
-+    FontchooserData *fcdPtr = (FontchooserData *)Tcl_GetAssocData(interp, "::tk::fontchooser",
- 	    NULL);
- 
--    if (fcdPtr->parent == None) {
-+    if (fcdPtr->parent == NULL) {
- 	fcdPtr->parent = (Tk_Window)clientData;
- 	Tk_CreateEventHandler(fcdPtr->parent, StructureNotifyMask,
- 		FontchooserParentEventHandler, fcdPtr);
-@@ -2042,7 +2035,7 @@
-     ClientData clientData,
-     XEvent *eventPtr)
- {
--    FontchooserData *fcdPtr = clientData;
-+    FontchooserData *fcdPtr = (FontchooserData *)clientData;
- 
-     if (eventPtr->type == DestroyNotify) {
- 	Tk_DeleteEventHandler(fcdPtr->parent, StructureNotifyMask,
-@@ -2074,7 +2067,7 @@
-     ClientData clientData,
-     Tcl_Interp *interp)
- {
--    FontchooserData *fcdPtr = clientData;
-+    FontchooserData *fcdPtr = (FontchooserData *)clientData;
- 
-     if (fcdPtr->titleObj) {
- 	Tcl_DecrRefCount(fcdPtr->titleObj);
diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
index f366968a71d91..9db2616bc75ba 100755
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -265,11 +265,11 @@ def library_recipes():
             tk_patches = ['tk868_on_10_8_10_9.patch']
 
         else:
-            tcl_tk_ver='8.6.11'
-            tcl_checksum='8a4c004f48984a03a7747e9ba06e4da4'
+            tcl_tk_ver='8.6.12rc1'
+            tcl_checksum='82fd1637c0f7d4b76cb909f8abc373ec'
 
-            tk_checksum='c7ee71a2d05bba78dfffd76528dc17c6'
-            tk_patches = ['bpo-44828-filedialog-crash-monterey.patch']
+            tk_checksum='d63c3b91b86cd8b6fa54e83ef2c5153e'
+            tk_patches = [ ]
 
 
         result.extend([
@@ -729,6 +729,10 @@ def extractArchive(builddir, archiveName):
             if ((retval.startswith('tcl') or retval.startswith('tk'))
                     and retval.endswith('-src')):
                 retval = retval[:-4]
+                # Strip rcxx suffix from Tcl/Tk release candidates
+                retval_rc = retval.find('rc')
+                if retval_rc > 0:
+                    retval = retval[:retval_rc]
             if os.path.exists(retval):
                 shutil.rmtree(retval)
             fp = os.popen("tar zxf %s 2>&1"%(shellQuote(archiveName),), 'r')
diff --git a/Mac/BuildScript/resources/ReadMe.rtf b/Mac/BuildScript/resources/ReadMe.rtf
index a6bfeb9f164ea..2a954083bf127 100644
--- a/Mac/BuildScript/resources/ReadMe.rtf
+++ b/Mac/BuildScript/resources/ReadMe.rtf
@@ -11,7 +11,7 @@
 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0
 
 \f1\b \cf0 NOTE: 
-\f0\b0 This is a beta test preview of Python 3.10.0, the next feature release of Python 3.  It is not intended for production use.\
+\f0\b0 This is an alpha preview of Python 3.11.0, the next feature release of Python 3.  It is not intended for production use.\
 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
 \cf0 \
 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
@@ -66,17 +66,9 @@ Due to new security checks on macOS 10.15 Catalina, when launching IDLE macOS ma
 \f0\b0  button to proceed.\
 \
 
-\f1\b \ul macOS 11 (Big Sur) and Apple Silicon Mac support\
+\f1\b \ul Apple Silicon Mac support\
 
 \f0\b0 \ulnone \
-For Python 3.10 releases, we provide a new 
-\f4 universal2
-\f0  installer variant that provides universal binaries for both 
-\f4 ARM64
-\f0  and 
-\f4 Intel 64
-\f0  architectures and is also supported on all Macs that support macOS 10.9 or later.  Some of the advantages of the new installer variant: native ARM64 code on Apple Silicon Macs should run significantly faster than Rosetta2-emulated code; some operating system functions and options introduced in macOS releases since 10.9 are now exposed when available (primarily in the os module); and the new installer variant includes Tcl/Tk 8.6.11 rather than 8.6.8.\
-\
 On Apple Silicon Macs, it is possible to run Python either with native ARM64 code or under Intel 64 emulation using Rosetta2. This option might be useful for testing or if binary wheels are not yet available with native ARM64 binaries.  To  easily force Python to run in emulation mode, invoke it from a command line shell with the 
 \f4 python3-intel64
 \f0  command instead of just 
diff --git a/Mac/BuildScript/resources/Welcome.rtf b/Mac/BuildScript/resources/Welcome.rtf
index c65119b7fa2e2..e6ccfcb3fce96 100644
--- a/Mac/BuildScript/resources/Welcome.rtf
+++ b/Mac/BuildScript/resources/Welcome.rtf
@@ -3,7 +3,7 @@
 }
 {\colortbl;\red255\green255\blue255;}
 {\*\expandedcolortbl;;}
-\paperw11905\paperh16837\margl1440\margr1440\vieww12200\viewh10880\viewkind0
+\paperw11900\paperh16840\margl1440\margr1440\vieww12200\viewh10880\viewkind0
 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\partightenfactor0
 
 \f0\fs24 \cf0 This package will install 
@@ -26,5 +26,5 @@ At the end of this install, click on
 \
 
 \f1\b NOTE: 
-\f0\b0 This is a beta test preview of Python 3.10.0, the next feature release of Python 3.  It is not intended for production use.\
+\f0\b0 This is an alpha test preview of Python 3.11.0, the next feature release of Python 3.  It is not intended for production use.\
 }
\ No newline at end of file



More information about the Python-checkins mailing list