summaryrefslogtreecommitdiff
path: root/sci-libs/sundials
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/sundials')
-rw-r--r--sci-libs/sundials/Manifest2
-rw-r--r--sci-libs/sundials/sundials-7.0.0.ebuild110
2 files changed, 112 insertions, 0 deletions
diff --git a/sci-libs/sundials/Manifest b/sci-libs/sundials/Manifest
index 34526d37a6d4..ebfcb0d1c3e9 100644
--- a/sci-libs/sundials/Manifest
+++ b/sci-libs/sundials/Manifest
@@ -2,7 +2,9 @@ AUX sundials-5.8.0-fix-license-install-path.patch 874 BLAKE2B 134158ced2c1850aed
DIST sundials-5.8.0.tar.gz 24012815 BLAKE2B f707ad7465218532f3dc4df7627b87933b2bc52be6f1ad290b91ab83a3414ae83bc64503126af8772daa000f58a89855d7ca35fe74fa21bd91180695582442c7 SHA512 d22e699aaddaeef026e91e18dd070d06278c75b6980b36c6fb2e50203ba6445420e4a8e0612a6317dcaa521aeffbdf62ab88737be235ef70cef3a8be02a13dbb
DIST sundials-6.2.0.tar.gz 82410068 BLAKE2B c6aa9735198465bb458590ef1a90101e246202632afd6bd7f48970b9a2752810ce8c5be7983097cd816189cb994efbddf8d34706665846c67d6442bd7c12db38 SHA512 0dd0a2bf6390a13a5846caf440aa6d459f3890f6d13c0eff8c8180a92a636d6eae7f64679d45acd2048de742d4c644e2ae112cb09028b3fdef10a247bee44c0b
DIST sundials-6.5.0.tar.gz 89142911 BLAKE2B 3605686f813928fe55e5aafd409c478cf782411b5d2e510121fe15cc15eae84a5d0fe7470c7c0c976fbe11e7f0fd0e9fb449ae45b4c34aa077ac1acb25255cf5 SHA512 30ad3d3f998df6a6381a14b0c8fe247a5507e386ed1b9b55afae87b976f15026d7b4e8609c3cf8423ad79e1b55bade40dc66b274dc3422e040cb12fec981d502
+DIST sundials-7.0.0.tar.gz 91813927 BLAKE2B 5fab34e674473078812e9a7be43d19ac2595adf7d6f7b71f90375546578eaf42f7e45d1d6297dbedbbc454fb84f741c4e5a4e43766dfc2774ac5dadfcb3295d7 SHA512 4f818124985d6083c6c1a9d34ae2f7d8e6f9a5ca1c1c01e8d00d2b516fdd34eb634c9e601c8a0d1515f198a70d3c1f11118da99a48b4d067464312b02d8265a9
EBUILD sundials-5.8.0.ebuild 2922 BLAKE2B d90a5297532a3e628c91d0b12407114dcc2fbded5017ddea1bdaae32b1ed8636f6a91ae190caf7e6eed86838816dbb141e27f28a49c0758f9b70323cf405764b SHA512 a2b20585f61e573e2988d1849ecddddbd99c5b2c68974ce2dc85e3f6213b6d1ff0b3e8afbbf901e1956f00213823e25b2ac2c7bc7da890c712641bd6a4bf839c
EBUILD sundials-6.2.0.ebuild 2886 BLAKE2B 63750f4301cc0f29d731e2b29e72bd84a6a187238b4a9dd109d483a7a0ebb15d0e37363380ab89423ebfd473285869e59288fe2937679cb593d6c4002935bf75 SHA512 ed8dd6ce603750074044538debab684a8ce4389a1c511e7f5490b650070e329baa1bc821f338772f77cd68f34a17d9b46b6dd25c9777c83c1f9625ea46f30831
EBUILD sundials-6.5.0.ebuild 2828 BLAKE2B 414e26d2c7f42a6aa5827ce63315ea619678c46a14a1219cb738528118f55207fcccef8696aa93152c6619e8069a432665a41afb72500d69e5397b11198ae39e SHA512 a43351cb5774f4023ea09cdb714f5f395d1f3c6eb54a829ec82f28ed2673379e06f3f6e5f264423c640cbcd3acffb83ad85e30da50de9aebbbf09c6c295e9b4d
+EBUILD sundials-7.0.0.ebuild 2611 BLAKE2B c571dd5c708a1bc558b31f5c35879459ea30db72f904068dd796ba828c6496caeff418328ead3bf8c0a5f7aead3941c7d95c4a8487e6855f2e54642d9ec0237a SHA512 a57678f359366c7c0a17d1b024651e7b2984005e14704e0bf53881985dd7a8b0b8ef5a5396b03ac87806de4fa6bea0d499265aaaf23e83a3dfaf77124ed26b3d
MISC metadata.xml 1170 BLAKE2B b2ddcc6f5a958ed045bea77fef0c8842f76fd9f3756bd82870bd605b7dcf5ae5be64c0b5a00a248d17518d0411c90f6b9da539aa5b35bf00d532f84867ed46cf SHA512 539f5e1c372b48f0f6d81a444b52c0ab2a80ecf3e7d278ed870d7189c330e8bfa3c296ddc4ea10e09029b7e44860cde62af6a4bda58d4bcd841704f5920ca23d
diff --git a/sci-libs/sundials/sundials-7.0.0.ebuild b/sci-libs/sundials/sundials-7.0.0.ebuild
new file mode 100644
index 000000000000..e3baf22eb43e
--- /dev/null
+++ b/sci-libs/sundials/sundials-7.0.0.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_MAKEFILE_GENERATOR="emake"
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD="77 90 2003"
+# if FFLAGS and FCFLAGS are set then should be equal
+
+inherit cmake flag-o-matic fortran-2 toolchain-funcs
+
+DESCRIPTION="Suite of nonlinear solvers"
+HOMEPAGE="https://computing.llnl.gov/projects/sundials"
+SRC_URI="https://github.com/LLNL/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc fortran hypre +int64 lapack mpi openmp sparse +static-libs superlumt threads"
+REQUIRED_USE="
+ fortran? ( static-libs )
+ hypre? ( mpi )
+"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ lapack? ( virtual/lapack )
+ mpi? (
+ sci-libs/hypre:=[fortran?,mpi?]
+ virtual/mpi[fortran?]
+ )
+ sparse? ( sci-libs/klu )
+ superlumt? ( sci-libs/superlu_mt:=[int64=] )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.8.0-fix-license-install-path.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ # bug #707240
+ append-cflags -fcommon
+ use threads && append-ldflags -pthread
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # undefined reference to `psolve'
+ # undefined reference to `psetup'
+ # https://bugs.gentoo.org/862933
+ # https://github.com/LLNL/sundials/issues/97
+ filter-lto
+
+ mycmakeargs+=(
+ -DBUILD_FORTRAN_MODULE_INTERFACE=$(usex fortran)
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DENABLE_HYPRE=$(usex hypre)
+ -DENABLE_KLU=$(usex sparse)
+ -DENABLE_LAPACK=$(usex lapack)
+ -DENABLE_MPI=$(usex mpi)
+ -DENABLE_OPENMP=$(usex openmp)
+ -DENABLE_PTHREAD=$(usex threads)
+ -DENABLE_SUPERLUMT=$(usex superlumt)
+ -DEXAMPLES_INSTALL=ON
+ -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
+ -DSUNDIALS_INDEX_SIZE="$(usex int64 64 32)"
+ -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
+ -DSUPERLUMT_LIBRARY="-lsuperlu_mt"
+ )
+
+ if use fortran; then
+ mycmakeargs+=(
+ -DFortran_INSTALL_MODDIR="${EPREFIX}/usr/$(get_libdir)/fortran"
+ )
+ fi
+
+ if use hypre; then
+ mycmakeargs+=(
+ -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
+ -DHYPRE_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libHYPRE.so"
+ )
+ fi
+
+ if use sparse; then
+ mycmakeargs+=(
+ -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ use doc && dodoc doc/*/*.pdf
+}