grads: Support newer hdf5 versions for grads (#48058)

* Support newer hdf5 versions for grads

* Cover netcdf dependency too

* Adjusted placement of two comments
This commit is contained in:
Brian Vanderwende 2024-12-12 23:33:04 -07:00 committed by GitHub
parent 6cbd9dcf13
commit e59ee0768f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -41,7 +41,7 @@ class Grads(AutotoolsPackage):
variant("hdf4", default=True, when="@2.2.2:", description="Enable HDF4 support")
variant("netcdf", default=True, when="@2.2.2:", description="Enable NetCDF support")
depends_on("hdf5@:1.10", when="+hdf5")
depends_on("hdf5", when="+hdf5")
depends_on("hdf", when="+hdf4")
depends_on("netcdf-c", when="+netcdf")
depends_on("g2c", when="+grib2")
@ -64,16 +64,26 @@ def url_for_version(self, version):
url = "ftp://cola.gmu.edu/grads/{}/grads-{}-src.tar.gz"
return url.format(version.up_to(2), version)
# Name of grib2 C library has changed in recent versions
def patch(self):
if self.spec.satisfies("@:2.2.2"):
filter_file("png15", "png", "configure")
# Name of grib2 C library has changed in recent versions
if self.spec.satisfies("+grib2"):
filter_file("grib2c", "g2c", "configure")
if self.spec.satisfies("^g2c@1.8.0:"):
filter_file("G2_VERSION", "G2C_VERSION", "src/gacfg.c")
def flag_handler(self, name, flags):
spec = self.spec
if name == "cflags":
# Can use newer versions of HDF5, but 1.10 is the last API GrADS supports
if "hdf5" in spec and spec["hdf5"].satisfies("@1.12:"):
flags.append("-DH5_USE_110_API")
return (flags, None, None)
def setup_build_environment(self, env):
env.set("SUPPLIBS", "/")