commit:     f6fbd9557fb7924a23114b09c528395e2fe94386
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 27 05:50:46 2015 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Thu Aug 27 05:50:46 2015 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=f6fbd955

sci-libs/trilinos: version bump to 12.2.1

Package-Manager: portage-2.2.20.1

 sci-libs/trilinos/ChangeLog              |   5 +
 sci-libs/trilinos/trilinos-12.2.1.ebuild | 207 +++++++++++++++++++++++++++++++
 2 files changed, 212 insertions(+)

diff --git a/sci-libs/trilinos/ChangeLog b/sci-libs/trilinos/ChangeLog
index f2be69f..4957c5c 100644
--- a/sci-libs/trilinos/ChangeLog
+++ b/sci-libs/trilinos/ChangeLog
@@ -2,6 +2,11 @@
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
 # $Id$
 
+*trilinos-12.2.1 (27 Aug 2015)
+
+  27 Aug 2015; Matthias Maier <tam...@gentoo.org> +trilinos-12.2.1.ebuild:
+  sci-libs/trilinos: version bump to 12.2.1
+
 *trilinos-12.0.1 (13 Jul 2015)
 
   13 Jul 2015; Matthias Maier <tam...@gentoo.org>

diff --git a/sci-libs/trilinos/trilinos-12.2.1.ebuild 
b/sci-libs/trilinos/trilinos-12.2.1.ebuild
new file mode 100644
index 0000000..b090b96
--- /dev/null
+++ b/sci-libs/trilinos/trilinos-12.2.1.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils toolchain-funcs multilib toolchain-funcs
+
+DESCRIPTION="Scientific library collection for large scale problems"
+HOMEPAGE="http://trilinos.sandia.gov/";
+SRC_URI="http://trilinos.org/oldsite/download/files/${P}-Source.tar.gz";
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+LICENSE="BSD LGPL-2.1"
+SLOT="0"
+
+IUSE="
+       adolc arprec boost clp cppunit cuda eigen glpk gtest hdf5 hwloc hypre
+       matio metis mkl mumps netcdf petsc qd qt4 scalapack scotch sparse
+       superlu taucs tbb test threads tvmet yaml zlib
+"
+
+# TODO: fix export cmake function for tests
+RESTRICT="test"
+
+RDEPEND="
+       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 )
+       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 )
+       qt4? ( dev-qt/qtgui:4 )
+       scalapack? ( virtual/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 )"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+S="${WORKDIR}/${P}-Source"
+
+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}" )
+}
+
+trilinos_enable() {
+       cmake-utils_use $1 TPL_ENABLE_${2:-${1^^}}
+}
+
+src_prepare() {
+       epatch "${FILESDIR}"/${PN}-11.14.1-fix-install-paths.patch
+       epatch "${FILESDIR}"/${PN}-12.0.1-fix_install_paths_for_destdir.patch
+}
+
+src_configure() {
+
+       # temporarily disable SEACAS and pyTrilinos compilation
+       local mycmakeargs=(
+               -DBUILD_SHARED_LIBS=ON
+               -DCMAKE_INSTALL_PREFIX="${EPREFIX}"
+               -DTrilinos_ENABLE_ALL_PACKAGES=ON
+               -DTrilinos_ENABLE_SEACAS=OFF
+               -DTrilinos_ENABLE_PyTrilinos=OFF
+               -DTrilinos_INSTALL_INCLUDE_DIR="${EPREFIX}/usr/include/trilinos"
+               
-DTrilinos_INSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)/trilinos"
+               
-DTrilinos_INSTALL_CONFIG_DIR="${EPREFIX}/usr/$(get_libdir)/cmake"
+               -DTPL_ENABLE_BinUtils=ON
+               -DTPL_ENABLE_MPI=ON
+               -DTPL_ENABLE_BLAS=ON
+               -DTPL_ENABLE_LAPACK=ON
+               $(cmake-utils_use test Trilinos_ENABLE_TESTS)
+               $(trilinos_enable adolc)
+               $(trilinos_enable arprec)
+               $(trilinos_enable boost Boost)
+               $(trilinos_enable boost BoostLib)
+               $(trilinos_enable cppunit Cppunit)
+               $(trilinos_enable clp Clp)
+               $(trilinos_enable cuda)
+               $(trilinos_enable cuda CUSPARSE)
+               $(trilinos_enable cuda Thrust)
+               $(trilinos_enable eigen Eigen)
+               $(trilinos_enable gtest gtest)
+               $(trilinos_enable glpk)
+               $(trilinos_enable hdf5)
+               $(trilinos_enable hwloc)
+               $(trilinos_enable hypre)
+               $(trilinos_enable matio)
+               $(trilinos_enable metis)
+               $(trilinos_enable mkl)
+               $(trilinos_enable mkl PARDISO_MKL)
+               $(trilinos_enable mumps)
+               $(trilinos_enable netcdf Netcdf)
+               $(trilinos_enable petsc)
+               $(trilinos_enable qd)
+               $(trilinos_enable qt4 QT)
+               $(trilinos_enable scalapack)
+               $(trilinos_enable scalapack BLACS)
+               $(trilinos_enable scotch Scotch)
+               $(trilinos_enable sparse AMD)
+               $(trilinos_enable sparse CSparse)
+               $(trilinos_enable sparse UMFPACK)
+               $(trilinos_enable superlu SuperLU)
+               $(trilinos_enable taucs)
+               $(trilinos_enable tbb)
+               $(trilinos_enable threads Pthread)
+               $(trilinos_enable tvmet)
+               $(trilinos_enable yaml yaml-cpp)
+               $(trilinos_enable zlib Zlib)
+       )
+
+       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
+
+       # TODO: do we need that line?
+       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
+
+       # TODO:
+       # python bindings with python-r1
+       # fix hypre bindings
+       # fix hdf5
+       # cuda/thrust is untested
+       # do we always need mpi? and for all packages: blah[mpi] ?
+       # install docs, examples
+       # see what packages are related, do we need REQUIRED_USE
+       # proper use flags description
+       # add more use flags/packages ?
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       # 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"
+       EOF
+       doenvd "${T}"/99trilinos
+}

Reply via email to