summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMark Olesen <Mark.Olesen@gmx.net>2018-12-17 19:58:09 +0100
committerAdam J. Stewart <ajstewart426@gmail.com>2018-12-17 12:58:09 -0600
commitcbedd507cf7c75f819488c716428f3842d4212b7 (patch)
tree88ad2be1fa18989a2b4475356b91a09dbb425389 /var
parentccce3b79ab22952becc946d953dab0f501d47afd (diff)
downloadspack-cbedd507cf7c75f819488c716428f3842d4212b7.tar.gz
spack-cbedd507cf7c75f819488c716428f3842d4212b7.tar.bz2
spack-cbedd507cf7c75f819488c716428f3842d4212b7.tar.xz
spack-cbedd507cf7c75f819488c716428f3842d4212b7.zip
ENH: fixes and updates for openfoam-com build (#10065)
- previous removal of FOAM_EXT_LIBBIN (ThirdParty) from the environment during the build could lead to the system scotch library being found instead of the spack installation. Avoid this largely cosmetic change to the setting in favour of improved build robustness. These modifications will be largely superfluous in the 1812 release anyhow. - Split the patching algorithm into 'regular' and '@:1806' since the next versions of openfoam will again need fewer patches. - Add hook into foamCreateManpage to be used where available
Diffstat (limited to 'var')
-rwxr-xr-xvar/spack/repos/builtin/packages/openfoam-com/common/spack-Allwmake7
-rw-r--r--var/spack/repos/builtin/packages/openfoam-com/package.py68
2 files changed, 53 insertions, 22 deletions
diff --git a/var/spack/repos/builtin/packages/openfoam-com/common/spack-Allwmake b/var/spack/repos/builtin/packages/openfoam-com/common/spack-Allwmake
index 6c53c2fd70..eb2d097c4e 100755
--- a/var/spack/repos/builtin/packages/openfoam-com/common/spack-Allwmake
+++ b/var/spack/repos/builtin/packages/openfoam-com/common/spack-Allwmake
@@ -12,6 +12,13 @@ then
./Allwmake-spack $@ # Pass arguments
else
./Allwmake $@ # Pass arguments
+
+ # Generate manpages
+ if [ -x bin/tools/foamCreateManpage ]
+ then
+ bin/tools/foamCreateManpage -gzip || \
+ echo "ignore problems generating manpages"
+ fi
fi
diff --git a/var/spack/repos/builtin/packages/openfoam-com/package.py b/var/spack/repos/builtin/packages/openfoam-com/package.py
index cdb6ae1dac..60a35d75db 100644
--- a/var/spack/repos/builtin/packages/openfoam-com/package.py
+++ b/var/spack/repos/builtin/packages/openfoam-com/package.py
@@ -3,6 +3,9 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+#
+# Author: Mark Olesen <mark.olesen@esi-group.com>
+#
# Legal Notice
# ------------
# OPENFOAM is a trademark owned by OpenCFD Ltd
@@ -469,9 +472,14 @@ class OpenfoamCom(Package):
Where needed, apply filter as an alternative to normal patching."""
add_extra_files(self, self.common, self.assets)
- # Avoid WM_PROJECT_INST_DIR for ThirdParty, site or jobControl.
- #
- # Filtering: bashrc,cshrc (using a patch is less flexible)
+ @when('@:1806')
+ def patch(self):
+ """Adjust OpenFOAM build for spack.
+ Where needed, apply filter as an alternative to normal patching."""
+ add_extra_files(self, self.common, self.assets)
+
+ # Avoid WM_PROJECT_INST_DIR for ThirdParty
+ # This modification is non-critical
edits = {
'WM_THIRD_PARTY_DIR':
r'$WM_PROJECT_DIR/ThirdParty #SPACK: No separate third-party',
@@ -481,18 +489,10 @@ class OpenfoamCom(Package):
posix=join_path('etc', 'bashrc'),
cshell=join_path('etc', 'cshrc'))
- # Filtering: settings
- edits = {
- 'FOAM_EXT_LIBBIN': '#SPACK: No separate third-party', # ie, unset
- }
- rewrite_environ_files( # etc/config.{csh,sh}/settings
- edits,
- posix=join_path('etc', 'config.sh', 'settings'),
- cshell=join_path('etc', 'config.csh', 'settings'))
-
- # The following filtering is non-vital. It simply prevents 'site' dirs
- # from the the wrong level (likely non-existent anyhow) from being
- # added to PATH, LD_LIBRARY_PATH.
+ # The following filtering is non-critical.
+ # It simply prevents 'site' dirs at the wrong level
+ # (likely non-existent anyhow) from being added to
+ # PATH, LD_LIBRARY_PATH.
for rcdir in ['config.sh', 'config.csh']:
rcfile = join_path('etc', rcdir, 'settings')
if os.path.isfile(rcfile):
@@ -632,15 +632,43 @@ class OpenfoamCom(Package):
builder = Executable(self.build_script)
builder(*args)
- def install(self, spec, prefix):
- """Install under the projectdir"""
+ def install_write_location(self):
+ """Set the installation location (projectdir) in bashrc,cshrc."""
+ mkdirp(self.projectdir)
+
+ # Filtering: bashrc, cshrc
+ edits = {
+ 'WM_PROJECT_DIR': self.projectdir,
+ }
+ etc_dir = join_path(self.projectdir, 'etc')
+ rewrite_environ_files( # Adjust etc/bashrc and etc/cshrc
+ edits,
+ posix=join_path(etc_dir, 'bashrc'),
+ cshell=join_path(etc_dir, 'cshrc'))
+
+ @when('@:1806')
+ def install_write_location(self):
+ """Set the installation location (projectdir) in bashrc,cshrc.
+ In 1806 and earlier, had WM_PROJECT_INST_DIR as the prefix
+ directory where WM_PROJECT_DIR was installed.
+ """
mkdirp(self.projectdir)
projdir = os.path.basename(self.projectdir)
+
# Filtering: bashrc, cshrc
edits = {
'WM_PROJECT_INST_DIR': os.path.dirname(self.projectdir),
'WM_PROJECT_DIR': join_path('$WM_PROJECT_INST_DIR', projdir),
}
+ etc_dir = join_path(self.projectdir, 'etc')
+ rewrite_environ_files( # Adjust etc/bashrc and etc/cshrc
+ edits,
+ posix=join_path(etc_dir, 'bashrc'),
+ cshell=join_path(etc_dir, 'cshrc'))
+
+ def install(self, spec, prefix):
+ """Install under the projectdir"""
+ mkdirp(self.projectdir)
# All top-level files, except spack build info and possibly Allwmake
if '+source' in spec:
@@ -681,11 +709,7 @@ class OpenfoamCom(Package):
ignore=ignore,
symlinks=True)
- etc_dir = join_path(self.projectdir, 'etc')
- rewrite_environ_files( # Adjust etc/bashrc and etc/cshrc
- edits,
- posix=join_path(etc_dir, 'bashrc'),
- cshell=join_path(etc_dir, 'cshrc'))
+ self.install_write_location()
self.install_links()
def install_links(self):