From 6f0ac9d54cc8494cdb4a002c7a203622dfe656eb Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 26 May 2017 16:37:06 -0500 Subject: Add --configure-args/vars support to RPackage (#4289) * Add --configure-args/vars support to RPackage * Docstring formatting change --- var/spack/repos/builtin/packages/r-rmpi/package.py | 33 +++++++++++++--------- 1 file changed, 20 insertions(+), 13 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/r-rmpi/package.py b/var/spack/repos/builtin/packages/r-rmpi/package.py index 7b955545d8..4ef46791ec 100644 --- a/var/spack/repos/builtin/packages/r-rmpi/package.py +++ b/var/spack/repos/builtin/packages/r-rmpi/package.py @@ -38,18 +38,25 @@ class RRmpi(RPackage): depends_on('mpi') depends_on('r@2.15.1:') - def install(self, spec, prefix): - if 'mpich' in spec: - Rmpi_type = 'MPICH' - elif 'mvapich' in spec: - Rmpi_type = 'MVAPICH' - else: + # The following MPI types are not supported + conflicts('^intel-mpi') + conflicts('^intel-parallel-studio') + conflicts('^mvapich2') + conflicts('^spectrum-mpi') + + def configure_args(self, spec, prefix): + mpi_name = spec['mpi'].name + + # The type of MPI. Supported values are: + # OPENMPI, LAM, MPICH, MPICH2, or CRAY + if mpi_name == 'openmpi': Rmpi_type = 'OPENMPI' + elif mpi_name == 'mpich': + Rmpi_type = 'MPICH2' + else: + raise InstallError('Unsupported MPI type') - my_mpi = spec['mpi'] - - R('CMD', 'INSTALL', - '--configure-args=--with-Rmpi-type=%s' % Rmpi_type + - ' --with-mpi=%s' % my_mpi.prefix, - '--library={0}'.format(self.module.r_lib_dir), - self.stage.source_path) + return [ + '--with-Rmpi-type={0}'.format(Rmpi_type), + '--with-mpi={0}'.format(spec['mpi'].prefix), + ] -- cgit v1.2.3-70-g09d2