python3.14: update to version 3.14.0~b4. (#12586)

This commit is contained in:
OscarL
2025-07-13 20:39:25 -03:00
committed by GitHub
parent 0cb3a03d9a
commit 5bb564f9e1
2 changed files with 77 additions and 69 deletions

View File

@@ -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 <oscar.lesta@gmail.com>
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 <bluetooth/bluetooth.h>
#include <bluetooth/rfcomm.h>
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 <jerome.duval@gmail.com>
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 <oscar.lesta@gmail.com>
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 <phil@parolu.io>
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 <jerome.duval@gmail.com>
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 <jerome.duval@gmail.com>
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 <jerome.duval@gmail.com>
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 <oscar.lesta@gmail.com>
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 <oscar.lesta@gmail.com>
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 <oscar.lesta@gmail.com>
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 <oscar.lesta@gmail.com>
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 <oscar.lesta@gmail.com>
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 <oscar.lesta@gmail.com>
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 <oscar.lesta@gmail.com>
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 <oscar.lesta@gmail.com>
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 <oscar.lesta@gmail.com>
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 <oscar.lesta@gmail.com>
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 <oscar.lesta@gmail.com>
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 <oscar.lesta@gmail.com>
Date: Thu, 13 Feb 2025 13:30:03 -0300
Subject: Make sure we use 'spawn' on Haiku and not 'forkserver'.

View File

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