1 |
commit: dd47d1b3ec10aa6779430d1c1142e64d462ee707 |
2 |
Author: Marek Szuba <marecki <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Oct 12 21:55:29 2021 +0000 |
4 |
Commit: Marek Szuba <marecki <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Oct 12 22:22:54 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd47d1b3 |
7 |
|
8 |
sci-libs/sundials: implement USE=int64 |
9 |
|
10 |
What it already does: |
11 |
* allows changing the index size from 64 (default) to 32 bits |
12 |
* if USE=superlumt is set makes sure the state of USE=int64 in |
13 |
sci-libs/superlu_mt is the same as here, so that the assumption |
14 |
about index-type compatibility made in sunlinsol_superlumt.h is |
15 |
correct |
16 |
* allows test_sunlinsol_superlumt_300_0_1_0 and |
17 |
test_sunlinsol_superlumt_300_1_1_0 to pass *if USE=-int64* |
18 |
|
19 |
What still needs work: |
20 |
* getting the two superlumt tests to pass for USE=int64 - they still |
21 |
fail with "COLAMD failed at line 58 in file get_perm_c.c" |
22 |
|
23 |
Bug: https://bugs.gentoo.org/817680 |
24 |
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org> |
25 |
|
26 |
sci-libs/sundials/metadata.xml | 1 + |
27 |
sci-libs/sundials/sundials-5.8.0.ebuild | 5 +++-- |
28 |
2 files changed, 4 insertions(+), 2 deletions(-) |
29 |
|
30 |
diff --git a/sci-libs/sundials/metadata.xml b/sci-libs/sundials/metadata.xml |
31 |
index ad709aab336..7e8359df030 100644 |
32 |
--- a/sci-libs/sundials/metadata.xml |
33 |
+++ b/sci-libs/sundials/metadata.xml |
34 |
@@ -16,6 +16,7 @@ |
35 |
</longdescription> |
36 |
<use> |
37 |
<flag name="hypre">Build with <pkg>sci-libs/hypre</pkg> conditioners</flag> |
38 |
+ <flag name="int64">Use index size of 64 rather than 32 bits</flag> |
39 |
<flag name="sparse">Enable support for <pkg>sci-libs/klu</pkg> sparse solver</flag> |
40 |
<flag name="superlumt">Build with <pkg>sci-libs/superlu_mt</pkg></flag> |
41 |
</use> |
42 |
|
43 |
diff --git a/sci-libs/sundials/sundials-5.8.0.ebuild b/sci-libs/sundials/sundials-5.8.0.ebuild |
44 |
index 894e7ef201c..5b64bd8198a 100644 |
45 |
--- a/sci-libs/sundials/sundials-5.8.0.ebuild |
46 |
+++ b/sci-libs/sundials/sundials-5.8.0.ebuild |
47 |
@@ -17,7 +17,7 @@ SRC_URI="https://github.com/LLNL/${PN}/releases/download/v${PV}/${P}.tar.gz" |
48 |
LICENSE="BSD" |
49 |
SLOT="0/$(ver_cut 1)" |
50 |
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" |
51 |
-IUSE="doc examples fortran hypre lapack mpi openmp sparse +static-libs superlumt threads" |
52 |
+IUSE="doc examples fortran hypre +int64 lapack mpi openmp sparse +static-libs superlumt threads" |
53 |
REQUIRED_USE=" |
54 |
fortran? ( static-libs ) |
55 |
hypre? ( mpi ) |
56 |
@@ -31,7 +31,7 @@ RDEPEND=" |
57 |
virtual/mpi[fortran?] |
58 |
) |
59 |
sparse? ( sci-libs/klu ) |
60 |
- superlumt? ( sci-libs/superlu_mt:= ) |
61 |
+ superlumt? ( sci-libs/superlu_mt:=[int64=] ) |
62 |
" |
63 |
DEPEND="${RDEPEND}" |
64 |
|
65 |
@@ -69,6 +69,7 @@ src_configure() { |
66 |
-DENABLE_SUPERLUMT=$(usex superlumt) |
67 |
-DEXAMPLES_INSTALL=ON |
68 |
-DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples" |
69 |
+ -DSUNDIALS_INDEX_SIZE="$(usex int64 64 32)" |
70 |
-DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt" |
71 |
-DSUPERLUMT_LIBRARY="-lsuperlu_mt" |
72 |
-DUSE_GENERIC_MATH=ON |