diff --git a/dev-lang/python/patches/python3-3.7.14.patchset b/dev-lang/python/patches/python3-3.7.14.patchset index 21a3a29a9..519e0eb62 100644 --- a/dev-lang/python/patches/python3-3.7.14.patchset +++ b/dev-lang/python/patches/python3-3.7.14.patchset @@ -1,4 +1,4 @@ -From 5c4b11a81a6defd12a01f2123e4fcb783d28c2fe Mon Sep 17 00:00:00 2001 +From 81ff2eec69f0338cc9edd62c1662f15ba380fe41 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Thu, 10 Apr 2014 16:03:33 +0000 Subject: initial Haiku patch @@ -215,7 +215,7 @@ index 1cd9e56..893cf1f 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 35ca1a8..d316694 100644 +index ef2bfb1..f73ab1f 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -143,7 +143,7 @@ BINDIR= @bindir@ @@ -419,10 +419,10 @@ index 4363c0c..40994b0 100755 def main(): global filedict diff --git a/configure.ac b/configure.ac -index f1cc8e9..b0cca04 100644 +index edd2051..dc3c9ae 100644 --- a/configure.ac +++ b/configure.ac -@@ -1151,6 +1151,16 @@ if test $enable_shared = "yes"; then +@@ -1153,6 +1153,16 @@ if test $enable_shared = "yes"; then PY3LIBRARY=libpython3.so fi ;; @@ -439,7 +439,7 @@ index f1cc8e9..b0cca04 100644 hp*|HP*) case `uname -m` in ia64) -@@ -1226,6 +1236,7 @@ AC_PROG_MKDIR_P +@@ -1228,6 +1238,7 @@ AC_PROG_MKDIR_P AC_SUBST(LN) if test -z "$LN" ; then case $ac_sys_system in @@ -447,7 +447,7 @@ index f1cc8e9..b0cca04 100644 CYGWIN*) LN="ln -s";; *) LN=ln;; esac -@@ -2614,7 +2625,7 @@ then +@@ -2616,7 +2627,7 @@ then BLDSHARED="$LDSHARED" fi ;; @@ -456,7 +456,7 @@ index f1cc8e9..b0cca04 100644 LDSHARED='$(CC) -shared' LDCXXSHARED='$(CXX) -shared';; FreeBSD*) -@@ -2681,7 +2692,7 @@ then +@@ -2683,7 +2694,7 @@ then else CCSHARED="+z"; fi;; Linux-android*) ;; @@ -465,7 +465,7 @@ index f1cc8e9..b0cca04 100644 FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) CCSHARED="-fPIC";; OpenUNIX*|UnixWare*) if test "$GCC" = "yes" -@@ -2707,7 +2718,7 @@ then +@@ -2709,7 +2720,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 f1cc8e9..b0cca04 100644 # -u libsys_s pulls in all symbols in libsys Darwin/*) LINKFORSHARED="$extra_undefs -framework CoreFoundation" -@@ -2952,6 +2963,12 @@ LDFLAGS="-fsanitize=undefined $LDFLAGS" +@@ -2954,6 +2965,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 f1cc8e9..b0cca04 100644 AC_MSG_CHECKING(for --with-libs) AC_ARG_WITH(libs, AS_HELP_STRING([--with-libs='lib1 ...'], [link against additional libs]), -@@ -4314,6 +4331,7 @@ AC_CHECK_FUNC(__fpu_control, +@@ -4316,6 +4333,7 @@ AC_CHECK_FUNC(__fpu_control, AC_SUBST(LIBM) case $ac_sys_system in Darwin) ;; @@ -572,10 +572,10 @@ index bf90600..397acca 100644 libs = [] -- -2.28.0 +2.37.3 -From 3b0375cba65c406f43a1669837c737920b233d73 Mon Sep 17 00:00:00 2001 +From a4f568304810ac91cef6201f9849ec43ed84f510 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Sun, 16 Apr 2017 10:05:42 +0200 Subject: fix for negative errnos @@ -610,20 +610,20 @@ index 3cf0683..adf3608 100644 *--cur = Py_hexdigits[saved_errno % 16]; saved_errno /= 16; -- -2.28.0 +2.37.3 -From a261fb454a9c843fea23936d23eca4e4e95ff694 Mon Sep 17 00:00:00 2001 +From 841d1e34987d273a3f08e786449153ccaaab87de 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)) @@ -680,7 +680,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'))}") @@ -694,10 +694,10 @@ index 97973bc..b2e4095 100644 print(cdll.LoadLibrary("libm.so")) print(cdll.LoadLibrary("libcrypt.so")) -- -2.28.0 +2.37.3 -From ff662b9d4cb680ec9f960565d6d6ccb446433b5b Mon Sep 17 00:00:00 2001 +From edf4baf89b8f25f3b74ed5d52ac0fdf62b32f9cc 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 @@ -720,10 +720,10 @@ index b04ec7b..c59cdee 100755 # Prefer X browsers if present if os.environ.get("DISPLAY") or os.environ.get("WAYLAND_DISPLAY"): -- -2.28.0 +2.37.3 -From 79a8f791905b604c31b52a8e005dacec09529228 Mon Sep 17 00:00:00 2001 +From 0ecdde0fd8915fad5a55b3765bc54a8ddc92ab43 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Sat, 30 Nov 2019 23:26:57 +0100 Subject: don't reinit locks on fork. @@ -743,10 +743,10 @@ index b596f80..431f750 100644 pass # no-op when os.register_at_fork does not exist. else: -- -2.28.0 +2.37.3 -From 8c7414695d2ff888f56b3027425476acdf0ec68f Mon Sep 17 00:00:00 2001 +From 48c2782e9f65a281472a3b2722a26c6059301dd0 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() @@ -776,20 +776,20 @@ index 3173b3b..88b66ed 100644 return PyLong_FromLong((long) res); -- -2.28.0 +2.37.3 -From 719b6b5d78c02d7eb025ec52d1e71d08c596cce5 Mon Sep 17 00:00:00 2001 +From f2e4edc4fa209f8d2cdebf97056379ee62b727d8 Mon Sep 17 00:00:00 2001 From: begasus Date: Mon, 23 May 2022 14:53:35 +0200 Subject: Fix search paths for tcl/tk diff --git a/configure.ac b/configure.ac -index b0cca04..6b708fb 100644 +index dc3c9ae..e331924 100644 --- a/configure.ac +++ b/configure.ac -@@ -3077,8 +3077,13 @@ then +@@ -3079,8 +3079,13 @@ then then AC_MSG_ERROR([use both --with-tcltk-includes='...' and --with-tcltk-libs='...' or neither]) fi @@ -806,5 +806,65 @@ index b0cca04..6b708fb 100644 TCLTK_INCLUDES="$with_tcltk_includes" TCLTK_LIBS="$with_tcltk_libs" -- -2.36.1 +2.37.3 + + +From a73ff1680867da8938b1edf5b1e8b6120fc6a3c7 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Tue, 7 Mar 2023 17:59:04 +0100 +Subject: sysconfig: add haiku schemes + + +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index d15cec8..8a12ac0 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -79,7 +79,33 @@ _INSTALL_SCHEMES = { + 'scripts': '{userbase}/bin', + 'data': '{userbase}', + }, +- } ++ 'haiku': { ++ 'stdlib': '{installed_base}/lib/python{py_version_short}', ++ 'platstdlib': '{platbase}/lib/python{py_version_short}', ++ 'purelib': '{base}/non-packaged/lib/python{py_version_short}/site-packages', ++ 'platlib': '{platbase}/non-packaged/lib/python{py_version_short}/site-packages', ++ 'include': '{base}/non-packaged/develop/headers/python{py_version_short}', ++ 'scripts': '{base}/non-packaged/bin', ++ 'data' : '{base}/non-packaged', ++ }, ++ 'haiku_vendor': { ++ 'stdlib': '{installed_base}/lib/python{py_version_short}', ++ 'platstdlib': '{platbase}/lib/python{py_version_short}', ++ 'purelib': '{base}/lib/python{py_version_short}/vendor-packages', ++ 'platlib': '{platbase}/lib/python{py_version_short}/vendor-packages', ++ 'include': '{base}/develop/headers/python{py_version_short}', ++ 'scripts': '{base}/bin', ++ 'data' : '{base}', ++ }, ++ 'haiku_home': { ++ 'stdlib': '{userbase}/lib/python{py_version_short}', ++ 'platstdlib': '{platbase}/lib/python{py_version_short}', ++ 'purelib': '{userbase}/lib/python', ++ 'platlib': '{userbase}/lib/python', ++ 'include': '{userbase}/develop/headers/python/$dist_name', ++ 'scripts': '{userbase}/bin', ++ 'data' : '{userbase}', ++ }, } + + _SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', + 'scripts', 'data') +@@ -179,6 +205,10 @@ def _expand_vars(scheme, vars): + + + def _get_default_scheme(): ++ if sys.platform.startswith('haiku'): ++ if os.environ.get('HAIKU_USE_VENDOR_DIRECTORIES') == '1': ++ return 'haiku_vendor' ++ return 'haiku' + if os.name == 'posix': + # the default scheme for posix is posix_prefix + return 'posix_prefix' +-- +2.37.3 diff --git a/dev-lang/python/python3.7-3.7.14.recipe b/dev-lang/python/python3.7-3.7.14.recipe index d74dca76c..3d229f3d0 100644 --- a/dev-lang/python/python3.7-3.7.14.recipe +++ b/dev-lang/python/python3.7-3.7.14.recipe @@ -9,7 +9,7 @@ OSI-approved open source license." HOMEPAGE="https://www.python.org" LICENSE="Python" COPYRIGHT="1990-2022 Python Software Foundation" -REVISION="1" +REVISION="2" SOURCE_URI="https://www.python.org/ftp/python/$portVersion/Python-$portVersion.tar.xz" CHECKSUM_SHA256="4157ae31eb81af19e81c36882610491b0fb8f50e00fa8a17b095c88908b9c45c" SOURCE_DIR="Python-$portVersion" @@ -32,7 +32,7 @@ if [ "$targetArchitecture" = x86_gcc2 ]; then fi PROVIDES=" - python3$secondaryArchSuffix = $portVersion compat >= 3.7 + python3.7$secondaryArchSuffix = $portVersion compat >= 3.7 cmd:2to3_3.7 = $portVersion compat >= 3.7 cmd:idle3 = $portVersion compat >= 3.7 cmd:idle3.7 = $portVersion compat >= 3.7