diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/clingo/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/clingo/package.py | 98 |
1 files changed, 50 insertions, 48 deletions
diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py index abe7a32edf..27dd3473e5 100644 --- a/var/spack/repos/builtin/packages/clingo/package.py +++ b/var/spack/repos/builtin/packages/clingo/package.py @@ -10,95 +10,97 @@ from spack.package import * class Clingo(CMakePackage): """Clingo: A grounder and solver for logic programs - Clingo is part of the Potassco project for Answer Set - Programming (ASP). ASP offers a simple and powerful modeling - language to describe combinatorial problems as logic - programs. The clingo system then takes such a logic program and - computes answer sets representing solutions to the given - problem.""" + Clingo is part of the Potassco project for Answer Set + Programming (ASP). ASP offers a simple and powerful modeling + language to describe combinatorial problems as logic + programs. The clingo system then takes such a logic program and + computes answer sets representing solutions to the given + problem.""" homepage = "https://potassco.org/clingo/" - url = "https://github.com/potassco/clingo/archive/v5.2.2.tar.gz" - git = 'https://github.com/potassco/clingo.git' + url = "https://github.com/potassco/clingo/archive/v5.2.2.tar.gz" + git = "https://github.com/potassco/clingo.git" maintainers = ["tgamblin", "alalazo"] - version('master', branch='master', submodules=True) - version('spack', commit='2a025667090d71b2c9dce60fe924feb6bde8f667', submodules=True) + version("master", branch="master", submodules=True) + version("spack", commit="2a025667090d71b2c9dce60fe924feb6bde8f667", submodules=True) - version('5.5.2', sha256='a2a0a590485e26dce18860ac002576232d70accc5bfcb11c0c22e66beb23baa6') - version('5.5.1', sha256='b9cf2ba2001f8241b8b1d369b6f353e628582e2a00f13566e51c03c4dd61f67e') - version('5.5.0', sha256='c9d7004a0caec61b636ad1c1960fbf339ef8fdee9719321fc1b6b210613a8499') - version('5.4.1', sha256='ac6606388abfe2482167ce8fd4eb0737ef6abeeb35a9d3ac3016c6f715bfee02') - version('5.4.0', sha256='e2de331ee0a6d254193aab5995338a621372517adcf91568092be8ac511c18f3') - version('5.3.0', sha256='b0d406d2809352caef7fccf69e8864d55e81ee84f4888b0744894977f703f976') - version('5.2.2', sha256='da1ef8142e75c5a6f23c9403b90d4f40b9f862969ba71e2aaee9a257d058bfcf') + version("5.5.2", sha256="a2a0a590485e26dce18860ac002576232d70accc5bfcb11c0c22e66beb23baa6") + version("5.5.1", sha256="b9cf2ba2001f8241b8b1d369b6f353e628582e2a00f13566e51c03c4dd61f67e") + version("5.5.0", sha256="c9d7004a0caec61b636ad1c1960fbf339ef8fdee9719321fc1b6b210613a8499") + version("5.4.1", sha256="ac6606388abfe2482167ce8fd4eb0737ef6abeeb35a9d3ac3016c6f715bfee02") + version("5.4.0", sha256="e2de331ee0a6d254193aab5995338a621372517adcf91568092be8ac511c18f3") + version("5.3.0", sha256="b0d406d2809352caef7fccf69e8864d55e81ee84f4888b0744894977f703f976") + version("5.2.2", sha256="da1ef8142e75c5a6f23c9403b90d4f40b9f862969ba71e2aaee9a257d058bfcf") variant("docs", default=False, description="build documentation with Doxygen") variant("python", default=True, description="build with python bindings") # See https://github.com/potassco/clingo/blob/v5.5.2/INSTALL.md - depends_on('cmake@3.1:', type='build') - depends_on('cmake@3.18:', type='build', when='@5.5:') + depends_on("cmake@3.1:", type="build") + depends_on("cmake@3.18:", type="build", when="@5.5:") - depends_on('doxygen', type="build", when="+docs") + depends_on("doxygen", type="build", when="+docs") - with when('@spack,master'): - depends_on('re2c@0.13:', type="build") - depends_on('bison@2.5:', type="build") + with when("@spack,master"): + depends_on("re2c@0.13:", type="build") + depends_on("bison@2.5:", type="build") - with when('+python'): - extends('python') - depends_on('python', type=("build", "link", "run")) + with when("+python"): + extends("python") + depends_on("python", type=("build", "link", "run")) # Clingo 5.5.0 supports Python 3.6 or later and needs CFFI - depends_on('python@3.6.0:', type=('build', 'link', 'run'), when='@5.5.0:') - depends_on('py-cffi', type=('build', 'run'), when='@5.5.0:') + depends_on("python@3.6.0:", type=("build", "link", "run"), when="@5.5.0:") + depends_on("py-cffi", type=("build", "run"), when="@5.5.0:") - patch('python38.patch', when="@5.3:5.4.0") + patch("python38.patch", when="@5.3:5.4.0") def patch(self): # 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: - filter_file(r'find_package\(Doxygen\)', - 'message("Doxygen disabled for Spack build.")', - 'clasp/CMakeLists.txt', - 'clasp/libpotassco/CMakeLists.txt') + if "+docs" not in self.spec: + filter_file( + r"find_package\(Doxygen\)", + 'message("Doxygen disabled for Spack build.")', + "clasp/CMakeLists.txt", + "clasp/libpotassco/CMakeLists.txt", + ) @property def cmake_python_hints(self): """Return standard CMake defines to ensure that the current spec is the one found by CMake find_package(Python, ...) """ - python = self.spec['python'] + python = self.spec["python"] return [ - self.define('Python_EXECUTABLE', str(python.command)), - self.define('Python_INCLUDE_DIR', python.package.config_vars['include']) + self.define("Python_EXECUTABLE", str(python.command)), + self.define("Python_INCLUDE_DIR", python.package.config_vars["include"]), ] @property def cmake_py_shared(self): - return self.define('CLINGO_BUILD_PY_SHARED', 'ON') + return self.define("CLINGO_BUILD_PY_SHARED", "ON") def cmake_args(self): try: self.compiler.cxx14_flag except UnsupportedCompilerFlag: - InstallError('clingo requires a C++14-compliant C++ compiler') + InstallError("clingo requires a C++14-compliant C++ compiler") - args = ['-DCLINGO_BUILD_WITH_LUA=OFF'] + args = ["-DCLINGO_BUILD_WITH_LUA=OFF"] - if '+python' in self.spec: + if "+python" in self.spec: args += [ - '-DCLINGO_REQUIRE_PYTHON=ON', - '-DCLINGO_BUILD_WITH_PYTHON=ON', - '-DPYCLINGO_USER_INSTALL=OFF', - '-DPYCLINGO_USE_INSTALL_PREFIX=ON', - self.cmake_py_shared + "-DCLINGO_REQUIRE_PYTHON=ON", + "-DCLINGO_BUILD_WITH_PYTHON=ON", + "-DPYCLINGO_USER_INSTALL=OFF", + "-DPYCLINGO_USE_INSTALL_PREFIX=ON", + self.cmake_py_shared, ] - if self.spec['cmake'].satisfies('@3.16.0:'): + if self.spec["cmake"].satisfies("@3.16.0:"): args += self.cmake_python_hints else: - args += ['-DCLINGO_BUILD_WITH_PYTHON=OFF'] + args += ["-DCLINGO_BUILD_WITH_PYTHON=OFF"] return args |