summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/examl/package.py
blob: d5f115b9beb275bea21877b97e3f76a734b2420e (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
50
# Copyright 2013-2020 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 *


class Examl(MakefilePackage):
    """
    Exascale Maximum Likelihood (ExaML) code for phylogenetic inference
    using MPI. This code implements the popular RAxML search algorithm
    for maximum likelihood based inference of phylogenetic trees.
    """

    homepage = "https://github.com/stamatak/ExaML"
    url      = "https://github.com/stamatak/ExaML/archive/v3.0.22.tar.gz"

    maintainers = ['robqiao']

    version('3.0.22', sha256='802e673b0c2ea83fdbe6b060048d83f22b6978933a04be64fb9b4334fe318ca3')
    version('3.0.21', sha256='6c7e6c5d7bf4ab5cfbac5cc0d577885272a803c142e06b531693a6a589102e2e')
    version('3.0.20', sha256='023681248bbc7f19821b509948d79301e46bbf275aa90bf12e9f4879639a023b')
    version('3.0.19', sha256='3814230bf7578b8396731dc87ce665d0b1a671d8effd571f924c5b7936ae1c9e')
    version('3.0.18', sha256='1bacb5124d943d921e7beae52b7062626d0ce3cf2f83e3aa3acf6ea26cf9cd87')
    version('3.0.17', sha256='90a859e0b8fff697722352253e748f03c57b78ec5fbc1ae72f7e702d299dac67')
    version('3.0.16', sha256='abc922994332d40892e30f077e4644db08cd59662da8e2a9197d1bd8bcb9aa5f')
    version('3.0.15', sha256='da5e66a63d6fa34b640535c359d8daf67f23bd2fcc958ac604551082567906b0')
    version('3.0.14', sha256='698b538996946ae23a2d6fa1e230c210832e59080da33679ff7d6b342a9e6180')
    version('3.0.13', sha256='893aecb5545798235a17975aa07268693d3526d0aee0ed59a2d6e791248791ed')

    variant('mpi', default=True, description='Enable MPI parallel support')

    depends_on('mpi', when='+mpi')

    def build(self, spec, prefix):
        #####################
        # Build Directories #
        #####################
        with working_dir('examl'):
            make('-f', 'Makefile.SSE3.gcc')
        with working_dir('parser'):
            make('-f', 'Makefile.SSE3.gcc')

    def install(self, spec, prefix):
        mkdirp(prefix.bin)
        install("examl/examl", prefix.bin)
        install("parser/parse-examl", prefix.bin)
        install_tree("manual", prefix.manual)
        install_tree("testData", prefix.testData)