clingo: fix build with Python 3.12 (#40154)
This commit is contained in:
parent
30d29d0201
commit
0fd2427d9b
@ -42,6 +42,7 @@ class Clingo(CMakePackage):
|
|||||||
# See https://github.com/potassco/clingo/blob/v5.5.2/INSTALL.md
|
# See https://github.com/potassco/clingo/blob/v5.5.2/INSTALL.md
|
||||||
depends_on("cmake@3.1:", type="build")
|
depends_on("cmake@3.1:", type="build")
|
||||||
depends_on("cmake@3.18:", type="build", when="@5.5:")
|
depends_on("cmake@3.18:", type="build", when="@5.5:")
|
||||||
|
depends_on("py-setuptools", when="@5.6.2:", type="build")
|
||||||
|
|
||||||
depends_on("doxygen", type="build", when="+docs")
|
depends_on("doxygen", type="build", when="+docs")
|
||||||
|
|
||||||
@ -68,6 +69,12 @@ class Clingo(CMakePackage):
|
|||||||
patch("size-t.patch", when="%msvc")
|
patch("size-t.patch", when="%msvc")
|
||||||
patch("vs2022.patch", when="%msvc@19.30:")
|
patch("vs2022.patch", when="%msvc@19.30:")
|
||||||
|
|
||||||
|
# TODO: Simplify this after Spack 0.21 release. The old concretizer has problems with
|
||||||
|
# py-setuptools ^python@3.6, so we only apply the distutils -> setuptools patch for Python 3.12
|
||||||
|
with when("@:5.6.1 ^python@3.12:"):
|
||||||
|
patch("setuptools.patch")
|
||||||
|
depends_on("py-setuptools", type="build")
|
||||||
|
|
||||||
def patch(self):
|
def patch(self):
|
||||||
# Doxygen is optional but can't be disabled with a -D, so patch
|
# Doxygen is optional but can't be disabled with a -D, so patch
|
||||||
# it out if it's really supposed to be disabled
|
# it out if it's really supposed to be disabled
|
||||||
|
14
var/spack/repos/builtin/packages/clingo/setuptools.patch
Normal file
14
var/spack/repos/builtin/packages/clingo/setuptools.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
diff --git a/cmake/python-site.py b/cmake/python-site.py
|
||||||
|
index 1e7fc8ce..95ef827f 100644
|
||||||
|
--- a/cmake/python-site.py
|
||||||
|
+++ b/cmake/python-site.py
|
||||||
|
@@ -1,4 +1,7 @@
|
||||||
|
-from distutils.sysconfig import get_python_lib, get_config_vars
|
||||||
|
+try:
|
||||||
|
+ from setuptools.sysconfig import get_python_lib, get_config_vars
|
||||||
|
+except ImportError:
|
||||||
|
+ from distutils.sysconfig import get_python_lib, get_config_vars
|
||||||
|
import sys
|
||||||
|
if sys.argv[1] == "prefix":
|
||||||
|
print(get_python_lib(True, False, sys.argv[2] if len(sys.argv) > 2 else None))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user