diff options
author | Matthias Maier <tamiko@gentoo.org> | 2024-07-04 11:36:48 -0500 |
---|---|---|
committer | Matthias Maier <tamiko@gentoo.org> | 2024-07-04 11:53:53 -0500 |
commit | 466c0b85025e5536f5c68fb19a874756e059f62c (patch) | |
tree | 08b404f2f10a30e4075f8fdbb378fb8740c10ddd /sci-libs/sundials | |
parent | sys-auth/yubico-piv-tool: Stabilize 2.5.1 amd64, #935485 (diff) | |
download | gentoo-466c0b85025e5536f5c68fb19a874756e059f62c.tar.gz gentoo-466c0b85025e5536f5c68fb19a874756e059f62c.tar.bz2 gentoo-466c0b85025e5536f5c68fb19a874756e059f62c.zip |
sci-libs/sundials: add 7.0.0
- Remove "examples" use flag and do not compile examples that never get
installed. We already install the example source code unconditionally
as part of the documentation.
Signed-off-by: Matthias Maier <tamiko@gentoo.org>
Diffstat (limited to 'sci-libs/sundials')
-rw-r--r-- | sci-libs/sundials/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/sundials/sundials-7.0.0.ebuild | 110 |
2 files changed, 111 insertions, 0 deletions
diff --git a/sci-libs/sundials/Manifest b/sci-libs/sundials/Manifest index dc635448d6f7..b8b9223f233c 100644 --- a/sci-libs/sundials/Manifest +++ b/sci-libs/sundials/Manifest @@ -1,3 +1,4 @@ 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 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 +} |