commit:     07ef2a48df1f419875896379e6eeba4f6929cd7b
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 24 21:16:53 2020 +0000
Commit:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Sat Oct 24 21:26:07 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=07ef2a48

sci-libs/trilinos: version bump to 13.0.0

Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>

 sci-libs/trilinos/Manifest               |   2 +
 sci-libs/trilinos/trilinos-13.0.0.ebuild | 220 +++++++++++++++++++++++++++++++
 2 files changed, 222 insertions(+)

diff --git a/sci-libs/trilinos/Manifest b/sci-libs/trilinos/Manifest
index 36e24a7c12e..53dace0ee15 100644
--- a/sci-libs/trilinos/Manifest
+++ b/sci-libs/trilinos/Manifest
@@ -2,3 +2,5 @@ DIST trilinos-12.14.1-patches-r0.tar.xz 6448 BLAKE2B 
f852a4612c400ddfb6dcecb476e
 DIST trilinos-12.14.1.tar.gz 129036436 BLAKE2B 
e7401df2ff8408a7af4a8e90d93b1929df65228c4f5cf3c754d20ebdfa8f3835800f540e87c1198e0baf2fefe0920618ae497f59373720754ab0c9dc1da93136
 SHA512 
dfff0e0582cb5ad12614dd53e9635572c8d1ee86d96f432f5a6e046af63edb13f6bfa3037204ab89fbb0d27e9be9bd9661d47efb41ab2a6e421bca5eba6b6a87
 DIST trilinos-12.18.1-patches-r0.tar.xz 6236 BLAKE2B 
fdcdedde68ef855aa98671223ad2c42467284ad7ca364e2b5ca715094a6efacc463f2d1812ee63ac980ca87dbe16bb2ac04835f52efa1df34651a608cb5407e9
 SHA512 
e6db2be4642b8f9797b0be6dd05641ae469dd5117b1b04da54ed955bd56473d6aaa69d59dfd7869db1e7059d2d9b2cb2d9269dd5ef863663eabb90c5c256b987
 DIST trilinos-12.18.1.tar.gz 152007573 BLAKE2B 
5dc2ee432d777712fb4ca1dc2d7ad68015f523fdbcbd4f55388a89d31c0946a1c5031b3e8f906952cf6b2f4f16928e6da5f17b1f6ee0f0e5669cfce5c8a09367
 SHA512 
e2a57df57e8e98ed97bbde9c1e768738f0eaccc32466aff6daa308573a860b3debee89bd570c113ca0f6a6458ff562aa6596ddf657236c368b7b2e26a4b4466b
+DIST trilinos-13.0.0-patches-r0.tar.xz 7672 BLAKE2B 
6412f1226549086ef2fca3c4d8bba3c5541489879f4fa37c3598a7271128e3232fa1cc56a51d44fb88d679458a79a082c3984085ddbe4bc0884b0cb45ba683c0
 SHA512 
91372fe0f47a1f5d4dbc1856e2cfb9d4f1eb8cc0de941013a7a6e791730c9e10decdcd4ca39b36bae836ac66040bee70af187b4a056d46b0da0fe72e8c5943fc
+DIST trilinos-13.0.0.tar.gz 157960946 BLAKE2B 
6336d71f469dd4561786092b175ec3396d6b7956aeec6ab8d9d6e87a1b1158a0840661a87514888fc16ea36c44d628dadb865a3244785c2c5d4b24213aca2096
 SHA512 
74b1e852971c8f040e8640688c879659bf6b03eed0bc6f76f31d768e7c4eb50b23fb8bfb9997d7f630001d80150161aac80fbd3237f52071657908320c1d723d

diff --git a/sci-libs/trilinos/trilinos-13.0.0.ebuild 
b/sci-libs/trilinos/trilinos-13.0.0.ebuild
new file mode 100644
index 00000000000..efce4176d97
--- /dev/null
+++ b/sci-libs/trilinos/trilinos-13.0.0.ebuild
@@ -0,0 +1,220 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CMAKE_MAKEFILE_GENERATOR=emake
+
+inherit cmake-utils toolchain-funcs multilib toolchain-funcs
+
+DESCRIPTION="Scientific library collection for large scale problems"
+HOMEPAGE="http://trilinos.sandia.gov/";
+MY_PV="${PV//\./-}"
+PATCHSET="r0"
+SRC_URI="https://github.com/${PN}/Trilinos/archive/${PN}-release-${MY_PV}.tar.gz
 -> ${P}.tar.gz
