summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/ntpoly/package.py
blob: b28cabf16beeb3e2b009cfbdce6705729fc83d9e (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
# Copyright 2013-2023 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 Ntpoly(CMakePackage):
    """NTPoly - parallel library for computing matrix functions.

    NTPoly is a library for computing the functions of
    sparse, hermitian matrices based on polynomial expansions. For
    sufficiently sparse matrices, most of the matrix functions in
    NTPoly can be computed in linear time.
    """

    homepage = "https://william-dawson.github.io/NTPoly/"
    url = "https://github.com/william-dawson/NTPoly/archive/ntpoly-v2.3.1.tar.gz"

    license("MIT")

    version("2.3.1", sha256="af8c7690321607fbdee9671b9cb3acbed945148014e0541435858cf82bfd887e")

    depends_on("cmake", type="build")
    depends_on("blas", type="link")
    depends_on("mpi@3")

    def cmake_args(self):
        args = ["-DNOSWIG=Yes"]
        if self.spec.satisfies("%fj"):
            args.append("-DCMAKE_Fortran_MODDIR_FLAG=-M")

        return args