summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMosè Giordano <giordano@users.noreply.github.com>2023-01-26 10:59:54 +0000
committerGitHub <noreply@github.com>2023-01-26 11:59:54 +0100
commiteeba92e788f4baf1b745c0ab6c61354a35ba13fa (patch)
tree14361125c3a7b8791bbb48e8eccf55bf00934c06 /var
parent84917cfa79e29265b387b483d5773b9d20db3ec9 (diff)
downloadspack-eeba92e788f4baf1b745c0ab6c61354a35ba13fa.tar.gz
spack-eeba92e788f4baf1b745c0ab6c61354a35ba13fa.tar.bz2
spack-eeba92e788f4baf1b745c0ab6c61354a35ba13fa.tar.xz
spack-eeba92e788f4baf1b745c0ab6c61354a35ba13fa.zip
wrf: Fix patching of config file when using GCC for v3.9.1.1 (#35140)
The regex doesn't actually work because dollar signs and parentheses have to be escaped. Also, compiling with OpenMPI requires defining the macro `MPI2SUPPORT`.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/wrf/package.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/wrf/package.py b/var/spack/repos/builtin/packages/wrf/package.py
index b0d87af04a..c2a3352d0c 100644
--- a/var/spack/repos/builtin/packages/wrf/package.py
+++ b/var/spack/repos/builtin/packages/wrf/package.py
@@ -287,10 +287,16 @@ class Wrf(Package):
config = FileFilter(join_path("arch", "configure.defaults"))
if self.spec.satisfies("@3.9.1.1 %gcc"):
+ # Compiling with OpenMPI requires using `-DMPI2SUPPORT`.
+ other_flags = " -DMPI2SUPPORT" if self.spec.satisfies("^openmpi") else ""
config.filter(
- "^DM_FC.*mpif90 -f90=$(SFC)", "DM_FC = {0}".format(self.spec["mpi"].mpifc)
+ r"^DM_FC.*mpif90 -f90=\$\(SFC\)",
+ "DM_FC = {0}".format(self.spec["mpi"].mpifc) + other_flags,
+ )
+ config.filter(
+ r"^DM_CC.*mpicc -cc=\$\(SCC\)",
+ "DM_CC = {0}".format(self.spec["mpi"].mpicc) + other_flags,
)
- config.filter("^DM_CC.*mpicc -cc=$(SCC)", "DM_CC = {0}".format(self.spec["mpi"].mpicc))
if self.spec.satisfies("%aocc"):
config.filter(