clingo: fix build with Python 3.12 (#40154)
This commit is contained in:
		| @@ -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)) | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user
	 Harmen Stoppels
					Harmen Stoppels