summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/dla-future-fortran/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/dla-future-fortran/package.py')
-rw-r--r--var/spack/repos/builtin/packages/dla-future-fortran/package.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/dla-future-fortran/package.py b/var/spack/repos/builtin/packages/dla-future-fortran/package.py
new file mode 100644
index 0000000000..0937a13782
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dla-future-fortran/package.py
@@ -0,0 +1,61 @@
+# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+# dlaf-no-license-check
+from spack.package import *
+
+
+class DlaFutureFortran(CMakePackage):
+ """
+ Fortran interface to the DLA-Future library.
+ """
+
+ homepage = "https://github.com/eth-cscs/DLA-Future-Fortran"
+ url = "https://github.com/eth-cscs/DLA-Future-Fortran/archive/v0.0.0.tar.gz"
+ git = "https://github.com/eth-cscs/DLA-Future-Fortran.git"
+
+ maintainers("RMeli", "rasolca", "aurianer")
+
+ license("BSD-3-Clause")
+
+ version("main", branch="main")
+ version("0.2.0", sha256="7fd3e1779c111b35f0d2701a024398b4f6e8dea4af523b6c8617d28c0b7ae61a")
+ version("0.1.0", sha256="9fd8a105cbb2f3e1daf8a49910f98fce68ca0b954773dba98a91464cf2e7c1da")
+
+ depends_on("c", type="build")
+ depends_on("cxx", type="build")
+ depends_on("fortran", type="build")
+
+ variant("shared", default=True, description="Build shared libraries.")
+ variant("test", default=False, description="Build tests.")
+
+ generator("ninja")
+ depends_on("cmake@3.22:", type="build")
+ depends_on("pkgconfig", type="build")
+
+ depends_on("dla-future@0.4.1:0.5 +scalapack", when="@0.1.0")
+ depends_on("dla-future@0.6.0: +scalapack", when="@0.2.0:")
+ depends_on("dla-future +shared", when="+shared")
+
+ depends_on("mpi", when="+test")
+ depends_on("py-fypp", when="+test", type="build")
+
+ def cmake_args(self):
+ args = []
+
+ args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
+
+ if self.spec.satisfies("+test"):
+ args.append(self.define("DLAF_FORTRAN_BUILD_TESTING", True))
+ # Tests run with 6 MPI ranks
+ args.append(self.define("MPIEXEC_MAX_NUMPROCS", 6))
+
+ return args
+
+ @property
+ def libs(self):
+ return find_libraries(
+ "libDLAF_Fortran", root=self.home, shared=self.spec.satisfies("+shared")
+ )