From 5bb564f9e10752bf1e70224ce920a094a1073d03 Mon Sep 17 00:00:00 2001 From: OscarL Date: Sun, 13 Jul 2025 20:39:25 -0300 Subject: [PATCH] python3.14: update to version 3.14.0~b4. (#12586) --- ...patchset => python3.14-3.14.0~b4.patchset} | 64 +++++++-------- ...~b2.recipe => python3.14-3.14.0~b4.recipe} | 82 ++++++++++--------- 2 files changed, 77 insertions(+), 69 deletions(-) rename dev-lang/python/patches/{python3.14-3.14.0~b2.patchset => python3.14-3.14.0~b4.patchset} (96%) rename dev-lang/python/{python3.14-3.14.0~b2.recipe => python3.14-3.14.0~b4.recipe} (85%) diff --git a/dev-lang/python/patches/python3.14-3.14.0~b2.patchset b/dev-lang/python/patches/python3.14-3.14.0~b4.patchset similarity index 96% rename from dev-lang/python/patches/python3.14-3.14.0~b2.patchset rename to dev-lang/python/patches/python3.14-3.14.0~b4.patchset index 2ce7b87a3..5b08d5efb 100644 --- a/dev-lang/python/patches/python3.14-3.14.0~b2.patchset +++ b/dev-lang/python/patches/python3.14-3.14.0~b4.patchset @@ -1,4 +1,4 @@ -From 4975f27b26de8f77cbe6a2ad1fe956b2bf5bacd8 Mon Sep 17 00:00:00 2001 +From b043870d5cecf4be9e17db08ea4a4cbbe3de9bf9 Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Sun, 8 Oct 2023 01:02:25 -0300 Subject: initial Haiku patch @@ -22,7 +22,7 @@ index 3eac119..1e5df7e 100644 // See PyUnicode_DecodeFSDefaultAndSize(), PyUnicode_EncodeFSDefault(), // Py_DecodeLocale() and Py_EncodeLocale(). diff --git a/Makefile.pre.in b/Makefile.pre.in -index b5703fb..f7dfa7a 100644 +index 66b34b7..80d66f8 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -156,7 +156,7 @@ BINDIR= @bindir@ @@ -148,7 +148,7 @@ index 63624d5..3692640 100644 #include #include diff --git a/configure.ac b/configure.ac -index cf25148..8d2e08b 100644 +index d868f7b..fdfda46 100644 --- a/configure.ac +++ b/configure.ac @@ -1584,6 +1584,16 @@ if test $enable_shared = "yes"; then @@ -176,7 +176,7 @@ index cf25148..8d2e08b 100644 CYGWIN*) LN="ln -s";; *) LN=ln;; esac -@@ -3592,7 +3603,7 @@ then +@@ -3588,7 +3599,7 @@ then LINKFORSHARED="-Wl,-E -Wl,+s";; # LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";; Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; @@ -185,7 +185,7 @@ index cf25148..8d2e08b 100644 # -u libsys_s pulls in all symbols in libsys Darwin/*|iOS/*) LINKFORSHARED="$extra_undefs -framework CoreFoundation" -@@ -5963,6 +5974,7 @@ AC_CHECK_FUNC([__fpu_control], +@@ -5971,6 +5982,7 @@ AC_CHECK_FUNC([__fpu_control], AC_SUBST([LIBM]) case $ac_sys_system in Darwin) ;; @@ -197,7 +197,7 @@ index cf25148..8d2e08b 100644 2.48.1 -From d53308e69eb7fe75a819d3fe88ae6ce235e9a5cc Mon Sep 17 00:00:00 2001 +From 6e3c4a4c1f682746977f6ad42acdf5d84a2e50f1 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Sun, 16 Apr 2017 10:05:42 +0200 Subject: fix for negative errnos @@ -235,7 +235,7 @@ index b542f86..a996ebf 100644 2.48.1 -From 467523d7cdb385ea7b9580ae71ee01aef10b438f Mon Sep 17 00:00:00 2001 +From 0b3d9cb0cc7a86e6d793ea11cefdffafc71ec5d4 Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Sun, 8 Oct 2023 20:06:31 -0300 Subject: Implement CTypes's find_library for Haiku @@ -332,7 +332,7 @@ index 9950491..fefae29 100644 2.48.1 -From b1b31c12baf7f2134d2ca30d16a7da0ee0e0a80e Mon Sep 17 00:00:00 2001 +From bf94b6212785ae7d2755196ebb5fcad315328821 Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Mon, 23 Sep 2019 09:14:58 +0200 Subject: webbrowser: Support for default browsers on Haiku @@ -359,14 +359,14 @@ index f2e2394..b937321 100644 2.48.1 -From 8558ec800b69ad63cdfe5794e91ed332895a980e Mon Sep 17 00:00:00 2001 +From caaef8a2071c6a16279ef308213feb7b0ccdabd5 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Fri, 4 Oct 2019 22:02:35 +0200 Subject: since 3.8, don't reinit locks on fork. diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py -index 357d127..009fc95 100644 +index b95c3aa..1652f93 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -253,7 +253,7 @@ def _afterFork(): @@ -382,7 +382,7 @@ index 357d127..009fc95 100644 2.48.1 -From 6bc88b0ccc74094226ffcb664e10e9a398915e04 Mon Sep 17 00:00:00 2001 +From c677e3e0995179a23d2caed76e933da785198543 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Fri, 15 May 2020 15:20:57 +0200 Subject: handle errors returned by internal_connect() @@ -406,17 +406,17 @@ index 92c9aa8..82cdf0e 100644 2.48.1 -From e42f5fc98f2108b8498581d982641f97741948ca Mon Sep 17 00:00:00 2001 +From 3fddeac06e32610621866a24f101bd713dfdf7f7 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Mon, 19 Oct 2020 18:03:09 +0200 Subject: ttyname_r can use MAXPATHLEN diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index 922694f..93a2658 100644 +index 27352f0..79386c6 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c -@@ -3420,11 +3420,14 @@ static PyObject * +@@ -3421,11 +3421,14 @@ static PyObject * os_ttyname_impl(PyObject *module, int fd) /*[clinic end generated code: output=c424d2e9d1cd636a input=9ff5a58b08115c55]*/ { @@ -436,7 +436,7 @@ index 922694f..93a2658 100644 2.48.1 -From 5f87b4cfa44e048841ae381dac79d1208c00e1bf Mon Sep 17 00:00:00 2001 +From 6d644dc86281b5a810682b2e945064a3e26869e9 Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Mon, 24 Oct 2022 20:04:10 -0300 Subject: Lib/test: require the "largefile" usage flag for I/O heavy tests. @@ -447,7 +447,7 @@ This avoids needing several GBs of storage to run the tests (unless the "largefile" resource usage flag is enabled). diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py -index 168e66c..d5c2ddf 100644 +index 0c921ff..53aa0a1 100644 --- a/Lib/test/test_io.py +++ b/Lib/test/test_io.py @@ -652,7 +652,7 @@ class IOTest(unittest.TestCase): @@ -489,7 +489,7 @@ index fd4197b..662954d 100644 2.48.1 -From 763b072621be038676d1ae05e61a6c7ccecc99c9 Mon Sep 17 00:00:00 2001 +From 7d20ac7d12a62a97877fef4dafd27d6856a43f6b Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Sat, 27 Jul 2024 04:51:52 -0300 Subject: _getuserbase(), getsitepackages(), and INSTALL_SCHEMES for Haiku. @@ -685,7 +685,7 @@ index f93b98d..8744f83 100644 return { 'prefix': 'nt', diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py -index d30f69d..a3ec6fd 100644 +index 7af3144..a0a468f 100644 --- a/Lib/test/test_sysconfig.py +++ b/Lib/test/test_sysconfig.py @@ -388,9 +388,10 @@ class TestSysConfig(unittest.TestCase, VirtualEnvironmentMixin): @@ -705,7 +705,7 @@ index d30f69d..a3ec6fd 100644 2.48.1 -From e5265681fd7ff4714c07be9aa07b0cb1b6be1917 Mon Sep 17 00:00:00 2001 +From 75debb609f366c9ba8dac503c85b18225d67c0ae Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Mon, 12 Feb 2024 08:39:38 -0300 Subject: Fix location of REPL's history file. @@ -744,7 +744,7 @@ index c1fe2a4..c304121 100644 2.48.1 -From cf84571b89864597f8b46e306bea830471471ecb Mon Sep 17 00:00:00 2001 +From 8918848a9a6266f76b425dbbf9492abb9cef68ab Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Sun, 10 Dec 2023 19:50:22 -0300 Subject: Miscellaneous "Lib/test/" fixes for Haiku. @@ -769,7 +769,7 @@ index 1b55125..0d7e135 100644 """ diff --git a/Lib/test/test_fileio.py b/Lib/test/test_fileio.py -index 5a0f033..8e85ed4 100644 +index e3d54f6..efb4d03 100644 --- a/Lib/test/test_fileio.py +++ b/Lib/test/test_fileio.py @@ -544,6 +544,7 @@ class OtherFileTests: @@ -784,7 +784,7 @@ index 5a0f033..8e85ed4 100644 2.48.1 -From 023a5988d67d158544c0800e96be4bee95fc0f0e Mon Sep 17 00:00:00 2001 +From 387962084d036c36af57cb5764464feb669503e1 Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Mon, 12 Feb 2024 10:50:34 -0300 Subject: Fix build on nightlies, following the addition of kqueue. @@ -850,7 +850,7 @@ index d234d50..6e16247 100644 2.48.1 -From 94bf86cc84d74d766b49cd8a877661f34c84a8e7 Mon Sep 17 00:00:00 2001 +From 1235684c05028368b60ffcbf35ff9df27276aa23 Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Fri, 9 Aug 2024 13:38:28 -0300 Subject: fix test_utf8_mode. @@ -873,7 +873,7 @@ index f668810..a55a8e4 100644 2.48.1 -From 6ee10c42ce61caaf0154a8c2b8db473695b65714 Mon Sep 17 00:00:00 2001 +From 0ff15eb31477a2592204f00e4d2866eaaeba4d7b Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Fri, 9 Aug 2024 14:35:04 -0300 Subject: Fix test_site. @@ -963,14 +963,14 @@ index d0e3294..1452e42 100644 2.48.1 -From 66b231f7fb17cf4e094809351e2ab4fd6db8f1b5 Mon Sep 17 00:00:00 2001 +From a833b8530d4d8a03c123ab66d00a0f9cc37428d8 Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Fri, 9 Aug 2024 15:37:13 -0300 Subject: Fix test_sysconfig. diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py -index a3ec6fd..c6d5ef9 100644 +index a0a468f..971256a 100644 --- a/Lib/test/test_sysconfig.py +++ b/Lib/test/test_sysconfig.py @@ -223,6 +223,19 @@ class TestSysConfig(unittest.TestCase, VirtualEnvironmentMixin): @@ -1006,7 +1006,7 @@ index a3ec6fd..c6d5ef9 100644 2.48.1 -From 2d79590c8698dfc0fd5c672a6bc9381db4a1c640 Mon Sep 17 00:00:00 2001 +From bf6a103d91d90b6b23441542da9a7a397d26ad97 Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Sun, 29 Sep 2024 03:01:27 -0300 Subject: Partially fix test_compileall by skipping tests that need hardlink @@ -1042,7 +1042,7 @@ index 8384c18..d7e19ec 100644 2.48.1 -From b723491cb1d524f37953099facba6cb9f60f69e1 Mon Sep 17 00:00:00 2001 +From 500155747c036195de7e67b1ac17f25db93dbbaf Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Thu, 9 May 2024 15:16:26 -0300 Subject: Fix 3.13.0 build. @@ -1055,7 +1055,7 @@ Previous Python versions had both the time out and the "|| true". Some of the test run in that PGO stage sadly still fail on Haiku. diff --git a/Makefile.pre.in b/Makefile.pre.in -index f7dfa7a..6583bf3 100644 +index 80d66f8..be2b7af 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -856,7 +856,7 @@ profile-run-stamp: @@ -1093,14 +1093,14 @@ index 1598eba..88b94b6 100644 2.48.1 -From c69cb228cb2b98d5d8929c4df3f1dae7f0831de6 Mon Sep 17 00:00:00 2001 +From a0599fdad1ffcc8f03301aa0158567dc2f49598e Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Sat, 5 Oct 2024 07:32:17 -0300 Subject: Avoid forcing "-g" on LTO builds, unless Py_DEBUG is defined. diff --git a/configure.ac b/configure.ac -index 8d2e08b..eaf419d 100644 +index fdfda46..117e5a1 100644 --- a/configure.ac +++ b/configure.ac @@ -2017,7 +2017,9 @@ if test "$Py_LTO" = 'true' ; then @@ -1118,7 +1118,7 @@ index 8d2e08b..eaf419d 100644 2.48.1 -From d474cd60f0195eb72653c466a3e88b2326100755 Mon Sep 17 00:00:00 2001 +From ee517a566ed2d94f6faa074b6d81af3c90258b1f Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Thu, 13 Feb 2025 13:30:03 -0300 Subject: Make sure we use 'spawn' on Haiku and not 'forkserver'. diff --git a/dev-lang/python/python3.14-3.14.0~b2.recipe b/dev-lang/python/python3.14-3.14.0~b4.recipe similarity index 85% rename from dev-lang/python/python3.14-3.14.0~b2.recipe rename to dev-lang/python/python3.14-3.14.0~b4.recipe index 7f625f072..82f70cc76 100644 --- a/dev-lang/python/python3.14-3.14.0~b2.recipe +++ b/dev-lang/python/python3.14-3.14.0~b4.recipe @@ -19,13 +19,13 @@ HOMEPAGE="https://www.python.org" LICENSE="Python" COPYRIGHT="1990-2025 Python Software Foundation" REVISION="1" -SOURCE_URI="https://www.python.org/ftp/python/${portVersion%~b2}/Python-${portVersion/'~'/}.tar.xz" -CHECKSUM_SHA256="7ac9e84844bbc0a5a8f1f79a37a68b3b8caf2a58b4aa5999c49227cb36e70ea6" +SOURCE_URI="https://www.python.org/ftp/python/${portVersion%~b4}/Python-${portVersion/'~'/}.tar.xz" +CHECKSUM_SHA256="15e123e056abebba6de5e73cfa304459a8c82cafa85d4fc7fc6de80e6a3e1b39" SOURCE_DIR="Python-${portVersion/'~'/}" -pyShortVer="${portVersion%~b2}" +pyShortVer="${portVersion%~b4}" pyShortVer="${pyShortVer%.*}" -pyVersionCompat="${portVersion%~b2} compat >= $pyShortVer" +pyVersionCompat="${portVersion%~b4} compat >= $pyShortVer" PATCHES="python$pyShortVer-$portVersion.patchset" @@ -305,10 +305,10 @@ INSTALL() # "hp --test"'s chroot. (test_sysconfig.MakefileTests.test_parse_makefile, for example). # Problem is "os.getcwd()" will return wrong data, causing some file operations to fail. -# For reference, results for 3.14.0b1 on hrev57937+129 (64 bits VMware): -# Total duration: 12 min 33 sec -# Total tests: run=41,364 failures=673 skipped=1,941 -# Total test files: run=478/454 failed=29 skipped=33 resource_denied=7 rerun=31 +# For reference, results for unoptimized 3.14.0b4 on hrev57937+129 (64 bits VMware, RAMFS): +# Total duration: 33 min 21 sec +# Total tests: run=40,723 failures=680 skipped=1,976 +# Total test files: run=481/451 failed=35 skipped=33 resource_denied=7 rerun=37 TEST() { # Remove tests data left-overs, if any: @@ -317,8 +317,9 @@ TEST() make $jobArgs test EXTRATESTOPTS="--cleanup" local test_options=( + # --single-process + # Use this to get same test order on different runs (actual value not important). - -r --randseed 7858065 # Print the names of the 10 slowest tests. @@ -400,38 +401,45 @@ TEST() # 3.14.0b1 -x test_mailbox # Sometimes it takes >5 minutes. + + # 3.14.0b4 these hang at least once on beta5 64 bits VMware. + -x test_concurrent_futures.test_interpreter_pool + -x test_imaplib + -x test_unittest + -x test_urllib2_localnet ) local tests_that_fail=( - test.test_concurrent_futures.test_process_pool test__locale - test_c_locale_coercion - test_cmd - test_ctypes # stupid test compares wording of error message. - test_datetime # on rare ocassions, it passes. - test_fcntl # "Permission denied" in test_lockf_exclusive - test_genericpath # os.path.getatime() should return an int. - test_importlib - test_ioctl - test_json # "AssertionError: 13 != -2147459059" (errno.EPIPE) -# test_mailbox # fails to clean a temp file? (os.utime() related?). Sometimes it takes >5 minutes. - test_math # test expects to get -0.0, gets 0.0 - test_ntpath - test_os # named pipes related errors. set_get_priority, ttyname, and utime fails. - test_popen # sign error numbers in waitstatus_to_exitcode()... "AssertionError: -42 != 42" - test_posix # test_posix_fallocate and test_link_dir_fd. Operation not supported. - test_posixpath - test_pyrepl # several: "module 'termios' has no attribute 'VREPRINT'". Adding hasattr(termios, 'VREPRINT') still results in error. - test_re # locale related failures. - test_shutil # "Operation not supported" calling "os.scandir(topfd)". - test_signal # stupid test compares wording of strsignal(signal.SIGTERM). - test_strptime # locale related failures. - test_subprocess # "Device/File/Resource busy" calling setrlimit() - test_sysconfig # venv related failures. - test_tarfile # os.path.getmtime() should return an int. Also, path.stat().st_mtime and pathlib.Path(TEMPDIR).stat().st_mtime seems to be using different scales: 1723.215266 vs 1723215266.0319815 - test_termios # tcdrain/tcflow/tcflush/tcsendbreak related failures. - test_time # ctime/mktime related failures. - test_tools # _strptime / "%z" related. + test_c_locale_coercion + test_cmd + test_ctypes # stupid test compares wording of error message. + test_datetime # on rare ocassions, it passes. + test_fcntl # "Permission denied" in test_lockf_exclusive +# test_genericpath # os.path.getatime() should return an int. OK on RAMFS? + test_importlib + test_ioctl # B_ERROR calling "fcntl.ioctl(wfd, termios.TCFLSH, termios.TCIFLUSH)" + test_json # "AssertionError: 13 != -2147459059" (errno.EPIPE) +# test_mailbox # fails to clean a temp file? (os.utime() related?). Sometimes it takes >5 minutes. + test_math # test expects to get -0.0, gets 0.0 + test_multiprocessing_main_handling + test_os # named pipes related errors. set_get_priority, ttyname, and utime fails. + test_pathlib # only on RAMFS? + test_popen # sign error numbers in waitstatus_to_exitcode()... "AssertionError: -42 != 42" + test_posix # test_posix_fallocate and test_link_dir_fd. Operation not supported. + test_pyrepl # several: "module 'termios' has no attribute 'VREPRINT'". Adding hasattr(termios, 'VREPRINT') still results in error. + test_re # locale related failures. + test_shutil # "Operation not supported" calling "os.scandir(topfd)". + test_signal # stupid test compares wording of strsignal(signal.SIGTERM). +# test_smtplib # Sometimes fails. + test_stat # RAMFS only? + test_strptime # locale related failures. + test_subprocess # "Device/File/Resource busy" calling setrlimit() + test_sysconfig # venv related failures. + test_tarfile # os.path.getmtime() should return an int. Also, path.stat().st_mtime and pathlib.Path(TEMPDIR).stat().st_mtime seems to be using different scales: 1723.215266 vs 1723215266.0319815 + test_termios # tcdrain/tcflow/tcflush/tcsendbreak related failures. + test_time # ctime/mktime related failures. + test_tools # _strptime / "%z" related. test_venv )