summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/wps/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/wps/package.py')
-rw-r--r--var/spack/repos/builtin/packages/wps/package.py117
1 files changed, 58 insertions, 59 deletions
diff --git a/var/spack/repos/builtin/packages/wps/package.py b/var/spack/repos/builtin/packages/wps/package.py
index 8506121b0d..14e1e55823 100644
--- a/var/spack/repos/builtin/packages/wps/package.py
+++ b/var/spack/repos/builtin/packages/wps/package.py
@@ -10,85 +10,84 @@ from spack.package import *
class Wps(Package):
- """The Weather Research and Forecasting Pre-Processing System (WPS)
- """
+ """The Weather Research and Forecasting Pre-Processing System (WPS)"""
homepage = "https://www.mmm.ucar.edu/weather-research-and-forecasting-model"
- url = "https://github.com/wrf-model/WPS/archive/v4.2.tar.gz"
- maintainers = ['MichaelLaufer']
+ url = "https://github.com/wrf-model/WPS/archive/v4.2.tar.gz"
+ maintainers = ["MichaelLaufer"]
- version('4.3.1', sha256='db6da44a2ca68cc289e98ab388a53c27283eb4ed8e92edee268466543fdedb0e')
- version('4.3', sha256='1913cb24de549f029d65635feea27f3304a8f42ec025954a0887651fc89d1e9e')
- version('4.2', sha256='3e175d033355d3e7638be75bc7c0bc0de6da299ebd175a9bbc1b7a121acd0168')
+ version("4.3.1", sha256="db6da44a2ca68cc289e98ab388a53c27283eb4ed8e92edee268466543fdedb0e")
+ version("4.3", sha256="1913cb24de549f029d65635feea27f3304a8f42ec025954a0887651fc89d1e9e")
+ version("4.2", sha256="3e175d033355d3e7638be75bc7c0bc0de6da299ebd175a9bbc1b7a121acd0168")
# Serial variant recommended in WRF/WPS docs
- variant('build_type', default='serial',
- values=('serial', 'serial_NO_GRIB2', 'dmpar', 'dmpar_NO_GRIB2'))
+ variant(
+ "build_type",
+ default="serial",
+ values=("serial", "serial_NO_GRIB2", "dmpar", "dmpar_NO_GRIB2"),
+ )
# These patches deal with netcdf & netcdf-fortran being two diff things
- patch('patches/4.2/arch.Config.pl.patch', when='@4.2:')
- patch('patches/4.2/arch.configure.defaults.patch', when='@4.2')
- patch('patches/4.2/configure.patch', when='@4.2:')
- patch('patches/4.2/preamble.patch', when='@4.2:')
- patch('patches/4.3/arch.configure.defaults.patch', when='@4.3:4.3.0')
- patch('patches/4.3.1/arch.configure.defaults.patch', when='@4.3.1')
+ patch("patches/4.2/arch.Config.pl.patch", when="@4.2:")
+ patch("patches/4.2/arch.configure.defaults.patch", when="@4.2")
+ patch("patches/4.2/configure.patch", when="@4.2:")
+ patch("patches/4.2/preamble.patch", when="@4.2:")
+ patch("patches/4.3/arch.configure.defaults.patch", when="@4.3:4.3.0")
+ patch("patches/4.3.1/arch.configure.defaults.patch", when="@4.3.1")
# According to:
# http://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/v4.0/users_guide_chap2.html#_Required_Compilers_and_1
# Section: "Required/Optional Libraries to Download"
- depends_on('wrf')
- depends_on('netcdf-c')
- depends_on('netcdf-fortran')
+ depends_on("wrf")
+ depends_on("netcdf-c")
+ depends_on("netcdf-fortran")
# build script use csh
- depends_on('tcsh', type=('build'))
+ depends_on("tcsh", type=("build"))
# this fixes that for csh install scripts
- depends_on('time', type=('build'))
- depends_on('m4', type='build')
- depends_on('libtool', type='build')
- depends_on('jasper@:2')
- phases = ['configure', 'build', 'install']
+ depends_on("time", type=("build"))
+ depends_on("m4", type="build")
+ depends_on("libtool", type="build")
+ depends_on("jasper@:2")
+ phases = ["configure", "build", "install"]
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
def setup_build_environment(self, env):
- env.set('WRF_DIR', self.spec['wrf'].prefix)
- env.set('NETCDF', self.spec['netcdf-c'].prefix)
+ env.set("WRF_DIR", self.spec["wrf"].prefix)
+ env.set("NETCDF", self.spec["netcdf-c"].prefix)
# This gets used via the applied patch files
- env.set('NETCDFF', self.spec['netcdf-fortran'].prefix)
- env.set('JASPERINC', self.spec['jasper'].prefix.include)
- env.set('JASPERLIB', self.spec['jasper'].prefix.lib)
+ env.set("NETCDFF", self.spec["netcdf-fortran"].prefix)
+ env.set("JASPERINC", self.spec["jasper"].prefix.include)
+ env.set("JASPERLIB", self.spec["jasper"].prefix.lib)
- if self.spec.satisfies('%gcc@10:'):
- args = '-w -O2 -fallow-argument-mismatch -fallow-invalid-boz'
- env.set('FCFLAGS', args)
- env.set('FFLAGS', args)
+ if self.spec.satisfies("%gcc@10:"):
+ args = "-w -O2 -fallow-argument-mismatch -fallow-invalid-boz"
+ env.set("FCFLAGS", args)
+ env.set("FFLAGS", args)
def setup_run_environment(self, env):
- env.append_path('PATH', self.prefix)
- env.append_path('PATH', self.prefix.util)
+ env.append_path("PATH", self.prefix)
+ env.append_path("PATH", self.prefix.util)
def patch(self):
# Let's not assume csh is intalled in bin
- files = glob.glob('*.csh')
+ files = glob.glob("*.csh")
- filter_file('^#!/bin/csh -f', '#!/usr/bin/env csh', *files)
- filter_file('^#!/bin/csh', '#!/usr/bin/env csh', *files)
+ filter_file("^#!/bin/csh -f", "#!/usr/bin/env csh", *files)
+ filter_file("^#!/bin/csh", "#!/usr/bin/env csh", *files)
def configure(self, spec, prefix):
- build_opts = {"gcc": {"serial": '1',
- "serial_NO_GRIB2": '2',
- "dmpar": '3',
- "dmpar_NO_GRIB2": '4'},
- "intel": {"serial": '17',
- "serial_NO_GRIB2": '18',
- "dmpar": '19',
- "dmpar_NO_GRIB2": '20'},
- "pgi": {"serial": '5',
- "serial_NO_GRIB2": '6',
- "dmpar": '7',
- "dmpar_NO_GRIB2": '8'},
- }
+ build_opts = {
+ "gcc": {"serial": "1", "serial_NO_GRIB2": "2", "dmpar": "3", "dmpar_NO_GRIB2": "4"},
+ "intel": {
+ "serial": "17",
+ "serial_NO_GRIB2": "18",
+ "dmpar": "19",
+ "dmpar_NO_GRIB2": "20",
+ },
+ "pgi": {"serial": "5", "serial_NO_GRIB2": "6", "dmpar": "7", "dmpar_NO_GRIB2": "8"},
+ }
try:
compiler_opts = build_opts[self.spec.compiler.name]
@@ -96,17 +95,17 @@ class Wps(Package):
raise InstallError("Compiler not recognized nor supported.")
# Spack already makes sure that the variant value is part of the set.
- build_type = compiler_opts[spec.variants['build_type'].value]
+ build_type = compiler_opts[spec.variants["build_type"].value]
- with tempfile.TemporaryFile(mode='w') as fp:
- fp.write(build_type + '\n')
+ with tempfile.TemporaryFile(mode="w") as fp:
+ fp.write(build_type + "\n")
fp.seek(0)
- Executable('./configure')(input=fp)
+ Executable("./configure")(input=fp)
def build(self, spec, prefix):
- csh = which('csh')
- csh('./compile')
+ csh = which("csh")
+ csh("./compile")
def install(self, spec, prefix):
# Copy all of WPS staging dir to install dir
- install_tree('.', prefix)
+ install_tree(".", prefix)