I was able to build llvm 16 under Python 3.13 with the diff below.

Did I bump the correct subpackage?

ok?

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/llvm/16/Makefile,v
diff -u -p -u -r1.38 Makefile
--- Makefile    28 Dec 2024 22:29:24 -0000      1.38
+++ Makefile    25 Feb 2025 00:24:33 -0000
@@ -3,7 +3,7 @@ LLVM_VERSION =  ${LLVM_MAJOR}.0.6
 LLVM_PKGSPEC = >=16,<17
 
 REVISION-main =                32
-REVISION-lldb =                11
+REVISION-lldb =                12
 REVISION-python =      4
 
 SHARED_LIBS += LTO             0.0 \
Index: 
patches/patch-lldb_source_Plugins_ScriptInterpreter_Python_PythonDataObjects_cpp
===================================================================
RCS file: 
patches/patch-lldb_source_Plugins_ScriptInterpreter_Python_PythonDataObjects_cpp
diff -N 
patches/patch-lldb_source_Plugins_ScriptInterpreter_Python_PythonDataObjects_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 
patches/patch-lldb_source_Plugins_ScriptInterpreter_Python_PythonDataObjects_cpp
    25 Feb 2025 00:24:33 -0000
@@ -0,0 +1,19 @@
+Python 3.13 removed _Py_IsFinalizing.
+
+See: https://docs.python.org/3/whatsnew/3.13.html
+
+Index: lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
+--- lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp.orig
++++ lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
+@@ -72,8 +72,10 @@ Expected<std::string> python::As<std::string>(Expected
+ static bool python_is_finalizing() {
+ #if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION < 7
+   return _Py_Finalizing != nullptr;
+-#else
++#elif PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 12 
+   return _Py_IsFinalizing();
++#else
++  return Py_IsFinalizing();
+ #endif
+ }
+ 
Index: 
patches/patch-lldb_source_Plugins_ScriptInterpreter_Python_ScriptInterpreterPython_cpp
===================================================================
RCS file: 
patches/patch-lldb_source_Plugins_ScriptInterpreter_Python_ScriptInterpreterPython_cpp
diff -N 
patches/patch-lldb_source_Plugins_ScriptInterpreter_Python_ScriptInterpreterPython_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 
patches/patch-lldb_source_Plugins_ScriptInterpreter_Python_ScriptInterpreterPython_cpp
      25 Feb 2025 00:24:33 -0000
@@ -0,0 +1,23 @@
+Python 3.13 removed PyEval_ThreadsInitialized, deprecated since Python 3.9.
+
+See: https://docs.python.org/3/whatsnew/3.13.html
+
+Index: lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+--- 
lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp.orig
++++ lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+@@ -177,6 +177,7 @@ struct InitializePythonRAII { (private)
+       return;
+ #endif
+ 
++#if (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 12)
+     if (PyEval_ThreadsInitialized()) {
+       Log *log = GetLog(LLDBLog::Script);
+ 
+@@ -186,6 +187,7 @@ struct InitializePythonRAII { (private)
+                 m_gil_state == PyGILState_UNLOCKED ? "un" : "");
+       return;
+     }
++#endif
+ 
+     // InitThreads acquires the GIL if it hasn't been called before.
+     PyEval_InitThreads();

Reply via email to