summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/diy/package.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/diy/package.py b/var/spack/repos/builtin/packages/diy/package.py
index 7b2311d37c..3c8b272c73 100644
--- a/var/spack/repos/builtin/packages/diy/package.py
+++ b/var/spack/repos/builtin/packages/diy/package.py
@@ -10,6 +10,8 @@ class Diy(CMakePackage):
"""Data-parallel out-of-core library"""
homepage = "https://github.com/diatomic/diy"
+ maintainers("vicentebolea")
+
url = "https://github.com/diatomic/diy/archive/3.6.0.tar.gz"
git = "https://github.com/diatomic/diy.git"
@@ -23,10 +25,42 @@ class Diy(CMakePackage):
depends_on("mpi")
+ # https://gitlab.kitware.com/diatomic/diy/-/merge_requests/82
+ patch(
+ "https://gitlab.kitware.com/diatomic/diy/-/commit/1d85dd5205b9f0035840e1840a49ea7028618d16.diff",
+ sha256="047bed205c905064923d7ecf1d03e38c07f3ae0baa0f4afe1b234f68315472d3",
+ when="@3.6:",
+ )
+
def cmake_args(self):
args = [
"-Dbuild_examples=off",
"-Dbuild_tests=off",
+ "-Dinstall_examples=on",
"-DCMAKE_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx,
]
return args
+
+ def test_smoke_test(self):
+ """Build and run ctests"""
+ spec = self.spec
+
+ if spec.satisfies("@:3.5"):
+ raise SkipTest("Smoke test requires DIY>=3.6")
+
+ with working_dir("smoke_test_build", create=True):
+ cmake = Executable(spec["cmake"].prefix.bin.cmake)
+ ctest = Executable(spec["cmake"].prefix.bin.ctest)
+
+ cmake(
+ spec["diy"].prefix.share.DIY.examples.smoke_test,
+ f"-DMPI_HOME={spec['mpi'].prefix}",
+ f"-DCMAKE_PREFIX_PATH={spec['diy'].prefix}",
+ )
+ cmake("--build", ".")
+ ctest("--verbose")
+
+ @run_after("install")
+ @on_package_attributes(run_tests=True)
+ def build_test(self):
+ self.test_smoke_test()