aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-libs/trilinos/ChangeLog6
-rw-r--r--sci-libs/trilinos/Manifest1
-rw-r--r--sci-libs/trilinos/files/trilinos-11.12.1-fix-install-paths.patch61
-rw-r--r--sci-libs/trilinos/trilinos-11.12.1.ebuild202
4 files changed, 270 insertions, 0 deletions
diff --git a/sci-libs/trilinos/ChangeLog b/sci-libs/trilinos/ChangeLog
index d6c571df8..82242b87f 100644
--- a/sci-libs/trilinos/ChangeLog
+++ b/sci-libs/trilinos/ChangeLog
@@ -2,6 +2,12 @@
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+*trilinos-11.12.1 (06 Dec 2014)
+
+ 06 Dec 2014; Matthias Maier <tamiko@gentoo.org>
+ +files/trilinos-11.12.1-fix-install-paths.patch, +trilinos-11.12.1.ebuild:
+ version bump
+
*trilinos-11.10.2 (21 Oct 2014)
21 Oct 2014; Matthias Maier <tamiko@gentoo.org> +trilinos-11.10.2.ebuild,
diff --git a/sci-libs/trilinos/Manifest b/sci-libs/trilinos/Manifest
index be2c62aeb..e4ac6e9b1 100644
--- a/sci-libs/trilinos/Manifest
+++ b/sci-libs/trilinos/Manifest
@@ -1,4 +1,5 @@
DIST trilinos-11.0.3-Source.tar.gz 107076534 SHA256 4e9d68d23eac1076200a3224fab14cd3a63a77574f1456d1bff931b2887b5c63 SHA512 9c449c6f9b2bc6346867bc68c29f83edc81790889d483129a98d149e1ff79d32b13310e8fcb3b4412b2f722b5d7efedd2a65f2e882b38629d4a1d50ecfc9783f WHIRLPOOL 7af72bd92cb4aa72ec8d98065570c9af2cc04187b7b2cce5d701e25d2c25efdc8826a4359b035008b8cf086026b88126bcfa6e807cac4f18d5fb745a48568f10
DIST trilinos-11.10.2-Source.tar.bz2 110633685 SHA256 d3a39b7ad5c61d1e1413f9e550f0a81832a36e4a3072b8b99cebed6900d2d0ea SHA512 0147ed8d4483765ef03114eaed8098b0b41f81dde09147e584ce4e3f8fd2465ad11a6edd288f9ed857bfc163ed45d1a728989a185c22c819434cbb1ffdadd7cb WHIRLPOOL 7229a984a2c894f8edab01ec675fc5582553ca4ef652bda3006318b91d1d56f581ecc5eaed4a023e20cb25e9969a57e61735e415f6c734d41796b905fa9978ae
+DIST trilinos-11.12.1-Source.tar.bz2 119524933 SHA256 a41539414529c65905260b3befe3aee4f1dd1015ff719f0f6b5a10902d576fda SHA512 84e76f21494da39b3742b15a7203c98d6ae761a628add384fa0494bed89a2eb37aacc9fd4731ed9e06a4c81b75fd73b05b5e627e10fb2a4a67fc937903c78fd8 WHIRLPOOL 90a4f5cbf1ac91583ca5ff8287fa1898859b7f243b497e3001dd173be504b5c566c31bc38a08e4d001c5672e7ecb9118ceabbe8c76851e2d623403c3a9038b0a
DIST trilinos-11.2.3-Source.tar.bz2 101522486 SHA256 e8c7a899b9cbb1a8b168b3da5621eb34c9e48c2d48dfbf651366a50a465772c2 SHA512 9a64fd092012a67e0c317fb242a5e6378e543f8aa11d0f9e0bb45569c5f7e146f97e85a462305fe3c92436cc2540b95597c2ffc9bbcfc4b7ee08d9a09dbcdb80 WHIRLPOOL ac27521c7c5ca2e4337ff1aa9f18e68bcde8c5130821dfc8cda5af10c91e2e79e20017c2b76773ca412234b43885df30d781a0cb67ae2c15c47c091f548bdb8e
DIST trilinos-11.4.2-Source.tar.bz2 104205684 SHA256 9bbf33936c5c1e83e0c5a5e336fbdac8e59d0bebf766a4369ad32bfdf15f4199 SHA512 06e8d6873409b8aae3660890a1d3f05467f137a9ec28780ec600531907627e3f123a97e2d3681510d18762beea8dca4fa859308797d75c1862c51c06890ae1da WHIRLPOOL 1b774b77d4efbc582012240290aa7d03df0ae12e87530da1b87be3ce591db60b793941c9f6b70df596fb1e29c33208d1a0c4353c278bc394711477e9a9e47d23
diff --git a/sci-libs/trilinos/files/trilinos-11.12.1-fix-install-paths.patch b/sci-libs/trilinos/files/trilinos-11.12.1-fix-install-paths.patch
new file mode 100644
index 000000000..130f3cee3
--- /dev/null
+++ b/sci-libs/trilinos/files/trilinos-11.12.1-fix-install-paths.patch
@@ -0,0 +1,61 @@
+diff --git a/cmake/tribits/package_arch/TribitsWriteClientExportFiles.cmake b/cmake/tribits/package_arch/TribitsWriteClientExportFiles.cmake
+index e1c633f..864488f 100644
+--- a/cmake/tribits/package_arch/TribitsWriteClientExportFiles.cmake
++++ b/cmake/tribits/package_arch/TribitsWriteClientExportFiles.cmake
+@@ -494,8 +494,8 @@ INCLUDE(\"${PROJECT_BINARY_DIR}/${PACKAGE_NAME}Targets.cmake\")"
+ FOREACH(PATH ${PATH_LIST})
+ SET(RELATIVE_PATH "${RELATIVE_PATH}/..")
+ ENDFOREACH()
+- SET(FULL_LIBRARY_DIRS_SET "\${CMAKE_CURRENT_LIST_DIR}/${RELATIVE_PATH}/${${PROJECT_NAME}_INSTALL_LIB_DIR}")
+- SET(FULL_INCLUDE_DIRS_SET "\${CMAKE_CURRENT_LIST_DIR}/${RELATIVE_PATH}/${${PROJECT_NAME}_INSTALL_INCLUDE_DIR}")
++ SET(FULL_LIBRARY_DIRS_SET "${${PROJECT_NAME}_INSTALL_LIB_DIR}")
++ SET(FULL_INCLUDE_DIRS_SET "${${PROJECT_NAME}_INSTALL_INCLUDE_DIR}")
+
+ # Custom code in configuration file.
+ SET(PACKAGE_CONFIG_CODE "")
+@@ -574,14 +574,14 @@ FUNCTION(TRIBITS_WRITE_PROJECT_CLIENT_EXPORT_FILES_INSTALL_TARGETS PACKAGE_NAME)
+ IF (${PROJECT_NAME}_ENABLE_INSTALL_CMAKE_CONFIG_FILES)
+ INSTALL(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${PACKAGE_NAME}Config_install.cmake
+- DESTINATION "${${PROJECT_NAME}_INSTALL_LIB_DIR}/cmake/${PACKAGE_NAME}"
++ DESTINATION "${${PROJECT_NAME}_INSTALL_CONFIG_DIR}/${PACKAGE_NAME}"
+ RENAME ${PACKAGE_NAME}Config.cmake
+ )
+
+ IF(${PACKAGE_NAME}_HAS_NATIVE_LIBRARIES)
+ INSTALL(
+ EXPORT ${PACKAGE_NAME}
+- DESTINATION "${${PROJECT_NAME}_INSTALL_LIB_DIR}/cmake/${PACKAGE_NAME}"
++ DESTINATION "${${PROJECT_NAME}_INSTALL_CONFIG_DIR}/${PROJECT_NAME}"
+ FILE ${PACKAGE_NAME}Targets.cmake
+ )
+ ENDIF()
+@@ -819,8 +819,8 @@ include(\"${${TRIBITS_PACKAGE}_BINARY_DIR}/${TRIBITS_PACKAGE}Config.cmake\")")
+ FOREACH(PATH ${PATH_LIST})
+ SET(RELATIVE_PATH "${RELATIVE_PATH}/..")
+ ENDFOREACH()
+- SET(${PROJECT_NAME}_CONFIG_INCLUDE_DIRS "\${CMAKE_CURRENT_LIST_DIR}/${RELATIVE_PATH}/${${PROJECT_NAME}_INSTALL_INCLUDE_DIR}")
+- SET(${PROJECT_NAME}_CONFIG_LIBRARY_DIRS "\${CMAKE_CURRENT_LIST_DIR}/${RELATIVE_PATH}/${${PROJECT_NAME}_INSTALL_LIB_DIR}")
++ SET(${PROJECT_NAME}_CONFIG_INCLUDE_DIRS "${${PROJECT_NAME}_INSTALL_INCLUDE_DIR}")
++ SET(${PROJECT_NAME}_CONFIG_LIBRARY_DIRS "${${PROJECT_NAME}_INSTALL_LIB_DIR}")
+
+ # Write the specification of the rpath if necessary. This is only needed if we're building shared libraries.
+ IF(BUILD_SHARED_LIBS)
+@@ -845,7 +845,7 @@ include(\"\${CMAKE_CURRENT_LIST_DIR}/../${TRIBITS_PACKAGE}/${TRIBITS_PACKAGE}Con
+
+ INSTALL(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config_install.cmake
+- DESTINATION "${${PROJECT_NAME}_INSTALL_LIB_DIR}/cmake/${PROJECT_NAME}"
++ DESTINATION "${${PROJECT_NAME}_INSTALL_CONFIG_DIR}/${PROJECT_NAME}"
+ RENAME ${PROJECT_NAME}Config.cmake
+ )
+ ENDIF()
+@@ -890,7 +890,7 @@ include(\"\${CMAKE_CURRENT_LIST_DIR}/../${TRIBITS_PACKAGE}/${TRIBITS_PACKAGE}Con
+ )
+ INSTALL(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
+- DESTINATION "${${PROJECT_NAME}_INSTALL_LIB_DIR}/cmake/${PROJECT_NAME}"
++ DESTINATION "${${PROJECT_NAME}_INSTALL_CONFIG_DIR}/${PROJECT_NAME}"
+ )
+
+ ENDFUNCTION()
diff --git a/sci-libs/trilinos/trilinos-11.12.1.ebuild b/sci-libs/trilinos/trilinos-11.12.1.ebuild
new file mode 100644
index 000000000..51734a4e3
--- /dev/null
+++ b/sci-libs/trilinos/trilinos-11.12.1.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+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="${P}-Source.tar.bz2"
+
+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 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 fetch"
+
+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 )
+ 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}"/${P}-fix-install-paths.patch
+}
+
+src_configure() {
+
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}"
+ -DTrilinos_ENABLE_ALL_PACKAGES=ON
+ -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 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
+}