+       
https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-${PATCHSET}.tar.xz";
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+LICENSE="BSD LGPL-2.1"
+SLOT="0"
+
+IUSE="
+       adolc arprec boost clp cuda eigen glpk gtest hdf5 hwloc hypre
+       matio metis mkl mumps netcdf petsc qd scalapack scotch sparse
+       superlu taucs tbb test threads tvmet yaml zlib X
+"
+
+# TODO: fix export cmake function for tests
+RESTRICT="test"
+
+RDEPEND="
+       sys-libs/binutils-libs
+       virtual/blas
+       virtual/lapack
+       virtual/mpi
+       adolc? ( sci-libs/adolc )
+       arprec? ( sci-libs/arprec )
+       boost? ( dev-libs/boost )
+       clp? ( sci-libs/coinor-clp )
+       cuda? ( >=dev-util/nvidia-cuda-toolkit-3.2 )
+       eigen? ( dev-cpp/eigen:3 )
+       glpk? ( sci-mathematics/glpk )
+       gtest? ( dev-cpp/gtest )
+       hdf5? ( sci-libs/hdf5[mpi] )
+       hypre? ( sci-libs/hypre )
+       hwloc? ( sys-apps/hwloc )
+       matio? ( sci-libs/matio )
+       mkl? ( sci-libs/mkl )
+       metis? ( || ( sci-libs/parmetis sci-libs/metis ) )
+       mumps? ( sci-libs/mumps )
+       netcdf? ( sci-libs/netcdf )
+       petsc? ( sci-mathematics/petsc )
+       qd? ( sci-libs/qd )
+       scalapack? ( sci-libs/scalapack )
+       scotch? ( sci-libs/scotch )
+       sparse? ( sci-libs/cxsparse sci-libs/umfpack )
+       superlu? ( sci-libs/superlu )
+       taucs? ( sci-libs/taucs )
+       tbb? ( dev-cpp/tbb )
+       tvmet? ( dev-libs/tvmet )
+       yaml? ( dev-cpp/yaml-cpp )
+       zlib? ( sys-libs/zlib )
+       X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+S="${WORKDIR}/Trilinos-${PN}-release-${MY_PV}"
+
+PATCHES=(
+       "${WORKDIR}"/patches
+)
+
+trilinos_conf() {
+       local dirs libs d
+       for d in $($(tc-getPKG_CONFIG) --libs-only-L $1); do
+               dirs="${dirs};${d:2}"
+       done
+       [[ -n ${dirs} ]] && mycmakeargs+=( "-D${2}_LIBRARY_DIRS=${dirs:1}" )
+       for d in $($(tc-getPKG_CONFIG) --libs-only-l $1); do
+               libs="${libs};${d:2}"
+       done
+       [[ -n ${libs} ]] && mycmakeargs+=( "-D${2}_LIBRARY_NAMES=${libs:1}" )
+       dirs=""
+       for d in $($(tc-getPKG_CONFIG) --cflags-only-I $1); do
+               dirs="${dirs};${d:2}"
+       done
+       [[ -n ${dirs} ]] && mycmakeargs+=( "-D${2}_INCLUDE_DIRS=${dirs:1}" )
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_SHARED_LIBS=ON
+               -DCMAKE_INSTALL_PREFIX="${EPREFIX}"
+               -DCMAKE_SKIP_INSTALL_RPATH=ON
+               
-DTrilinos_INSTALL_CONFIG_DIR="${EPREFIX}/usr/$(get_libdir)/cmake"
+               -DTrilinos_INSTALL_INCLUDE_DIR="${EPREFIX}/usr/include/trilinos"
+               
-DTrilinos_INSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)/trilinos"
+               -DTrilinos_ENABLE_ALL_PACKAGES=ON
+               -DTrilinos_ENABLE_PyTrilinos=OFF
+               -DTrilinos_ENABLE_SEACAS=OFF
+               -DTrilinos_ENABLE_SEACASChaco=OFF
+               -DTrilinos_ENABLE_SEACASExodiff="$(usex netcdf)"
+               -DTrilinos_ENABLE_SEACASExodus="$(usex netcdf)"
+               -DTrilinos_ENABLE_TESTS="$(usex test)"
+               -DZoltan2_ENABLE_Experimental=ON
+               -DTPL_ENABLE_BinUtils=ON
+               -DTPL_ENABLE_BLAS=ON
+               -DTPL_ENABLE_LAPACK=ON
+               -DTPL_ENABLE_MPI=ON
+               -DTPL_ENABLE_ADOLC="$(usex adolc)"
+               -DTPL_ENABLE_AMD="$(usex sparse)"
+               -DTPL_ENABLE_ARPREC="$(usex arprec)"
+               -DTPL_ENABLE_BLACS="$(usex scalapack)"
+               -DTPL_ENABLE_BoostLib="$(usex boost)"
+               -DTPL_ENABLE_Boost="$(usex boost)"
+               -DTPL_ENABLE_Clp="$(usex clp)"
+               -DTPL_ENABLE_CSparse="$(usex sparse)"
+               -DTPL_ENABLE_CUDA="$(usex cuda)"
+               -DTPL_ENABLE_CUSPARSE="$(usex cuda)"
+               -DTPL_ENABLE_Eigen="$(usex eigen)"
+               -DTPL_ENABLE_GLPK="$(usex glpk)"
+               -DTPL_ENABLE_gtest="$(usex gtest)"
+               -DTPL_ENABLE_HDF5="$(usex hdf5)"
+               -DTPL_ENABLE_HWLOC="$(usex hwloc)"
+               -DTPL_ENABLE_HYPRE="$(usex hypre)"
+               -DTPL_ENABLE_Matio="$(usex matio)"
+               -DTPL_ENABLE_METIS="$(usex metis)"
+               -DTPL_ENABLE_MKL="$(usex mkl)"
+               -DTPL_ENABLE_MUMPS="$(usex mumps)"
+               -DTPL_ENABLE_Netcdf="$(usex netcdf)"
+               -DTPL_ENABLE_PARDISO_MKL="$(usex mkl)"
+               -DTPL_ENABLE_PETSC="$(usex petsc)"
+               -DTPL_ENABLE_Pthread="$(usex threads)"
+               -DTPL_ENABLE_QD="$(usex qd)"
+               -DTPL_ENABLE_SCALAPACK="$(usex scalapack)"
+               -DTPL_ENABLE_Scotch="$(usex scotch)"
+               -DTPL_ENABLE_SuperLU="$(usex superlu)"
+               -DTPL_ENABLE_TAUCS="$(usex taucs)"
+               -DTPL_ENABLE_TBB="$(usex tbb)"
+               -DTPL_ENABLE_Thrust="$(usex cuda)"
+               -DTPL_ENABLE_TVMET="$(usex tvmet)"
+               -DTPL_ENABLE_UMFPACK="$(usex sparse)"
+               -DTPL_ENABLE_X11="$(usex X)"
+               -DTPL_ENABLE_yaml-cpp="$(usex yaml)"
+               -DTPL_ENABLE_Zlib="$(usex zlib)"
+               -DML_ENABLE_SuperLU:BOOL=OFF
+       )
+
+       use eigen && \
+               mycmakeargs+=(
+               -DEigen_INCLUDE_DIRS="${EPREFIX}/usr/include/eigen3"
+       )
+       use hypre && \
+               mycmakeargs+=(
+               -DHYPRE_INCLUDE_DIRS="${EPREFIX}/usr/include/hypre"
+       )
+       use scotch && \
+               mycmakeargs+=(
+               -DScotch_INCLUDE_DIRS="${EPREFIX}/usr/include/scotch"
+       )
+
+       # cxsparse is a rewrite of csparse + extras
+       use sparse && \
+               mycmakeargs+=(
+               -DCSparse_LIBRARY_NAMES="cxsparse"
+       )
+
+       # mandatory blas and lapack
+       trilinos_conf blas BLAS
+       trilinos_conf lapack LAPACK
+       use superlu && trilinos_conf superlu SuperLU
+       use metis && trilinos_conf metis METIS
+
+       # blacs library is included in scalapack these days
+       if use scalapack; then
+               trilinos_conf scalapack SCALAPACK
+               mycmakeargs+=(
+                       -DBLACS_LIBRARY_NAMES="scalapack"
+                       -DBLACS_INCLUDE_DIRS="${EPREFIX}/usr/include/blacs"
+               )
+       fi
+
+       #
+       # Make sure we use the compiler wrappers in order to build trilinos.
+       #
+       export CC=mpicc CXX=mpicxx && tc-export CC CXX
+
+       #
+       # cmake-utils eclass patches the base directory CMakeLists.txt
+       # which does not work for complex Trilinos CMake modules
+       #
+       CMAKE_BUILD_TYPE=RELEASE cmake-utils_src_configure
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       # Clean up the mess:
+       mv "${ED}"/bin "${ED}/usr/$(get_libdir)"/trilinos || die "mv failed"
+       mv "${ED}/usr/$(get_libdir)"/trilinos/cmake/* 
"${ED}/usr/$(get_libdir)"/cmake || die "mv failed"
+       rmdir "${ED}/usr/$(get_libdir)/trilinos/cmake" || die "rmdir failed"
+       if [ -f "${ED}"/lib/exodus.py ]; then
+               mv "${ED}"/lib/exodus.py "${ED}/usr/$(get_libdir)"/trilinos || 
die "mv failed"
+       fi
+       if [[ $(get_libdir) != lib ]]; then
+               mv "${ED}"/usr/lib/pkgconfig "${ED}/usr/$(get_libdir)"
+       fi
+
+       mv "${ED}"/include/* "${ED}"/usr/include || die "mv failed"
+       rmdir "${ED}"/include
+
+       #
+       # register $(get_libdir)/trilinos in LDPATH so that the dynamic linker
+       # has a chance to pick up the libraries...
+       #
+       cat >> "${T}"/99trilinos <<- EOF
+       LDPATH="${EPREFIX}/usr/$(get_libdir)/trilinos"
+       PATH="${EPREFIX}/usr/$(get_libdir)/trilinos/bin"
+       EOF
+       doenvd "${T}"/99trilinos
+}

Reply via email to