sci-libs/sundials: add 7.3.0

Signed-off-by: Matthias Maier <tamiko@gentoo.org>
This commit is contained in:
Matthias Maier
2025-07-01 10:49:21 -05:00
parent 64fb6d4f52
commit b9100a078a
3 changed files with 127 additions and 0 deletions

View File

@@ -3,3 +3,4 @@ DIST sundials-6.2.0.tar.gz 82410068 BLAKE2B c6aa9735198465bb458590ef1a90101e2462
DIST sundials-6.5.0.tar.gz 89142911 BLAKE2B 3605686f813928fe55e5aafd409c478cf782411b5d2e510121fe15cc15eae84a5d0fe7470c7c0c976fbe11e7f0fd0e9fb449ae45b4c34aa077ac1acb25255cf5 SHA512 30ad3d3f998df6a6381a14b0c8fe247a5507e386ed1b9b55afae87b976f15026d7b4e8609c3cf8423ad79e1b55bade40dc66b274dc3422e040cb12fec981d502
DIST sundials-7.0.0.tar.gz 91813927 BLAKE2B 5fab34e674473078812e9a7be43d19ac2595adf7d6f7b71f90375546578eaf42f7e45d1d6297dbedbbc454fb84f741c4e5a4e43766dfc2774ac5dadfcb3295d7 SHA512 4f818124985d6083c6c1a9d34ae2f7d8e6f9a5ca1c1c01e8d00d2b516fdd34eb634c9e601c8a0d1515f198a70d3c1f11118da99a48b4d067464312b02d8265a9
DIST sundials-7.1.1.tar.gz 93104639 BLAKE2B 0bd6197c776dffc1621d2212611eb93e69a4691765474eb005759334afbba344cd120fa9d1a5b3fe5bc8cb67cd0eeb210e730fa00aaa6e022490fd5278aa2570 SHA512 5dc1329f8baf94601133e66def9db95e3d62dc954c1f2d52612aea121600b93f188089d361ff0fc7bdf0264daee13b9b062174705dc06ceecbde2eb2121856a2
DIST sundials-7.3.0.tar.gz 92369377 BLAKE2B ea29e29c1421adccc09d092a889b47eb097b449e6de74c5412f0ae8bdb2be361b7cca3ff2c068b8e006004a9f92e08914b73f69ba20a5eba30854b42f6e7bcd1 SHA512 74a7fabde28fe0878881f748d7863e751f8dd7303a2cd26c0ae6b81f86953e93cc402da5872bcbecdc01baac960fb18f756349495993a83c06e84cacd0a56d08

View File

@@ -0,0 +1,16 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0b76779..dfa0e29 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -259,9 +259,9 @@ endif()
# install license and notice files
install(FILES "${PROJECT_SOURCE_DIR}/LICENSE"
- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sundials")
+ DESTINATION "${CMAKE_INSTALL_DOCDIR}")
install(FILES "${PROJECT_SOURCE_DIR}/NOTICE"
- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sundials")
+ DESTINATION "${CMAKE_INSTALL_DOCDIR}")
# create package version file
include(CMakePackageConfigHelpers)

View File

@@ -0,0 +1,110 @@
# Copyright 1999-2025 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}"/${P}-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
}