orca: new package starting at 4.0.1.2 (#9297)

* orca: new package starting at 4.0.1.2

* orca: fix typo

* orca: fix boilerplate

* orca: reorder deps, add openmpi runtime dependency

* orca: license update
This commit is contained in:
Justin Stanley 2018-10-29 14:49:58 -05:00 committed by Levi Baber
parent c96c38a08f
commit c46a39179b

View File

@ -0,0 +1,46 @@
# Copyright 2013-2018 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 Orca(Package):
"""An ab initio, DFT and semiempirical SCF-MO package
Note: Orca is licensed software. You will need to create an account
on the Orca homepage and download Orca yourself. Spack will search
your current directory for the download file. Alternatively, add this
file to a mirror so that Spack can find it. For instructions on how to
set up a mirror, see http://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://cec.mpg.de"
url = "file://{0}/orca_4_0_1_2_linux_x86-64_openmpi202.tar.zst".format(os.getcwd())
version('4.0.1.2', sha256='cea442aa99ec0d7ffde65014932196b62343f7a6191b4bfc438bfb38c03942f7',
expand=False)
depends_on('zstd', type='build')
depends_on('openmpi@2.0.0:2.1.5', type='run')
def url_for_version(self, version):
out = "file://{0}/orca_{1}_linux_x86-64_openmpi202.tar.zst"
return out.format(os.getcwd(), version.underscored)
def install(self, spec, prefix):
# we have to extract the archive ourself
# fortunately it's just full of a bunch of binaries
vername = os.path.basename(self.stage.archive_file).split('.')[0]
zstd = which('zstd')
zstd('-d', self.stage.archive_file, '-o', vername + '.tar')
tar = which('tar')
tar('-xvf', vername + '.tar')
# there are READMEs in there but they don't hurt anyone
mkdirp(prefix.bin)
install_tree(vername, prefix.bin)