mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sci-libs/trilinos: drop 13.0.1-r4, 13.2.0
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
@@ -1,7 +1,3 @@
|
||||
DIST trilinos-13.0.0-patches-r0.tar.xz 7672 BLAKE2B 6412f1226549086ef2fca3c4d8bba3c5541489879f4fa37c3598a7271128e3232fa1cc56a51d44fb88d679458a79a082c3984085ddbe4bc0884b0cb45ba683c0 SHA512 91372fe0f47a1f5d4dbc1856e2cfb9d4f1eb8cc0de941013a7a6e791730c9e10decdcd4ca39b36bae836ac66040bee70af187b4a056d46b0da0fe72e8c5943fc
|
||||
DIST trilinos-13.0.1.tar.gz 157950374 BLAKE2B 79f337b02a0fe9ddf7b55334e035946204b3bb469b92fff4063896a378c82d9c5f04c0bf0e9ddd21603ecf9d84a91860606482b545916f16029a11d2b6c64aa0 SHA512 22241a9ad8b6b6ab9117aba254f65195fc0c8e1b52eacb16e763c999086b6da6b0c180d8864fbe421704e0fe0c433d37512099755d54e60f13ed525dc6c0fd57
|
||||
DIST trilinos-13.2.0-patches-r0.tar.xz 7896 BLAKE2B 7bd482fd17c7a9a0f7d536f6e65ac49d5921daf82d22803aab8cf3b24e9ce7776b5c68b20c3efdd4b1b83e558b3be3386a61ca637066828e4d535c2b0bc85138 SHA512 14824c9998152bd044d048da07787cde94636dda99999c25ad2c5d66cd59b1975bcf0618a48fe2a28d44c6e3769f2fcabc09b0ba21dca9a6beecf278c1ad2bff
|
||||
DIST trilinos-13.2.0.tar.gz 165860771 BLAKE2B 9ea8b27fd37a277aa1a988659919a012928edfd8b57a0fde240d9b9dce2832ab08fc0daf780aaab2a1422337bd02eddd6301fee203ab7ba4c213391cccd3be83 SHA512 b16dc9a815c8983f44786aac537b1b4ad7a43721eb553d6d33f07188280988f4297b4978b36d2d837a43faf16b518db29bf9b7997549318e3c95fd366eb16bc9
|
||||
DIST trilinos-13.4.0-patches-r0.tar.xz 8740 BLAKE2B 333ab9ff1acb2f4b08007c7b99b96f023f6c742e4f991fc0ab9dd6595be7e3e319a77d5e329790cedca72d7a9060df837549d28e8a6cb4b8a838570d455ae356 SHA512 f30c16801cadec2a612ab2f7d3ca05c5ddfdfc513343a182562253cdfb58d38fa8b771ab07f7bc6bcb2505d146469da2ddda478f74447de746d5eca850da123e
|
||||
DIST trilinos-13.4.0.tar.gz 168733479 BLAKE2B 3c4a1c89b792ec771c6347eebb6bb54a82fa5f172d1c5934bbd42c8bc9708a71451bd030ec0f5264191a62169b3c1305ac7a1290b3ab4845fb6e8ffef15ee03c SHA512 27a5636bac8106a0705948ca4705b739878f0d8afa74264d1cd31036811084457e27e03e86dfad59a80d5e9ee798237fa930b50574ec3e43979e53c6ab5da535
|
||||
DIST trilinos-13.4.1.tar.gz 168720416 BLAKE2B 5201c36aa998045f4eab99b67fce25f9a2f2a9524b8ca1147cd8db9ccc306e3df61336df3b2ee981317c8defbae2df9e36546a0e5ddfed3142213e437e4dfba0 SHA512 9c0fb3af2fa625cd0af1309bfa61c212e12657820707348c81355d506e07f540da5e42aa30237fbc80adf257bb636029345f248abaf7ef96fcdaed1c28ec3a19
|
||||
|
||||
@@ -1,228 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
CMAKE_MAKEFILE_GENERATOR=emake
|
||||
inherit cmake 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/${PN}-13.0.0-patches-${PATCHSET}.tar.xz"
|
||||
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
LICENSE="BSD LGPL-2.1"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="
|
||||
adolc arprec clp cuda eigen glpk gtest hdf5 hwloc hypre
|
||||
matio metis mkl mumps netcdf openmp petsc qd scalapack scotch sparse
|
||||
superlu taucs tbb test threads tvmet yaml zlib X
|
||||
"
|
||||
|
||||
# TODO: fix export cmake function for tests
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
!dev-cpp/kokkos
|
||||
dev-libs/boost:=
|
||||
sys-libs/binutils-libs:=
|
||||
virtual/blas
|
||||
virtual/lapack
|
||||
virtual/mpi
|
||||
adolc? ( sci-libs/adolc )
|
||||
arprec? ( sci-libs/arprec )
|
||||
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/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
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
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_OpenMP="$(usex openmp)"
|
||||
-DTrilinos_ENABLE_PyTrilinos=OFF
|
||||
-DTrilinos_ENABLE_SEACASChaco=OFF
|
||||
-DTrilinos_ENABLE_SEACASExodiff="$(usex netcdf)"
|
||||
-DTrilinos_ENABLE_SEACASExodus="$(usex netcdf)"
|
||||
-DTrilinos_ENABLE_SEACAS=OFF
|
||||
-DTrilinos_ENABLE_ADELUS=OFF
|
||||
-DTrilinos_ENABLE_TESTS="$(usex test)"
|
||||
-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=ON
|
||||
-DTPL_ENABLE_Boost=ON
|
||||
-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
|
||||
|
||||
# Trilinos needs a custom build type:
|
||||
local CMAKE_BUILD_TYPE=Release
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_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
|
||||
}
|
||||
@@ -1,252 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
CMAKE_MAKEFILE_GENERATOR=emake
|
||||
inherit cmake 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 all-packages arprec clp cuda eigen glpk gtest hdf5 hwloc hypre
|
||||
matio metis mkl mumps netcdf openmp petsc qd scalapack scotch
|
||||
sparse superlu taucs tbb test threads tvmet yaml zlib X
|
||||
"
|
||||
|
||||
# TODO: fix export cmake function for tests
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
!dev-cpp/kokkos
|
||||
dev-libs/boost:=
|
||||
sys-libs/binutils-libs:=
|
||||
virtual/blas
|
||||
virtual/lapack
|
||||
virtual/mpi
|
||||
adolc? ( sci-libs/adolc )
|
||||
arprec? ( sci-libs/arprec )
|
||||
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/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
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
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}" )
|
||||
}
|
||||
|
||||
#
|
||||
# The following packages are currently disabled:
|
||||
# - Adelus/Zadelus due to underlinkage.
|
||||
# - Moertel due to underlinkage
|
||||
# - SEACAS is incompatible with netcdf, see
|
||||
# https://github.com/trilinos/Trilinos/tree/master/packages/seacas#netcdf
|
||||
#
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_SHARED_LIBS=ON
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}"
|
||||
-DCMAKE_SKIP_INSTALL_RPATH=ON
|
||||
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF
|
||||
-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="$(usex all-packages)"
|
||||
-DTrilinos_ENABLE_Adelus=OFF
|
||||
-DTrilinos_ENABLE_Moertel=OFF
|
||||
-DTrilinos_ENABLE_PyTrilinos=OFF
|
||||
-DTrilinos_ENABLE_SEACAS=OFF
|
||||
-DTrilinos_ENABLE_Amesos=ON
|
||||
-DTrilinos_ENABLE_AztecOO=ON
|
||||
-DTrilinos_ENABLE_COMPLEX_DOUBLE=ON
|
||||
-DTrilinos_ENABLE_COMPLEX_FLOAT=ON
|
||||
-DTrilinos_ENABLE_EpetraExt=ON
|
||||
-DTrilinos_ENABLE_Epetra=ON
|
||||
-DTrilinos_ENABLE_Ifpack=ON
|
||||
-DTrilinos_ENABLE_ML=ON
|
||||
-DTrilinos_ENABLE_MueLu=ON
|
||||
-DTrilinos_ENABLE_OpenMP="$(usex openmp)"
|
||||
-DTrilinos_ENABLE_ROL=ON
|
||||
-DTrilinos_ENABLE_Sacado=ON
|
||||
-DTrilinos_ENABLE_Teuchos=ON
|
||||
-DTrilinos_ENABLE_Tpetra=ON
|
||||
-DTrilinos_ENABLE_Zoltan=ON
|
||||
-DTrilinos_ENABLE_TESTS="$(usex test)"
|
||||
-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=ON
|
||||
-DTPL_ENABLE_Boost=ON
|
||||
-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)"
|
||||
)
|
||||
|
||||
#
|
||||
# Make sure some critical configuration options are always set
|
||||
# correctly independently of what Trilinos dependency resolver thinks
|
||||
# it should be doing.
|
||||
#
|
||||
local mycmakeargs+=(
|
||||
-DAmesos2_ENABLE_LAPACK=ON
|
||||
-DAmesos2_ENABLE_MUMPS=OFF
|
||||
-DTpetra_INST_SERIAL=ON
|
||||
)
|
||||
|
||||
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.
|
||||
#
|
||||
[ ! -z "${CC}"] && export OMPI_CC="${CC}" MPICH_CC="${CC}" && tc-export OMPI_CC MPICH_CC
|
||||
[ ! -z "${CXX}"] && export OMPI_CXX="${CXX}" MPICH_CXX="${CXX}" && tc-export OMPI_CXX MPICH_CXX
|
||||
export CC=mpicc CXX=mpicxx && tc-export CC CXX
|
||||
|
||||
# Trilinos needs a custom build type:
|
||||
local CMAKE_BUILD_TYPE=Release
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_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"
|
||||
|
||||
#
|
||||
# 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
|
||||
}
|
||||
Reference in New Issue
Block a user