From cb63a936a86bb07088ec8e3bd43925302e793866 Mon Sep 17 00:00:00 2001 From: Sean Bryan Date: Fri, 12 Jan 2024 11:44:14 +1100 Subject: [PATCH] Add CABLE package.py file --- packages/cable/package.py | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 packages/cable/package.py diff --git a/packages/cable/package.py b/packages/cable/package.py new file mode 100644 index 0000000..44204e5 --- /dev/null +++ b/packages/cable/package.py @@ -0,0 +1,46 @@ +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# Copyright 2022 ACCESS-NRI +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + +# See https://spack.readthedocs.io/en/latest/packaging_guide.html for a guide +# on how this file works. + + +class Cable(CMakePackage): + """The CSIRO Atmosphere Biosphere Land Exchange (CABLE) model.""" + + homepage = "https://github.com/CABLE-LSM/CABLE" + git = "https://github.com/CABLE-LSM/CABLE.git" + + maintainers("SeanBryan51") + + version("main", branch="main") + + def url_for_version(self, version): + return "https://github.com/CABLE-LSM/CABLE/tarball/{0}".format(version) + + variant( + "mpi", + default=True, + description="Build MPI executable.", + ) + variant( + "build_type", + default="Release", + description="CMake build type", + values=("Debug", "Release"), + ) + + depends_on("netcdf-fortran@4.5.2:") + depends_on("mpi", when="+mpi") + + def cmake_args(self): + args = [] + if self.spec.satisfies("+mpi"): + args.append(self.define_from_variant("CABLE_MPI", "mpi")) + return args