diff options
author | Antonio Arena <antonio.arena@kaust.edu.sa> | 2020-05-21 06:34:03 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-20 22:34:03 -0500 |
commit | 4118a0177439e0a28a92b7ce04a949e12f0eefd9 (patch) | |
tree | 4ddcef28cbcae1a9770d7bc2d5000d98e0d29e5f | |
parent | 51ff18ef8d5679672107485d372798c7ab647b34 (diff) | |
download | spack-4118a0177439e0a28a92b7ce04a949e12f0eefd9.tar.gz spack-4118a0177439e0a28a92b7ce04a949e12f0eefd9.tar.bz2 spack-4118a0177439e0a28a92b7ce04a949e12f0eefd9.tar.xz spack-4118a0177439e0a28a92b7ce04a949e12f0eefd9.zip |
Install gaussian using their scripts (#16723)
* Create VMD recipe
This is a new recipe to install VMD on Spack-managed hosts.
* Fix lint errors.
* Use plain Package
As per peer-review:
- Use Package to build
- Use configure to create a Makefile
- Use install to copy files to prefix directory
* Move VMD package to correct path, duh...
* Restructure description so first short paragraph can be used by module files.
* Add an empty line as suggested by peer-review. That's how you separate paragraphs.
* Remove extra spaces.
* Use setup_build_environment since that's where you're supposed to export OS variblaes. Thanks to peer-review for spotting this.
* Create VMD recipe
This is a new recipe to install VMD on Spack-managed hosts.
* Fix lint errors.
* Use plain Package
As per peer-review:
- Use Package to build
- Use configure to create a Makefile
- Use install to copy files to prefix directory
* Move VMD package to correct path, duh...
* Add Cubist (#16069)
* Add Cubist
* enhance recipe
* Not using OS module anymore
* remove white space
* Fix build shell
* make Flake8 happy
* use bash shell for build
* Convert it To MakefilePackage as per peer-review
* dbcsr: expose all options, check openblas feats (#16034)
* dbcsr: expose all options, check openblas feats
* dbcsr: use Ninja to build, ensure serialized tests
* dbcsr: add myself as maintainer
* MPark.Variant: GCC 7.3.1 Conflict (#16081)
* MPark.Variant: GCC 7.3.1 Conflict
Due to an ICE in this specific patch-release of GCC, compile
errors in downstream packages should be avoided with a clean
conflict.
* Fix superfluous spaces
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Fix typo
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Move VMD package to correct path, duh...
* Add an empty line as suggested by peer-review. That's how you separate paragraphs.
* New matlab versions (#16086)
* Add new version 1.1.1 (#16087)
* New package bonniepp added (#16091)
* openbabel: fix compilation errors (#16090)
- Disable maeparser as it is broken with CMake
- Added missing dependencies
* singularity: updated maintainer list (#16093)
* New version xrootd-4.11.3 (#16092)
* I added Gaussian 16. I also execute bsd/install to fix scripts instead of filtering them.
* revert VMD so only Gaussian is in my PR.
* revert VMD so only Gaussian is in my PR.
* revert VMD so only Gaussian is in my PR.
* I added myself as a package maintainer.
Co-authored-by: asmaahassan90 <31959389+asmaahassan90@users.noreply.github.com>
Co-authored-by: Tiziano Müller <tiziano.mueller@chem.uzh.ch>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
Co-authored-by: Amjad Kotobi <amjadkotbi@gmail.com>
Co-authored-by: athanasio <athanasio@users.noreply.github.com>
Co-authored-by: Carlos Arango Gutierrez <arangogutierrez@gmail.com>
-rw-r--r-- | var/spack/repos/builtin/packages/gaussian/package.py | 76 |
1 files changed, 42 insertions, 34 deletions
diff --git a/var/spack/repos/builtin/packages/gaussian/package.py b/var/spack/repos/builtin/packages/gaussian/package.py index f32b9b2b38..7a1f7e6821 100644 --- a/var/spack/repos/builtin/packages/gaussian/package.py +++ b/var/spack/repos/builtin/packages/gaussian/package.py @@ -2,50 +2,58 @@ # 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 Gaussian(Package): - """Gaussian is a computer program for computational chemistry""" + """Gaussian is a computer program for computational chemistry""" homepage = "http://www.gaussian.com/" - url = "file://{0}/g09.tgz".format(os.getcwd()) manual_download = True - version('09', '7d4c95b535e68e48af183920df427e4e') + maintainers = ['antoniokaust'] + + version('16-B.01', sha256='0b2cf60aa85d2c8c8e7547446e60e8e8cb67eec20e5f13c4a3e4e7616dcdf122') + version('09-D.01', sha256='ef14885b5e334b6ec44a93bfd7225c634247dc946416af3087ab055bf05f54cd') + + @property + def ver(self): + return self.version.string.split('-')[0] + + @property + def g_root(self): + return join_path(self.prefix, 'g' + self.ver) + + @property + def g_bsd(self): + return join_path(self.g_root, 'bsd') + + def url_for_version(self, version): + return "file://{0}/g{1}.tgz".format(os.getcwd(), version) def install(self, spec, prefix): - install_tree('.', prefix.bin) - patch_install_files = ['flc', - 'linda8.2/opteron-linux/bin/flc', - 'linda8.2/opteron-linux/bin/LindaLauncher', - 'linda8.2/opteron-linux/bin/ntsnet', - 'linda8.2/opteron-linux/bin/pmbuild', - 'linda8.2/opteron-linux/bin/vntsnet', - 'ntsnet' - ] - for filename in patch_install_files: - if os.path.isfile(filename): - filter_file('/mf/frisch/g09', prefix.bin, join_path(prefix.bin, - filename), string='True') - patch_install_files = ['linda8.2/opteron-linux/bin/ntsnet', - 'linda8.2/opteron-linux/bin/vntsnet', - ] - for filename in patch_install_files: - if os.path.isfile(filename): - filter_file('/usr/bin/linda', prefix.bin, join_path(prefix.bin, - filename), string='True') + install_tree('.', self.g_root) + + @run_after('install') + def bsd_install(self): + with working_dir(self.g_root): + bsd_install = Executable(join_path('bsd', 'install')) + bsd_install() def setup_run_environment(self, env): - env.set('g09root', self.prefix) - env.set('GAUSSIANHOME', self.prefix) - env.set('GAUSS_EXEDIR', self.prefix.bin) - env.set('G09_BASIS', self.prefix.bin.basis) - env.set('GAUSS_LEXEDIR', join_path(self.prefix.bin, 'linda-exe')) - env.set('GAUSS_ARCHDIR', self.prefix.bin.arch) - env.set('GAUSS_BSDDIR', self.prefix.bin.bsd) - env.prepend_path('LD_LIBRARY_PATH', join_path(self.prefix.bin, - 'linda8.2', 'opteron-linux', 'lib')) - env.prepend_path('LD_LIBRARY_PATH', self.prefix.bin) + env.set('g' + self.ver + 'root', self.prefix) + + env.prepend_path('GAUSS_EXEDIR', self.g_root) + env.prepend_path('GAUSS_EXEDIR', self.g_bsd) + + env.prepend_path('PATH', self.g_root) + env.prepend_path('PATH', self.g_bsd) + + env.set('GAUSS_LEXEDIR', join_path(self.g_root, 'linda-exe')) + env.set('GAUSS_ARCHDIR', join_path(self.g_root, 'arch')) + env.set('GAUSS_BSDDIR', self.g_bsd) + env.set('G' + self.ver + 'BASIS', join_path(self.g_root, 'basis')) + + env.prepend_path('LD_LIBRARY_PATH', self.g_root) + env.prepend_path('LD_LIBRARY_PATH', self.g_bsd) |