2022-12-31 07:09:33 +07:00
|
|
|
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
|
|
|
|
|
|
|
|
|
|
PortSystem 1.0
|
|
|
|
|
PortGroup cmake 1.1
|
|
|
|
|
PortGroup github 1.0
|
2023-12-22 22:00:17 +08:00
|
|
|
PortGroup linear_algebra 1.0
|
2022-12-31 07:09:33 +07:00
|
|
|
PortGroup mpi 1.0
|
|
|
|
|
|
2023-12-15 18:34:04 +08:00
|
|
|
github.setup william-dawson NTPoly 3.1.0 ntpoly-v _bigdft
|
2023-12-22 22:00:17 +08:00
|
|
|
revision 1
|
2022-12-31 07:09:33 +07:00
|
|
|
categories math
|
|
|
|
|
license MIT
|
2026-04-11 19:42:02 +04:00
|
|
|
maintainers nomaintainer
|
2022-12-31 07:09:33 +07:00
|
|
|
description Library for computing the functions of sparse matrices
|
|
|
|
|
long_description NTPoly is a massively parallel 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
|
2023-12-15 18:34:04 +08:00
|
|
|
checksums rmd160 548ec88eb7028416478cbd67f4c7c987de3bc2d8 \
|
|
|
|
|
sha256 33b2dfd281ce46c9bb52b9505c54d6e77c5a882b9d94ceb3dc72fee2055b458d \
|
|
|
|
|
size 306359
|
|
|
|
|
github.tarball_from archive
|
2022-12-31 07:09:33 +07:00
|
|
|
|
2023-12-22 22:00:17 +08:00
|
|
|
set_default_variants no
|
|
|
|
|
|
|
|
|
|
if {![variant_isset accelerate] && ![variant_isset atlas] && ![variant_isset blis] \
|
|
|
|
|
&& ![variant_isset flexiblas] && ![variant_isset openblas]} {
|
|
|
|
|
default_variants-append +openblas
|
|
|
|
|
}
|
2022-12-31 07:09:33 +07:00
|
|
|
|
|
|
|
|
if {${os.platform} eq "darwin" && ${os.arch} eq "powerpc"} {
|
|
|
|
|
mpi.setup require require_fortran \
|
|
|
|
|
-gcc44 -gcc45 -gcc46 -gcc47 -gcc48 -gcc49 -gcc5 -gcc6 \
|
|
|
|
|
-clang -fortran
|
|
|
|
|
} else {
|
|
|
|
|
mpi.setup require require_fortran \
|
|
|
|
|
-gcc44 -gcc45 -gcc46 -gcc47 -gcc48 -gcc49 -gcc5 -gcc6
|
|
|
|
|
}
|
|
|
|
|
|
2023-01-04 10:32:48 +07:00
|
|
|
# https://github.com/william-dawson/NTPoly/issues/192
|
|
|
|
|
compiler.blacklist-append \
|
|
|
|
|
{clang < 500}
|
|
|
|
|
|
2023-12-15 18:34:04 +08:00
|
|
|
pre-configure {
|
2023-12-22 22:00:17 +08:00
|
|
|
# Otherwise configure may pick a random BLAS implementation, like FlexiBLAS.
|
|
|
|
|
# Notice that +blis does not build atm: https://github.com/william-dawson/NTPoly/issues/228
|
|
|
|
|
if [variant_isset openblas] {
|
|
|
|
|
configure.args-append \
|
2023-12-15 18:34:04 +08:00
|
|
|
-DBLAS_LIBRARIES=${prefix}/lib/libopenblas.dylib \
|
|
|
|
|
-DLAPACK_LIBRARIES=${prefix}/lib/libopenblas.dylib
|
2023-12-22 22:00:17 +08:00
|
|
|
}
|
2023-12-15 18:34:04 +08:00
|
|
|
}
|
|
|
|
|
|
2022-12-31 07:09:33 +07:00
|
|
|
configure.args-append \
|
|
|
|
|
-DBUILD_SHARED_LIBS=on \
|
|
|
|
|
-DNOSWIG=yes
|
|
|
|
|
|
|
|
|
|
# Error: Type mismatch between actual argument at (1) and actual argument at (2)
|
|
|
|
|
compilers.allow_arguments_mismatch yes
|