mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-21 19:20:08 +02:00
python3.13: update to version 3.13.3. (#12213)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From 4ab975ca10ba220d2a90a710bc26455bc0801311 Mon Sep 17 00:00:00 2001
|
||||
From c1ff79287e66f75526627c52eb4abbc6ae8f82a6 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 2ba81a4..8ba7902 100644
|
||||
// See PyUnicode_DecodeFSDefaultAndSize(), PyUnicode_EncodeFSDefault(),
|
||||
// Py_DecodeLocale() and Py_EncodeLocale().
|
||||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
||||
index 46a37de..1e4122d 100644
|
||||
index 3bd4495..1b4c40b 100644
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -149,7 +149,7 @@ BINDIR= @bindir@
|
||||
@@ -194,20 +194,20 @@ index 3fcb189..8e54330 100644
|
||||
esac
|
||||
AC_MSG_CHECKING([for --with-libm=STRING])
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From a61aa9f3ef8b7adb8945cbde570c001e2dd6fb94 Mon Sep 17 00:00:00 2001
|
||||
From c7782a95c6d08a325210ceb285cdb2d4422ed32b 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
|
||||
|
||||
|
||||
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
|
||||
index 98b98be..22a88f8 100644
|
||||
index 4a9a64e..5ab9e22 100644
|
||||
--- a/Lib/subprocess.py
|
||||
+++ b/Lib/subprocess.py
|
||||
@@ -1959,6 +1959,8 @@ class Popen:
|
||||
@@ -1954,6 +1954,8 @@ class Popen:
|
||||
SubprocessError)
|
||||
if issubclass(child_exception_type, OSError) and hex_errno:
|
||||
errno_num = int(hex_errno, 16)
|
||||
@@ -232,10 +232,10 @@ index daec4ad..1647199 100644
|
||||
*--cur = Py_hexdigits[saved_errno % 16];
|
||||
saved_errno /= 16;
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From 2334552fda9d9218734b970fd2ed4bb08d2a2a5c Mon Sep 17 00:00:00 2001
|
||||
From 6c0931c50128771a78124a75894030cb534a3d16 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
|
||||
@@ -329,10 +329,10 @@ index 117bf06..6301aa2 100644
|
||||
print(cdll.LoadLibrary("libm.so"))
|
||||
print(cdll.LoadLibrary("libcrypt.so"))
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From a98dbcabc3647e19e1f198d167f4814b831b4537 Mon Sep 17 00:00:00 2001
|
||||
From 88736af1e86b217933d7ecf1ee82df431f60bc79 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
|
||||
@@ -356,10 +356,10 @@ index 2f9555a..90bea57 100755
|
||||
# First try to use the default Windows browser
|
||||
register("windows-default", WindowsDefault)
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From c899efa98767ad3c1ac7a5dbd8e0fa223a4317b1 Mon Sep 17 00:00:00 2001
|
||||
From 24f65166fb31b9d79b31697f1a3a5298368cce2b 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.
|
||||
@@ -379,10 +379,10 @@ index aa9b79d..b99e1e0 100644
|
||||
pass # no-op when os.register_at_fork does not exist.
|
||||
else:
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From 0b6a8ba0ec22ed05aa04af578e11d956c68ed311 Mon Sep 17 00:00:00 2001
|
||||
From 0decfe94924e50eabe6f34cbddb3e79708e98377 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()
|
||||
@@ -390,10 +390,10 @@ Subject: handle errors returned by internal_connect()
|
||||
upstream bug #40628 by Ryan C. Gordon
|
||||
|
||||
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
|
||||
index 1c0bc79..e8d1cf2 100644
|
||||
index e2afe50..a41aaca 100644
|
||||
--- a/Modules/socketmodule.c
|
||||
+++ b/Modules/socketmodule.c
|
||||
@@ -3483,7 +3483,7 @@ sock_connect(PySocketSockObject *s, PyObject *addro)
|
||||
@@ -3534,7 +3534,7 @@ sock_connect(PySocketSockObject *s, PyObject *addro)
|
||||
}
|
||||
|
||||
res = internal_connect(s, SAS2SA(&addrbuf), addrlen, 1);
|
||||
@@ -402,7 +402,7 @@ index 1c0bc79..e8d1cf2 100644
|
||||
return NULL;
|
||||
|
||||
Py_RETURN_NONE;
|
||||
@@ -3514,7 +3514,7 @@ sock_connect_ex(PySocketSockObject *s, PyObject *addro)
|
||||
@@ -3565,7 +3565,7 @@ sock_connect_ex(PySocketSockObject *s, PyObject *addro)
|
||||
}
|
||||
|
||||
res = internal_connect(s, SAS2SA(&addrbuf), addrlen, 0);
|
||||
@@ -412,20 +412,20 @@ index 1c0bc79..e8d1cf2 100644
|
||||
|
||||
return PyLong_FromLong((long) res);
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From e9da56074bc25080a4ddccdd1902f2b19c4cf8bb Mon Sep 17 00:00:00 2001
|
||||
From 02a638d1ba2fcb67b6b7da45803b86322df43bae 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 40d0f86..140cce8 100644
|
||||
index 601145e..754baa9 100644
|
||||
--- a/Modules/posixmodule.c
|
||||
+++ b/Modules/posixmodule.c
|
||||
@@ -3314,11 +3314,14 @@ static PyObject *
|
||||
@@ -3318,11 +3318,14 @@ static PyObject *
|
||||
os_ttyname_impl(PyObject *module, int fd)
|
||||
/*[clinic end generated code: output=c424d2e9d1cd636a input=9ff5a58b08115c55]*/
|
||||
{
|
||||
@@ -442,10 +442,10 @@ index 40d0f86..140cce8 100644
|
||||
if (buffer == NULL) {
|
||||
return PyErr_NoMemory();
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From 549c7dcf5aa14f0a7ee953d4485afd4e24ffe157 Mon Sep 17 00:00:00 2001
|
||||
From 862f6fb3121e0ecd9725d26b0ab4e22fe81d4649 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.
|
||||
@@ -456,7 +456,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 f1f8ce5..895815e 100644
|
||||
index 1124955..614aff8 100644
|
||||
--- a/Lib/test/test_io.py
|
||||
+++ b/Lib/test/test_io.py
|
||||
@@ -628,7 +628,7 @@ class IOTest(unittest.TestCase):
|
||||
@@ -495,10 +495,10 @@ index a1cf538..c04d9e3 100644
|
||||
'test requires %s bytes and a long time to run' % str(0x180000000))
|
||||
f = open(TESTFN, 'w+b')
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From 65a73d2ac7eb72a369d73af3446a881b40658395 Mon Sep 17 00:00:00 2001
|
||||
From b0f164c467dbc7d8f8a24b650639df089d12538c 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.
|
||||
@@ -577,7 +577,7 @@ index 89a81c5..3477bf6 100644
|
||||
if sys.platlibdir != "lib":
|
||||
libdirs.append("lib")
|
||||
diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py
|
||||
index 7bcb737..24cb0af 100644
|
||||
index 510c7b9..7a17472 100644
|
||||
--- a/Lib/sysconfig/__init__.py
|
||||
+++ b/Lib/sysconfig/__init__.py
|
||||
@@ -48,6 +48,36 @@ _INSTALL_SCHEMES = {
|
||||
@@ -674,7 +674,7 @@ index 7bcb737..24cb0af 100644
|
||||
'osx_framework_user': {
|
||||
'stdlib': '{userbase}/lib/{implementation_lower}',
|
||||
'platstdlib': '{userbase}/lib/{implementation_lower}',
|
||||
@@ -278,6 +337,18 @@ def _expand_vars(scheme, vars):
|
||||
@@ -285,6 +344,18 @@ def _expand_vars(scheme, vars):
|
||||
|
||||
|
||||
def _get_preferred_schemes():
|
||||
@@ -694,7 +694,7 @@ index 7bcb737..24cb0af 100644
|
||||
return {
|
||||
'prefix': 'nt',
|
||||
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
|
||||
index bf53413..80daae7 100644
|
||||
index aca02c0..e7ff98d 100644
|
||||
--- a/Lib/test/test_sysconfig.py
|
||||
+++ b/Lib/test/test_sysconfig.py
|
||||
@@ -386,9 +386,10 @@ class TestSysConfig(unittest.TestCase):
|
||||
@@ -711,10 +711,10 @@ index bf53413..80daae7 100644
|
||||
|
||||
@skip_unless_symlink
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From 9045cae00dda9b2a95df757c73d16a6de7ba2aed Mon Sep 17 00:00:00 2001
|
||||
From 30a2e9f950bcad453ca51d1a61ba0680fc2389a6 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.
|
||||
@@ -750,10 +750,10 @@ index 3477bf6..cfd4e49 100644
|
||||
|
||||
def enablerlcompleter():
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From 6e04400130cf2c45057adfb8632e05b8bcad4dfe Mon Sep 17 00:00:00 2001
|
||||
From 92e9504e82d1fa951dd32c3ce8f0dc024c007f9f Mon Sep 17 00:00:00 2001
|
||||
From: Oscar Lesta <oscar.lesta@gmail.com>
|
||||
Date: Sun, 8 Oct 2023 17:02:19 -0300
|
||||
Subject: Use spawn instead of fork for multiprocessing.
|
||||
@@ -803,10 +803,10 @@ index de8a264..02a301e 100644
|
||||
# on macOS since macOS 10.14 (Mojave). Use spawn by default instead.
|
||||
_default_context = DefaultContext(_concrete_contexts['spawn'])
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From f43d869f24911e4cc8feae8d58f64cc8221d6cd9 Mon Sep 17 00:00:00 2001
|
||||
From 8283651371ed8ac3d36b688ad1ecf90a6c75bd94 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.
|
||||
@@ -817,10 +817,10 @@ Content-Transfer-Encoding: 8bit
|
||||
test_fileio.py fix from "initial Haiku patch" by Jérôme Duval.
|
||||
|
||||
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
|
||||
index a2ed99a..e8449b9 100644
|
||||
index 952176b..2a23ff0 100644
|
||||
--- a/Lib/test/datetimetester.py
|
||||
+++ b/Lib/test/datetimetester.py
|
||||
@@ -6080,6 +6080,9 @@ def pairs(iterable):
|
||||
@@ -6086,6 +6086,9 @@ def pairs(iterable):
|
||||
|
||||
class ZoneInfo(tzinfo):
|
||||
zoneroot = '/usr/share/zoneinfo'
|
||||
@@ -843,10 +843,10 @@ index 0611d17..ce7c87d 100644
|
||||
# Somehow /dev/tty appears seekable on some BSDs
|
||||
self.assertEqual(f.seekable(), False)
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From b16f098ff737977d58c900b4c84540ed573843d7 Mon Sep 17 00:00:00 2001
|
||||
From 3ede5eb2e516df3efb2ee15fd1f5d4214ddc9d79 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.
|
||||
@@ -909,10 +909,10 @@ index 5bd9b77..88e29a4 100644
|
||||
|
||||
/* NETDEV filter flags */
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From 5009cfba6798c0ea4499f676bdcbd006d53d0e23 Mon Sep 17 00:00:00 2001
|
||||
From 06130abe2fc72c3c644811ac9012beb4dc9724df Mon Sep 17 00:00:00 2001
|
||||
From: Alexander von Gluck IV <kallisti5@unixzen.com>
|
||||
Date: Thu, 14 Mar 2024 12:54:33 -0500
|
||||
Subject: config.guess: Update to universal haiku arch guessing
|
||||
@@ -939,10 +939,10 @@ index e81d3ae..366429c 100755
|
||||
SX-4:SUPER-UX:*:*)
|
||||
GUESS=sx4-nec-superux$UNAME_RELEASE
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From d8a155ab052cb6794e6cd268a62262f198ab7ea4 Mon Sep 17 00:00:00 2001
|
||||
From 4ff86bb269b52cbdf67b33afcf22b880ad4a2b9d 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.
|
||||
@@ -962,10 +962,10 @@ index f668810..a55a8e4 100644
|
||||
elif sys.platform.startswith("aix"):
|
||||
c_arg = arg.decode('iso-8859-1')
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From 538c632f81e8d62b9b9e68f9231eafd48c5b7888 Mon Sep 17 00:00:00 2001
|
||||
From b9e64a6a7fc28878a05df394477b149386138baa 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.
|
||||
@@ -1025,7 +1025,7 @@ index cfd4e49..b414150 100644
|
||||
libdirs = [sys.platlibdir]
|
||||
if sys.platlibdir != "lib":
|
||||
diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py
|
||||
index 2df17b9..332063b 100644
|
||||
index 57f4f1e..841c24a 100644
|
||||
--- a/Lib/test/test_site.py
|
||||
+++ b/Lib/test/test_site.py
|
||||
@@ -323,7 +323,21 @@ class HelperFunctionsTests(unittest.TestCase):
|
||||
@@ -1052,17 +1052,17 @@ index 2df17b9..332063b 100644
|
||||
if sys.platlibdir != "lib":
|
||||
self.assertEqual(len(dirs), 2)
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From fb5a29ef37d19d646dde05db259802747b94d179 Mon Sep 17 00:00:00 2001
|
||||
From a617a93b6110e6bdf2b7c79ba91110bc3ab168f1 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 80daae7..5194c47 100644
|
||||
index e7ff98d..017c676 100644
|
||||
--- a/Lib/test/test_sysconfig.py
|
||||
+++ b/Lib/test/test_sysconfig.py
|
||||
@@ -221,6 +221,19 @@ class TestSysConfig(unittest.TestCase):
|
||||
@@ -1095,10 +1095,10 @@ index 80daae7..5194c47 100644
|
||||
wanted.extend(['nt_user', 'osx_framework_user', 'posix_user', 'haiku_user'])
|
||||
self.assertEqual(get_scheme_names(), tuple(sorted(wanted)))
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From 9501c1a9f4f4b89670a92c36404e9116f2ebbca2 Mon Sep 17 00:00:00 2001
|
||||
From 8e1d4e088545b103b11b4f7fb985492e7780a060 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
|
||||
@@ -1106,10 +1106,10 @@ Subject: Partially fix test_compileall by skipping tests that need hardlink
|
||||
|
||||
|
||||
diff --git a/Lib/test/support/os_helper.py b/Lib/test/support/os_helper.py
|
||||
index 8914059..bfedd2d 100644
|
||||
index ae01644..b701fd9 100644
|
||||
--- a/Lib/test/support/os_helper.py
|
||||
+++ b/Lib/test/support/os_helper.py
|
||||
@@ -206,6 +206,8 @@ def can_hardlink():
|
||||
@@ -207,6 +207,8 @@ def can_hardlink():
|
||||
# Android blocks hard links using SELinux
|
||||
# (https://stackoverflow.com/q/32365690).
|
||||
_can_hardlink = hasattr(os, "link") and not support.is_android
|
||||
@@ -1131,10 +1131,10 @@ index 21ecebc..632fc1c 100644
|
||||
# 'a = 0' code produces the same bytecode for the 3 optimization
|
||||
# levels. All three .pyc files must have the same inode (hardlinks).
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From 15562f756b5cca4e47859d90a0bb9881c5b7649f Mon Sep 17 00:00:00 2001
|
||||
From d28046562d65e17576f9cc4eed86cf1ab6953ddf 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.
|
||||
@@ -1147,7 +1147,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 1e4122d..6c9a2ef 100644
|
||||
index 1b4c40b..c46e950 100644
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -752,7 +752,7 @@ profile-run-stamp:
|
||||
@@ -1182,10 +1182,10 @@ index 4d3fb65..be95e7d 100644
|
||||
|
||||
#if !defined(__HAIKU__) && !defined(__APPLE__) && !defined(__CYGWIN__) && !defined(_AIX) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__sun) && !defined(__NetBSD__)
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
|
||||
From 11cf4f8dda81d2463aa3483367ae0e36e4dcfb3e Mon Sep 17 00:00:00 2001
|
||||
From 1af03ce03c52e186d6699b738243527b8c26b6d2 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.
|
||||
@@ -1207,5 +1207,5 @@ index 8e54330..e197041 100644
|
||||
|
||||
CFLAGS_NODIST="$CFLAGS_NODIST ${LTOCFLAGS-$LTOFLAGS}"
|
||||
--
|
||||
2.45.2
|
||||
2.48.1
|
||||
|
||||
@@ -13,7 +13,7 @@ LICENSE="Python"
|
||||
COPYRIGHT="1990-2025 Python Software Foundation"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://www.python.org/ftp/python/$portVersion/Python-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="d984bcc57cd67caab26f7def42e523b1c015bbc5dc07836cf4f0b63fa159eb56"
|
||||
CHECKSUM_SHA256="40f868bcbdeb8149a3149580bb9bfd407b3321cd48f0be631af955ac92c0e041"
|
||||
SOURCE_DIR="Python-$portVersion"
|
||||
|
||||
pyShortVer="${portVersion%.*}"
|
||||
@@ -53,9 +53,15 @@ packageTests=false
|
||||
# Set to "false" for faster local/test builds. Around 4 to 5 times faster that way.
|
||||
optimizedBuild=true
|
||||
|
||||
# Generally, we disable parallel builds if "optimizedBuild == true" as they can fail.
|
||||
forceParallelBuild=true
|
||||
|
||||
# Run all tests by default. Set to "true" to make "hp --test" only run then known failing tests.
|
||||
runOnlyKnownFailingTests=false
|
||||
|
||||
# Run only the tests that are generally excluded. Expect LOTS of hangs/crashes/etc.
|
||||
runOnlyExcludedTests=false
|
||||
|
||||
# <<<[RECIPE OPTIONS]
|
||||
|
||||
PROVIDES="
|
||||
@@ -172,7 +178,7 @@ BUILD()
|
||||
--with-readline=editline \
|
||||
--with-system-expat \
|
||||
--with-system-libmpdec=no \
|
||||
--with-tzpath=$dataDir/zoneinfo \
|
||||
--with-tzpath=$(findpaths -c : B_FIND_PATH_DATA_DIRECTORY zoneinfo) \
|
||||
--without-static-libpython \
|
||||
--with-lto
|
||||
|
||||
@@ -204,9 +210,11 @@ BUILD()
|
||||
#
|
||||
# Not using multiple jobs for make solves both the warnings and the possible error.
|
||||
|
||||
if $optimizedBuild; then
|
||||
if $optimizedBuild && ! $forceParallelBuild; then
|
||||
echo "Running make with: -j 1"
|
||||
make -j 1
|
||||
else
|
||||
echo "Running make with: $jobArgs"
|
||||
make $jobArgs
|
||||
fi
|
||||
}
|
||||
@@ -288,10 +296,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 on hrev57937+125 (64 bits bare-metal):
|
||||
# Total tests: run=37,204 failures=596 skipped=1,415
|
||||
# Total test files: run=426/409 failed=22 skipped=28 resource_denied=5 rerun=22
|
||||
# (a few more failures than usual, possibly due to having ran the tests from ramfs)
|
||||
# For reference, results on hrev57937+129 (64 bits, VMware, no-RAMFS):
|
||||
# Total duration: 9 min 42 sec
|
||||
# Total tests: run=40,337 failures=672 skipped=1,798
|
||||
# Total test files: run=465/445 failed=27 skipped=32 resource_denied=7 rerun=27
|
||||
TEST()
|
||||
{
|
||||
# Remove tests data left-overs, if any:
|
||||
@@ -301,6 +309,7 @@ TEST()
|
||||
|
||||
local test_options=(
|
||||
# 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.
|
||||
@@ -319,16 +328,10 @@ TEST()
|
||||
)
|
||||
|
||||
local tests_to_exclude=(
|
||||
# distutils is deprecated, and will be removed on 3.12.
|
||||
-x test_distutils
|
||||
|
||||
# The following tests invoke the crash dialog, and unless your configure
|
||||
# debug_server default action to "kill" or "report", they will hang waiting for
|
||||
# user input. See comment above TEST().
|
||||
-x test_faulthandler
|
||||
-x test_futures # from test_asyncio. Crashes: Exception (Segment violation)
|
||||
-x test_subprocess # tends to hang.
|
||||
-x test_threading # tends to hang.
|
||||
-x test_threading # tends to hang (or at least run for more than 5 minutes).
|
||||
|
||||
# Many of the tests hang/stall. We have two options:
|
||||
#
|
||||
@@ -346,26 +349,10 @@ TEST()
|
||||
# Let's use Option 1, for now at least.
|
||||
|
||||
# These hang reliably.
|
||||
-x test__xxsubinterpreters
|
||||
-x test_cmd_line
|
||||
-x test_concurrent_futures
|
||||
-x test_eintr
|
||||
-x test_interpreters
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
-x test_multiprocessing_main_handling
|
||||
-x test_multiprocessing_spawn
|
||||
-x test_os
|
||||
-x test_posix
|
||||
-x test_random
|
||||
-x test_socketserver
|
||||
-x test_threaded_import # test_importlib/test_threaded_import
|
||||
-x test_tracemalloc
|
||||
-x test_uuid
|
||||
-x test_threaded_import # test_importlib.test_threaded_import
|
||||
|
||||
# "test_asyncio" doesn't seems to runs reliably, even after individually skipping
|
||||
# all the problematic test-cases that could be identify by running them one by one.
|
||||
# -x test_asyncio
|
||||
# The following are all under test_asyncio/
|
||||
-x test_base_events
|
||||
-x test_buffered_proto # Exception on Exception handler.
|
||||
@@ -376,89 +363,91 @@ TEST()
|
||||
-x test_sslproto # Exception on Exception handler.
|
||||
-x test_streams
|
||||
-x test_unix_events
|
||||
# -i TestThreadedServer # in test_asyncio.functional
|
||||
|
||||
# These not always hang/stall, but they do it enough to warrant skipping for now.
|
||||
-x test_imaplib
|
||||
-x test_signal
|
||||
-x test_multiprocessing_fork #? resource_tracker: process died unexpectedly
|
||||
-x test_multiprocessing_forkserver #?
|
||||
-x test_socket
|
||||
-x test_ssl
|
||||
-x test_urllib2_localnet
|
||||
|
||||
# 3.11
|
||||
-x test_urllib2net
|
||||
-x test_venv
|
||||
|
||||
# 3.12 Either too slow or hangs;
|
||||
-x test_builtin
|
||||
-x test_mailbox
|
||||
-x test_tempfile
|
||||
-x test_thread
|
||||
|
||||
# 3.12.1
|
||||
-x test_queue
|
||||
-x test_ssl # pegs one core to 100$
|
||||
|
||||
# 3.11.8 / 3.12.2 (hang on nightlies, at least)
|
||||
-x test_httplib
|
||||
-x test_httpservers
|
||||
-x test_logging
|
||||
-x test_xmlrpc
|
||||
|
||||
# Fails while outputing "ResourceWarning: unclosed <ssl.SSLSocket", but takes anywhere
|
||||
# between 1 to 3+ minutes to end (and gets re-run!). Run it manually if needed, or
|
||||
# re-enable once those SSLSocket warninings, that also pop up on other tests, get resolved.
|
||||
-x test_ftplib # Shouldn't be enabled unless network-resource is granted.
|
||||
|
||||
# 3.12.6, on beta5
|
||||
-x test_readline # hangs when running tests in parallel (or as part of the suite, at least).
|
||||
|
||||
# 3.13.0a3
|
||||
# these shouldn't run unless the GUI resource is enabled.
|
||||
-x test_idle
|
||||
-x test_tkinter
|
||||
-x test_ttk
|
||||
|
||||
# should probably also disable:
|
||||
# -x test_pydoc
|
||||
-x test_mmap # this one is a HDD killer :-(
|
||||
# -x test_getpass
|
||||
# -x test_perfmaps
|
||||
# -x test_sqlite3
|
||||
# -x test___all__ # ???
|
||||
|
||||
# 3.13.0b1 (these seem to hang)
|
||||
-x test_fork1
|
||||
-x test_pty
|
||||
|
||||
# need to find how to avoid re-running the failing tests
|
||||
|
||||
# 3.13.0rc1
|
||||
# -x test_li[???] # at least one test with name starting with "test_li" seems to hang.
|
||||
|
||||
# 3.13.0rc2
|
||||
-x test_ftplib # Hangs with high CPU usage.
|
||||
# 3.12.10 (still on 3.13.3)
|
||||
-x test_glob # sometimes hangs.
|
||||
-x test_kqueue # hangs sometimes.
|
||||
# hang on beta5 64 bits VM (no network connected):
|
||||
-x test_httpservers
|
||||
-x test_poplib
|
||||
-x test_xmlrpc
|
||||
)
|
||||
|
||||
local tests_that_fail=(
|
||||
test__locale
|
||||
test_c_locale_coercion
|
||||
test_cmd
|
||||
# test_compile # out of memory (with 2 GB of RAM)
|
||||
test_datetime
|
||||
test_fcntl
|
||||
# test_ftplib
|
||||
test_ctypes # stupid test compares wording of error message.
|
||||
# test_compile # out of memory (with 2 GB of RAM)
|
||||
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_json
|
||||
test_glob # sometimes hangs.
|
||||
test_importlib
|
||||
test_json # "AssertionError: 13 != -2147459059" (errno.EPIPE)
|
||||
test_kqueue # hangs.
|
||||
test_math
|
||||
test_popen
|
||||
test_pyrepl # several: "module 'termios' has no attribute 'VREPRINT'". Adding hasattr(termios, 'VREPRINT') still results in error.
|
||||
test_re
|
||||
# test_readline # hangs sometimes.
|
||||
test_shutil
|
||||
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
|
||||
test_time
|
||||
test_tools
|
||||
test_mailbox # fails to clean a temp file? (os.utime() related?)
|
||||
test_math # test expects to get -0.0, gets 0.0
|
||||
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_pty # sometimes fails.
|
||||
test_pyrepl # several: "module 'termios' has no attribute 'VREPRINT'". Adding hasattr(termios, 'VREPRINT') still results in error.
|
||||
test_re # locale related failures.
|
||||
test_readline # hangs sometimes (when run in parallel with test_pty, I think).
|
||||
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_venv
|
||||
)
|
||||
|
||||
local -x LOGNAME=buildbot # this skips tests_tools/test_freeze, copied from Gentoo's ebuild
|
||||
# besides the above ones, the following only fail when the workdir is in RAMFS:
|
||||
local tests_that_fail_only_on_ramfs=(
|
||||
test.test_concurrent_futures.test_as_completed
|
||||
test.test_concurrent_futures.test_deadlock
|
||||
test.test_concurrent_futures.test_init
|
||||
test.test_concurrent_futures.test_process_pool
|
||||
test.test_concurrent_futures.test_shutdown
|
||||
test.test_concurrent_futures.test_wait
|
||||
test_multiprocessing_main_handling # "IsADirectoryError" when calling "subprocess._execute_child()"
|
||||
test_pathlib
|
||||
test_smtplib
|
||||
test_stat
|
||||
)
|
||||
|
||||
if $runOnlyKnownFailingTests; then
|
||||
# test_freeze_simple_script is auto-skipped on PGO builds.
|
||||
if ! $optimizedBuild; then
|
||||
# This skips tests_tools.test_freeze, copied from Gentoo's ebuild.
|
||||
local -x LOGNAME=buildbot
|
||||
fi
|
||||
|
||||
if $runOnlyExcludedTests; then
|
||||
make $jobArgs test EXTRATESTOPTS="${test_options[*]} ${tests_to_exclude[*]}"
|
||||
elif $runOnlyKnownFailingTests; then
|
||||
make $jobArgs test EXTRATESTOPTS="${test_options[*]} ${tests_that_fail[*]}"
|
||||
else
|
||||
# Runs the full test suite (minus the tests that we explicitly exclude).
|
||||
Reference in New Issue
Block a user