support python 3.13 bootstrapping from sources (#46983)

This commit is contained in:
Harmen Stoppels 2024-10-15 12:31:29 +02:00 committed by GitHub
parent b9873c5cea
commit e0efd2bea2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 14 deletions

View File

@ -1,12 +0,0 @@
diff --git a/libpyclingo/pyclingo.cc b/libpyclingo/pyclingo.cc
index ec4a33c6..ee903cd0 100644
--- a/libpyclingo/pyclingo.cc
+++ b/libpyclingo/pyclingo.cc
@@ -10463,7 +10463,6 @@ void addEmptyClass(Reference module, char const *name) {
PyObject *initclingo_() {
PY_TRY {
- if (!PyEval_ThreadsInitialized()) { PyEval_InitThreads(); }
#if PY_MAJOR_VERSION >= 3
Object m = PyModule_Create(&clingoModule);
#else

View File

@ -74,12 +74,20 @@ class Clingo(CMakePackage):
patch("size-t.patch", when="%msvc")
patch("vs2022.patch", when="%msvc@19.30:")
patch("clingo_msc_1938_native_handle.patch", when="@:5.7.0 %msvc@19.38:")
patch("PyEval_InitThreads.patch", when="@spack,5.3:5.4 ^python@3.9:")
def patch(self):
# In bootstrap/prototypes/*.json we don't want to have specs that work for any python
# version, so this conditional patch lives here instead of being its own directive.
if self.spec.satisfies("@spack,5.3:5.4 ^python@3.9:"):
filter_file(
"if (!PyEval_ThreadsInitialized()) { PyEval_InitThreads(); }",
"",
"libpyclingo/pyclingo.cc",
string=True,
)
# Doxygen is optional but can't be disabled with a -D, so patch
# it out if it's really supposed to be disabled
if "+docs" not in self.spec:
if self.spec.satisfies("~docs"):
filter_file(
r"find_package\(Doxygen\)",
'message("Doxygen disabled for Spack build.")',