1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# Copyright 2013-2022 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.package import *
class Votca(CMakePackage):
"""VOTCA is a software package which focuses on the analysis of molecular
dynamics data, the development of systematic coarse-graining techniques
as well as methods used for simulating microscopic charge (and exciton)
transport in disordered semiconductors.
"""
homepage = "https://www.votca.org"
url = "https://github.com/votca/votca/tarball/v2022-rc.1"
git = "https://github.com/votca/votca.git"
maintainers = ['junghans']
version('master', branch='master')
version('stable', branch='stable')
version('2022', sha256='7991137098ff4511f4ca2c6f1b6c45f53d92d9f84e5c0d0e32fbc31768f73a83')
variant('mkl', default=False, description='Build with MKL support')
variant('new-gmx', default=False, description='Build against gromacs>2019 - no tabulated kernels')
variant('xtp', default=True, description='Build xtp parts of votca')
conflicts('votca-tools')
conflicts('votca-csg')
conflicts('votca-xtp')
depends_on("cmake@3.13:", type='build')
depends_on("expat")
depends_on("fftw-api@3")
depends_on("eigen@3.3:")
depends_on("boost")
depends_on('mkl', when='+mkl')
depends_on("hdf5+cxx~mpi")
depends_on("gromacs~mpi@5.1:")
depends_on("gromacs~mpi@5.1:2019", when="~new-gmx")
with when('+xtp'):
depends_on("libxc")
depends_on("libint@2.6.0:")
depends_on("libecpint")
depends_on("py-h5py")
depends_on("py-lxml")
depends_on('lammps', type='test')
depends_on('py-espresso', type='test')
depends_on('py-pytest', type='test')
def cmake_args(self):
args = [
'-DINSTALL_RC_FILES=OFF',
self.define_from_variant('BUILD_XTP', 'xtp'),
'-DBUILD_CSGAPPS=ON',
]
if '~mkl' in self.spec:
args.append('-DCMAKE_DISABLE_FIND_PACKAGE_MKL=ON')
if self.run_tests:
args.append('-DENABLE_TESTING=ON')
args.append('-DENABLE_REGRESSION_TESTING=ON')
return args
|