diff --git a/var/spack/repos/builtin/packages/trexio/package.py b/var/spack/repos/builtin/packages/trexio/package.py index 4abbf3421c5..eb8261181cb 100644 --- a/var/spack/repos/builtin/packages/trexio/package.py +++ b/var/spack/repos/builtin/packages/trexio/package.py @@ -2,10 +2,11 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.build_systems import autotools, cmake from spack.package import * -class Trexio(AutotoolsPackage): +class Trexio(AutotoolsPackage, CMakePackage): """TREXIO: TREX I/O library.""" homepage = "https://trex-coe.github.io/trexio" @@ -17,7 +18,15 @@ class Trexio(AutotoolsPackage): license("BSD-3-Clause") + build_system("cmake", "autotools", default="autotools") + version("master", branch="master") + version("2.5.0", sha256="7bf7e0021467530b4946fb3f6ee39f393e2f4bd65a6f4debaec774120c29e4ee") + version("2.4.2", sha256="074c7cf18ea7a8a1d5e29bde4a773d4fb80081c4eb52e2dc4299e6075b704c93") + version("2.3.2", sha256="b6e831ea5430115a305626695649d823163e7404fd088fc265f0cbe2c1b46ee0") + version("2.3.1", sha256="41145ec808f2fbb6b03e3b191b3828e5439cef0507c5afd1016b3cb4e31dde14") + version("2.3.0", sha256="310a33cc2202bce09d2326708753f0866311854e6571e1ae50516f159ea47ca0") + version("2.2.3", sha256="1c16987fa6afe400de8b1c0d98270263f6f380278d8c0f2b9ad5156352d653ff") version("2.2.0", sha256="e6340c424fcea18ae0b643a5707e16005c7576ee21a5aac679fbc132d70b36d9") version("2.1.0", sha256="232866c943b98fa8a42d34b55e940f7501634eb5bd426555ba970f5c09775e83") version("2.0.0", sha256="6eeef2da44259718b43991eedae4b20d4f90044e38f3b44a8beea52c38b14cb4") @@ -35,15 +44,29 @@ class Trexio(AutotoolsPackage): depends_on("libtool", type="build") depends_on("m4", type="build") - depends_on("hdf5@1.8:+hl", when="+hdf5") + depends_on("hdf5@1.8:+hl", when="@:2.3.0 +hdf5") + depends_on("hdf5@1.8:", when="+hdf5") # Append -lhdf5_hl to LIBS when hdf5 variant is activated # or use --without-hdf5 option otherwise. + + +class AutotoolsBuilder(autotools.AutotoolsBuilder): def configure_args(self): config_args = [] if "+hdf5" in self.spec: - config_args.append("LIBS=-lhdf5_hl") + if self.spec("@:2.3.0"): + config_args.append("LIBS=-lhdf5_hl") + else: + config.args.append("LIBS=-lhdf5") else: config_args.append("--without-hdf5") return config_args + + +class CMakeBuilder(cmake.CMakeBuilder): + def cmake_args(self): + args = [self.define_from_variant("ENABLE_HDF5", "hdf5")] + + return args