summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/prmon/package.py
blob: b32fa6b1ebc5f7ea019a8e9645fcae3807c546a8 (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
# Copyright 2013-2022 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 Prmon(CMakePackage):
    """Standalone monitor for process resource consumption."""

    homepage = "https://github.com/HSF/prmon/"
    url      = "https://github.com/HSF/prmon/archive/refs/tags/v3.0.1.zip"
    git      = "https://github.com/HSF/prmon.git"

    maintainers = ['graeme-a-stewart', 'amete', 'vvolkl']

    version("main", branch="main")
    version('3.0.1', sha256='c4eea2849e52e501d42f8e3f837e3f250691f7e7912b7503d6ca0a0e417ea474')
    version('3.0.0', sha256='fd6f4e3a95e055d265fbbaba08d680826cb4770eb8830cc987898d6504ac7474')
    version('2.2.1', sha256='7c95538a0ddcfc71b5c581979a5bb298873fdf16966fd6951aaa2b2639b08319')
    version('2.2.0', sha256='7b3b887c679279f0e666e8c8c58ca1a22a328b8b94ecff09e61795a6a83e8ce5')
    version('2.1.1', sha256='302d7a3fc5a403143d794e16dca1949e3d13e46cf9857dfaad4e374f4a468df2')
    version('1.1.1', sha256='a6e6486bbc4d6cddf73affe07d9ff7948a424c9a02b3cdd5bbe5c6cafa06af2e')

    variant('plot', default=True,
            description='Make use of plotting scripts')

    depends_on('nlohmann-json')
    depends_on('cmake@3.3:', type="build")
    depends_on('py-matplotlib', type="run", when="+plot")
    depends_on('spdlog', when='@3.0.0:')

    def cmake_args(self):
        args = [
            # googletest is fetched and built on the fly
            self.define("BUILD_GTESTS", self.run_tests),
        ]
        return args

    def check(self):
        # some tests expect to run on an otherwise idle machine
        # so we need to make sure that they are not running in parallel
        with working_dir(self.build_directory):
            ctest(parallel=False)