diff options
Diffstat (limited to 'sci-libs')
-rw-r--r-- | sci-libs/sundials/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/sundials/files/sundials-3.2.1-fix-license-install-path.patch | 9 | ||||
-rw-r--r-- | sci-libs/sundials/sundials-3.2.1.ebuild | 77 |
3 files changed, 87 insertions, 0 deletions
diff --git a/sci-libs/sundials/Manifest b/sci-libs/sundials/Manifest index 76d2de2d2679..8e2bf49a6617 100644 --- a/sci-libs/sundials/Manifest +++ b/sci-libs/sundials/Manifest @@ -1 +1,2 @@ +DIST sundials-3.2.1.tar.gz 14958699 BLAKE2B ecc4b454ec589e9177acc9375e1db370ad6281f8d29580d9558ad3146dbbaab52794013e9cb56ad83f7309dbd3084a1ccaf6972c6b1468cefcc86bf30d3a460c SHA512 1f3e4b12f368e4f50c38b970c012f1702e339319ee0a858661bdf83e5739bb5b8a36f98b82e2ef76d1ce8a473123046347ee1b44f3cb685509823864f0af1384 DIST sundials-5.2.0.tar.gz 18639221 BLAKE2B c10e6deb5839993b8601347be94412d0b0c058084b4dc0d380681f7b4debd535f9736c2ef734e9fd84c6ddc190ab05f46abcb711225ec1f156a18d8edb6317fb SHA512 99163a104e436dab4779c77519502b5614b65d726324b29b14236315f6916beb5863fcd56b5acf19f62985c033b227fba1ebd3d3c4607ce991d94ee7739bb55f diff --git a/sci-libs/sundials/files/sundials-3.2.1-fix-license-install-path.patch b/sci-libs/sundials/files/sundials-3.2.1-fix-license-install-path.patch new file mode 100644 index 000000000000..eba90b52ac48 --- /dev/null +++ b/sci-libs/sundials/files/sundials-3.2.1-fix-license-install-path.patch @@ -0,0 +1,9 @@ +diff -Nur old/CMakeLists.txt new/CMakeLists.txt +--- old/CMakeLists.txt 2018-10-11 22:22:09.000000000 +0300 ++++ new/CMakeLists.txt 2019-06-23 00:33:27.000000000 +0300 +@@ -1117,4 +1117,4 @@ + # install license file + INSTALL( + FILES ${PROJECT_SOURCE_DIR}/LICENSE +- DESTINATION include/sundials) ++ DESTINATION share/doc/sundials-3.2.1) diff --git a/sci-libs/sundials/sundials-3.2.1.ebuild b/sci-libs/sundials/sundials-3.2.1.ebuild new file mode 100644 index 000000000000..36bca3f96aa9 --- /dev/null +++ b/sci-libs/sundials/sundials-3.2.1.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_MAKEFILE_GENERATOR="emake" +FORTRAN_NEEDED=fortran +FORTRAN_STANDARD=90 + +inherit cmake-utils toolchain-funcs fortran-2 + +DESCRIPTION="Suite of nonlinear solvers" +HOMEPAGE="https://computation.llnl.gov/projects/sundials" +SRC_URI="https://computation.llnl.gov/projects/sundials/download/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/$(ver_cut 1)" +KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="cxx doc examples fortran hypre lapack mpi openmp sparse static-libs superlumt threads" +REQUIRED_USE="hypre? ( mpi )" + +RDEPEND=" + lapack? ( virtual/lapack ) + mpi? ( virtual/mpi sci-libs/hypre:= ) + sparse? ( sci-libs/klu:= ) + superlumt? ( sci-libs/superlu_mt:= ) +" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +PATCHES=( "${FILESDIR}"/${P}-fix-license-install-path.patch ) + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp && [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then + ewarn "OpenMP is not available in your current selected gcc" + die "need openmp capable gcc" + fi +} + +src_configure() { + mycmakeargs+=( + -DBUILD_SHARED_LIBS=ON + -DBUILD_STATIC_LIBS="$(usex static-libs)" + -DCXX_ENABLE="$(usex cxx)" + -DFCMIX_ENABLE="$(usex fortran)" + -DF90_ENABLE="$(usex fortran)" + -DHYPRE_ENABLE="$(usex hypre)" + -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre" + -DKLU_ENABLE="$(usex sparse)" + -DLAPACK_ENABLE="$(usex lapack)" + -DMPI_ENABLE="$(usex mpi)" + -DOPENMP_ENABLE="$(usex openmp)" + -DPTHREAD_ENABLE="$(usex threads)" + -DSUPERLUMT_ENABLE="$(usex superlumt)" + -DEXAMPLES_ENABLE="$(usex examples)" + -DEXAMPLES_INSTALL=ON + -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples" + -DUSE_GENERIC_MATH=ON + ) + use sparse && mycmakeargs+=( + -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so" + ) + use superlumt && mycmakeargs+=( + -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt" + -DSUPERLUMT_LIBRARY="superlu_mt" + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + use doc && dodoc doc/*/*.pdf + cd src + for r in */README; do + newdoc ${r} README-${r%/*} + done +} |