summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2020-05-12 00:41:31 -0700
committerGitHub <noreply@github.com>2020-05-12 09:41:31 +0200
commit269bcfe1c8fa404dc5cb0ab3c94459edc16fd72a (patch)
treeba5d49df6ca3c94302241eac9113928667c644ca /var
parenta59b92d3035401f061f1740a9ea88b7d5a1978d6 (diff)
downloadspack-269bcfe1c8fa404dc5cb0ab3c94459edc16fd72a.tar.gz
spack-269bcfe1c8fa404dc5cb0ab3c94459edc16fd72a.tar.bz2
spack-269bcfe1c8fa404dc5cb0ab3c94459edc16fd72a.tar.xz
spack-269bcfe1c8fa404dc5cb0ab3c94459edc16fd72a.zip
clingo: update package (#16594)
`clingo` has some undocumented dependencies: - `bison`, for which the default macos version is too old - `re2c`, which isn't always available Also, the python installation was not set up properly. Clingo by default does an install in `~/.local`, so we need to disable that and add a few other options to get things right. - [x] add `bison` dependency - [x] add `re2c` dependency - [x] make `doxygen` dependency optional (and patch if needed) - [x] add options to fix `python` build - [x] make python build optional but on by default
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/clingo/package.py36
1 files changed, 29 insertions, 7 deletions
diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py
index 8f1b64af60..d839ff3f33 100644
--- a/var/spack/repos/builtin/packages/clingo/package.py
+++ b/var/spack/repos/builtin/packages/clingo/package.py
@@ -18,13 +18,32 @@ class Clingo(CMakePackage):
homepage = "https://potassco.org/clingo/"
url = "https://github.com/potassco/clingo/archive/v5.2.2.tar.gz"
+ git = 'https://github.com/potassco/clingo.git'
+ maintainers = ["tgamblin"]
+
+ version('develop', branch='wip', submodules=True)
version('5.4.0', sha256='e2de331ee0a6d254193aab5995338a621372517adcf91568092be8ac511c18f3')
version('5.3.0', sha256='b0d406d2809352caef7fccf69e8864d55e81ee84f4888b0744894977f703f976')
version('5.2.2', sha256='da1ef8142e75c5a6f23c9403b90d4f40b9f862969ba71e2aaee9a257d058bfcf')
- depends_on('doxygen', type=('build'))
- depends_on('python')
+ variant("docs", default=False, description="build documentation with Doxyegen")
+ variant("python", default=True, description="build with python bindings")
+
+ depends_on('doxygen', type="build", when="+docs")
+ depends_on('re2c@0.13:', type="build")
+ depends_on('bison@2.5:', type="build")
+
+ depends_on('python', type=("build", "link", "run"), when="+python")
+
+ 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')
def cmake_args(self):
try:
@@ -32,8 +51,11 @@ class Clingo(CMakePackage):
except UnsupportedCompilerFlag:
InstallError('clingo requires a C++14-compliant C++ compiler')
- args = ['-DCLINGO_BUILD_WITH_PYTHON=ON',
- '-DCLING_BUILD_PY_SHARED=ON',
- '-DPYCLINGO_USE_INSTALL_PREFIX=ON',
- '-DCLINGO_BUILD_WITH_LUA=OFF']
- return args
+ return [
+ '-DCLINGO_REQUIRE_PYTHON=ON',
+ '-DCLINGO_BUILD_WITH_PYTHON=ON',
+ '-DCLINGO_BUILD_PY_SHARED=ON',
+ '-DPYCLINGO_USER_INSTALL=OFF',
+ '-DPYCLINGO_USE_INSTALL_PREFIX=ON',
+ '-DCLINGO_BUILD_WITH_LUA=OFF'
+ ]