xyce: switch to Trilinos 13.2.0 and add dependencies for +pymi (#29331)

* xyce: switch to Trilinos 13.2.0 and add dependencies for +pymi

* xyce: clean up Trilinos dependency logic
This commit is contained in:
Paul Kuberry 2022-03-21 07:26:41 -06:00 committed by GitHub
parent 12ed453707
commit 558e99ecca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -52,12 +52,17 @@ class Xyce(CMakePackage):
variant('pymi', default=False, description='Enable Python Model Interpreter for Xyce')
depends_on('python@3:', type=('build', 'link', 'run'), when='+pymi')
depends_on('py-numba@0.48.0:', type=('build', 'link', 'run'), when='+pymi')
depends_on('py-pycompadre+trilinos', type=('build', 'link', 'run'), when='+pymi')
depends_on('py-pip', type='run', when='+pymi')
depends_on('py-pybind11@2.6.1:', when='+pymi')
depends_on('py-pybind11@2.6.1:', type=('build', 'link'), when='+pymi')
# Xyce is built against an older version of Trilinos unlikely to be
# used for any other purpose.
depends_on('trilinos@12.12.1 +amesos+amesos2+anasazi+aztec+basker+belos+complex+epetra+epetraext+explicit_template_instantiation+fortran+hdf5+ifpack+isorropia+kokkos+nox+sacado+suite-sparse+trilinoscouplings+zoltan+stokhos+epetraextbtf+epetraextexperimental+epetraextgraphreorderings gotype=all')
depends_on('trilinos +amesos+amesos2+anasazi+aztec+basker+belos+complex+epetra+epetraext+explicit_template_instantiation+fortran+hdf5+ifpack+isorropia+kokkos+nox+sacado+suite-sparse+trilinoscouplings+zoltan+stokhos+epetraextbtf+epetraextexperimental+epetraextgraphreorderings')
# tested versions of Trilinos for everything up to 7.4.0
depends_on('trilinos@12.12.1:13.2.0', when='@:7.4.0')
depends_on('trilinos gotype=all cxxstd=11', when='^trilinos@:12.15')
# pymi requires Kokkos/KokkosKernels >= 3.3, Trilinos 13.2 onward
depends_on('trilinos@13.2.0:', when='+pymi')
# Propagate variants to trilinos:
for _variant in ('mpi',):
@ -68,10 +73,6 @@ class Xyce(CMakePackage):
# installation of many more packages than are needed for Xyce.
depends_on('trilinos~float~ifpack2~ml~muelu~zoltan2')
# ensures trilinos built with same cxxstd as Xyce (which Xyce was tested against)
for cxxstd_ in cxxstd_choices:
depends_on('trilinos cxxstd={0}'.format(cxxstd_), when='cxxstd={0}'.format(cxxstd_))
def cmake_args(self):
spec = self.spec