blob: bdfe6e7d0371a157e43b2ffc3db6e05d136fcb65 (
plain)
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools cuda toolchain-funcs
DESCRIPTION="Sparse Cholesky factorization and update/downdate library"
HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
LICENSE="LGPL-2.1+ modify? ( GPL-2+ ) matrixops? ( GPL-2+ )"
SLOT="0/3"
KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="cuda doc +lapack +matrixops +modify +partition"
BDEPEND="virtual/pkgconfig
doc? ( virtual/latex-base )"
DEPEND="
sci-libs/amd
sci-libs/colamd
cuda? (
dev-util/nvidia-cuda-toolkit
x11-drivers/nvidia-drivers
)
lapack? ( virtual/lapack )
partition? (
sci-libs/camd
sci-libs/ccolamd
>=sci-libs/metis-5.1.0
)"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-3.0.14-fix-CUDA.patch"
)
src_prepare() {
use cuda && cuda_src_prepare
default
# patch is modifying Makefile.am
eautoreconf
}
src_configure() {
local lapack_libs=no
local blas_libs=no
if use lapack; then
blas_libs=$($(tc-getPKG_CONFIG) --libs blas)
lapack_libs=$($(tc-getPKG_CONFIG) --libs lapack)
fi
local cudaconfargs=( $(use_with cuda) )
if use cuda ; then
cudaconfargs+=(
--with-cublas-libs="-L${EPREFIX}/opt/cuda/$(get_libdir) -lcublas"
--with-cublas-cflags="-I${EPREFIX}/opt/cuda/include"
)
fi
econf \
--disable-static \
--with-blas="${blas_libs}" \
--with-lapack="${lapack_libs}" \
$(use_with doc) \
$(use_with modify) \
$(use_with matrixops) \
$(use_with partition) \
$(use_with partition camd) \
$(use_with lapack supernodal) \
"${cudaconfargs[@]}"
}
src_install() {
default
# no static archives
find "${D}" -name '*.la' -delete || die
}
|