Index: Makefile =================================================================== RCS file: /cvs/ports/lang/python/3/Makefile,v diff -u -p -r1.25.2.1 Makefile --- Makefile 4 Jul 2026 08:17:24 -0000 1.25.2.1 +++ Makefile 26 Sep 2026 13:16:41 -0000 @@ -3,7 +3,7 @@ # requirement of the PSF license, if it constitutes a change to # Python itself. -FULL_VERSION = 3.13.14 +FULL_VERSION = 3.13.15 SHARED_LIBS = python3.13 0.0 VERSION_SPEC = >=3.13,<3.14 PORTROACH = limit:^3\.13 Index: distinfo =================================================================== RCS file: /cvs/ports/lang/python/3/distinfo,v diff -u -p -r1.11.2.1 distinfo --- distinfo 4 Jul 2026 08:17:24 -0000 1.11.2.1 +++ distinfo 26 Sep 2026 13:16:41 -0000 @@ -1,2 +1,2 @@ -SHA256 (Python-3.13.14.tgz) = WuU1o2rw68pvyhduy4GX9ducHLjI8M0SzfF4cEbbH0E= -SIZE (Python-3.13.14.tgz) = 29914816 +SHA256 (Python-3.13.15.tgz) = wo2dITwJtbWrLCmBKVDhL3RpmeCZuCiUIxvpVLJrrtk= +SIZE (Python-3.13.15.tgz) = 30106468 Index: files/CHANGES.OpenBSD =================================================================== RCS file: /cvs/ports/lang/python/3/files/CHANGES.OpenBSD,v diff -u -p -r1.6.2.1 CHANGES.OpenBSD --- files/CHANGES.OpenBSD 4 Jul 2026 08:17:24 -0000 1.6.2.1 +++ files/CHANGES.OpenBSD 26 Sep 2026 13:16:41 -0000 @@ -6,23 +6,20 @@ ports infrastructure, configure.ac was p 2. Disable scrypt, which is not currently available in LibreSSL. -3. Disable libuuid, otherwise Python prefers it over the libc uuid -functions. - -4. Disable MULTIARCH check in configure.ac since OpenBSD is not a +3. Disable MULTIARCH check in configure.ac since OpenBSD is not a multi-arch platform and it causes build problems. -5. Allow Python to build with LTO on OpenBSD clang architectures. +4. Allow Python to build with LTO on OpenBSD clang architectures. OpenBSD's version of llvm-ar is installed as /usr/bin/ar, and the compiler as passed to ports builds is /usr/bin/cc. -6. ctypes' find_library is modified to pass "libc.so" to dlopen() rather +5. ctypes' find_library is modified to pass "libc.so" to dlopen() rather than attempting to resolve a version number by parsing ldconfig -r output, which results in loading an incorrect version in some cases. -7. Adjust #ifdef to use LibreSSL's version of X509_STORE_get1_objects(). +6. Adjust #ifdef to use LibreSSL's version of X509_STORE_get1_objects(). -8. Work around expat_config.h missing from base. +7. Work around expat_config.h missing from base. These changes are available in the OpenBSD CVS repository in ports/lang/python/3. Index: patches/patch-Makefile_pre_in =================================================================== RCS file: /cvs/ports/lang/python/3/patches/patch-Makefile_pre_in,v diff -u -p -r1.2 patch-Makefile_pre_in --- patches/patch-Makefile_pre_in 14 Nov 2025 17:46:17 -0000 1.2 +++ patches/patch-Makefile_pre_in 26 Sep 2026 13:16:41 -0000 @@ -3,7 +3,7 @@ Make bsd make happy Index: Makefile.pre.in --- Makefile.pre.in.orig +++ Makefile.pre.in -@@ -591,8 +591,6 @@ LIBMPDEC_OBJS= \ +@@ -592,8 +592,6 @@ LIBMPDEC_OBJS= \ Modules/_decimal/libmpdec/numbertheory.o \ Modules/_decimal/libmpdec/sixstep.o \ Modules/_decimal/libmpdec/transpose.o Index: patches/patch-configure_ac =================================================================== RCS file: /cvs/ports/lang/python/3/patches/patch-configure_ac,v diff -u -p -r1.5.2.1 patch-configure_ac --- patches/patch-configure_ac 4 Jul 2026 08:17:24 -0000 1.5.2.1 +++ patches/patch-configure_ac 26 Sep 2026 13:16:41 -0000 @@ -1,8 +1,7 @@ #1: Set ports library version -#2: Don't pick up an installed linux/e2fsprogs libuuid.so +#2: OpenBSD isn't multi-arch #3: llvm-ar (used for LTO) is installed as ar -#4: OpenBSD isn't multi-arch -#5: Try only the right tcl/tk string +#4: Try only the right tcl/tk string Index: configure.ac --- configure.ac.orig @@ -49,7 +48,7 @@ Index: configure.ac # Any changes made here should be reflected in the GCC+Darwin case below PGO_PROF_GEN_FLAG="-fprofile-instr-generate" PGO_PROF_USE_FLAG="-fprofile-instr-use=\"\$(shell pwd)/code.profclangd\"" -@@ -4391,11 +4392,7 @@ dnl Detect Tcl/Tk. Use pkg-config if available. +@@ -4393,11 +4394,7 @@ dnl Detect Tcl/Tk. Use pkg-config if available. dnl found_tcltk=no for _QUERY in \ Index: pkg/PLIST-idle =================================================================== RCS file: /cvs/ports/lang/python/3/pkg/PLIST-idle,v diff -u -p -r1.8 PLIST-idle --- pkg/PLIST-idle 14 Nov 2025 17:46:17 -0000 1.8 +++ pkg/PLIST-idle 26 Sep 2026 13:16:41 -0000 @@ -444,6 +444,9 @@ lib/python3.13/idlelib/idle_test/__pycac lib/python3.13/idlelib/idle_test/__pycache__/test_zzdummy.cpython-313.opt-1.pyc lib/python3.13/idlelib/idle_test/__pycache__/test_zzdummy.cpython-313.opt-2.pyc lib/python3.13/idlelib/idle_test/__pycache__/test_zzdummy.cpython-313.pyc +lib/python3.13/idlelib/idle_test/__pycache__/test_zzdummy_user.cpython-313.opt-1.pyc +lib/python3.13/idlelib/idle_test/__pycache__/test_zzdummy_user.cpython-313.opt-2.pyc +lib/python3.13/idlelib/idle_test/__pycache__/test_zzdummy_user.cpython-313.pyc lib/python3.13/idlelib/idle_test/__pycache__/tkinter_testing_utils.cpython-313.opt-1.pyc lib/python3.13/idlelib/idle_test/__pycache__/tkinter_testing_utils.cpython-313.opt-2.pyc lib/python3.13/idlelib/idle_test/__pycache__/tkinter_testing_utils.cpython-313.pyc @@ -512,6 +515,7 @@ lib/python3.13/idlelib/idle_test/test_wa lib/python3.13/idlelib/idle_test/test_window.py lib/python3.13/idlelib/idle_test/test_zoomheight.py lib/python3.13/idlelib/idle_test/test_zzdummy.py +lib/python3.13/idlelib/idle_test/test_zzdummy_user.py lib/python3.13/idlelib/idle_test/tkinter_testing_utils.py lib/python3.13/idlelib/iomenu.py lib/python3.13/idlelib/macosx.py Index: pkg/PLIST-main =================================================================== RCS file: /cvs/ports/lang/python/3/pkg/PLIST-main,v diff -u -p -r1.17.2.1 PLIST-main --- pkg/PLIST-main 4 Jul 2026 08:17:24 -0000 1.17.2.1 +++ pkg/PLIST-main 26 Sep 2026 13:16:41 -0000 @@ -1809,7 +1809,7 @@ lib/python3.13/ensurepip/__pycache__/_un lib/python3.13/ensurepip/__pycache__/_uninstall.cpython-313.opt-2.pyc lib/python3.13/ensurepip/__pycache__/_uninstall.cpython-313.pyc lib/python3.13/ensurepip/_bundled/ -lib/python3.13/ensurepip/_bundled/pip-26.1.2-py3-none-any.whl +lib/python3.13/ensurepip/_bundled/pip-26.2.1-py3-none-any.whl lib/python3.13/ensurepip/_uninstall.py lib/python3.13/enum.py lib/python3.13/filecmp.py @@ -2053,7 +2053,6 @@ lib/python3.13/lib-dynload/ @so lib/python3.13/lib-dynload/_testlimitedcapi.cpython-313.so @so lib/python3.13/lib-dynload/_testmultiphase.cpython-313.so @so lib/python3.13/lib-dynload/_testsinglephase.cpython-313.so -@so lib/python3.13/lib-dynload/_uuid.cpython-313.so @so lib/python3.13/lib-dynload/_xxtestfuzz.cpython-313.so @so lib/python3.13/lib-dynload/_zoneinfo.cpython-313.so @so lib/python3.13/lib-dynload/array.cpython-313.so Index: pkg/PLIST-tests =================================================================== RCS file: /cvs/ports/lang/python/3/pkg/PLIST-tests,v diff -u -p -r1.12.2.1 PLIST-tests --- pkg/PLIST-tests 4 Jul 2026 08:17:24 -0000 1.12.2.1 +++ pkg/PLIST-tests 26 Sep 2026 13:16:41 -0000 @@ -16,6 +16,9 @@ lib/python3.13/test/__pycache__/__init__ lib/python3.13/test/__pycache__/__main__.cpython-313.opt-1.pyc lib/python3.13/test/__pycache__/__main__.cpython-313.opt-2.pyc lib/python3.13/test/__pycache__/__main__.cpython-313.pyc +lib/python3.13/test/__pycache__/_isolated_sample.cpython-313.opt-1.pyc +lib/python3.13/test/__pycache__/_isolated_sample.cpython-313.opt-2.pyc +lib/python3.13/test/__pycache__/_isolated_sample.cpython-313.pyc lib/python3.13/test/__pycache__/_test_atexit.cpython-313.opt-1.pyc lib/python3.13/test/__pycache__/_test_atexit.cpython-313.opt-2.pyc lib/python3.13/test/__pycache__/_test_atexit.cpython-313.pyc @@ -1336,6 +1339,7 @@ lib/python3.13/test/__pycache__/xmltests lib/python3.13/test/__pycache__/xpickle_worker.cpython-313.opt-1.pyc lib/python3.13/test/__pycache__/xpickle_worker.cpython-313.opt-2.pyc lib/python3.13/test/__pycache__/xpickle_worker.cpython-313.pyc +lib/python3.13/test/_isolated_sample.py lib/python3.13/test/_test_atexit.py lib/python3.13/test/_test_eintr.py lib/python3.13/test/_test_embed_set_config.py @@ -1784,6 +1788,7 @@ lib/python3.13/test/mathdata/ieee754.txt lib/python3.13/test/mathdata/math_testcases.txt lib/python3.13/test/memory_watchdog.py lib/python3.13/test/mime.types +lib/python3.13/test/mime.types2 lib/python3.13/test/mock_socket.py lib/python3.13/test/mp_fork_bomb.py lib/python3.13/test/mp_preload.py @@ -1883,6 +1888,9 @@ lib/python3.13/test/support/__pycache__/ lib/python3.13/test/support/__pycache__/import_helper.cpython-313.opt-1.pyc lib/python3.13/test/support/__pycache__/import_helper.cpython-313.opt-2.pyc lib/python3.13/test/support/__pycache__/import_helper.cpython-313.pyc +lib/python3.13/test/support/__pycache__/isolation.cpython-313.opt-1.pyc +lib/python3.13/test/support/__pycache__/isolation.cpython-313.opt-2.pyc +lib/python3.13/test/support/__pycache__/isolation.cpython-313.pyc lib/python3.13/test/support/__pycache__/logging_helper.cpython-313.opt-1.pyc lib/python3.13/test/support/__pycache__/logging_helper.cpython-313.opt-2.pyc lib/python3.13/test/support/__pycache__/logging_helper.cpython-313.pyc @@ -1907,6 +1915,9 @@ lib/python3.13/test/support/__pycache__/ lib/python3.13/test/support/__pycache__/socket_helper.cpython-313.opt-1.pyc lib/python3.13/test/support/__pycache__/socket_helper.cpython-313.opt-2.pyc lib/python3.13/test/support/__pycache__/socket_helper.cpython-313.pyc +lib/python3.13/test/support/__pycache__/subprocess_runner.cpython-313.opt-1.pyc +lib/python3.13/test/support/__pycache__/subprocess_runner.cpython-313.opt-2.pyc +lib/python3.13/test/support/__pycache__/subprocess_runner.cpython-313.pyc lib/python3.13/test/support/__pycache__/testcase.cpython-313.opt-1.pyc lib/python3.13/test/support/__pycache__/testcase.cpython-313.opt-2.pyc lib/python3.13/test/support/__pycache__/testcase.cpython-313.pyc @@ -1959,6 +1970,7 @@ lib/python3.13/test/support/interpreters lib/python3.13/test/support/interpreters/_crossinterp.py lib/python3.13/test/support/interpreters/channels.py lib/python3.13/test/support/interpreters/queues.py +lib/python3.13/test/support/isolation.py lib/python3.13/test/support/logging_helper.py lib/python3.13/test/support/numbers.py lib/python3.13/test/support/os_helper.py @@ -1967,6 +1979,7 @@ lib/python3.13/test/support/refleak_help lib/python3.13/test/support/script_helper.py lib/python3.13/test/support/smtpd.py lib/python3.13/test/support/socket_helper.py +lib/python3.13/test/support/subprocess_runner.py lib/python3.13/test/support/testcase.py lib/python3.13/test/support/threading_helper.py lib/python3.13/test/support/venv.py @@ -2200,6 +2213,9 @@ lib/python3.13/test/test_capi/__pycache_ lib/python3.13/test/test_capi/__pycache__/test_bytes.cpython-313.opt-1.pyc lib/python3.13/test/test_capi/__pycache__/test_bytes.cpython-313.opt-2.pyc lib/python3.13/test/test_capi/__pycache__/test_bytes.cpython-313.pyc +lib/python3.13/test/test_capi/__pycache__/test_capsule.cpython-313.opt-1.pyc +lib/python3.13/test/test_capi/__pycache__/test_capsule.cpython-313.opt-2.pyc +lib/python3.13/test/test_capi/__pycache__/test_capsule.cpython-313.pyc lib/python3.13/test/test_capi/__pycache__/test_codecs.cpython-313.opt-1.pyc lib/python3.13/test/test_capi/__pycache__/test_codecs.cpython-313.opt-2.pyc lib/python3.13/test/test_capi/__pycache__/test_codecs.cpython-313.pyc @@ -2291,6 +2307,7 @@ lib/python3.13/test/test_capi/check_conf lib/python3.13/test/test_capi/test_abstract.py lib/python3.13/test/test_capi/test_bytearray.py lib/python3.13/test/test_capi/test_bytes.py +lib/python3.13/test/test_capi/test_capsule.py lib/python3.13/test/test_capi/test_codecs.py lib/python3.13/test/test_capi/test_complex.py lib/python3.13/test/test_capi/test_dict.py @@ -3498,8 +3515,8 @@ lib/python3.13/test/test_importlib/names lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-313.opt-1.pyc lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-313.opt-2.pyc lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-313.pyc -lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test.py lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test/ +lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test.py lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test/empty lib/python3.13/test/test_importlib/namespace_pkgs/nested_portion1.zip lib/python3.13/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/ @@ -4247,6 +4264,12 @@ lib/python3.13/test/test_tkinter/__pycac lib/python3.13/test/test_tkinter/__pycache__/test_colorchooser.cpython-313.opt-1.pyc lib/python3.13/test/test_tkinter/__pycache__/test_colorchooser.cpython-313.opt-2.pyc lib/python3.13/test/test_tkinter/__pycache__/test_colorchooser.cpython-313.pyc +lib/python3.13/test/test_tkinter/__pycache__/test_dnd.cpython-313.opt-1.pyc +lib/python3.13/test/test_tkinter/__pycache__/test_dnd.cpython-313.opt-2.pyc +lib/python3.13/test/test_tkinter/__pycache__/test_dnd.cpython-313.pyc +lib/python3.13/test/test_tkinter/__pycache__/test_filedialog.cpython-313.opt-1.pyc +lib/python3.13/test/test_tkinter/__pycache__/test_filedialog.cpython-313.opt-2.pyc +lib/python3.13/test/test_tkinter/__pycache__/test_filedialog.cpython-313.pyc lib/python3.13/test/test_tkinter/__pycache__/test_font.cpython-313.opt-1.pyc lib/python3.13/test/test_tkinter/__pycache__/test_font.cpython-313.opt-2.pyc lib/python3.13/test/test_tkinter/__pycache__/test_font.cpython-313.pyc @@ -4265,12 +4288,18 @@ lib/python3.13/test/test_tkinter/__pycac lib/python3.13/test/test_tkinter/__pycache__/test_misc.cpython-313.opt-1.pyc lib/python3.13/test/test_tkinter/__pycache__/test_misc.cpython-313.opt-2.pyc lib/python3.13/test/test_tkinter/__pycache__/test_misc.cpython-313.pyc +lib/python3.13/test/test_tkinter/__pycache__/test_scrolledtext.cpython-313.opt-1.pyc +lib/python3.13/test/test_tkinter/__pycache__/test_scrolledtext.cpython-313.opt-2.pyc +lib/python3.13/test/test_tkinter/__pycache__/test_scrolledtext.cpython-313.pyc lib/python3.13/test/test_tkinter/__pycache__/test_simpledialog.cpython-313.opt-1.pyc lib/python3.13/test/test_tkinter/__pycache__/test_simpledialog.cpython-313.opt-2.pyc lib/python3.13/test/test_tkinter/__pycache__/test_simpledialog.cpython-313.pyc lib/python3.13/test/test_tkinter/__pycache__/test_text.cpython-313.opt-1.pyc lib/python3.13/test/test_tkinter/__pycache__/test_text.cpython-313.opt-2.pyc lib/python3.13/test/test_tkinter/__pycache__/test_text.cpython-313.pyc +lib/python3.13/test/test_tkinter/__pycache__/test_tkinter_pipe.cpython-313.opt-1.pyc +lib/python3.13/test/test_tkinter/__pycache__/test_tkinter_pipe.cpython-313.opt-2.pyc +lib/python3.13/test/test_tkinter/__pycache__/test_tkinter_pipe.cpython-313.pyc lib/python3.13/test/test_tkinter/__pycache__/test_variables.cpython-313.opt-1.pyc lib/python3.13/test/test_tkinter/__pycache__/test_variables.cpython-313.opt-2.pyc lib/python3.13/test/test_tkinter/__pycache__/test_variables.cpython-313.pyc @@ -4282,14 +4311,18 @@ lib/python3.13/test/test_tkinter/__pycac lib/python3.13/test/test_tkinter/__pycache__/widget_tests.cpython-313.pyc lib/python3.13/test/test_tkinter/support.py lib/python3.13/test/test_tkinter/test_colorchooser.py +lib/python3.13/test/test_tkinter/test_dnd.py +lib/python3.13/test/test_tkinter/test_filedialog.py lib/python3.13/test/test_tkinter/test_font.py lib/python3.13/test/test_tkinter/test_geometry_managers.py lib/python3.13/test/test_tkinter/test_images.py lib/python3.13/test/test_tkinter/test_loadtk.py lib/python3.13/test/test_tkinter/test_messagebox.py lib/python3.13/test/test_tkinter/test_misc.py +lib/python3.13/test/test_tkinter/test_scrolledtext.py lib/python3.13/test/test_tkinter/test_simpledialog.py lib/python3.13/test/test_tkinter/test_text.py +lib/python3.13/test/test_tkinter/test_tkinter_pipe.py lib/python3.13/test/test_tkinter/test_variables.py lib/python3.13/test/test_tkinter/test_widgets.py lib/python3.13/test/test_tkinter/widget_tests.py @@ -4319,11 +4352,11 @@ lib/python3.13/test/test_tomllib/__pycac lib/python3.13/test/test_tomllib/burntsushi.py lib/python3.13/test/test_tomllib/data/ lib/python3.13/test/test_tomllib/data/invalid/ +lib/python3.13/test/test_tomllib/data/invalid/array/ lib/python3.13/test/test_tomllib/data/invalid/array-missing-comma.toml lib/python3.13/test/test_tomllib/data/invalid/array-of-tables/ lib/python3.13/test/test_tomllib/data/invalid/array-of-tables/overwrite-array-in-parent.toml lib/python3.13/test/test_tomllib/data/invalid/array-of-tables/overwrite-bool-with-aot.toml -lib/python3.13/test/test_tomllib/data/invalid/array/ lib/python3.13/test/test_tomllib/data/invalid/array/file-end-after-val.toml lib/python3.13/test/test_tomllib/data/invalid/array/unclosed-after-item.toml lib/python3.13/test/test_tomllib/data/invalid/array/unclosed-empty.toml @@ -4338,8 +4371,8 @@ lib/python3.13/test/test_tomllib/data/in lib/python3.13/test/test_tomllib/data/invalid/dotted-keys/extend-defined-aot.toml lib/python3.13/test/test_tomllib/data/invalid/dotted-keys/extend-defined-table-with-subtable.toml lib/python3.13/test/test_tomllib/data/invalid/dotted-keys/extend-defined-table.toml -lib/python3.13/test/test_tomllib/data/invalid/inline-table-missing-comma.toml lib/python3.13/test/test_tomllib/data/invalid/inline-table/ +lib/python3.13/test/test_tomllib/data/invalid/inline-table-missing-comma.toml lib/python3.13/test/test_tomllib/data/invalid/inline-table/define-twice-in-subtable.toml lib/python3.13/test/test_tomllib/data/invalid/inline-table/define-twice.toml lib/python3.13/test/test_tomllib/data/invalid/inline-table/file-end-after-key-val.toml