summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/openfoam-org/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/openfoam-org/package.py')
-rw-r--r--var/spack/repos/builtin/packages/openfoam-org/package.py41
1 files changed, 30 insertions, 11 deletions
diff --git a/var/spack/repos/builtin/packages/openfoam-org/package.py b/var/spack/repos/builtin/packages/openfoam-org/package.py
index cbbb45b7f5..17ea54e0c2 100644
--- a/var/spack/repos/builtin/packages/openfoam-org/package.py
+++ b/var/spack/repos/builtin/packages/openfoam-org/package.py
@@ -85,6 +85,8 @@ class OpenfoamOrg(Package):
url=baseurl + '/OpenFOAM-5.x/archive/version-5.0.tar.gz')
version('4.1', 'afd7d8e66e7db0ffaf519b14f1a8e1d4',
url=baseurl + '/OpenFOAM-4.x/archive/version-4.1.tar.gz')
+ version('2.4.0', 'ad7d8b7b0753655b2b6fd9e92eefa92a',
+ url=baseurl + '/OpenFOAM-2.4.x/archive/version-2.4.0.tar.gz')
version('develop', git='https://github.com/OpenFOAM/OpenFOAM-dev.git')
variant('int64', default=False,
@@ -112,13 +114,7 @@ class OpenfoamOrg(Package):
patch('50-etc.patch', when='@5.0:')
patch('41-etc.patch', when='@4.1')
patch('41-site.patch', when='@4.1:')
-
- # Some user config settings
- config = {
- 'mplib': 'SYSTEMMPI', # Use system mpi for spack
- # Add links into bin/, lib/ (eg, for other applications)
- 'link': False
- }
+ patch('240-etc.patch', when='@2.4.0')
# The openfoam architecture, compiler information etc
_foam_arch = None
@@ -136,6 +132,21 @@ class OpenfoamOrg(Package):
# - End of definitions / setup -
#
+ # Some user config settings
+ @property
+ def config(self):
+ settings = {
+ # Use system mpi for spack
+ 'mplib': 'SYSTEMMPI',
+
+ # Add links into bin/, lib/ (eg, for other applications)
+ 'link': False,
+ }
+ # OpenFOAM v2.4 and earlier lacks WM_LABEL_OPTION
+ if self.spec.satisfies('@:2.4'):
+ settings['label-size'] = False
+ return settings
+
def setup_environment(self, spack_env, run_env):
# This should be similar to the openfoam-com package,
# but sourcing the etc/bashrc here seems to exit with an error.
@@ -266,10 +277,18 @@ class OpenfoamOrg(Package):
# Adjust components to use SPACK variants
for component, subdict in self.etc_config.items():
- write_environ(
- subdict,
- posix=join_path('etc', 'config.sh', component),
- cshell=join_path('etc', 'config.csh', component))
+ # Versions up to 3.0 used an etc/config/component.sh naming
+ # convention instead of etc/config.sh/component
+ if spec.satisfies('@:3.0'):
+ write_environ(
+ subdict,
+ posix=join_path('etc', 'config', component) + '.sh',
+ cshell=join_path('etc', 'config', component) + '.csh')
+ else:
+ write_environ(
+ subdict,
+ posix=join_path('etc', 'config.sh', component),
+ cshell=join_path('etc', 'config.csh', component))
def build(self, spec, prefix):
"""Build using the OpenFOAM Allwmake script, with a wrapper to source