diff options
author | Harmen Stoppels <me@harmenstoppels.nl> | 2024-10-04 13:26:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-04 13:26:15 +0200 |
commit | f17e76e9d8d8252245eeefc7b85b6fa0433837b8 (patch) | |
tree | 6275e40492606f747b7d88c0ec57b4b2acc9de01 | |
parent | 905e7b9b4559691fb1fdde3340f33ef0214e60dc (diff) | |
download | spack-f17e76e9d8d8252245eeefc7b85b6fa0433837b8.tar.gz spack-f17e76e9d8d8252245eeefc7b85b6fa0433837b8.tar.bz2 spack-f17e76e9d8d8252245eeefc7b85b6fa0433837b8.tar.xz spack-f17e76e9d8d8252245eeefc7b85b6fa0433837b8.zip |
clingo: fix build with Python 3.13+ (#46775)
Python 3.9 deprecated `PyEval_InitThreads` and kept it as a no-op, and
Python 3.13 deleted the function.
The patch removes calls to it.
-rw-r--r-- | var/spack/repos/builtin/packages/clingo/PyEval_InitThreads.patch | 12 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/clingo/package.py | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/clingo/PyEval_InitThreads.patch b/var/spack/repos/builtin/packages/clingo/PyEval_InitThreads.patch new file mode 100644 index 0000000000..61e59d1984 --- /dev/null +++ b/var/spack/repos/builtin/packages/clingo/PyEval_InitThreads.patch @@ -0,0 +1,12 @@ +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 diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py index 10fdb23591..cd73ed647d 100644 --- a/var/spack/repos/builtin/packages/clingo/package.py +++ b/var/spack/repos/builtin/packages/clingo/package.py @@ -74,6 +74,7 @@ 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): # Doxygen is optional but can't be disabled with a -D, so patch |