diff options
author | Todd Gamblin <tgamblin@llnl.gov> | 2016-02-24 10:49:06 +0900 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2016-02-24 10:49:06 +0900 |
commit | 87610a5102d234741b342efa82f30e0ec4db32c5 (patch) | |
tree | 07d2fd51a475c4cd59ab468177b96b306d5e48e7 | |
parent | 93a746043cba256ecf8fe84d543be985eb69b651 (diff) | |
parent | 30c304748213bee3669c75d4384bad146f68dbd7 (diff) | |
download | spack-87610a5102d234741b342efa82f30e0ec4db32c5.tar.gz spack-87610a5102d234741b342efa82f30e0ec4db32c5.tar.bz2 spack-87610a5102d234741b342efa82f30e0ec4db32c5.tar.xz spack-87610a5102d234741b342efa82f30e0ec4db32c5.zip |
Merge pull request #448 from epfl-scitas/packages/gromacs
Added package : gromacs
-rw-r--r-- | var/spack/repos/builtin/packages/fftw/package.py | 2 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/gromacs/package.py | 56 |
2 files changed, 58 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/fftw/package.py b/var/spack/repos/builtin/packages/fftw/package.py index 4d2b964242..bc129aaf1a 100644 --- a/var/spack/repos/builtin/packages/fftw/package.py +++ b/var/spack/repos/builtin/packages/fftw/package.py @@ -47,6 +47,8 @@ class Fftw(Package): depends_on('mpi', when='+mpi') + # TODO : add support for architecture specific optimizations as soon as targets are supported + def install(self, spec, prefix): options = ['--prefix=%s' % prefix, '--enable-shared', diff --git a/var/spack/repos/builtin/packages/gromacs/package.py b/var/spack/repos/builtin/packages/gromacs/package.py new file mode 100644 index 0000000000..5fe8399308 --- /dev/null +++ b/var/spack/repos/builtin/packages/gromacs/package.py @@ -0,0 +1,56 @@ +from spack import * + + +class Gromacs(Package): + """ + GROMACS (GROningen MAchine for Chemical Simulations) is a molecular dynamics package primarily designed for + simulations of proteins, lipids and nucleic acids. It was originally developed in the Biophysical Chemistry + department of University of Groningen, and is now maintained by contributors in universities and research centers + across the world. + + GROMACS is one of the fastest and most popular software packages available and can run on CPUs as well as GPUs. + It is free, open source released under the GNU General Public License. Starting from version 4.6, GROMACS is + released under the GNU Lesser General Public License. + """ + + homepage = 'http://www.gromacs.org' + url = 'ftp://ftp.gromacs.org/pub/gromacs/gromacs-5.1.2.tar.gz' + + version('5.1.2', '614d0be372f1a6f1f36382b7a6fcab98') + + variant('mpi', default=True, description='Activate MPI support') + variant('shared', default=True, description='Enables the build of shared libraries') + variant('debug', default=False, description='Enables debug mode') + variant('double', default=False, description='Produces a double precision version of the executables') + + depends_on('mpi', when='+mpi') + + depends_on('fftw') + + # TODO : add GPU support + + def install(self, spec, prefix): + + options = [] + + if '+mpi' in spec: + options.append('-DGMX_MPI:BOOL=ON') + + if '+double' in spec: + options.append('-DGMX_DOUBLE:BOOL=ON') + + if '~shared' in spec: + options.append('-DBUILD_SHARED_LIBS:BOOL=OFF') + + if '+debug' in spec: + options.append('-DCMAKE_BUILD_TYPE:STRING=Debug') + else: + options.append('-DCMAKE_BUILD_TYPE:STRING=Release') + + options.extend(std_cmake_args) + + with working_dir('spack-build', create=True): + + cmake('..', *options) + make() + make('install') |