sys-process/glances: revbump 3.1.4.1, add missing doc dep
[gentoo.git] / sci-libs / sundials / sundials-5.2.0.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 CMAKE_MAKEFILE_GENERATOR="emake"
7 FORTRAN_NEEDED=fortran
8 FORTRAN_STANDARD="77 90"
9 # if FFLAGS and FCFLAGS are set then should be equal
10
11 inherit cmake fortran-2 toolchain-funcs
12
13 DESCRIPTION="Suite of nonlinear solvers"
14 HOMEPAGE="https://computation.llnl.gov/projects/sundials"
15 SRC_URI="https://computation.llnl.gov/projects/sundials/download/${P}.tar.gz"
16
17 LICENSE="BSD"
18 SLOT="0/$(ver_cut 1)"
19 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
20 IUSE="cxx doc examples fortran hypre lapack mpi openmp sparse static-libs superlumt threads"
21 REQUIRED_USE="hypre? ( mpi )"
22
23 BDEPEND="virtual/pkgconfig"
24 RDEPEND="
25         lapack? ( virtual/lapack )
26         mpi? ( virtual/mpi sci-libs/hypre:= )
27         sparse? ( sci-libs/klu )
28         superlumt? ( sci-libs/superlu_mt:= )
29 "
30 DEPEND="${RDEPEND}"
31
32 PATCHES=( "${FILESDIR}"/${P}-fix-license-install-path.patch )
33
34 pkg_setup() {
35         if [[ ${MERGE_TYPE} != binary ]] && use openmp && [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
36                 ewarn "OpenMP is not available in your current selected gcc"
37                 die "need openmp capable gcc"
38         fi
39 }
40
41 src_configure() {
42         mycmakeargs+=(
43                 -DBUILD_SHARED_LIBS=ON
44                 -DBUILD_STATIC_LIBS="$(usex static-libs)"
45                 -DCXX_ENABLE="$(usex cxx)"
46                 -DFCMIX_ENABLE="$(usex fortran)"
47                 -DF90_ENABLE="$(usex fortran)"
48                 -DHYPRE_ENABLE="$(usex hypre)"
49                 -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
50                 -DKLU_ENABLE="$(usex sparse)"
51                 -DLAPACK_ENABLE="$(usex lapack)"
52                 -DMPI_ENABLE="$(usex mpi)"
53                 -DOPENMP_ENABLE="$(usex openmp)"
54                 -DPTHREAD_ENABLE="$(usex threads)"
55                 -DSUPERLUMT_ENABLE="$(usex superlumt)"
56                 -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
57                 -DSUPERLUMT_LIBRARY="-lsuperlu_mt"
58                 -DEXAMPLES_ENABLE="$(usex examples)"
59                 -DEXAMPLES_INSTALL=ON
60                 -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
61                 -DUSE_GENERIC_MATH=ON
62         )
63         use sparse && mycmakeargs+=( -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so" )
64         cmake_src_configure
65 }
66
67 src_install() {
68         cmake_src_install
69         use doc && dodoc doc/*/*.pdf
70 }