package.py 1.8 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
from spack import *


class MochiRemi(CMakePackage):
    """REMI is a Mochi microservice designed to handle the migration of sets of files
    from a node to another. It uses RDMA and memory mapping to efficiently transfer
    potentially large groups of files at once."""

    homepage = "https://xgitlab.cels.anl.gov/sds/remi"
    url = "https://xgitlab.cels.anl.gov/sds/remi"
    git='https://xgitlab.cels.anl.gov/sds/remi.git'

    version('develop', branch='master')
14
    version('master', branch='master')
Matthieu Dorier's avatar
Matthieu Dorier committed
15
    version('0.3.1', tag='v0.3.1')
Matthieu Dorier's avatar
Matthieu Dorier committed
16
    version('0.3', tag='v0.3')
Matthieu Dorier's avatar
Matthieu Dorier committed
17
    version('0.2.3', tag='v0.2.3')
18
19
20
21
22
23
    version('0.2.2', tag='v0.2.2')
    version('0.2.1', tag='v0.2.1')
    version('0.2', tag='v0.2')
    version('0.1.1', tag='v0.1.1')
    version('0.1', tag='v0.1')

Matthieu Dorier's avatar
Matthieu Dorier committed
24
25
    variant('bedrock', default=True, description='Enable building Bedrock module')

26
    depends_on('libuuid')
Matthieu Dorier's avatar
Matthieu Dorier committed
27
28
    depends_on('mochi-thallium@0.6.0:+cereal', when='@0.2.3:')
    depends_on('mochi-thallium@0.4.2:', when='@0.2.2')
29
30
    depends_on('mochi-thallium@0.3:', when='@:0.2.1')
    depends_on('mochi-abt-io@0.1:')
Matthieu Dorier's avatar
Matthieu Dorier committed
31
32
    depends_on('mochi-bedrock@0.1', when='@0.3 +bedrock')
    depends_on('mochi-bedrock@0.2:', when='@0.3.1: +bedrock')
33

34
35
36
    # dependencies for develop version
    depends_on('mochi-thallium@develop', when='@develop')
    depends_on('mochi-abt-io@develop', when='@develop')
Matthieu Dorier's avatar
Matthieu Dorier committed
37
    depends_on('mochi-bedrock@develop', when='@develop +bedrock')
38

39
    patch('0001-explicitly-request-C-14.patch')
40

Matthieu Dorier's avatar
Matthieu Dorier committed
41
42
43
    conflicts('+bedrock', when='@:0.2.3',
              msg='+bedrock variant only available starting from 0.3')

44
45
    def cmake_args(self):
        args = ["-DBUILD_SHARED_LIBS:BOOL=ON" ]
Matthieu Dorier's avatar
Matthieu Dorier committed
46
47
48
49
        if '+bedrock' in self.spec:
            args.append('-DENABLE_BEDROCK=ON')
        else:
            args.append('-DENABLE_BEDROCK=OFF')
50
        return args