Add new package: wcs (#16958)

* Adding a package for wcs.

* Turning on sbml for wcs.

* The cpp flag needs to be available for wcs.

* Wcs needs SBML to properly define the namespace.

* Flake8 fixes.

* Fixing the help string with the description.

* Changing cpp to use the new variant syntax.

* Fixing flake8 errors.

* Forgot to delete one last fixme comment.

* Spack "develop" needs to link to repo "devel"

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Robert Blake <rob.c.blake.3@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
This commit is contained in:
Robert Blake 2020-06-09 14:13:54 -07:00 committed by GitHub
parent 806a19c6b6
commit 872ab21103
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 37 additions and 1 deletions

View File

@ -59,6 +59,9 @@ def url_for_version(self, version):
description='Build with mono support')
depends_on('mono', when="+mono")
variant('cpp', default=False,
description="All c++ includes should be under a namespace")
depends_on('swig@2:', type='build')
depends_on('cmake', type='build')
depends_on('zlib')
@ -76,7 +79,6 @@ def cmake_args(self):
"-DENABLE_RENDER:BOOL=ON",
"-DWITH_BZIP2:BOOL=ON",
"-DWITH_CHECK:BOOL=OFF",
"-DWITH_CPP_NAMESPACE:BOOL=OFF",
"-DWITH_DOXYGEN:BOOL=OFF",
"-DWITH_EXAMPLES:BOOL=OFF",
"-DWITH_EXPAT:BOOL=OFF",
@ -86,6 +88,7 @@ def cmake_args(self):
"-DWITH_XERCES:BOOL=OFF",
"-DWITH_ZLIB:BOOL=ON",
]
args.append(self.define_from_variant('WITH_CPP_NAMESPACE', 'cpp'))
if '+python' in spec:
args.extend([
"-DWITH_PYTHON:BOOL=ON",

View File

@ -0,0 +1,33 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Wcs(CMakePackage):
"""Simulates whole cell models using discrete event simulation."""
homepage = "https://github.com/LLNL/wcs.git"
git = "https://github.com/LLNL/wcs.git"
maintainers = ['rblake-llnl']
version('master', branch='master')
version('develop', branch='devel')
depends_on('boost+graph+filesystem+regex+system')
depends_on('sbml@5.18.0:+cpp')
depends_on('cmake@3.12:', type='build')
depends_on('cereal', type='build')
def cmake_args(self):
spec = self.spec
args = [
"-DBOOST_ROOT:PATH=" + spec['boost'].prefix,
"-DCEREAL_ROOT:PATH=" + spec['cereal'].prefix,
"-DSBML_ROOT:PATH=" + spec['sbml'].prefix,
"-DWCS_WITH_SBML:BOOL=ON",
"-DWCS_WITH_EXPRTK:BOOL=ON",
]
return args