diff --git a/dev-lang/python/patches/python3.13-3.13.9.patchset b/dev-lang/python/patches/python3.13-3.13.12.patchset similarity index 93% rename from dev-lang/python/patches/python3.13-3.13.9.patchset rename to dev-lang/python/patches/python3.13-3.13.12.patchset index 2f8ef1e85..6d68d5f3d 100644 --- a/dev-lang/python/patches/python3.13-3.13.9.patchset +++ b/dev-lang/python/patches/python3.13-3.13.12.patchset @@ -1,4 +1,4 @@ -From c112b0fa3dd09bc6df0ae51035872da538e58d9a Mon Sep 17 00:00:00 2001 +From d1bc7b8a8d02fd7644744a4f4d94d780a7b6b69b 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 72a157e..67141ae 100644 // See PyUnicode_DecodeFSDefaultAndSize(), PyUnicode_EncodeFSDefault(), // Py_DecodeLocale() and Py_EncodeLocale(). diff --git a/Makefile.pre.in b/Makefile.pre.in -index a7dc970..757af76 100644 +index ecf77bd..49823d6 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -149,7 +149,7 @@ BINDIR= @bindir@ @@ -148,7 +148,7 @@ index 8480590..ac7b78c 100644 #include #include diff --git a/configure.ac b/configure.ac -index 597a44b..92ad128 100644 +index 9477654..67dcd2d 100644 --- a/configure.ac +++ b/configure.ac @@ -1573,6 +1573,16 @@ if test $enable_shared = "yes"; then @@ -194,20 +194,20 @@ index 597a44b..92ad128 100644 esac AC_MSG_CHECKING([for --with-libm=STRING]) -- -2.50.1 +2.52.0 -From d1b69c62b5c73b615791fafc604f6eb65c5a2696 Mon Sep 17 00:00:00 2001 +From bec628a1db881d55b2e1d0b4b5a5b5c6e61b4584 Mon Sep 17 00:00:00 2001 From: Jerome Duval 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 ffc3fdf..690ea26 100644 +index 3a8c743..f9778a6 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py -@@ -1957,6 +1957,8 @@ class Popen: +@@ -1976,6 +1976,8 @@ class Popen: SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) @@ -217,10 +217,10 @@ index ffc3fdf..690ea26 100644 err_msg = "" # The error must be from chdir(cwd). diff --git a/Modules/_posixsubprocess.c b/Modules/_posixsubprocess.c -index b532631..5561466 100644 +index 0a7ef74..c505f6c 100644 --- a/Modules/_posixsubprocess.c +++ b/Modules/_posixsubprocess.c -@@ -841,6 +841,10 @@ error: +@@ -847,6 +847,10 @@ error: char *cur; _Py_write_noraise(errpipe_write, "OSError:", 8); cur = hex_errno + sizeof(hex_errno); @@ -232,10 +232,10 @@ index b532631..5561466 100644 *--cur = Py_hexdigits[saved_errno % 16]; saved_errno /= 16; -- -2.50.1 +2.52.0 -From b36de80dd053c93d68fe10b33cd30273bc667927 Mon Sep 17 00:00:00 2001 +From 56d897564e32c6f847a7c804850571eb5b7baf6a 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 @@ -329,10 +329,10 @@ index 117bf06..6301aa2 100644 print(cdll.LoadLibrary("libm.so")) print(cdll.LoadLibrary("libcrypt.so")) -- -2.50.1 +2.52.0 -From 393a4389ab344160842cfe1d568279b44feed6fd Mon Sep 17 00:00:00 2001 +From 7c3a4a1a24c7f3dfb2da63199d8a46f49bf72144 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 @@ -356,17 +356,17 @@ index 2f9555a..90bea57 100755 # First try to use the default Windows browser register("windows-default", WindowsDefault) -- -2.50.1 +2.52.0 -From 5f21a61060649814bd8227e5a8140d5e65058a66 Mon Sep 17 00:00:00 2001 +From 047294deb568792ece3f3435693c1fd3005e1a3b 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 b95c3aa..1652f93 100644 +index 9005f1e..28708e2 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -253,7 +253,7 @@ def _afterFork(): @@ -379,10 +379,10 @@ index b95c3aa..1652f93 100644 pass # no-op when os.register_at_fork does not exist. else: -- -2.50.1 +2.52.0 -From d6962a7a49ac65aac56fa608125ed253e277935b Mon Sep 17 00:00:00 2001 +From d14e90b43c9d2106c2c2ed951afe6cd4afc593fd 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() @@ -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 9a7c977..5a9bcfb 100644 +index 6df7401..3307388 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c -@@ -3536,7 +3536,7 @@ sock_connect(PySocketSockObject *s, PyObject *addro) +@@ -3541,7 +3541,7 @@ sock_connect(PySocketSockObject *s, PyObject *addro) } res = internal_connect(s, SAS2SA(&addrbuf), addrlen, 1); @@ -402,7 +402,7 @@ index 9a7c977..5a9bcfb 100644 return NULL; Py_RETURN_NONE; -@@ -3567,7 +3567,7 @@ sock_connect_ex(PySocketSockObject *s, PyObject *addro) +@@ -3572,7 +3572,7 @@ sock_connect_ex(PySocketSockObject *s, PyObject *addro) } res = internal_connect(s, SAS2SA(&addrbuf), addrlen, 0); @@ -412,20 +412,20 @@ index 9a7c977..5a9bcfb 100644 return PyLong_FromLong((long) res); -- -2.50.1 +2.52.0 -From 9f93397d1c0ea9beb7b89c9b1928f55464f2202b Mon Sep 17 00:00:00 2001 +From 87057a56802f2f2efcd0695cf2224b6cb71134c9 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 b7d128b..274d960 100644 +index b2beda4..d43693b 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c -@@ -3318,11 +3318,14 @@ static PyObject * +@@ -3307,11 +3307,14 @@ static PyObject * os_ttyname_impl(PyObject *module, int fd) /*[clinic end generated code: output=c424d2e9d1cd636a input=9ff5a58b08115c55]*/ { @@ -442,10 +442,10 @@ index b7d128b..274d960 100644 if (buffer == NULL) { return PyErr_NoMemory(); -- -2.50.1 +2.52.0 -From 89b406332794217afe96333ee874e556e8ab2b4d Mon Sep 17 00:00:00 2001 +From 402583f46f519480499bd65e6da10d1a597eaf9e 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. @@ -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 0da611a..92aa08e 100644 +index 77b9b70..addf661 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 7f33db5..13a1481 100644 'test requires %s bytes and a long time to run' % str(0x180000000)) f = open(TESTFN, 'w+b') -- -2.50.1 +2.52.0 -From e2cd0445e18f939c4cff0c7047f7cc624331cdee Mon Sep 17 00:00:00 2001 +From 510d1ae5c276ea525fe411c1f19ffd0c5da626c9 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. @@ -525,7 +525,7 @@ by me, plus: The idea was to have all _getuserbase()/INSTALL_SCHEMES related changes in "one place". diff --git a/Lib/site.py b/Lib/site.py -index aedf363..a65e8da 100644 +index 041dca1..ff27efc 100644 --- a/Lib/site.py +++ b/Lib/site.py @@ -307,6 +307,14 @@ def _getuserbase(): @@ -711,10 +711,10 @@ index 9723300..435a4c1 100644 @skip_unless_symlink -- -2.50.1 +2.52.0 -From dde891a48ff4ba72df736cf56d64483e106c73e2 Mon Sep 17 00:00:00 2001 +From 0502bcbc58696708c0617f71e3a1d3a35c5a47f5 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. @@ -725,7 +725,7 @@ Content-Transfer-Encoding: 8bit Adapted from previous patches by Jérôme Duval. diff --git a/Lib/site.py b/Lib/site.py -index a65e8da..81eff66 100644 +index ff27efc..753420a 100644 --- a/Lib/site.py +++ b/Lib/site.py @@ -506,8 +506,18 @@ def gethistoryfile(): @@ -750,10 +750,10 @@ index a65e8da..81eff66 100644 def enablerlcompleter(): -- -2.50.1 +2.52.0 -From 8eda160c8f525737c39649219594f9fcf9c3527e Mon Sep 17 00:00:00 2001 +From c261b97ec20f1ee49689fe37bdf0509986ba5601 Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Sun, 8 Oct 2023 17:02:19 -0300 Subject: Use spawn instead of fork for multiprocessing. @@ -803,10 +803,10 @@ index f395e8b..c286964 100644 # on macOS since macOS 10.14 (Mojave). Use spawn by default instead. _default_context = DefaultContext(_concrete_contexts['spawn']) -- -2.50.1 +2.52.0 -From 811420ef95eb23e312706fbbacbef91e20e98a36 Mon Sep 17 00:00:00 2001 +From b4c31ccbbafd4348c9e043e0a60e2d4e9c00996e 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. @@ -817,7 +817,7 @@ 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 44c5b28..994e39b 100644 +index 22ab655..a2d3d12 100644 --- a/Lib/test/datetimetester.py +++ b/Lib/test/datetimetester.py @@ -6089,6 +6089,9 @@ def pairs(iterable): @@ -843,10 +843,10 @@ index fdb36ed..5411a96 100644 # Somehow /dev/tty appears seekable on some BSDs self.assertEqual(f.seekable(), False) -- -2.50.1 +2.52.0 -From 89730a58f4e033dca041ee23dcd448f9ea57551a Mon Sep 17 00:00:00 2001 +From ebeb117857122351b504d9a27c2392356075ceb4 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. @@ -909,10 +909,10 @@ index 5bd9b77..88e29a4 100644 /* NETDEV filter flags */ -- -2.50.1 +2.52.0 -From c9f6b08052368afa8974b5f58c745a4fa0b6c4a8 Mon Sep 17 00:00:00 2001 +From a7465561a265aedf42c6b4d6ea888d664e0dba2c Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV 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.50.1 +2.52.0 -From 6fbcf6216b2f7b932be4ff742b10715e2bca73d2 Mon Sep 17 00:00:00 2001 +From a675ede1119510075f7a5f89ab5f4057f4e178ee Mon Sep 17 00:00:00 2001 From: Oscar Lesta 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.50.1 +2.52.0 -From a0a76d1699b3083caf60722391e787f57e60991f Mon Sep 17 00:00:00 2001 +From 097f830c9a6d6206bb96870c898d3e9b9e601b01 Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Fri, 9 Aug 2024 14:35:04 -0300 Subject: Fix test_site. @@ -983,7 +983,7 @@ Lib/site.py changes should eventually be merged with previous commits. Leaving the changes here now for easier review. diff --git a/Lib/site.py b/Lib/site.py -index 81eff66..ca16495 100644 +index 753420a..2eecc18 100644 --- a/Lib/site.py +++ b/Lib/site.py @@ -308,12 +308,8 @@ def _getuserbase(): @@ -1025,7 +1025,7 @@ index 81eff66..ca16495 100644 libdirs = [sys.platlibdir] if sys.platlibdir != "lib": diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py -index 40b8602..806068a 100644 +index a128ab3..0b5cb08 100644 --- a/Lib/test/test_site.py +++ b/Lib/test/test_site.py @@ -325,7 +325,21 @@ class HelperFunctionsTests(unittest.TestCase): @@ -1052,10 +1052,10 @@ index 40b8602..806068a 100644 if sys.platlibdir != "lib": self.assertEqual(len(dirs), 2) -- -2.50.1 +2.52.0 -From b6e1ca7a9cb27f2b856c4e962b0d87bde77a4f06 Mon Sep 17 00:00:00 2001 +From ae0782877dddc6819895f219b4fdea0e1bd7a796 Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Fri, 9 Aug 2024 15:37:13 -0300 Subject: Fix test_sysconfig. @@ -1095,10 +1095,10 @@ index 435a4c1..b5445e4 100644 wanted.extend(['nt_user', 'osx_framework_user', 'posix_user', 'haiku_user']) self.assertEqual(get_scheme_names(), tuple(sorted(wanted))) -- -2.50.1 +2.52.0 -From 25f0da135637a83117110d41ae1bec5bc25f438e Mon Sep 17 00:00:00 2001 +From d7e3a80392dc5b0dd4f04d15b83c31d14fa83359 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 @@ -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.50.1 +2.52.0 -From a2f7a2e2008adb536907a82e1ddac0280ead033c Mon Sep 17 00:00:00 2001 +From 025ac1f30e003512343f6b5a05624f884190b521 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. @@ -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 757af76..6c6abd3 100644 +index 49823d6..3b7ba0a 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -752,7 +752,7 @@ profile-run-stamp: @@ -1182,17 +1182,17 @@ index 4d3fb65..be95e7d 100644 #if !defined(__HAIKU__) && !defined(__APPLE__) && !defined(__CYGWIN__) && !defined(_AIX) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__sun) && !defined(__NetBSD__) -- -2.50.1 +2.52.0 -From 21a2fc818dbd8c6b4c139ea1ecbd5ab74b05b9c1 Mon Sep 17 00:00:00 2001 +From 58a91c0600bf987dfbc56df4ff0194183ab6e331 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 92ad128..6668bf1 100644 +index 67dcd2d..fe40172 100644 --- a/configure.ac +++ b/configure.ac @@ -2069,7 +2069,9 @@ if test "$Py_LTO" = 'true' ; then @@ -1207,5 +1207,37 @@ index 92ad128..6668bf1 100644 CFLAGS_NODIST="$CFLAGS_NODIST ${LTOCFLAGS-$LTOFLAGS}" -- -2.50.1 +2.52.0 + + +From e7502c3c77f9e149fedf53a1ce95f963038f5f69 Mon Sep 17 00:00:00 2001 +From: Oscar Lesta +Date: Wed, 8 Apr 2026 00:21:53 -0300 +Subject: configure.ac: add Haiku to the MACHDEP cases. + + +diff --git a/configure.ac b/configure.ac +index fe40172..d25025b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -330,6 +330,9 @@ then + *-apple-ios*) + ac_sys_system=iOS + ;; ++ *-*-haiku*) ++ ac_sys_system=Haiku ++ ;; + *-*-vxworks*) + ac_sys_system=VxWorks + ;; +@@ -366,6 +369,7 @@ then + linux*) MACHDEP="linux";; + cygwin*) MACHDEP="cygwin";; + darwin*) MACHDEP="darwin";; ++ haiku*) MACHDEP="haiku";; + '') MACHDEP="unknown";; + esac + +-- +2.52.0 diff --git a/dev-lang/python/python3.13-3.13.9.recipe b/dev-lang/python/python3.13-3.13.12.recipe similarity index 99% rename from dev-lang/python/python3.13-3.13.9.recipe rename to dev-lang/python/python3.13-3.13.12.recipe index 7baffbc46..b2c655f1d 100644 --- a/dev-lang/python/python3.13-3.13.9.recipe +++ b/dev-lang/python/python3.13-3.13.12.recipe @@ -20,7 +20,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="ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66" +CHECKSUM_SHA256="2a84cd31dd8d8ea8aaff75de66fc1b4b0127dd5799aa50a64ae9a313885b4593" SOURCE_DIR="Python-$portVersion" pyShortVer="${portVersion%.*}"