diff --git a/Makefile b/Makefile index 3796f84..79c2f19 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.14.0a7 +PYTHON_VERSION=3.14.0b2 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+") diff --git a/patch/Python/Python.patch b/patch/Python/Python.patch index 270bf5c..8db5c52 100644 --- a/patch/Python/Python.patch +++ b/patch/Python/Python.patch @@ -1,8 +1,8 @@ diff --git a/Lib/ctypes/__init__.py b/Lib/ctypes/__init__.py -index bba08b99b95..8d03017c223 100644 +index 823a3692fd1..00639dd8488 100644 --- a/Lib/ctypes/__init__.py +++ b/Lib/ctypes/__init__.py -@@ -361,7 +361,7 @@ +@@ -419,7 +419,7 @@ if name: name = _os.fspath(name) @@ -56,7 +56,7 @@ index 8bcd741c446..d8a6f28edba 100644 suffix.replace(".so", ".fwork") for suffix in _imp.extension_suffixes() diff --git a/Lib/platform.py b/Lib/platform.py -index a62192589af..31f18b026b7 100644 +index 55e211212d4..cad919bc0c4 100644 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -528,6 +528,78 @@ @@ -212,10 +212,10 @@ index a62192589af..31f18b026b7 100644 macos_release = mac_ver()[0] if macos_release: diff --git a/Lib/site.py b/Lib/site.py -index 9da8b6724e1..345f55a5bde 100644 +index f9327197159..74899abecb0 100644 --- a/Lib/site.py +++ b/Lib/site.py -@@ -297,8 +297,8 @@ +@@ -298,8 +298,8 @@ if env_base: return env_base @@ -227,7 +227,7 @@ index 9da8b6724e1..345f55a5bde 100644 def joinuser(*args): diff --git a/Lib/subprocess.py b/Lib/subprocess.py -index da5f5729e09..7401ffbc987 100644 +index 54c2eb515b6..03896a234bf 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py @@ -75,7 +75,7 @@ @@ -240,7 +240,7 @@ index da5f5729e09..7401ffbc987 100644 if _mswindows: import _winapi diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py -index 18e6b8d25e5..64603fb1bb1 100644 +index f93b98dd681..0db3dbdce05 100644 --- a/Lib/sysconfig/__init__.py +++ b/Lib/sysconfig/__init__.py @@ -23,6 +23,9 @@ @@ -262,7 +262,7 @@ index 18e6b8d25e5..64603fb1bb1 100644 return None def joinuser(*args): -@@ -719,6 +722,18 @@ +@@ -730,6 +733,18 @@ release = get_config_vars().get("IPHONEOS_DEPLOYMENT_TARGET", "13.0") osname = sys.platform machine = sys.implementation._multiarch @@ -282,10 +282,10 @@ index 18e6b8d25e5..64603fb1bb1 100644 import _osx_support osname, release, machine = _osx_support.get_platform_osx( diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py -index ecb37250ceb..67d04491072 100644 +index 1b551254f86..8594f92c097 100644 --- a/Lib/test/datetimetester.py +++ b/Lib/test/datetimetester.py -@@ -7155,9 +7155,9 @@ +@@ -7159,9 +7159,9 @@ self.assertEqual(dt_orig, dt_rt) def test_type_check_in_subinterp(self): @@ -298,10 +298,10 @@ index ecb37250ceb..67d04491072 100644 else: extension_loader = "ExtensionFileLoader" diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py -index 6d670a575b0..8d7d68d1ee1 100644 +index b7cd7940eb1..32243a49e7a 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py -@@ -551,7 +551,7 @@ +@@ -558,7 +558,7 @@ sys.platform == "android", f"Android blocks {name} with SELinux" ) @@ -310,7 +310,7 @@ index 6d670a575b0..8d7d68d1ee1 100644 unix_shell = '/system/bin/sh' if is_android else '/bin/sh' else: unix_shell = None -@@ -567,7 +567,7 @@ +@@ -574,7 +574,7 @@ def skip_wasi_stack_overflow(): return unittest.skipIf(is_wasi, "Exhausts stack on WASI") @@ -319,19 +319,6 @@ index 6d670a575b0..8d7d68d1ee1 100644 is_apple = is_apple_mobile or sys.platform == "darwin" has_fork_support = hasattr(os, "fork") and not ( -diff --git a/Lib/test/support/os_helper.py b/Lib/test/support/os_helper.py -index d82093e375c..2c45fe2369e 100644 ---- a/Lib/test/support/os_helper.py -+++ b/Lib/test/support/os_helper.py -@@ -657,7 +657,7 @@ - """ - if sys.platform.startswith(('linux', 'android', 'freebsd', 'emscripten')): - fd_path = "/proc/self/fd" -- elif sys.platform == "darwin": -+ elif support.is_apple: - fd_path = "/dev/fd" - else: - fd_path = None diff --git a/Lib/test/test_ctypes/test_dllist.py b/Lib/test/test_ctypes/test_dllist.py index 15603dc3d77..bff6c0fb95f 100644 --- a/Lib/test/test_ctypes/test_dllist.py @@ -346,10 +333,10 @@ index 15603dc3d77..bff6c0fb95f 100644 if WINDOWS: KNOWN_LIBRARIES = ["KERNEL32.DLL"] diff --git a/Lib/test/test_platform.py b/Lib/test/test_platform.py -index 6ba630ad527..7b447744d12 100644 +index 719c4feace6..92a831a9148 100644 --- a/Lib/test/test_platform.py +++ b/Lib/test/test_platform.py -@@ -268,13 +268,21 @@ +@@ -271,13 +271,21 @@ if sys.platform == "android": self.assertEqual(res.system, "Android") self.assertEqual(res.release, platform.android_ver().release) @@ -389,11 +376,11 @@ index 4c3ea1cd8df..04a210e5c86 100644 def _obj_ref(self, *args): # Construct a string representation of the arguments that can be used diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py -index 232d3c3a9c5..e042c20ea54 100644 +index f2e2394089d..2efbbfb0014 100644 --- a/Lib/webbrowser.py +++ b/Lib/webbrowser.py @@ -488,7 +488,8 @@ - # OS X can use below Unix support (but we prefer using the OS X + # macOS can use below Unix support (but we prefer using the macOS # specific stuff) - if sys.platform == "ios": @@ -402,7 +389,7 @@ index 232d3c3a9c5..e042c20ea54 100644 register("iosbrowser", None, IOSBrowser(), preferred=True) if sys.platform == "serenityos": -@@ -640,9 +641,10 @@ +@@ -653,9 +654,10 @@ return not rc # @@ -416,7 +403,7 @@ index 232d3c3a9c5..e042c20ea54 100644 if objc: # If objc exists, we know ctypes is also importable. diff --git a/Makefile.pre.in b/Makefile.pre.in -index e10c78d6403..920e707ab26 100644 +index b5703fbe6ae..e436b2efb8e 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -209,6 +209,12 @@ @@ -432,7 +419,7 @@ index e10c78d6403..920e707ab26 100644 # Option to install to strip binaries STRIPFLAG=-s -@@ -2243,7 +2249,7 @@ +@@ -2264,7 +2270,7 @@ # a full Xcode install that has an iPhone SE (3rd edition) simulator available. # This must be run *after* a `make install` has completed the build. The # `--with-framework-name` argument *cannot* be used when configuring the build. @@ -441,7 +428,7 @@ index e10c78d6403..920e707ab26 100644 .PHONY: testios testios: @if test "$(MACHDEP)" != "ios"; then \ -@@ -2263,11 +2269,41 @@ +@@ -2284,11 +2290,41 @@ exit 1;\ fi @@ -487,7 +474,7 @@ index e10c78d6403..920e707ab26 100644 # Like test, but using --slow-ci which enables all test resources and use # longer timeout. Run an optional pybuildbot.identify script to include diff --git a/Misc/platform_triplet.c b/Misc/platform_triplet.c -index ec0857a4a99..e52f486cdb3 100644 +index f5cd73bdea8..6c1863c943b 100644 --- a/Misc/platform_triplet.c +++ b/Misc/platform_triplet.c @@ -257,6 +257,32 @@ @@ -546,10 +533,10 @@ index 1bb6a05dc11..49febd56a37 100755 none--*) # None (no kernel, i.e. freestanding / bare metal), diff --git a/configure b/configure -index 1b75ddfa26d..7b79dfc424c 100755 +index 884f8a4b068..7c93d36e717 100755 --- a/configure +++ b/configure -@@ -978,6 +978,10 @@ +@@ -982,6 +982,10 @@ CFLAGS CC HAS_XCRUN @@ -560,7 +547,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 IPHONEOS_DEPLOYMENT_TARGET EXPORT_MACOSX_DEPLOYMENT_TARGET CONFIGURE_MACOSX_DEPLOYMENT_TARGET -@@ -4106,6 +4110,15 @@ +@@ -4116,6 +4120,15 @@ *-apple-ios*) ac_sys_system=iOS ;; @@ -576,7 +563,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 *-*-darwin*) ac_sys_system=Darwin ;; -@@ -4187,7 +4200,7 @@ +@@ -4197,7 +4210,7 @@ # On cross-compile builds, configure will look for a host-specific compiler by # prepending the user-provided host triple to the required binary name. # @@ -585,7 +572,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 # which isn't a binary that exists, and isn't very convenient, as it contains the # iOS version. As the default cross-compiler name won't exist, configure falls # back to gcc, which *definitely* won't work. We're providing wrapper scripts for -@@ -4202,6 +4215,17 @@ +@@ -4212,6 +4225,17 @@ aarch64-apple-ios*-simulator) AR=arm64-apple-ios-simulator-ar ;; aarch64-apple-ios*) AR=arm64-apple-ios-ar ;; x86_64-apple-ios*-simulator) AR=x86_64-apple-ios-simulator-ar ;; @@ -603,7 +590,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 *) esac fi -@@ -4210,6 +4234,17 @@ +@@ -4220,6 +4244,17 @@ aarch64-apple-ios*-simulator) CC=arm64-apple-ios-simulator-clang ;; aarch64-apple-ios*) CC=arm64-apple-ios-clang ;; x86_64-apple-ios*-simulator) CC=x86_64-apple-ios-simulator-clang ;; @@ -621,7 +608,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 *) esac fi -@@ -4218,6 +4253,17 @@ +@@ -4228,6 +4263,17 @@ aarch64-apple-ios*-simulator) CPP=arm64-apple-ios-simulator-cpp ;; aarch64-apple-ios*) CPP=arm64-apple-ios-cpp ;; x86_64-apple-ios*-simulator) CPP=x86_64-apple-ios-simulator-cpp ;; @@ -639,7 +626,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 *) esac fi -@@ -4226,6 +4272,17 @@ +@@ -4236,6 +4282,17 @@ aarch64-apple-ios*-simulator) CXX=arm64-apple-ios-simulator-clang++ ;; aarch64-apple-ios*) CXX=arm64-apple-ios-clang++ ;; x86_64-apple-ios*-simulator) CXX=x86_64-apple-ios-simulator-clang++ ;; @@ -657,7 +644,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 *) esac fi -@@ -4348,8 +4405,11 @@ +@@ -4358,8 +4415,11 @@ case $enableval in yes) case $ac_sys_system in @@ -671,7 +658,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 *) as_fn_error $? "Unknown platform for framework build" "$LINENO" 5 esac esac -@@ -4358,6 +4418,9 @@ +@@ -4368,6 +4428,9 @@ no) case $ac_sys_system in iOS) as_fn_error $? "iOS builds must use --enable-framework" "$LINENO" 5 ;; @@ -681,7 +668,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 *) PYTHONFRAMEWORK= PYTHONFRAMEWORKDIR=no-framework -@@ -4464,6 +4527,51 @@ +@@ -4474,6 +4537,51 @@ ac_config_files="$ac_config_files iOS/Resources/Info.plist" @@ -733,7 +720,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 ;; *) as_fn_error $? "Unknown platform for framework build" "$LINENO" 5 -@@ -4475,6 +4583,9 @@ +@@ -4485,6 +4593,9 @@ e) case $ac_sys_system in iOS) as_fn_error $? "iOS builds must use --enable-framework" "$LINENO" 5 ;; @@ -743,7 +730,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 *) PYTHONFRAMEWORK= PYTHONFRAMEWORKDIR=no-framework -@@ -4529,8 +4640,8 @@ +@@ -4539,8 +4650,8 @@ case "$withval" in yes) case $ac_sys_system in @@ -754,7 +741,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 APP_STORE_COMPLIANCE_PATCH="Mac/Resources/app-store-compliance.patch" ;; *) as_fn_error $? "no default app store compliance patch available for $ac_sys_system" "$LINENO" 5 ;; -@@ -4548,8 +4659,8 @@ +@@ -4558,8 +4669,8 @@ else case e in #( e) case $ac_sys_system in @@ -765,7 +752,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 APP_STORE_COMPLIANCE_PATCH="Mac/Resources/app-store-compliance.patch" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: applying default app store compliance patch" >&5 printf "%s\n" "applying default app store compliance patch" >&6; } -@@ -4567,6 +4678,8 @@ +@@ -4577,6 +4688,8 @@ @@ -774,7 +761,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 if test "$cross_compiling" = yes; then case "$host" in -@@ -4604,6 +4717,78 @@ +@@ -4614,6 +4727,78 @@ ;; esac ;; @@ -853,7 +840,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 *-*-darwin*) case "$host_cpu" in arm*) -@@ -4694,9 +4879,15 @@ +@@ -4704,9 +4889,15 @@ define_xopen_source=no;; Darwin/[12][0-9].*) define_xopen_source=no;; @@ -870,7 +857,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 # On QNX 6.3.2, defining _XOPEN_SOURCE prevents netdb.h from # defining NI_NUMERICHOST. QNX/6.3.2) -@@ -4759,7 +4950,13 @@ +@@ -4769,7 +4960,13 @@ CONFIGURE_MACOSX_DEPLOYMENT_TARGET= EXPORT_MACOSX_DEPLOYMENT_TARGET='#' @@ -885,7 +872,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 # checks for alternative programs -@@ -4800,6 +4997,16 @@ +@@ -4810,6 +5007,16 @@ as_fn_append CFLAGS " -mios-version-min=${IPHONEOS_DEPLOYMENT_TARGET}" as_fn_append LDFLAGS " -mios-version-min=${IPHONEOS_DEPLOYMENT_TARGET}" ;; #( @@ -902,7 +889,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 *) : ;; esac -@@ -7169,6 +7376,12 @@ +@@ -7179,6 +7386,12 @@ MULTIARCH="" ;; #( iOS) : MULTIARCH="" ;; #( @@ -915,7 +902,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 FreeBSD*) : MULTIARCH="" ;; #( *) : -@@ -7189,7 +7402,7 @@ +@@ -7199,7 +7412,7 @@ printf "%s\n" "$MULTIARCH" >&6; } case $ac_sys_system in #( @@ -924,7 +911,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 SOABI_PLATFORM=`echo "$PLATFORM_TRIPLET" | cut -d '-' -f2` ;; #( *) : SOABI_PLATFORM=$PLATFORM_TRIPLET -@@ -7240,6 +7453,18 @@ +@@ -7250,6 +7463,18 @@ PY_SUPPORT_TIER=3 ;; #( aarch64-apple-ios*/clang) : PY_SUPPORT_TIER=3 ;; #( @@ -943,7 +930,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 aarch64-*-linux-android/clang) : PY_SUPPORT_TIER=3 ;; #( x86_64-*-linux-android/clang) : -@@ -7676,7 +7901,7 @@ +@@ -7686,7 +7911,7 @@ case $ac_sys_system in Darwin) LDLIBRARY='$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)';; @@ -952,7 +939,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 LDLIBRARY='$(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)';; *) as_fn_error $? "Unknown platform for framework build" "$LINENO" 5;; -@@ -7742,7 +7967,7 @@ +@@ -7752,7 +7977,7 @@ BLDLIBRARY='-L. -lpython$(LDVERSION)' RUNSHARED=DYLD_LIBRARY_PATH=`pwd`${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}} ;; @@ -961,7 +948,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 LDLIBRARY='libpython$(LDVERSION).dylib' ;; AIX*) -@@ -13550,7 +13775,7 @@ +@@ -13574,7 +13799,7 @@ BLDSHARED="$LDSHARED" fi ;; @@ -970,7 +957,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 LDSHARED='$(CC) -dynamiclib -F . -framework $(PYTHONFRAMEWORK)' LDCXXSHARED='$(CXX) -dynamiclib -F . -framework $(PYTHONFRAMEWORK)' BLDSHARED="$LDSHARED" -@@ -13683,7 +13908,7 @@ +@@ -13707,7 +13932,7 @@ Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; # -u libsys_s pulls in all symbols in libsys @@ -979,7 +966,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 LINKFORSHARED="$extra_undefs -framework CoreFoundation" # Issue #18075: the default maximum stack size (8MBytes) is too -@@ -13707,7 +13932,7 @@ +@@ -13731,7 +13956,7 @@ LINKFORSHARED="$LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' fi LINKFORSHARED="$LINKFORSHARED" @@ -988,7 +975,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 LINKFORSHARED="-Wl,-stack_size,$stack_size $LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)' fi ;; -@@ -15292,7 +15517,7 @@ +@@ -15508,7 +15733,7 @@ ctypes_malloc_closure=yes ;; #( @@ -997,7 +984,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 ctypes_malloc_closure=yes ;; #( -@@ -19044,12 +19269,6 @@ +@@ -19260,12 +19485,6 @@ then : printf "%s\n" "#define HAVE_DUP3 1" >>confdefs.h @@ -1010,7 +997,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 fi ac_fn_c_check_func "$LINENO" "explicit_bzero" "ac_cv_func_explicit_bzero" if test "x$ac_cv_func_explicit_bzero" = xyes -@@ -19110,18 +19329,6 @@ +@@ -19326,18 +19545,6 @@ then : printf "%s\n" "#define HAVE_FEXECVE 1" >>confdefs.h @@ -1029,7 +1016,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 fi ac_fn_c_check_func "$LINENO" "fpathconf" "ac_cv_func_fpathconf" if test "x$ac_cv_func_fpathconf" = xyes -@@ -19548,24 +19755,6 @@ +@@ -19764,24 +19971,6 @@ then : printf "%s\n" "#define HAVE_POSIX_OPENPT 1" >>confdefs.h @@ -1054,7 +1041,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 fi ac_fn_c_check_func "$LINENO" "pread" "ac_cv_func_pread" if test "x$ac_cv_func_pread" = xyes -@@ -19884,12 +20073,6 @@ +@@ -20100,12 +20289,6 @@ then : printf "%s\n" "#define HAVE_SIGACTION 1" >>confdefs.h @@ -1067,7 +1054,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 fi ac_fn_c_check_func "$LINENO" "sigfillset" "ac_cv_func_sigfillset" if test "x$ac_cv_func_sigfillset" = xyes -@@ -20158,11 +20341,11 @@ +@@ -20374,11 +20557,11 @@ fi @@ -1081,7 +1068,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 ac_fn_c_check_func "$LINENO" "getentropy" "ac_cv_func_getentropy" if test "x$ac_cv_func_getentropy" = xyes then : -@@ -20184,6 +20367,53 @@ +@@ -20400,6 +20583,53 @@ fi @@ -1135,7 +1122,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5 printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; } if test ${ac_cv_c_undeclared_builtin_options+y} -@@ -23266,7 +23496,8 @@ +@@ -23844,7 +24074,8 @@ # check for openpty, login_tty, and forkpty @@ -1145,7 +1132,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 for ac_func in openpty do : -@@ -23380,7 +23611,7 @@ +@@ -23958,7 +24189,7 @@ fi done @@ -1154,7 +1141,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 printf %s "checking for library containing login_tty... " >&6; } if test ${ac_cv_search_login_tty+y} then : -@@ -23563,6 +23794,7 @@ +@@ -24141,6 +24372,7 @@ fi done @@ -1162,7 +1149,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 # check for long file support functions ac_fn_c_check_func "$LINENO" "fseek64" "ac_cv_func_fseek64" -@@ -23828,10 +24060,10 @@ +@@ -24406,10 +24638,10 @@ done @@ -1175,7 +1162,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 then for ac_func in clock_settime -@@ -24148,7 +24380,7 @@ +@@ -24726,7 +24958,7 @@ e) if test "$cross_compiling" = yes then : @@ -1184,7 +1171,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 ac_cv_buggy_getaddrinfo="no" elif test "${enable_ipv6+set}" = set; then ac_cv_buggy_getaddrinfo="no -- configured with --(en|dis)able-ipv6" -@@ -26170,8 +26402,8 @@ +@@ -26748,8 +26980,8 @@ LIBPYTHON="\$(BLDLIBRARY)" fi @@ -1195,7 +1182,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 MODULE_DEPS_SHARED="$MODULE_DEPS_SHARED \$(PYTHONFRAMEWORKDIR)/\$(PYTHONFRAMEWORK)" fi -@@ -29041,7 +29273,7 @@ +@@ -29619,7 +29851,7 @@ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for device files" >&5 printf "%s\n" "$as_me: checking for device files" >&6;} @@ -1204,7 +1191,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no else -@@ -29550,7 +29782,7 @@ +@@ -30129,7 +30361,7 @@ with_ensurepip=no ;; #( WASI) : with_ensurepip=no ;; #( @@ -1213,7 +1200,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 with_ensurepip=no ;; #( *) : with_ensurepip=upgrade -@@ -30499,7 +30731,7 @@ +@@ -31078,7 +31310,7 @@ SunOS*) _PYTHREAD_NAME_MAXLEN=31;; NetBSD*) _PYTHREAD_NAME_MAXLEN=15;; # gh-131268 Darwin) _PYTHREAD_NAME_MAXLEN=63;; @@ -1222,7 +1209,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 FreeBSD*) _PYTHREAD_NAME_MAXLEN=19;; # gh-131268 OpenBSD*) _PYTHREAD_NAME_MAXLEN=23;; # gh-131268 *) _PYTHREAD_NAME_MAXLEN=;; -@@ -30531,7 +30763,7 @@ +@@ -31110,7 +31342,7 @@ ;; #( Darwin) : ;; #( @@ -1231,7 +1218,7 @@ index 1b75ddfa26d..7b79dfc424c 100755 -@@ -34605,6 +34837,9 @@ +@@ -35272,6 +35504,9 @@ "Mac/Resources/framework/Info.plist") CONFIG_FILES="$CONFIG_FILES Mac/Resources/framework/Info.plist" ;; "Mac/Resources/app/Info.plist") CONFIG_FILES="$CONFIG_FILES Mac/Resources/app/Info.plist" ;; "iOS/Resources/Info.plist") CONFIG_FILES="$CONFIG_FILES iOS/Resources/Info.plist" ;; @@ -1242,7 +1229,7 @@ index 1b75ddfa26d..7b79dfc424c 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 c449bb5ebb3..29b9a82374b 100644 +index cf25148bad2..7ab0609bf8a 100644 --- a/configure.ac +++ b/configure.ac @@ -330,6 +330,15 @@ @@ -1631,7 +1618,7 @@ index c449bb5ebb3..29b9a82374b 100644 LDLIBRARY='libpython$(LDVERSION).dylib' ;; AIX*) -@@ -3456,7 +3655,7 @@ +@@ -3470,7 +3669,7 @@ BLDSHARED="$LDSHARED" fi ;; @@ -1640,7 +1627,7 @@ index c449bb5ebb3..29b9a82374b 100644 LDSHARED='$(CC) -dynamiclib -F . -framework $(PYTHONFRAMEWORK)' LDCXXSHARED='$(CXX) -dynamiclib -F . -framework $(PYTHONFRAMEWORK)' BLDSHARED="$LDSHARED" -@@ -3580,7 +3779,7 @@ +@@ -3594,7 +3793,7 @@ Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; # -u libsys_s pulls in all symbols in libsys @@ -1649,7 +1636,7 @@ index c449bb5ebb3..29b9a82374b 100644 LINKFORSHARED="$extra_undefs -framework CoreFoundation" # Issue #18075: the default maximum stack size (8MBytes) is too -@@ -3604,7 +3803,7 @@ +@@ -3618,7 +3817,7 @@ LINKFORSHARED="$LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' fi LINKFORSHARED="$LINKFORSHARED" @@ -1658,7 +1645,7 @@ index c449bb5ebb3..29b9a82374b 100644 LINKFORSHARED="-Wl,-stack_size,$stack_size $LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)' fi ;; -@@ -4024,7 +4223,7 @@ +@@ -4106,7 +4305,7 @@ dnl when do we need USING_APPLE_OS_LIBFFI? ctypes_malloc_closure=yes ], @@ -1667,7 +1654,7 @@ index c449bb5ebb3..29b9a82374b 100644 ctypes_malloc_closure=yes ], [sunos5], [AS_VAR_APPEND([LIBFFI_LIBS], [" -mimpure-text"])] -@@ -5133,9 +5332,9 @@ +@@ -5215,9 +5414,9 @@ # checks for library functions AC_CHECK_FUNCS([ \ accept4 alarm bind_textdomain_codeset chmod chown clock closefrom close_range confstr \ @@ -1679,7 +1666,7 @@ index c449bb5ebb3..29b9a82374b 100644 gai_strerror getegid geteuid getgid getgrent getgrgid getgrgid_r \ getgrnam_r getgrouplist gethostname getitimer getloadavg getlogin \ getpeername getpgid getpid getppid getpriority _getpty \ -@@ -5143,8 +5342,7 @@ +@@ -5225,8 +5424,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 \ @@ -1689,7 +1676,7 @@ index c449bb5ebb3..29b9a82374b 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 -@@ -5154,7 +5352,7 @@ +@@ -5236,7 +5434,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 \ @@ -1698,7 +1685,7 @@ index c449bb5ebb3..29b9a82374b 100644 sigfillset siginterrupt sigpending sigrelse sigtimedwait sigwait \ sigwaitinfo snprintf splice strftime strlcpy strsignal symlinkat sync \ sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile \ -@@ -5169,12 +5367,20 @@ +@@ -5251,12 +5449,20 @@ AC_CHECK_FUNCS([lchmod]) fi @@ -1722,7 +1709,7 @@ index c449bb5ebb3..29b9a82374b 100644 fi AC_CHECK_DECL([dirfd], -@@ -5428,20 +5634,22 @@ +@@ -5539,20 +5745,22 @@ ]) # check for openpty, login_tty, and forkpty @@ -1759,7 +1746,7 @@ index c449bb5ebb3..29b9a82374b 100644 # check for long file support functions AC_CHECK_FUNCS([fseek64 fseeko fstatvfs ftell64 ftello statvfs]) -@@ -5480,10 +5688,10 @@ +@@ -5591,10 +5799,10 @@ ]) ]) @@ -1772,7 +1759,7 @@ index c449bb5ebb3..29b9a82374b 100644 then AC_CHECK_FUNCS([clock_settime], [], [ AC_CHECK_LIB([rt], [clock_settime], [ -@@ -5641,7 +5849,7 @@ +@@ -5752,7 +5960,7 @@ [ac_cv_buggy_getaddrinfo=no], [ac_cv_buggy_getaddrinfo=yes], [ @@ -1781,7 +1768,7 @@ index c449bb5ebb3..29b9a82374b 100644 ac_cv_buggy_getaddrinfo="no" elif test "${enable_ipv6+set}" = set; then ac_cv_buggy_getaddrinfo="no -- configured with --(en|dis)able-ipv6" -@@ -6234,8 +6442,8 @@ +@@ -6345,8 +6553,8 @@ LIBPYTHON="\$(BLDLIBRARY)" fi @@ -1792,7 +1779,7 @@ index c449bb5ebb3..29b9a82374b 100644 MODULE_DEPS_SHARED="$MODULE_DEPS_SHARED \$(PYTHONFRAMEWORKDIR)/\$(PYTHONFRAMEWORK)" fi -@@ -6894,7 +7102,7 @@ +@@ -7005,7 +7213,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. @@ -1801,7 +1788,7 @@ index c449bb5ebb3..29b9a82374b 100644 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no else -@@ -7195,7 +7403,7 @@ +@@ -7307,7 +7515,7 @@ AS_CASE([$ac_sys_system], [Emscripten], [with_ensurepip=no], [WASI], [with_ensurepip=no], @@ -1810,7 +1797,7 @@ index c449bb5ebb3..29b9a82374b 100644 [with_ensurepip=upgrade] ) ]) -@@ -7582,7 +7790,7 @@ +@@ -7694,7 +7902,7 @@ SunOS*) _PYTHREAD_NAME_MAXLEN=31;; NetBSD*) _PYTHREAD_NAME_MAXLEN=15;; # gh-131268 Darwin) _PYTHREAD_NAME_MAXLEN=63;; @@ -1819,7 +1806,7 @@ index c449bb5ebb3..29b9a82374b 100644 FreeBSD*) _PYTHREAD_NAME_MAXLEN=19;; # gh-131268 OpenBSD*) _PYTHREAD_NAME_MAXLEN=23;; # gh-131268 *) _PYTHREAD_NAME_MAXLEN=;; -@@ -7607,7 +7815,7 @@ +@@ -7719,7 +7927,7 @@ [VxWorks*], [PY_STDLIB_MOD_SET_NA([_scproxy], [termios], [grp])], dnl The _scproxy module is available on macOS [Darwin], [], @@ -2252,6 +2239,20 @@ index c3e261ecd9e..26ef7a95de4 100644 + + --- /dev/null ++++ b/visionOS/testbed/Python.xcframework/xros-arm64-simulator/README +@@ -0,0 +1,4 @@ ++This directory is intentionally empty. ++ ++It should be used as a target for `--enable-framework` when compiling an visionOS simulator ++build for testing purposes (either x86_64 or ARM64). +--- /dev/null ++++ b/visionOS/testbed/Python.xcframework/xros-arm64/README +@@ -0,0 +1,4 @@ ++This directory is intentionally empty. ++ ++It should be used as a target for `--enable-framework` when compiling an visionOS on-device ++build for testing purposes. +--- /dev/null +++ b/visionOS/testbed/__main__.py @@ -0,0 +1,512 @@ +import argparse