python3.12: update to version 3.12.13. (#13926)

The added change in MACHDEP (configure.ac) makes sys.platform return plain
"haiku", instead of "haiku1" in beta5, or "haikuR1~beta5+develpment" on
nightlies.

This makes it more aligned with what's done for Linux and FreeBSD, where it
returns just the name in lower case, and no version suffix.

ToDo: clean up the rest of patchsets, where we used:
`if sys.platform.starswith("haiku")`, or `sys.platform[:5] == "haiku"`.

Build tested on hrev59595, x86_64.
This commit is contained in:
OscarL
2026-04-08 01:25:52 -03:00
committed by GitHub
parent c6a86dc1c3
commit 80d312c03c
2 changed files with 69 additions and 37 deletions

View File

@@ -1,4 +1,4 @@
From 22e4016e3b29e96a85a4360a1d5c96bd3da896c5 Mon Sep 17 00:00:00 2001
From 178912c90176f0b5ab92603bb6734c6857a1dbea 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
@@ -239,10 +239,10 @@ index 1a02d19..63a3bd3 100644
esac
AC_MSG_CHECKING([for --with-libm=STRING])
--
2.48.1
2.52.0
From 3ec2248a7728a37ce7b68bc909518d3143cce4b2 Mon Sep 17 00:00:00 2001
From fcb91c39fca04da8338db56f9a470980cf62eb28 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
@@ -277,10 +277,10 @@ index 35ea2ac..ccc25ed 100644
*--cur = Py_hexdigits[saved_errno % 16];
saved_errno /= 16;
--
2.48.1
2.52.0
From 7edd0a9045ad11aa0fbfcebf1b2d57a2f0932608 Mon Sep 17 00:00:00 2001
From c5eaf778fac011d9598a524335ab9c5bcc3ba00d 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
@@ -374,10 +374,10 @@ index c550883..6b23423 100644
print(cdll.LoadLibrary("libm.so"))
print(cdll.LoadLibrary("libcrypt.so"))
--
2.48.1
2.52.0
From 2720e83e5b368dd0ca745e18e0ce27476862ba3d Mon Sep 17 00:00:00 2001
From e0e1ac161fe7c04490244afc5c84e05c57851766 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
@@ -401,10 +401,10 @@ index 13b9e85..7d81178 100755
# First try to use the default Windows browser
register("windows-default", WindowsDefault)
--
2.48.1
2.52.0
From 0774906be0d6b3d4c13aaaa1d161183ac2c63ab4 Mon Sep 17 00:00:00 2001
From 7bafbd6dec9ad712bb7b2938327cf3c47925bbfb 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.
@@ -424,10 +424,10 @@ index 22d3198..f369a88 100644
pass # no-op when os.register_at_fork does not exist.
else:
--
2.48.1
2.52.0
From a2390a2228172893b31cad29d4719570d0994cc4 Mon Sep 17 00:00:00 2001
From f5471c8f49cac0a3f51ec81caec8f66fd9bf2f17 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()
@@ -457,10 +457,10 @@ index 27afd73..4ceccd9 100644
return PyLong_FromLong((long) res);
--
2.48.1
2.52.0
From 322784606d6661cba4b52daa07127fdc69e81d0d Mon Sep 17 00:00:00 2001
From 4395b3293481cb53f44a9d53afdbc9987b77e5c2 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
@@ -487,10 +487,10 @@ index c21c6f0..51421e1 100644
if (buffer == NULL) {
return PyErr_NoMemory();
--
2.48.1
2.52.0
From 7e896bb4cbe95dc7eb01a13793c0e5d874dc48ab Mon Sep 17 00:00:00 2001
From ba5ee3f2b28e01fa5cd01cfc969b5bfde853e173 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.
@@ -540,10 +540,10 @@ index 1867e8c..e4fab02 100644
'test requires %s bytes and a long time to run' % str(0x180000000))
f = open(TESTFN, 'w+b')
--
2.48.1
2.52.0
From bef6c38a8c21355ea240f4099616b6993757e2fc Mon Sep 17 00:00:00 2001
From c77d07722d6a639e385ce16f5e76c25721d6901f Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Fri, 26 Jul 2024 19:18:56 -0300
Subject: _getuserbase(), getsitepackages(), and INSTALL_SCHEMES for Haiku.
@@ -756,10 +756,10 @@ index 67647e1..078a260 100644
@skip_unless_symlink
--
2.48.1
2.52.0
From 1a148d78e0ae2cc8cb8fffe237b1799a7ff359bf Mon Sep 17 00:00:00 2001
From cce4fc6a91490f63ff0ba3238d0504c7768b4c26 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Fri, 26 Jul 2024 19:01:05 -0300
Subject: Fix location of REPL's history file.
@@ -793,10 +793,10 @@ index d3612a0..3a714a0 100644
readline.read_history_file(history)
except OSError:
--
2.48.1
2.52.0
From 29005f55483b312ab906ba6c1469cc43485e6811 Mon Sep 17 00:00:00 2001
From 8188bca7635e78ec94cb24d59029aa65f60cf6cc 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.
@@ -846,10 +846,10 @@ index de8a264..02a301e 100644
# on macOS since macOS 10.14 (Mojave). Use spawn by default instead.
_default_context = DefaultContext(_concrete_contexts['spawn'])
--
2.48.1
2.52.0
From ce5827744a01456e6ddddeb549233e93f64ca34a Mon Sep 17 00:00:00 2001
From 85410505e458c9e54b9fb6ff821b7ff520048ad7 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.
@@ -886,10 +886,10 @@ index ebfcffd..0517b87 100644
# Somehow /dev/tty appears seekable on some BSDs
self.assertEqual(f.seekable(), False)
--
2.48.1
2.52.0
From b6438893be1f0ea1ac6b7296cb6854abc3179296 Mon Sep 17 00:00:00 2001
From 7c71441e5ace2651b7072fcee4f8f0c7e022649a Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Sat, 10 Feb 2024 06:01:25 -0300
Subject: Fix build on nightlies, following the addition of kqueue.
@@ -952,10 +952,10 @@ index 50788e5..82fd9d9 100644
/* NETDEV filter flags */
--
2.48.1
2.52.0
From cd75d6fe66da5fb1109934a27490839dbcb07a14 Mon Sep 17 00:00:00 2001
From 57d12b568492a808f0ea9489579baf03e079014f 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
@@ -982,10 +982,10 @@ index e81d3ae..366429c 100755
SX-4:SUPER-UX:*:*)
GUESS=sx4-nec-superux$UNAME_RELEASE
--
2.48.1
2.52.0
From a19d0ace5469dc481adc9910b1953ac2fa574bbb Mon Sep 17 00:00:00 2001
From 4e208a6ae43463245db56cdcfc8c616e2ec18976 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.
@@ -1005,10 +1005,10 @@ index f668810..a55a8e4 100644
elif sys.platform.startswith("aix"):
c_arg = arg.decode('iso-8859-1')
--
2.48.1
2.52.0
From b2349eb308cb3969e37d449f9b7cd7d149ad0e2b Mon Sep 17 00:00:00 2001
From 3785af308961613fd5091935f89fa9e0021d21ed 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.
@@ -1088,10 +1088,10 @@ index 249e6b5..a575423 100644
if sys.platlibdir != "lib":
self.assertEqual(len(dirs), 2)
--
2.48.1
2.52.0
From 4b18beee770bb7dbee777641ef9cb092b8f9bc37 Mon Sep 17 00:00:00 2001
From 4ff9cf4025c5aa07cdc05895c40f8f3b7e784893 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.
@@ -1131,10 +1131,10 @@ index 078a260..6175b08 100644
wanted.extend(['nt_user', 'osx_framework_user', 'posix_user', 'haiku_user'])
self.assertEqual(get_scheme_names(), tuple(sorted(wanted)))
--
2.48.1
2.52.0
From ec939e784caadd02233ce26a469f11bc0ce3ae95 Mon Sep 17 00:00:00 2001
From e110b46e6ee0814e5325d059e253d21f880da242 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Fri, 9 Aug 2024 15:45:45 -0300
Subject: Fix test_compileall by skipping tests that need hardlink support.
@@ -1164,5 +1164,37 @@ index 5832f84..2e736db 100644
# Test hardlink_dupes parameter of compileall.compile_dir()
--
2.48.1
2.52.0
From ecb12550d98b7a1f1f0a7e748f5f6dff2e8c67ce Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Wed, 8 Apr 2026 01:09:29 -0300
Subject: configure.ac: add Haiku to the MACHDEP cases.
diff --git a/configure.ac b/configure.ac
index 63a3bd3..3baa965 100644
--- a/configure.ac
+++ b/configure.ac
@@ -550,6 +550,9 @@ then
*-*-cygwin*)
ac_sys_system=Cygwin
;;
+ *-*-haiku*)
+ ac_sys_system=Haiku
+ ;;
*-*-vxworks*)
ac_sys_system=VxWorks
;;
@@ -585,6 +588,7 @@ then
linux*) MACHDEP="linux";;
cygwin*) MACHDEP="cygwin";;
darwin*) MACHDEP="darwin";;
+ haiku*) MACHDEP="haiku";;
'') MACHDEP="unknown";;
esac
--
2.52.0

View File

@@ -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="fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4"
CHECKSUM_SHA256="c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684"
SOURCE_DIR="Python-$portVersion"
pyShortVer="${portVersion%.*}"