new package: openmm (#16002)
* new package: openmm * dependency adjustments * 1. modify dependencies 2. openmm dynamically compiles cuda kernels during runtime, attempt to set up an environment that will work. * Update var/spack/repos/builtin/packages/openmm/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
This commit is contained in:
parent
91e22b8ae5
commit
a5f7cc887a
1 changed files with 48 additions and 0 deletions
48
var/spack/repos/builtin/packages/openmm/package.py
Normal file
48
var/spack/repos/builtin/packages/openmm/package.py
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
# Copyright 2013-2020 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)
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
class Openmm(CMakePackage, CudaPackage):
|
||||||
|
"""A high performance toolkit for molecular simulation. Use it as
|
||||||
|
a library, or as an application. We include extensive language
|
||||||
|
bindings for Python, C, C++, and even Fortran. The code is open
|
||||||
|
source and actively maintained on Github, licensed under MIT and
|
||||||
|
LGPL. Part of the Omnia suite of tools for predictive biomolecular
|
||||||
|
simulation. """
|
||||||
|
|
||||||
|
homepage = "http://openmm.org/"
|
||||||
|
url = "https://github.com/openmm/openmm/archive/7.4.1.tar.gz"
|
||||||
|
|
||||||
|
version('7.4.1', sha256='e8102b68133e6dcf7fcf29bc76a11ea54f30af71d8a7705aec0aee957ebe3a6d')
|
||||||
|
|
||||||
|
install_targets = ['install', 'PythonInstall']
|
||||||
|
|
||||||
|
depends_on('python@2.7:', type=('build', 'run'))
|
||||||
|
depends_on('cmake@3.1:', type='build')
|
||||||
|
depends_on('doxygen', type='build')
|
||||||
|
depends_on('swig', type='build')
|
||||||
|
depends_on('fftw')
|
||||||
|
depends_on('py-cython', type='build')
|
||||||
|
depends_on('py-numpy', type=('build', 'run'))
|
||||||
|
depends_on('cuda', when='+cuda', type=('build', 'link', 'run'))
|
||||||
|
extends('python')
|
||||||
|
|
||||||
|
def patch(self):
|
||||||
|
install_string = "set(PYTHON_SETUP_COMMAND \"install " \
|
||||||
|
"--prefix={0}\")".format(self.prefix)
|
||||||
|
|
||||||
|
filter_file(r'set\(PYTHON_SETUP_COMMAND \"install.*',
|
||||||
|
install_string,
|
||||||
|
'wrappers/python/CMakeLists.txt')
|
||||||
|
|
||||||
|
def setup_run_environment(self, env):
|
||||||
|
spec = self.spec
|
||||||
|
if '+cuda' in spec:
|
||||||
|
env.set('OPENMM_CUDA_COMPILER',
|
||||||
|
self.spec['cuda'].prefix.bin.nvcc)
|
||||||
|
env.prepend_path('PATH',
|
||||||
|
os.path.dirname(self.compiler.cc))
|
Loading…
Reference in a new issue