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

This commit is contained in:
Ned Deily 2021-11-01 11:53:05 -04:00 committed by GitHub
parent 401d25e92f
commit e2063d6a1e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 218 deletions

View File

@ -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);

View File

@ -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')

View File

@ -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

View File

@ -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.\
}