summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/hdf5-vol-daos/package.py
blob: 1ba48c5bad1e5a01adb4e50c7c7d6e5654391d51 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Copyright 2013-2023 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)
from spack.package import *


class Hdf5VolDaos(CMakePackage):
    """The HDF5 DAOS VOL connector is an external VOL connector
    that interfaces with the DAOS API"""

    homepage = "https://github.com/HDFGroup/vol-daos"
    url = (
        "https://github.com/HDFGroup/vol-daos/releases/download/v1.2.0/hdf5_vol_daos-1.2.0.tar.bz2"
    )
    git = "https://github.com/HDFGroup/vol-daos.git"

    maintainers("hyoklee", "soumagne")

    license("BSD-3-Clause")

    version("master", branch="master", submodules=True)
    version("1.2.0", sha256="669c1443605068f24c033783ef72619afcec4844902b3e0bffa19ddeea39779f")

    depends_on("cmake@2.8.12.2:", type="build")
    depends_on("daos@2.2.0:")
    depends_on("hdf5@1.14.0:+hl+mpi+map")

    def cmake_args(self):
        """Populate cmake arguments for HDF5 DAOS."""
        define = self.define

        cmake_args = [
            define("BUILD_SHARED_LIBS", True),
            define("BUILD_TESTING", self.run_tests),
            define("PC_DAOS_INCLUDEDIR", self.spec["daos"].prefix + "/include"),
            define("PC_DAOS_LIBDIR", self.spec["daos"].prefix + "/lib64"),
        ]

        return cmake_args

    def setup_run_environment(self, env):
        env.prepend_path("HDF5_PLUGIN_PATH", self.prefix.lib)

    def check(self):
        """Unit tests fail when run in parallel."""

        with working_dir(self.build_directory):
            make("test", parallel=False)