From 404ff9eb326566b98d836af92acf4e91ac419392 Mon Sep 17 00:00:00 2001
From: Justin S <3630356+codeandkey@users.noreply.github.com>
Date: Tue, 23 Jun 2020 03:34:47 -0500
Subject: dock: new package at 6.9 (#17138)

---
 var/spack/repos/builtin/packages/dock/package.py | 59 ++++++++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 var/spack/repos/builtin/packages/dock/package.py

diff --git a/var/spack/repos/builtin/packages/dock/package.py b/var/spack/repos/builtin/packages/dock/package.py
new file mode 100644
index 0000000000..2493be97f1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dock/package.py
@@ -0,0 +1,59 @@
+# 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)
+
+from spack import *
+import os
+
+
+class Dock(Package):
+    """DOCK is a molecular docking program used in drug discovery.
+
+       This program, given a protein binding site and a small molecule, tries
+       to predict the correct binding mode of the small molecule in the binding
+       site, and the associated binding energy."""
+
+    homepage = "http://dock.compbio.ucsf.edu/DOCK_6/index.htm"
+    url      = "file://{0}/dock.6.9_source.tar.gz".format(os.getcwd())
+
+    version('6.9', sha256='c2caef9b4bb47bb0cb437f6dc21f4c605fd3d0d9cc817fa13748c050dc87a5a8')
+
+    variant('mpi', default=True, description='Enable mpi')
+
+    depends_on('bison', type='build')
+    depends_on('mpi', when='+mpi')
+
+    def setup_build_environment(self, env):
+        if '+mpi' in self.spec:
+            env.set('MPICH_HOME', self.spec['mpi'].prefix)
+
+    def install(self, spec, prefix):
+        compiler_targets = {
+            'gcc': 'gnu',
+            'intel': 'intel',
+            'pgi': 'pgi',
+            'sgi': 'sgi',
+        }
+
+        if self.compiler.name not in compiler_targets:
+            template = 'Unsupported compiler {0}! Supported compilers: {1}'
+            err = template.format(self.compiler.name,
+                                  ', '.join(list(compiler_targets.keys())))
+
+            raise InstallError(err)
+
+        if self.compiler.name == 'pgi' and '+mpi' in spec:
+            raise InstallError('Parallel output is not supported with pgi.')
+
+        with working_dir('install'):
+            sh_args = ['./configure', compiler_targets[self.compiler.name]]
+
+            if '+mpi' in spec:
+                sh_args.append('parallel')
+
+            which('sh')(*sh_args)
+            which('make')('YACC=bison -o y.tab.c')
+
+        mkdirp(prefix.bin)
+        install_tree('bin', prefix.bin)
-- 
cgit v1.2.3-70-g09d2