sci-libs/sundials: upgrade to 3.1.2
authorMo Zhou <cdluminate@gmail.com>
Thu, 18 Apr 2019 12:43:03 +0000 (12:43 +0000)
committerBenda Xu <heroxbd@gentoo.org>
Sat, 20 Apr 2019 05:58:44 +0000 (13:58 +0800)
Closes: https://bugs.gentoo.org/679160
Closes: https://github.com/gentoo/gentoo/pull/11715
Signed-off-by: Benda Xu <heroxbd@gentoo.org>
sci-libs/sundials/Manifest
sci-libs/sundials/files/sundials-3.1.2-fix-license-install-path.patch [new file with mode: 0644]
sci-libs/sundials/sundials-3.1.2.ebuild [new file with mode: 0644]

index c97d47fcd0b3f01ac1106daed02f84afa7179f9a..3e32eb9e943f105fb5a9b641eb09e718524eeef1 100644 (file)
@@ -1,3 +1,4 @@
 DIST sundials-2.7.0.tar.gz 12258093 BLAKE2B 331fcf255f2bb8bcc798818b05db114feda7aacb6585177a836f17a9b58477f504099b4a33c7d71cab6e70eeb6fe47a76d101c08aa6219ee6fbac630524d5928 SHA512 c86c167538065a4109b36ae7c8f60f3d92184133cfa661b5acfccee052c38f40be865412a1746bb57907b61602c212c0f15e1e30ef29e8a49db6d46a75a28e69
 DIST sundials-3.0.0.tar.gz 12996039 BLAKE2B 0557190f6f7550bd4d7d3df10f727c6f235ff4917f2cfd35ca77785037edc43236a82383664f6fe1579bb5b07a148875b82b22f5a9e4f5f2a0607838e8a3b286 SHA512 3c86c7f27e64c2e6732546b0b1e87ea092502e361cae09b3b7eb29795c978edf494e17be13b78541dc91cc0709d928006bd0fc62ea968f2b621efa51856cdd60
 DIST sundials-3.1.0.tar.gz 13033516 BLAKE2B 41294c1022ab09db6fbfa0d41c169d2ead3483693653a9c0cc26fdffec61918fed5e93241f64f9bfdc6ff22812fb846f3ea8deecd82c28d179dded85ec2c69ba SHA512 288427e00f58c512583cc14d81385e82b0fdeaa4e9adca588a108ad0752341b7be62c9fa2740924ec733e3e0d5794f305dc582fc72e244e675e5ea00ac0d08ca
+DIST sundials-3.1.2.tar.gz 18212893 BLAKE2B cee897f59920d6530553e4005b043fe615bf86ed6cc4ecb829afc25ea46c1a37cefd5a05584bd763af29689980d7bb03442ad22c4b83dd3af2406e786540652a SHA512 b65989998b440b2b5c5d000f4b86d8bcbf03215fcee4e348cd4b8ff935ea3471a3593ab8bd0e7d5f8ba519b5a1285cc93d41ec622d0b51592d7593c7579af082
diff --git a/sci-libs/sundials/files/sundials-3.1.2-fix-license-install-path.patch b/sci-libs/sundials/files/sundials-3.1.2-fix-license-install-path.patch
new file mode 100644 (file)
index 0000000..188e299
--- /dev/null
@@ -0,0 +1,9 @@
+diff -ru sundials-3.1.2.orig/CMakeLists.txt sundials-3.1.2/CMakeLists.txt
+--- sundials-3.1.2.orig/CMakeLists.txt 2018-07-31 17:25:19.000000000 -0000
++++ sundials-3.1.2/CMakeLists.txt      2019-04-17 12:18:58.894563957 -0000
+@@ -1629,4 +1629,4 @@
+ # install license file
+ INSTALL(
+   FILES ${PROJECT_SOURCE_DIR}/LICENSE
+-  DESTINATION include/sundials)
++  DESTINATION share/doc/sundials-3.1.2)
diff --git a/sci-libs/sundials/sundials-3.1.2.ebuild b/sci-libs/sundials/sundials-3.1.2.ebuild
new file mode 100644 (file)
index 0000000..e5ad232
--- /dev/null
@@ -0,0 +1,78 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD=90
+
+inherit cmake-utils toolchain-funcs fortran-2 versionator
+
+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/$(get_major_version)"
+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)"
+               -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so"
+               -DLAPACK_ENABLE="$(usex lapack)"
+               -DMPI_ENABLE="$(usex mpi)"
+               -DOPENMP_ENABLE="$(usex openmp)"
+               -DPTHREAD_ENABLE="$(usex threads)"
+               -DSUPERLUMT_ENABLE="$(usex superlumt)"
+               -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
+               -DSUPERLUMT_LIBRARY="superlu_mt"
+               -DEXAMPLES_ENABLE="$(usex examples)"
+               -DEXAMPLES_INSTALL=ON
+               -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
+               -DUSE_GENERIC_MATH=ON
+       )
+       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
+
+       # Use a sledgehammer, patching the buildsystem is too annoyoing (the
+       # CMake build systems consists of 2000 "lib" DESTINATIONS...)
+       if [[ lib != $(get_libdir) ]]; then
+               mv "${ED%/}"/usr/lib "${ED%/}"/usr/$(get_libdir) || die
+       fi
+}