summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/structure/package.py
blob: 6620fc0536b84c8006267fc8c833f8631c3dbd00 (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
# Copyright 2013-2024 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 Structure(MakefilePackage):
    """Structure is a free software package for using multi-locus genotype
    data to investigate population structure."""

    homepage = "https://web.stanford.edu/group/pritchardlab/structure.html"
    url = "https://web.stanford.edu/group/pritchardlab/structure_software/release_versions/v2.3.4/structure_kernel_source.tar.gz"

    version("2.3.4", sha256="f2b72b9189a514f53e921bbdc1aa3dbaca7ac34a8467af1f972c7e4fc9c0bb37")

    def url_for_version(self, version):
        url = "http://web.stanford.edu/group/pritchardlab/structure_software/release_versions/v{0}/structure_kernel_source.tar.gz"
        return url.format(version)

    @when("%gcc@10:")
    def edit(self, spec, prefix):
        filter_file(r"(CFLAGS =.*$)", "\\1 -fcommon", "Makefile")

    def install(self, spec, prefix):
        mkdirp(prefix.bin)
        install("structure", prefix.bin)
        install("mainparams", prefix.bin)
        install("extraparams", prefix.bin)