summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAndrew Williams <williamsa89@cardiff.ac.uk>2016-08-17 15:43:59 +0100
committerAndrew Williams <williamsa89@cardiff.ac.uk>2016-08-17 15:43:59 +0100
commitb99e945e6da8f3e38090fe8e30f21bf105449240 (patch)
tree286d4a1327c2a6580df5961bc79c0bc2a394fe91 /var
parent27793d97dc18d235d4548d3f58176b60c70a2e40 (diff)
downloadspack-b99e945e6da8f3e38090fe8e30f21bf105449240.tar.gz
spack-b99e945e6da8f3e38090fe8e30f21bf105449240.tar.bz2
spack-b99e945e6da8f3e38090fe8e30f21bf105449240.tar.xz
spack-b99e945e6da8f3e38090fe8e30f21bf105449240.zip
Added variants and dependencies to plumed but I'm getting an error when trying to resolve mpi to a valid virtual package
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/intelmpi/package.py31
-rw-r--r--var/spack/repos/builtin/packages/plumed/package.py61
2 files changed, 72 insertions, 20 deletions
diff --git a/var/spack/repos/builtin/packages/intelmpi/package.py b/var/spack/repos/builtin/packages/intelmpi/package.py
index 7fec2a5832..6750ee695a 100644
--- a/var/spack/repos/builtin/packages/intelmpi/package.py
+++ b/var/spack/repos/builtin/packages/intelmpi/package.py
@@ -1,3 +1,27 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License (as
+# published by the Free Software Foundation) version 2.1, February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
from spack import *
class Intelmpi(Package):
@@ -17,6 +41,13 @@ class Intelmpi(Package):
spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpif77'))
spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpif90'))
+ def setup_dependent_package(self, module, dep_spec):
+ self.spec.mpicc = join_path(self.prefix.bin, 'mpicc')
+ self.spec.mpicxx = join_path(self.prefix.bin, 'mpic++')
+ self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
+ self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
+ self.spec.cppflags = '-DMPICH_IGNORE_CXX_SEEK'
+
# def install(self, spec, prefix):
# configure("--prefix=%s" % prefix)
# make()
diff --git a/var/spack/repos/builtin/packages/plumed/package.py b/var/spack/repos/builtin/packages/plumed/package.py
index 58b3ba17c4..023de82b9b 100644
--- a/var/spack/repos/builtin/packages/plumed/package.py
+++ b/var/spack/repos/builtin/packages/plumed/package.py
@@ -22,21 +22,6 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
-#
-# This is a template package file for Spack. We've put "FIXME"
-# next to all the things you'll want to change. Once you've handled
-# them, you can save this file and test your package like this:
-#
-# spack install plumed
-#
-# You can edit this file again by typing:
-#
-# spack edit plumed
-#
-# See the Spack documentation for more information on packaging.
-# If you submit this package back to Spack as a pull request,
-# please first remove this boilerplate and all FIXME comments.
-#
from spack import *
@@ -51,11 +36,47 @@ class Plumed(Package):
version('2.2.3', git="https://github.com/plumed/plumed2.git", tag='v2.2.3')
- # FIXME: Add additional dependencies if required.
- depends_on('mpi')
+ # Variants
+ variant('crystallization', default=False,
+ description='Build support for optional crystallization module.')
+ variant('imd', default=False,
+ description='Build support for optional imd module.')
+ variant('manyrestraints', default=False,
+ description='Build support for optional manyrestraints module.')
+ variant('mpi', default=False,
+ description='Enable MPI support.')
+
+ # Dependencies
+ depends_on("mpi", when="+mpi")
+ depends_on("netlib-lapack")
+ depends_on("openblas")
def install(self, spec, prefix):
- configure("--prefix=" + prefix,
- "--enable-mpi",
- "-enable-modules=crystallization")
+ configure("--prefix=" + prefix)
+# "--enable-mpi",
+# "-enable-modules=crystallization")
+
+ # Construct list of optional modules
+ module_opts=[]
+ module_opts.extend([
+ '+crystallization' if '+crystallization' in spec else '-crystallization',
+ '+imd' if '+imd' in spec else '-imd',
+ '+manyrestraints' if '+manyrestraints' in spec else '-manyrestraints'
+ ])
+
+ # Add optional arguments based on specs and variants
+# config_args.extend([
+ # Modules
+# "--enable-modules=%s" % "".join(module_opts) if module_opts is not None,
+# "--enable-mpi" if '+mpi' in spec
+# ])
+
+ if modules_opts:
+ config_args.extend(["--enable-modules=%s" % "".join(module_opts)])
+
+ config_args.extend([
+ "--enable-mpi" if '+mpi' in spec else "--disable-mpi"
+ ])
+
make()
+ make("install")