summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/dimemas/package.py
blob: dac17bc75eb2fdd42ae07d15da7ca0225c15929c (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
# 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 import *
from spack.pkg.builtin.boost import Boost


class Dimemas(AutotoolsPackage):
    """High-abstracted network simulator for message-passing programs."""

    homepage = "https://tools.bsc.es/dimemas"
    url      = "https://github.com/bsc-performance-tools/dimemas/archive/5.4.1.tar.gz"

    version('5.4.1', sha256='10ddca3745a56ebab5c1ba180f6f4bce5832c4deac50c1b1dc08271db5c7cafa')

    depends_on('autoconf', type='build')
    depends_on('automake', type='build')
    depends_on('libtool',  type='build')
    depends_on('m4',       type='build')

    depends_on('bison', type=('build', 'link', 'run'))
    depends_on('flex', type=('build', 'link', 'run'))
    depends_on('boost@1.65.0+program_options cxxstd=11', type=('build', 'link'))

    # TODO: replace this with an explicit list of components of Boost,
    # for instance depends_on('boost +filesystem')
    # See https://github.com/spack/spack/pull/22303 for reference
    depends_on(Boost.with_default_variants, type=('build', 'link'))

    def autoreconf(self, spec, prefix):
        autoreconf('--install', '--verbose', '--force')

    def configure_args(self):
        args = ["--with-boost=%s" % self.spec['boost'].prefix,
                "--with-boost-libdir=%s" % self.spec['boost'].prefix.lib,
                "LEXLIB=-l:libfl.a"]

        return args