diff --git a/dev-lang/python/patches/python3-3.8.8.patchset b/dev-lang/python/patches/python3-3.8.12.patchset similarity index 94% rename from dev-lang/python/patches/python3-3.8.8.patchset rename to dev-lang/python/patches/python3-3.8.12.patchset index db47c03dc..2a12ccf71 100644 --- a/dev-lang/python/patches/python3-3.8.8.patchset +++ b/dev-lang/python/patches/python3-3.8.12.patchset @@ -1,4 +1,4 @@ -From 763544d5dc0aae75b06d990a01e1a3a3d680d58f Mon Sep 17 00:00:00 2001 +From 3467984d1c13cc560054e7c70a026a8a9afbadbe Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Thu, 10 Apr 2014 16:03:33 +0000 Subject: initial Haiku patch @@ -228,7 +228,7 @@ index 9bdd284..0491681 100644 def test_mknod_dir_fd(self): # Test using mknodat() to create a FIFO (the only use specified diff --git a/Makefile.pre.in b/Makefile.pre.in -index a914a9c..cc8522d 100644 +index 7e38128..edc5aa4 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -142,7 +142,7 @@ BINDIR= @bindir@ @@ -340,10 +340,10 @@ index afde03c..0173fea 100644 #endif diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c -index 5dc5f4e..7f1727a 100644 +index 5406f8b..062ca45 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c -@@ -7419,7 +7419,9 @@ PyInit__socket(void) +@@ -7420,7 +7420,9 @@ PyInit__socket(void) /* SOCK_RAW is marked as optional in the POSIX specification */ PyModule_AddIntMacro(m, SOCK_RAW); #endif @@ -419,10 +419,10 @@ index ea37c04..d6dc9e9 100755 def main(): global filedict diff --git a/configure.ac b/configure.ac -index 18a0446..fdb0de6 100644 +index e02cc2c..b7731f8 100644 --- a/configure.ac +++ b/configure.ac -@@ -1135,6 +1135,16 @@ if test $enable_shared = "yes"; then +@@ -1148,6 +1148,16 @@ if test $enable_shared = "yes"; then PY3LIBRARY=libpython3.so fi ;; @@ -439,7 +439,7 @@ index 18a0446..fdb0de6 100644 hp*|HP*) case `uname -m` in ia64) -@@ -1210,6 +1220,7 @@ AC_PROG_MKDIR_P +@@ -1223,6 +1233,7 @@ AC_PROG_MKDIR_P AC_SUBST(LN) if test -z "$LN" ; then case $ac_sys_system in @@ -447,7 +447,7 @@ index 18a0446..fdb0de6 100644 CYGWIN*) LN="ln -s";; *) LN=ln;; esac -@@ -2597,7 +2608,7 @@ then +@@ -2627,7 +2638,7 @@ then BLDSHARED="$LDSHARED" fi ;; @@ -456,7 +456,7 @@ index 18a0446..fdb0de6 100644 LDSHARED='$(CC) -shared' LDCXXSHARED='$(CXX) -shared';; FreeBSD*) -@@ -2664,7 +2675,7 @@ then +@@ -2694,7 +2705,7 @@ then else CCSHARED="+z"; fi;; Linux-android*) ;; @@ -465,7 +465,7 @@ index 18a0446..fdb0de6 100644 FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) CCSHARED="-fPIC";; OpenUNIX*|UnixWare*) if test "$GCC" = "yes" -@@ -2692,7 +2703,7 @@ then +@@ -2722,7 +2733,7 @@ then LINKFORSHARED="-Wl,-E -Wl,+s";; # LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";; Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; @@ -474,7 +474,7 @@ index 18a0446..fdb0de6 100644 # -u libsys_s pulls in all symbols in libsys Darwin/*) LINKFORSHARED="$extra_undefs -framework CoreFoundation" -@@ -2941,6 +2952,12 @@ LDFLAGS="-fsanitize=undefined $LDFLAGS" +@@ -2971,6 +2982,12 @@ LDFLAGS="-fsanitize=undefined $LDFLAGS" AC_CHECK_LIB(nsl, t_open, [LIBS="-lnsl $LIBS"]) # SVR4 AC_CHECK_LIB(socket, socket, [LIBS="-lsocket $LIBS"], [], $LIBS) # SVR4 sockets @@ -487,7 +487,7 @@ index 18a0446..fdb0de6 100644 AC_MSG_CHECKING(for --with-libs) AC_ARG_WITH(libs, AS_HELP_STRING([--with-libs='lib1 ...'], [link against additional libs]), -@@ -4317,6 +4334,7 @@ AC_CHECK_FUNC(__fpu_control, +@@ -4353,6 +4370,7 @@ AC_CHECK_FUNC(__fpu_control, AC_SUBST(LIBM) case $ac_sys_system in Darwin) ;; @@ -496,10 +496,10 @@ index 18a0446..fdb0de6 100644 esac AC_MSG_CHECKING(for --with-libm=STRING) diff --git a/setup.py b/setup.py -index 6340669..358da16 100644 +index 2d6b056..3da2ac8 100644 --- a/setup.py +++ b/setup.py -@@ -45,6 +45,7 @@ CYGWIN = (HOST_PLATFORM == 'cygwin') +@@ -46,6 +46,7 @@ CYGWIN = (HOST_PLATFORM == 'cygwin') MACOS = (HOST_PLATFORM == 'darwin') AIX = (HOST_PLATFORM.startswith('aix')) VXWORKS = ('vxworks' in HOST_PLATFORM) @@ -507,7 +507,7 @@ index 6340669..358da16 100644 SUMMARY = """ -@@ -692,6 +693,11 @@ class PyBuildExt(build_ext): +@@ -677,6 +678,11 @@ class PyBuildExt(build_ext): with open(config_h) as file: self.config_h_vars = sysconfig.parse_config_h(file) @@ -519,7 +519,7 @@ index 6340669..358da16 100644 # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb) if HOST_PLATFORM in ['osf1', 'unixware7', 'openunix8']: self.lib_dirs += ['/usr/ccs/lib'] -@@ -736,13 +742,13 @@ class PyBuildExt(build_ext): +@@ -721,13 +727,13 @@ class PyBuildExt(build_ext): self.add(Extension('math', ['mathmodule.c'], extra_objects=[shared_math], depends=['_math.h', shared_math], @@ -535,7 +535,7 @@ index 6340669..358da16 100644 # time libraries: librt may be needed for clock_gettime() time_libs = [] -@@ -756,7 +762,7 @@ class PyBuildExt(build_ext): +@@ -741,7 +747,7 @@ class PyBuildExt(build_ext): # libm is needed by delta_new() that uses round() and by accum() that # uses modf(). self.add(Extension('_datetime', ['_datetimemodule.c'], @@ -544,7 +544,7 @@ index 6340669..358da16 100644 # random number generator implemented in C self.add(Extension("_random", ["_randommodule.c"])) # bisect -@@ -844,7 +850,7 @@ class PyBuildExt(build_ext): +@@ -829,7 +835,7 @@ class PyBuildExt(build_ext): # # audioop needs libm for floor() in multiple functions. self.add(Extension('audioop', ['audioop.c'], @@ -553,16 +553,16 @@ index 6340669..358da16 100644 # CSV files self.add(Extension('_csv', ['_csv.c'])) -@@ -2037,7 +2043,7 @@ class PyBuildExt(build_ext): +@@ -1996,7 +2002,7 @@ class PyBuildExt(build_ext): # function my_sqrt() needs libm for sqrt() self.add(Extension('_ctypes_test', sources=['_ctypes/_ctypes_test.c'], - libraries=['m'])) + libraries=[])) - ffi_inc_dirs = self.inc_dirs.copy() - if MACOS: -@@ -2085,7 +2091,7 @@ class PyBuildExt(build_ext): + ffi_inc = sysconfig.get_config_var("LIBFFI_INCLUDEDIR") + ffi_lib = None +@@ -2061,7 +2067,7 @@ class PyBuildExt(build_ext): 'Modules', '_decimal', 'libmpdec'))] @@ -571,7 +571,7 @@ index 6340669..358da16 100644 sources = [ '_decimal/_decimal.c', '_decimal/libmpdec/basearith.c', -@@ -2274,7 +2280,7 @@ class PyBuildExt(build_ext): +@@ -2255,7 +2261,7 @@ class PyBuildExt(build_ext): depends=sha3_deps)) def detect_nis(self): @@ -581,20 +581,20 @@ index 6340669..358da16 100644 return -- -2.28.0 +2.30.2 -From 703ef01c9f29aeec34184a6bf6d24cb78019a957 Mon Sep 17 00:00:00 2001 +From 0a68291ae34410b332c7affde2a3dae6ac74465e 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 5c2c2f0..760deab 100644 +index d4d04a5..0454fc5 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py -@@ -1690,6 +1690,8 @@ class Popen(object): +@@ -1692,6 +1692,8 @@ class Popen(object): SubprocessError) if issubclass(child_exception_type, OSError) and hex_errno: errno_num = int(hex_errno, 16) @@ -604,7 +604,7 @@ index 5c2c2f0..760deab 100644 if child_exec_never_called: err_msg = "" diff --git a/Modules/_posixsubprocess.c b/Modules/_posixsubprocess.c -index e693e53..30ac104 100644 +index 05c051c..c7ea3ef 100644 --- a/Modules/_posixsubprocess.c +++ b/Modules/_posixsubprocess.c @@ -534,6 +534,10 @@ error: @@ -619,20 +619,20 @@ index e693e53..30ac104 100644 *--cur = Py_hexdigits[saved_errno % 16]; saved_errno /= 16; -- -2.28.0 +2.30.2 -From 12d2f2cf80c6c4361d122c24d4a99505d81234b8 Mon Sep 17 00:00:00 2001 +From 6b07a04e9cec2dc184208e80562e720c11a4a25e Mon Sep 17 00:00:00 2001 From: Philippe Houdoin Date: Wed, 24 May 2017 11:09:43 +0000 Subject: Implement CTypes's find_library for Haiku diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index 97973bc..b2e4095 100644 +index 0c2510e..2b4f04c 100644 --- a/Lib/ctypes/util.py +++ b/Lib/ctypes/util.py -@@ -252,6 +252,56 @@ elif os.name == "posix": +@@ -265,6 +265,56 @@ elif os.name == "posix": def find_library(name, is64 = False): return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name)) @@ -689,7 +689,7 @@ index 97973bc..b2e4095 100644 else: def _findSoname_ldconfig(name): -@@ -349,6 +399,12 @@ def test(): +@@ -367,6 +417,12 @@ def test(): print(f"crypt\t:: {cdll.LoadLibrary(find_library('crypt'))}") print(f"crypto\t:: {find_library('crypto')}") print(f"crypto\t:: {cdll.LoadLibrary(find_library('crypto'))}") @@ -703,17 +703,17 @@ index 97973bc..b2e4095 100644 print(cdll.LoadLibrary("libm.so")) print(cdll.LoadLibrary("libcrypt.so")) -- -2.28.0 +2.30.2 -From 09b8b9ffc5191a5d14d94fd3c4e9151b3e4419b0 Mon Sep 17 00:00:00 2001 +From 70ee258dec05734deeeed7a8ea4d369a2cf065e3 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 diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py -index cea9130..135c6b8 100755 +index 6023c1e..8359531 100755 --- a/Lib/webbrowser.py +++ b/Lib/webbrowser.py @@ -543,6 +543,11 @@ def register_standard_browsers(): @@ -729,20 +729,20 @@ index cea9130..135c6b8 100755 # Prefer X browsers if present if os.environ.get("DISPLAY") or os.environ.get("WAYLAND_DISPLAY"): -- -2.28.0 +2.30.2 -From 570484a1190831793cccf56a8bc20b2d4f8d26c4 Mon Sep 17 00:00:00 2001 +From db68381973fce91025f97cd8ed6ec5ce944a6e88 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 0cfaec8..0cc63e2 100644 +index b393ddd..9f6362f 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py -@@ -230,7 +230,7 @@ def _releaseLock(): +@@ -234,7 +234,7 @@ def _releaseLock(): # Prevent a held logging lock from blocking a child from logging. @@ -752,10 +752,10 @@ index 0cfaec8..0cc63e2 100644 pass # no-op when os.register_at_fork does not exist. else: -- -2.28.0 +2.30.2 -From 0fe492b679b34f2f9fb1ce66ed28f90df9aafb6d Mon Sep 17 00:00:00 2001 +From be76f6e3e50fa4da2da30c9fcc2b1960d8d5dacb 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() @@ -763,7 +763,7 @@ 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 7f1727a..df98f52 100644 +index 062ca45..ac29f71 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -3242,7 +3242,7 @@ sock_connect(PySocketSockObject *s, PyObject *addro) @@ -785,5 +785,5 @@ index 7f1727a..df98f52 100644 return PyLong_FromLong((long) res); -- -2.28.0 +2.30.2 diff --git a/dev-lang/python/patches/python3_x86-3.8.8.patchset b/dev-lang/python/patches/python3_x86-3.8.12.patchset similarity index 100% rename from dev-lang/python/patches/python3_x86-3.8.8.patchset rename to dev-lang/python/patches/python3_x86-3.8.12.patchset diff --git a/dev-lang/python/python38-3.8.8.recipe b/dev-lang/python/python38-3.8.12.recipe similarity index 97% rename from dev-lang/python/python38-3.8.8.recipe rename to dev-lang/python/python38-3.8.12.recipe index 5fd078755..8ab629a36 100644 --- a/dev-lang/python/python38-3.8.8.recipe +++ b/dev-lang/python/python38-3.8.12.recipe @@ -9,9 +9,9 @@ OSI-approved open source license." HOMEPAGE="https://www.python.org" LICENSE="Python" COPYRIGHT="1990-2020 Python Software Foundation" -REVISION="5" +REVISION="1" SOURCE_URI="https://www.python.org/ftp/python/$portVersion/Python-$portVersion.tar.xz" -CHECKSUM_SHA256="7c664249ff77e443d6ea0e4cf0e587eae918ca3c48d081d1915fe2a1f1bcc5cc" +CHECKSUM_SHA256="b1d3a76420375343b5e8a22fceb1ac65b77193e9ed27146524f0a9db058728ea" SOURCE_DIR="Python-$portVersion" PATCHES="python3-$portVersion.patchset" if [ "$secondaryArchSuffix" = _x86 ] ; then @@ -69,6 +69,7 @@ BUILD_REQUIRES=" " BUILD_PREREQUIRES=" haiku${secondaryArchSuffix}_devel + autoconf_archive cmd:aclocal cmd:autoconf cmd:find