From f3d8f51f5c583bfa4b947110f67c1dadce60c7d3 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Mon, 12 Oct 2026 10:27:30 +0800 Subject: [PATCH] Update patch for Python v3.15.0. --- Makefile | 4 +- patch/Python/Python.patch | 302 ++++++++++++++++++++++++++------------ 2 files changed, 210 insertions(+), 96 deletions(-) diff --git a/Makefile b/Makefile index 15015a7b..b9ffe7db 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ BUILD_NUMBER=custom # of a release cycle, as official binaries won't be published. # PYTHON_MICRO_VERSION is the full version number, without any alpha/beta/rc suffix. (e.g., 3.10.0) # PYTHON_VER is the major/minor version (e.g., 3.10) -PYTHON_VERSION=3.15.0rc2 +PYTHON_VERSION=3.15.0 PYTHON_PKG_VERSION=$(PYTHON_VERSION) PYTHON_MICRO_VERSION=$(shell echo $(PYTHON_VERSION) | grep -Eo "\d+\.\d+\.\d+") PYTHON_PKG_MICRO_VERSION=$(shell echo $(PYTHON_PKG_VERSION) | grep -Eo "\d+\.\d+\.\d+") @@ -30,7 +30,7 @@ PYTHON_VER=$(basename $(PYTHON_VERSION)) BZIP2_VERSION=1.0.8-2 LIBFFI_VERSION=3.4.7-2 MPDECIMAL_VERSION=4.0.0-2 -OPENSSL_VERSION=3.5.8-1 +OPENSSL_VERSION=3.5.9-1 XZ_VERSION=5.6.4-2 ZSTD_VERSION=1.5.7-1 diff --git a/patch/Python/Python.patch b/patch/Python/Python.patch index 80b923e0..2abd6403 100644 --- a/patch/Python/Python.patch +++ b/patch/Python/Python.patch @@ -410,7 +410,7 @@ index ec8b544a6b0..26020844023 100644 if objc: # If objc exists, we know ctypes is also importable. diff --git a/Makefile.pre.in b/Makefile.pre.in -index 8008a96c1c8..823896db921 100644 +index 965244d8d2d..c623be1776b 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -215,6 +215,12 @@ @@ -464,7 +464,7 @@ index f5cd73bdea8..6c1863c943b 100644 # elif !defined(TARGET_OS_OSX) || TARGET_OS_OSX PLATFORM_TRIPLET=darwin diff --git a/Platforms/Apple/__main__.py b/Platforms/Apple/__main__.py -index 8be0d8719f5..001cb7057f8 100644 +index 4d29c240baa..704bd2fd5b9 100644 --- a/Platforms/Apple/__main__.py +++ b/Platforms/Apple/__main__.py @@ -5,17 +5,20 @@ @@ -1713,16 +1713,17 @@ index 00000000000..112c9ed64b8 +@end diff --git a/Platforms/Apple/testbed/tvOSTestbed/AppDelegate.m b/Platforms/Apple/testbed/tvOSTestbed/AppDelegate.m new file mode 100644 -index 00000000000..bd91fb2d7d6 +index 00000000000..7501ec7b6ef --- /dev/null +++ b/Platforms/Apple/testbed/tvOSTestbed/AppDelegate.m -@@ -0,0 +1,19 @@ +@@ -0,0 +1,24 @@ +// +// AppDelegate.m +// tvOSTestbed +// + +#import "AppDelegate.h" ++#import "SceneDelegate.h" + +@interface AppDelegate () + @@ -1730,9 +1731,13 @@ index 00000000000..bd91fb2d7d6 + +@implementation AppDelegate + ++- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options { ++ UISceneConfiguration *configuration = [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role]; ++ configuration.delegateClass = [SceneDelegate class]; ++ return configuration; ++} + -+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { -+ return YES; ++- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet *)sceneSessions { +} + +@end @@ -1766,6 +1771,51 @@ index 00000000000..660ba53de4f + + + +diff --git a/Platforms/Apple/testbed/tvOSTestbed/SceneDelegate.h b/Platforms/Apple/testbed/tvOSTestbed/SceneDelegate.h +new file mode 100644 +index 00000000000..264aacadca1 +--- /dev/null ++++ b/Platforms/Apple/testbed/tvOSTestbed/SceneDelegate.h +@@ -0,0 +1,12 @@ ++// ++// SceneDelegate.h ++// iOSTestbed ++// ++ ++#import ++ ++@interface SceneDelegate : UIResponder ++ ++@property (strong, nonatomic) UIWindow *window; ++ ++@end +diff --git a/Platforms/Apple/testbed/tvOSTestbed/SceneDelegate.m b/Platforms/Apple/testbed/tvOSTestbed/SceneDelegate.m +new file mode 100644 +index 00000000000..e82e447985d +--- /dev/null ++++ b/Platforms/Apple/testbed/tvOSTestbed/SceneDelegate.m +@@ -0,0 +1,21 @@ ++// ++// SceneDelegate.m ++// iOSTestbed ++// ++ ++#import "SceneDelegate.h" ++ ++@interface SceneDelegate () ++ ++@end ++ ++@implementation SceneDelegate ++ ++- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions { ++ UIWindowScene *windowScene = (UIWindowScene *)scene; ++ self.window = [[UIWindow alloc] initWithWindowScene:windowScene]; ++ self.window.rootViewController = [[UIViewController alloc] init]; ++ [self.window makeKeyAndVisible]; ++} ++ ++@end diff --git a/Platforms/Apple/testbed/tvOSTestbed/app/README b/Platforms/Apple/testbed/tvOSTestbed/app/README new file mode 100644 index 00000000000..46c0e8e2a29 @@ -1816,10 +1866,10 @@ index 00000000000..d5808fbb933 +} diff --git a/Platforms/Apple/testbed/tvOSTestbed/tvOSTestbed-Info.plist b/Platforms/Apple/testbed/tvOSTestbed/tvOSTestbed-Info.plist new file mode 100644 -index 00000000000..f08f6098999 +index 00000000000..6d84447c031 --- /dev/null +++ b/Platforms/Apple/testbed/tvOSTestbed/tvOSTestbed-Info.plist -@@ -0,0 +1,52 @@ +@@ -0,0 +1,62 @@ + + + @@ -1868,31 +1918,35 @@ index 00000000000..f08f6098999 + UIApplicationSupportsMultipleScenes + + UISceneConfigurations -+ ++ ++ UIWindowSceneSessionRoleApplication ++ ++ ++ UISceneDelegateClassName ++ SceneDelegate ++ UISceneConfigurationName ++ Default Configuration ++ ++ ++ + + + diff --git a/Platforms/Apple/testbed/visionOSTestbed.xcodeproj/project.pbxproj b/Platforms/Apple/testbed/visionOSTestbed.xcodeproj/project.pbxproj new file mode 100644 -index 00000000000..0fd5df716b1 +index 00000000000..d3ca84bd32c --- /dev/null +++ b/Platforms/Apple/testbed/visionOSTestbed.xcodeproj/project.pbxproj -@@ -0,0 +1,558 @@ +@@ -0,0 +1,550 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; -+ objectVersion = 56; ++ objectVersion = 77; + objects = { + +/* Begin PBXBuildFile section */ -+ 607A66172B0EFA380010BFC8 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 607A66162B0EFA380010BFC8 /* AppDelegate.m */; }; -+ 607A66222B0EFA390010BFC8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607A66212B0EFA390010BFC8 /* Assets.xcassets */; }; -+ 607A66282B0EFA390010BFC8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 607A66272B0EFA390010BFC8 /* main.m */; }; -+ 607A66322B0EFA3A0010BFC8 /* TestbedTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 607A66312B0EFA3A0010BFC8 /* TestbedTests.m */; }; -+ 608619542CB77BA900F46182 /* app_packages in Resources */ = {isa = PBXBuildFile; fileRef = 608619532CB77BA900F46182 /* app_packages */; }; -+ 608619562CB7819B00F46182 /* app in Resources */ = {isa = PBXBuildFile; fileRef = 608619552CB7819B00F46182 /* app */; }; + EEB367CE2DADF5C900B9A1D7 /* Python.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = EEE9C80C2DAB5ECA0056F8C6 /* Python.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + EEB367CF2DADF5D300B9A1D7 /* Python.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = EEE9C80C2DAB5ECA0056F8C6 /* Python.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + EEE9C80D2DAB5ECA0056F8C6 /* Python.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EEE9C80C2DAB5ECA0056F8C6 /* Python.xcframework */; }; @@ -1937,18 +1991,40 @@ index 00000000000..0fd5df716b1 +/* Begin PBXFileReference section */ + 6077B3D62E82E60C00E3D6A3 /* visionOSTestbed.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = visionOSTestbed.xctestplan; sourceTree = ""; }; + 607A66122B0EFA380010BFC8 /* visionOSTestbed.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = visionOSTestbed.app; sourceTree = BUILT_PRODUCTS_DIR; }; -+ 607A66152B0EFA380010BFC8 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; -+ 607A66162B0EFA380010BFC8 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; -+ 607A66212B0EFA390010BFC8 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; -+ 607A66272B0EFA390010BFC8 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 607A662D2B0EFA3A0010BFC8 /* TestbedTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TestbedTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; -+ 607A66312B0EFA3A0010BFC8 /* TestbedTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestbedTests.m; sourceTree = ""; }; -+ 607A66592B0F08600010BFC8 /* visionOSTestbed-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "visionOSTestbed-Info.plist"; sourceTree = ""; }; -+ 608619532CB77BA900F46182 /* app_packages */ = {isa = PBXFileReference; lastKnownFileType = folder; path = app_packages; sourceTree = ""; }; -+ 608619552CB7819B00F46182 /* app */ = {isa = PBXFileReference; lastKnownFileType = folder; path = app; sourceTree = ""; }; + EEE9C80C2DAB5ECA0056F8C6 /* Python.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = Python.xcframework; sourceTree = ""; }; +/* End PBXFileReference section */ + ++/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ ++ 4172389B57E3372C38B3DB88 /* Exceptions for "visionOSTestbed" folder in "visionOSTestbed" target */ = { ++ isa = PBXFileSystemSynchronizedBuildFileExceptionSet; ++ membershipExceptions = ( ++ "visionOSTestbed-Info.plist", ++ ); ++ target = 607A66112B0EFA380010BFC8 /* visionOSTestbed */; ++ }; ++/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ ++ ++/* Begin PBXFileSystemSynchronizedRootGroup section */ ++ 607A66142B0EFA380010BFC8 /* visionOSTestbed */ = { ++ isa = PBXFileSystemSynchronizedRootGroup; ++ exceptions = ( ++ 4172389B57E3372C38B3DB88 /* Exceptions for "visionOSTestbed" folder in "visionOSTestbed" target */, ++ ); ++ explicitFolders = ( ++ app, ++ app_packages, ++ ); ++ path = visionOSTestbed; ++ sourceTree = ""; ++ }; ++ 607A66302B0EFA3A0010BFC8 /* TestbedTests */ = { ++ isa = PBXFileSystemSynchronizedRootGroup; ++ path = TestbedTests; ++ sourceTree = ""; ++ }; ++/* End PBXFileSystemSynchronizedRootGroup section */ ++ +/* Begin PBXFrameworksBuildPhase section */ + 607A660F2B0EFA380010BFC8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; @@ -1977,7 +2053,6 @@ index 00000000000..0fd5df716b1 + 607A66142B0EFA380010BFC8 /* visionOSTestbed */, + 607A66302B0EFA3A0010BFC8 /* TestbedTests */, + 607A66132B0EFA380010BFC8 /* Products */, -+ 607A664F2B0EFFE00010BFC8 /* Frameworks */, + ); + sourceTree = ""; + }; @@ -1990,35 +2065,6 @@ index 00000000000..0fd5df716b1 + name = Products; + sourceTree = ""; + }; -+ 607A66142B0EFA380010BFC8 /* visionOSTestbed */ = { -+ isa = PBXGroup; -+ children = ( -+ 608619552CB7819B00F46182 /* app */, -+ 608619532CB77BA900F46182 /* app_packages */, -+ 607A66592B0F08600010BFC8 /* visionOSTestbed-Info.plist */, -+ 607A66152B0EFA380010BFC8 /* AppDelegate.h */, -+ 607A66162B0EFA380010BFC8 /* AppDelegate.m */, -+ 607A66212B0EFA390010BFC8 /* Assets.xcassets */, -+ 607A66272B0EFA390010BFC8 /* main.m */, -+ ); -+ path = visionOSTestbed; -+ sourceTree = ""; -+ }; -+ 607A66302B0EFA3A0010BFC8 /* TestbedTests */ = { -+ isa = PBXGroup; -+ children = ( -+ 607A66312B0EFA3A0010BFC8 /* TestbedTests.m */, -+ ); -+ path = TestbedTests; -+ sourceTree = ""; -+ }; -+ 607A664F2B0EFFE00010BFC8 /* Frameworks */ = { -+ isa = PBXGroup; -+ children = ( -+ ); -+ name = Frameworks; -+ sourceTree = ""; -+ }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ @@ -2036,7 +2082,12 @@ index 00000000000..0fd5df716b1 + ); + dependencies = ( + ); ++ fileSystemSynchronizedGroups = ( ++ 607A66142B0EFA380010BFC8 /* visionOSTestbed */, ++ ); + name = visionOSTestbed; ++ packageProductDependencies = ( ++ ); + productName = iOSTestbed; + productReference = 607A66122B0EFA380010BFC8 /* visionOSTestbed.app */; + productType = "com.apple.product-type.application"; @@ -2055,7 +2106,12 @@ index 00000000000..0fd5df716b1 + dependencies = ( + 607A662F2B0EFA3A0010BFC8 /* PBXTargetDependency */, + ); ++ fileSystemSynchronizedGroups = ( ++ 607A66302B0EFA3A0010BFC8 /* TestbedTests */, ++ ); + name = TestbedTests; ++ packageProductDependencies = ( ++ ); + productName = iOSTestbedTests; + productReference = 607A662D2B0EFA3A0010BFC8 /* TestbedTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; @@ -2087,6 +2143,8 @@ index 00000000000..0fd5df716b1 + Base, + ); + mainGroup = 607A66092B0EFA380010BFC8; ++ minimizedProjectReferenceProxies = 1; ++ preferredProjectObjectVersion = 77; + productRefGroup = 607A66132B0EFA380010BFC8 /* Products */; + projectDirPath = ""; + projectRoot = ""; @@ -2102,9 +2160,6 @@ index 00000000000..0fd5df716b1 + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( -+ 608619562CB7819B00F46182 /* app in Resources */, -+ 607A66222B0EFA390010BFC8 /* Assets.xcassets in Resources */, -+ 608619542CB77BA900F46182 /* app_packages in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; @@ -2145,8 +2200,6 @@ index 00000000000..0fd5df716b1 + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( -+ 607A66172B0EFA380010BFC8 /* AppDelegate.m in Sources */, -+ 607A66282B0EFA390010BFC8 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; @@ -2154,7 +2207,6 @@ index 00000000000..0fd5df716b1 + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( -+ 607A66322B0EFA3A0010BFC8 /* TestbedTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; @@ -2611,16 +2663,17 @@ index 00000000000..8fe7ec8e64e +@end diff --git a/Platforms/Apple/testbed/visionOSTestbed/AppDelegate.m b/Platforms/Apple/testbed/visionOSTestbed/AppDelegate.m new file mode 100644 -index 00000000000..b3ff14f7255 +index 00000000000..f46c65a3834 --- /dev/null +++ b/Platforms/Apple/testbed/visionOSTestbed/AppDelegate.m -@@ -0,0 +1,19 @@ +@@ -0,0 +1,24 @@ +// +// AppDelegate.m +// visionOSTestbed +// + +#import "AppDelegate.h" ++#import "SceneDelegate.h" + +@interface AppDelegate () + @@ -2628,9 +2681,13 @@ index 00000000000..b3ff14f7255 + +@implementation AppDelegate + ++- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options { ++ UISceneConfiguration *configuration = [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role]; ++ configuration.delegateClass = [SceneDelegate class]; ++ return configuration; ++} + -+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { -+ return YES; ++- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet *)sceneSessions { +} + +@end @@ -2682,6 +2739,51 @@ index 00000000000..73c00596a7f + "version" : 1 + } +} +diff --git a/Platforms/Apple/testbed/visionOSTestbed/SceneDelegate.h b/Platforms/Apple/testbed/visionOSTestbed/SceneDelegate.h +new file mode 100644 +index 00000000000..264aacadca1 +--- /dev/null ++++ b/Platforms/Apple/testbed/visionOSTestbed/SceneDelegate.h +@@ -0,0 +1,12 @@ ++// ++// SceneDelegate.h ++// iOSTestbed ++// ++ ++#import ++ ++@interface SceneDelegate : UIResponder ++ ++@property (strong, nonatomic) UIWindow *window; ++ ++@end +diff --git a/Platforms/Apple/testbed/visionOSTestbed/SceneDelegate.m b/Platforms/Apple/testbed/visionOSTestbed/SceneDelegate.m +new file mode 100644 +index 00000000000..e82e447985d +--- /dev/null ++++ b/Platforms/Apple/testbed/visionOSTestbed/SceneDelegate.m +@@ -0,0 +1,21 @@ ++// ++// SceneDelegate.m ++// iOSTestbed ++// ++ ++#import "SceneDelegate.h" ++ ++@interface SceneDelegate () ++ ++@end ++ ++@implementation SceneDelegate ++ ++- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions { ++ UIWindowScene *windowScene = (UIWindowScene *)scene; ++ self.window = [[UIWindow alloc] initWithWindowScene:windowScene]; ++ self.window.rootViewController = [[UIViewController alloc] init]; ++ [self.window makeKeyAndVisible]; ++} ++ ++@end diff --git a/Platforms/Apple/testbed/visionOSTestbed/app/README b/Platforms/Apple/testbed/visionOSTestbed/app/README new file mode 100644 index 00000000000..af22c685f87 @@ -2732,10 +2834,10 @@ index 00000000000..2bb491f25c8 +} diff --git a/Platforms/Apple/testbed/visionOSTestbed/visionOSTestbed-Info.plist b/Platforms/Apple/testbed/visionOSTestbed/visionOSTestbed-Info.plist new file mode 100644 -index 00000000000..fce9298555d +index 00000000000..11a8230d1d2 --- /dev/null +++ b/Platforms/Apple/testbed/visionOSTestbed/visionOSTestbed-Info.plist -@@ -0,0 +1,56 @@ +@@ -0,0 +1,66 @@ + + + @@ -2773,7 +2875,17 @@ index 00000000000..fce9298555d + UIApplicationSupportsMultipleScenes + + UISceneConfigurations -+ ++ ++ UIWindowSceneSessionRoleApplication ++ ++ ++ UISceneDelegateClassName ++ SceneDelegate ++ UISceneConfigurationName ++ Default Configuration ++ ++ ++ + + UIRequiresFullScreen + @@ -4264,7 +4376,7 @@ index a68a98c5a4d..a34d4986bbe 100755 "Misc/python.pc") CONFIG_FILES="$CONFIG_FILES Misc/python.pc" ;; "Misc/python-embed.pc") CONFIG_FILES="$CONFIG_FILES Misc/python-embed.pc" ;; diff --git a/configure.ac b/configure.ac -index ed8b53dd3a4..4f455a475e8 100644 +index ed8b53dd3a4..39fb6e82fb1 100644 --- a/configure.ac +++ b/configure.ac @@ -339,6 +339,15 @@ @@ -4583,7 +4695,7 @@ index ed8b53dd3a4..4f455a475e8 100644 # checks for alternative programs -@@ -994,7 +1177,9 @@ +@@ -994,15 +1177,28 @@ ], ) @@ -4594,8 +4706,10 @@ index ed8b53dd3a4..4f455a475e8 100644 AS_CASE([$host], [*-apple-ios*-simulator], [ AS_VAR_APPEND([CFLAGS], [" -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET}"]) -@@ -1003,6 +1188,18 @@ - [*-apple-ios*], [ + AS_VAR_APPEND([LDFLAGS], [" -mios-simulator-version-min=${IPHONEOS_DEPLOYMENT_TARGET}"]) +- ], +- [*-apple-ios*], [ ++ ],[*-apple-ios*], [ AS_VAR_APPEND([CFLAGS], [" -mios-version-min=${IPHONEOS_DEPLOYMENT_TARGET}"]) AS_VAR_APPEND([LDFLAGS], [" -mios-version-min=${IPHONEOS_DEPLOYMENT_TARGET}"]) + ],[*-apple-tvos*-simulator], [ @@ -4613,7 +4727,7 @@ index ed8b53dd3a4..4f455a475e8 100644 ], ) -@@ -1191,6 +1388,9 @@ +@@ -1191,6 +1387,9 @@ AS_CASE([$ac_sys_system], [Darwin*], [MULTIARCH=""], [iOS], [MULTIARCH=""], @@ -4623,7 +4737,7 @@ index ed8b53dd3a4..4f455a475e8 100644 [FreeBSD*], [MULTIARCH=""], [MULTIARCH=$($CC --print-multiarch 2>/dev/null)] ) -@@ -1212,7 +1412,7 @@ +@@ -1212,7 +1411,7 @@ dnl use a single "fat" binary at runtime. SOABI_PLATFORM is the component of dnl the PLATFORM_TRIPLET that will be used in binary module extensions. AS_CASE([$ac_sys_system], @@ -4632,7 +4746,7 @@ index ed8b53dd3a4..4f455a475e8 100644 [SOABI_PLATFORM=$PLATFORM_TRIPLET] ) -@@ -1251,16 +1451,22 @@ +@@ -1251,16 +1450,22 @@ [wasm32-unknown-wasip1/clang], [PY_SUPPORT_TIER=2], dnl WebAssembly System Interface preview1, clang [x86_64-*-linux-gnu/clang], [PY_SUPPORT_TIER=2], dnl Linux on AMD64, any vendor, glibc, clang @@ -4665,7 +4779,7 @@ index ed8b53dd3a4..4f455a475e8 100644 [PY_SUPPORT_TIER=0] ) -@@ -1579,7 +1785,7 @@ +@@ -1579,7 +1784,7 @@ case $ac_sys_system in Darwin) LDLIBRARY='$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)';; @@ -4674,7 +4788,7 @@ index ed8b53dd3a4..4f455a475e8 100644 LDLIBRARY='$(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)';; *) AC_MSG_ERROR([Unknown platform for framework build]);; -@@ -1644,7 +1850,7 @@ +@@ -1644,7 +1849,7 @@ BLDLIBRARY='-L. -lpython$(LDVERSION)' RUNSHARED=DYLD_LIBRARY_PATH=`pwd`${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}} ;; @@ -4683,7 +4797,7 @@ index ed8b53dd3a4..4f455a475e8 100644 LDLIBRARY='libpython$(LDVERSION).dylib' ;; AIX*) -@@ -3652,7 +3858,7 @@ +@@ -3652,7 +3857,7 @@ BLDSHARED="$LDSHARED" fi ;; @@ -4692,7 +4806,7 @@ index ed8b53dd3a4..4f455a475e8 100644 LDSHARED='$(CC) -dynamiclib -F . -framework $(PYTHONFRAMEWORK)' LDCXXSHARED='$(CXX) -dynamiclib -F . -framework $(PYTHONFRAMEWORK)' BLDSHARED="$LDSHARED" -@@ -3776,7 +3982,7 @@ +@@ -3776,7 +3981,7 @@ Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; # -u libsys_s pulls in all symbols in libsys @@ -4701,7 +4815,7 @@ index ed8b53dd3a4..4f455a475e8 100644 LINKFORSHARED="$extra_undefs -framework CoreFoundation" # Issue #18075: the default maximum stack size (8MBytes) is too -@@ -3800,7 +4006,7 @@ +@@ -3800,7 +4005,7 @@ LINKFORSHARED="$LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' fi LINKFORSHARED="$LINKFORSHARED" @@ -4710,7 +4824,7 @@ index ed8b53dd3a4..4f455a475e8 100644 LINKFORSHARED="-Wl,-stack_size,$stack_size $LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)' fi ;; -@@ -4308,7 +4514,7 @@ +@@ -4308,7 +4513,7 @@ dnl when do we need USING_APPLE_OS_LIBFFI? ctypes_malloc_closure=yes ], @@ -4719,7 +4833,7 @@ index ed8b53dd3a4..4f455a475e8 100644 ctypes_malloc_closure=yes ], [sunos5], [AS_VAR_APPEND([LIBFFI_LIBS], [" -mimpure-text"])] -@@ -5487,9 +5693,9 @@ +@@ -5487,9 +5692,9 @@ AC_CHECK_FUNCS([ \ accept4 alarm bind_textdomain_codeset chmod chown clearenv \ clock closefrom close_range confstr \ @@ -4731,7 +4845,7 @@ index ed8b53dd3a4..4f455a475e8 100644 gai_strerror getegid geteuid getgid getgrent getgrgid getgrgid_r \ getgrnam_r getgrouplist gethostname getitimer getloadavg getlogin getlogin_r \ getpeername getpgid getpid getppid getpriority _getpty \ -@@ -5497,8 +5703,7 @@ +@@ -5497,8 +5702,7 @@ getspnam getuid getwd grantpt if_nameindex initgroups kill killpg lchown linkat \ lockf lstat lutimes madvise mbrtowc memrchr mkdirat mkfifo mkfifoat \ mknod mknodat mktime mmap mremap nice openat opendir pathconf pause pipe \ @@ -4741,7 +4855,7 @@ index ed8b53dd3a4..4f455a475e8 100644 pread preadv preadv2 process_vm_readv \ pthread_cond_timedwait_relative_np pthread_condattr_setclock pthread_init \ pthread_kill pthread_get_name_np pthread_getname_np pthread_set_name_np \ -@@ -5508,7 +5713,7 @@ +@@ -5508,7 +5712,7 @@ sched_setparam sched_setscheduler sem_clockwait sem_getvalue sem_open \ sem_timedwait sem_unlink sendfile setegid seteuid setgid sethostname \ setitimer setlocale setpgid setpgrp setpriority setregid setresgid \ @@ -4750,7 +4864,7 @@ index ed8b53dd3a4..4f455a475e8 100644 sigfillset siginterrupt sigpending sigrelse sigtimedwait sigwait \ sigwaitinfo snprintf splice strftime strlcpy strsignal symlinkat sync \ sysconf sysctlbyname tcgetpgrp tcsetpgrp tempnam timegm times tmpfile \ -@@ -5529,12 +5734,26 @@ +@@ -5529,12 +5733,26 @@ AC_CHECK_FUNCS([lchmod]) fi @@ -4780,7 +4894,7 @@ index ed8b53dd3a4..4f455a475e8 100644 fi AC_CHECK_DECL([dirfd], -@@ -5861,20 +6080,22 @@ +@@ -5861,20 +6079,22 @@ @%:@include ]) ]) # check for openpty, login_tty, and forkpty @@ -4817,7 +4931,7 @@ index ed8b53dd3a4..4f455a475e8 100644 # check for long file support functions AC_CHECK_FUNCS([fseek64 fseeko fstatvfs ftell64 ftello statvfs]) -@@ -5913,10 +6134,10 @@ +@@ -5913,10 +6133,10 @@ ]) ]) @@ -4830,7 +4944,7 @@ index ed8b53dd3a4..4f455a475e8 100644 then AC_CHECK_FUNCS([clock_settime], [], [ AC_CHECK_LIB([rt], [clock_settime], [ -@@ -6074,7 +6295,7 @@ +@@ -6074,7 +6294,7 @@ [ac_cv_buggy_getaddrinfo=no], [ac_cv_buggy_getaddrinfo=yes], [ @@ -4839,7 +4953,7 @@ index ed8b53dd3a4..4f455a475e8 100644 ac_cv_buggy_getaddrinfo="no" elif test "${enable_ipv6+set}" = set; then ac_cv_buggy_getaddrinfo="no -- configured with --(en|dis)able-ipv6" -@@ -6678,8 +6899,8 @@ +@@ -6678,8 +6898,8 @@ LIBPYTHON="-lpython${VERSION}${ABIFLAGS}" fi @@ -4850,7 +4964,7 @@ index ed8b53dd3a4..4f455a475e8 100644 MODULE_DEPS_SHARED="$MODULE_DEPS_SHARED \$(PYTHONFRAMEWORKDIR)/\$(PYTHONFRAMEWORK)" fi -@@ -7352,7 +7573,7 @@ +@@ -7352,7 +7572,7 @@ dnl NOTE: Inform user how to proceed with files when cross compiling. dnl Some cross-compile builds are predictable; they won't ever dnl have /dev/ptmx or /dev/ptc, so we can set them explicitly. @@ -4859,7 +4973,7 @@ index ed8b53dd3a4..4f455a475e8 100644 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no else -@@ -7681,7 +7902,7 @@ +@@ -7681,7 +7901,7 @@ AS_CASE([$ac_sys_system], [Emscripten], [with_ensurepip=no], [WASI], [with_ensurepip=no], @@ -4868,7 +4982,7 @@ index ed8b53dd3a4..4f455a475e8 100644 [with_ensurepip=upgrade] ) ]) -@@ -8069,6 +8290,9 @@ +@@ -8069,6 +8289,9 @@ NetBSD*) _PYTHREAD_NAME_MAXLEN=15;; # gh-131268 Darwin) _PYTHREAD_NAME_MAXLEN=63;; iOS) _PYTHREAD_NAME_MAXLEN=63;; @@ -4878,7 +4992,7 @@ index ed8b53dd3a4..4f455a475e8 100644 FreeBSD*) _PYTHREAD_NAME_MAXLEN=19;; # gh-131268 OpenBSD*) _PYTHREAD_NAME_MAXLEN=23;; # gh-131268 *) _PYTHREAD_NAME_MAXLEN=;; -@@ -8093,7 +8317,7 @@ +@@ -8093,7 +8316,7 @@ [VxWorks*], [PY_STDLIB_MOD_SET_NA([_scproxy], [termios], [grp])], dnl The _scproxy module is available on macOS [Darwin], [],