mirror of
https://github.com/andreili/gentoo_overlay.git
synced 2025-08-23 03:14:08 +02:00
Update to latest versions.
This commit is contained in:
parent
c2d0aeabb0
commit
589675cba2
@ -2,3 +2,8 @@ dev-cpp
|
||||
dev-libs
|
||||
sci-electronics
|
||||
sci-libs
|
||||
cross-riscv32-unknown-elf
|
||||
cross-x86_64-w64-mingw32
|
||||
cross-i686-w64-mingw32
|
||||
cross-aarch64-unknown-linux-gnu
|
||||
cross-avr
|
||||
|
@ -1,14 +1,5 @@
|
||||
AUX gcc-13.patch 627 BLAKE2B dd45523c61b5f328a04ab7397d2bfbf345a15eff1c0290390111b15f67f541d74811c100d9d9930c6a9f2b8da980de0c7ad04ef7067d1d08852102185fba1e60 SHA512 0c0e6d41025f3e331883cf2b3dd21ad5420f74f16d3222a9de17e61386cbd0fa7cfc3ab10beaa983ba42b44a9cfbfa51ab040c4e964a1aa8de47ecb4b7edd750
|
||||
AUX v13-gcc-13.patch 2199 BLAKE2B 588a656312a38f3034651bc0d286635be4815312cd4c57411a03b7ba8e1e863c8758f114e5f09085468a6801c35f26300dd26f15871f5546428ec9aad698c7da SHA512 84d7a7911b59e985c03d1d6d189d59193ced479464e0c3c07c1dce1caed5cc2a1d76563724a1c09ef15bd0f2a8a98b581d5091a5b2c99861ecdaa3237264e295
|
||||
AUX v14-gcc13.patch 629 BLAKE2B a61ff618e63e4fc5675670e4b2f53fffc67bba6fe74f8ccfbad69bd9694ef8982b7769a809e634152851fcc47b1cd0d1269458c11e0a8eddfd8acf9917f3b1c2 SHA512 57293c2d8c3a3b869df37d9723db55af82050c76ec2881480ea543c6f1f452cc74c6f24bc2bf682de082902ed1c61b05769d6e5a3da6c7e92b1f595265bcbb8c
|
||||
AUX v14.patch 2101 BLAKE2B 2c888edcddb386f9256cb0fc85c0386ca1d24c0cfaaa1af08778e802c0fce058f29bc0a63912d46044c8cfa82025e1ba8086c75444d2ec003e2ff4b90543160e SHA512 436a472f9fa5d43c52e12d8d7ebfc961a82e9e9a893c61113980906fcdfff1ec4b38bb2fb5df4b239c8485931b8fad720eda5f19da1c61096e874c0f7f357945
|
||||
AUX xyce.patch 1991 BLAKE2B 94c0b1a5afc67c0897c51506a8ae3ba82e821e2ededba960907dfac50109e685858d09dce4322fae1c569f7d53ab6ffec8dcc8f0f00b90242f860467399858a0 SHA512 dde23513862d8a79767ecadb3be076fa6f83e0c6867e98e4ea936d37d18c435fd0200197b38deec757eefab076338274f3788c18e73288744739c9f4de47560f
|
||||
DIST trilinos-13.4.0-patches-r0.tar.xz 8740 BLAKE2B 333ab9ff1acb2f4b08007c7b99b96f023f6c742e4f991fc0ab9dd6595be7e3e319a77d5e329790cedca72d7a9060df837549d28e8a6cb4b8a838570d455ae356 SHA512 f30c16801cadec2a612ab2f7d3ca05c5ddfdfc513343a182562253cdfb58d38fa8b771ab07f7bc6bcb2505d146469da2ddda478f74447de746d5eca850da123e
|
||||
DIST trilinos-13.4.1.tar.gz 168720416 BLAKE2B 5201c36aa998045f4eab99b67fce25f9a2f2a9524b8ca1147cd8db9ccc306e3df61336df3b2ee981317c8defbae2df9e36546a0e5ddfed3142213e437e4dfba0 SHA512 9c0fb3af2fa625cd0af1309bfa61c212e12657820707348c81355d506e07f540da5e42aa30237fbc80adf257bb636029345f248abaf7ef96fcdaed1c28ec3a19
|
||||
DIST trilinos-14.0.0.tar.gz 179086187 BLAKE2B 0e0c3e3fa4b88164cd7e90720ec42eb007f8e89734e5537a7eba1f17754faf30c21fa1d77f7e8a7968bdb8bb230596a1adc74f8170577fd7b4eccb2e88c5b8f6 SHA512 b08fcf4f6bf2605267c44c038f352949e5bfe14b853de77e4c80e28f66c088ead1699b1e49f8475f1b98ce5a21238b98a299e760f1373e585c78b65120fa18e5
|
||||
DIST trilinos-14.2.0.tar.gz 178867695 BLAKE2B 07ff61775399014091aae9c14ad12a69ab19853bc3489c15775490aa3f6e8ae868ac4e90bf046d10bf1ecb1d5558992f0afb0ce656f947336559fcf10085c038 SHA512 c676ff2b59904dc05a0ff434dd164bc96076999a5851c160c5851c124d3c519dd0cc3f088eba19f2000c7d1c2377f4efb2b2b8f9f3ee641b2180f3b99b28ea0b
|
||||
DIST trilinos-14.4.0.tar.gz 188325969 BLAKE2B 909e3ebe229d035263d835e0d68977516d2a5df168785021fe300f7904e149586a82a6dba271cc1472455472397ee5467443244fb68fb27c00cf4e9b3d10a282 SHA512 497fc4fb4ab4338fffef7111635f3dc3b12cb7302bc3f56bafb5cc75b7c68e94cc22fcacd9dd625803a0f38e4fbce5105cab61df76e033a4581568c36a53fe8a
|
||||
EBUILD trilinos-13.4.1.ebuild 9560 BLAKE2B bf029cfd7877ab5377dd8ea76eccc7bfac400500ffefcc01fcb78a11e096a17cd0dd140a9e04686d13ee82f33b96dc35795480faae57411e5fad1d016b30c7d4 SHA512 3819f3abf8889a48ab4e62302cfe6018269d13a0505ee057763cdebbf1fd7d3bf0247b81216b89a372a2d1abb38ac6ed49c28ff07ad84a8a32f28f2b107a691b
|
||||
EBUILD trilinos-14.0.0.ebuild 8451 BLAKE2B d0ca1847ca3f964424304eb9c1abb21d96c7406310d8bccf2049b4aa5267c23878b88352bbd7c23640fa63d903ffa024240e29b988645fbb6cf216bd41ab996b SHA512 cb6774f526e18edf8f94c17f5444982181da7bfefcd18befa8204f97c2ec999209aaeaef9e16df3c567537e891aa905121569183873e2b70883609b7cf2b69bb
|
||||
EBUILD trilinos-14.2.0.ebuild 8758 BLAKE2B 6abd3955a281d3477b6418b45e3a6008730595ea76ae0731cc66310c62e4b10115d41b9eb7ca0bac6689f91861c9f3a326cd46d81450db97bfc5485094ed477d SHA512 1e4a2753139e70039e4f567c28c27928909eb330599fd0a207a9b3d2af5675599207194b95a23c346ae56787ef341129bffc55916e3ca77aca02d7bd15e88551
|
||||
DIST trilinos-15.0.0.tar.gz 182971338 BLAKE2B 0e459b9d070085a2a5bf06de8274ceec628f8913ab87c87a9502baf8065bfdabeca827ea9fa0f274c163bff1e7dc252eabf79ca250c0470d1da5e13492287d28 SHA512 a364e67686cdd4e1e34aa0e14b6cc051ed21a72b63719c47260d7839d47590b9e652be76cb9d61e513c7933b965fc8141c3ff898167e22353b33c9491a525c84
|
||||
EBUILD trilinos-14.4.0.ebuild 8864 BLAKE2B f9d93b9f77e4fe41a8f24dddf9d2b36fc78c446a242f3174c4a7ae683035646887d500b50e5799d39b1629472ae4171529a120158661cfe342c41885e8c365ff SHA512 a2488476f1a8abe0f37533e5ef051491884c780e653b40bee637aaab2560dc798de87d17142efccc69a443c1371e1d27d49e77bfb68cef67c8b13c957e6f6d8f
|
||||
EBUILD trilinos-15.0.0.ebuild 8652 BLAKE2B 8f9e24acec395c9b57dff3c8e9382a0f8d5fc04d986d3554cbcb1f36e8d343bdb745ae01ec0a5d12218101f8673ca2d9ed036ea105cb25c8e5e1a99fdb99f943 SHA512 01c3fe794001e46234bb2e225de9d404c6d4aad02097a5376abd3b260d88550d46b4538c083bbef81c32866866b078447e7c5f05c58b5ad81d8403ee2d6ba3b1
|
||||
|
@ -1,11 +0,0 @@
|
||||
diff -Naur Trilinos-trilinos-release-13-4-1_or/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp Trilinos-trilinos-release-13-4-1/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp
|
||||
--- Trilinos-trilinos-release-13-4-1_or/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp 2023-05-13 23:56:33.699073588 +0200
|
||||
+++ Trilinos-trilinos-release-13-4-1/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp 2023-05-13 23:56:59.079010911 +0200
|
||||
@@ -43,6 +43,7 @@
|
||||
#define TEUCHOS_BIG_UINT_DECL_HPP
|
||||
|
||||
#include <iosfwd>
|
||||
+#include <cstdint>
|
||||
|
||||
/*! \file Teuchos_BigUIntDecl.hpp
|
||||
\brief Arbitrary-precision unsigned integer declaration.
|
@ -1,50 +0,0 @@
|
||||
diff -Naur Trilinos-trilinos-release-13-4-1_or/packages/kokkos/core/src/impl/Kokkos_MemoryPool.cpp Trilinos-trilinos-release-13-4-1/packages/kokkos/core/src/impl/Kokkos_MemoryPool.cpp
|
||||
--- Trilinos-trilinos-release-13-4-1_or/packages/kokkos/core/src/impl/Kokkos_MemoryPool.cpp 2023-06-11 21:27:20.637681333 +0200
|
||||
+++ Trilinos-trilinos-release-13-4-1/packages/kokkos/core/src/impl/Kokkos_MemoryPool.cpp 2023-06-11 21:28:23.316933920 +0200
|
||||
@@ -46,6 +46,7 @@
|
||||
|
||||
#include <ostream>
|
||||
#include <sstream>
|
||||
+#include <cstdint>
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------
|
||||
diff -Naur Trilinos-trilinos-release-13-4-1_or/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp Trilinos-trilinos-release-13-4-1/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp
|
||||
--- Trilinos-trilinos-release-13-4-1_or/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp 2023-06-12 22:13:54.653058491 +0200
|
||||
+++ Trilinos-trilinos-release-13-4-1/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp 2023-06-12 22:22:22.234504055 +0200
|
||||
@@ -49,6 +49,8 @@
|
||||
using ExecSpace = Kokkos::Experimental::HIP;
|
||||
#elif defined(KOKKOS_ENABLE_OPENMP)
|
||||
using ExecSpace = Kokkos::OpenMP;
|
||||
+#elif defined(KOKKOS_ENABLE_THREADS)
|
||||
+using ExecSpace = Kokkos::Threads;
|
||||
#else
|
||||
using ExecSpace = Kokkos::Serial;
|
||||
#endif
|
||||
@@ -59,6 +61,8 @@
|
||||
using HostExecSpace = Kokkos::Serial;
|
||||
#elif defined(KOKKOS_ENABLE_OPENMP)
|
||||
using HostExecSpace = Kokkos::OpenMP;
|
||||
+#elif defined(KOKKOS_ENABLE_THREADS)
|
||||
+using HostExecSpace = Kokkos::Threads;
|
||||
#else
|
||||
using HostExecSpace = Kokkos::Serial;
|
||||
#endif
|
||||
@@ -69,6 +73,8 @@
|
||||
using MemSpace = Kokkos::Experimental::HIPSpace;
|
||||
#elif defined(KOKKOS_ENABLE_OPENMP)
|
||||
using MemSpace = Kokkos::OpenMP;
|
||||
+#elif defined(KOKKOS_ENABLE_THREADS)
|
||||
+using MemSpace = Kokkos::Threads;
|
||||
#else
|
||||
using MemSpace = Kokkos::HostSpace;
|
||||
#endif
|
||||
@@ -83,6 +89,8 @@
|
||||
using UVMMemSpace = Kokkos::Experimental::HIPHostPinnedSpace;
|
||||
#elif defined(KOKKOS_ENABLE_OPENMP)
|
||||
using UVMMemSpace = Kokkos::OpenMP;
|
||||
+#elif defined(KOKKOS_ENABLE_THREADS)
|
||||
+using UVMMemSpace = Kokkos::Threads;
|
||||
#else
|
||||
using UVMMemSpace = Kokkos::HostSpace;
|
||||
#endif
|
@ -1,11 +0,0 @@
|
||||
diff -Naur Trilinos-trilinos-release-14-0-0_or/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp Trilinos-trilinos-release-14-0-0/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp
|
||||
--- Trilinos-trilinos-release-14-0-0_or/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp 2023-06-14 22:54:06.565526085 +0200
|
||||
+++ Trilinos-trilinos-release-14-0-0/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp 2023-06-14 22:54:26.028613299 +0200
|
||||
@@ -43,6 +43,7 @@
|
||||
#define TEUCHOS_BIG_UINT_DECL_HPP
|
||||
|
||||
#include <iosfwd>
|
||||
+#include <cstdint>
|
||||
|
||||
/*! \file Teuchos_BigUIntDecl.hpp
|
||||
\brief Arbitrary-precision unsigned integer declaration.
|
@ -1,67 +0,0 @@
|
||||
diff -Naur Trilinos-trilinos-release-14-0-0_or/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp Trilinos-trilinos-release-14-0-0/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp
|
||||
--- Trilinos-trilinos-release-14-0-0_or/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp 2023-06-14 23:24:20.313033330 +0200
|
||||
+++ Trilinos-trilinos-release-14-0-0/packages/stk/stk_util/stk_util/ngp/NgpSpaces.hpp 2023-06-14 23:31:11.551230025 +0200
|
||||
@@ -39,36 +39,21 @@
|
||||
namespace stk {
|
||||
namespace ngp {
|
||||
|
||||
-#ifdef KOKKOS_ENABLE_CUDA
|
||||
-using ExecSpace = Kokkos::Cuda;
|
||||
-#elif defined(KOKKOS_ENABLE_HIP)
|
||||
-using ExecSpace = Kokkos::Experimental::HIP;
|
||||
-#elif defined(KOKKOS_ENABLE_OPENMP)
|
||||
-using ExecSpace = Kokkos::OpenMP;
|
||||
-#else
|
||||
-using ExecSpace = Kokkos::Serial;
|
||||
-#endif
|
||||
+using ExecSpace = Kokkos::DefaultExecutionSpace;
|
||||
|
||||
-#ifdef KOKKOS_ENABLE_CUDA
|
||||
-using HostExecSpace = Kokkos::Serial;
|
||||
-#elif defined(KOKKOS_ENABLE_HIP)
|
||||
-using HostExecSpace = Kokkos::Serial;
|
||||
-#elif defined(KOKKOS_ENABLE_OPENMP)
|
||||
-using HostExecSpace = Kokkos::OpenMP;
|
||||
-#else
|
||||
-using HostExecSpace = Kokkos::Serial;
|
||||
-#endif
|
||||
+using HostExecSpace = Kokkos::DefaultHostExecutionSpace;
|
||||
|
||||
#ifdef KOKKOS_ENABLE_CUDA
|
||||
using MemSpace = Kokkos::CudaSpace;
|
||||
#elif defined(KOKKOS_ENABLE_HIP)
|
||||
-using MemSpace = Kokkos::Experimental::HIPSpace;
|
||||
-#elif defined(KOKKOS_ENABLE_OPENMP)
|
||||
-using MemSpace = Kokkos::OpenMP;
|
||||
+using MemSpace = Kokkos::HIPSpace;
|
||||
#else
|
||||
-using MemSpace = Kokkos::HostSpace;
|
||||
+using MemSpace = ExecSpace::memory_space;
|
||||
#endif
|
||||
|
||||
+#ifdef KOKKOS_HAS_SHARED_SPACE
|
||||
+using UVMMemSpace = Kokkos::SharedSpace;
|
||||
+#else
|
||||
#ifdef KOKKOS_ENABLE_CUDA
|
||||
#ifdef KOKKOS_ENABLE_CUDA_UVM
|
||||
using UVMMemSpace = Kokkos::CudaUVMSpace;
|
||||
@@ -82,7 +67,11 @@
|
||||
#else
|
||||
using UVMMemSpace = Kokkos::HostSpace;
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
+#ifdef KOKKOS_HAS_SHARED_SPACE
|
||||
+using HostPinnedSpace = Kokkos::SharedHostPinnedSpace;
|
||||
+#else
|
||||
#ifdef KOKKOS_ENABLE_CUDA
|
||||
using HostPinnedSpace = Kokkos::CudaHostPinnedSpace;
|
||||
#elif defined(KOKKOS_ENABLE_HIP)
|
||||
@@ -90,6 +79,7 @@
|
||||
#else
|
||||
using HostPinnedSpace = MemSpace;
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#ifdef KOKKOS_ENABLE_HIP
|
||||
template <typename ExecutionSpace>
|
@ -1,314 +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/${PN}-13.4.0-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 superlu_dist
|
||||
"
|
||||
|
||||
# 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-5.0 )
|
||||
superlu_dist? ( <sci-libs/superlu_dist-8.1.0 sci-libs/parmetis:= )
|
||||
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
|
||||
"${FILESDIR}"/v13-gcc-13.patch
|
||||
"${FILESDIR}"/gcc-13.patch
|
||||
"${FILESDIR}"/xyce.patch
|
||||
)
|
||||
|
||||
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)"
|
||||
|
||||
-DTrilinos_ENABLE_NOX=ON
|
||||
-DTrilinos_ENABLE_Triutils=ON
|
||||
-DTrilinos_ENABLE_Belos=ON
|
||||
-DTrilinos_ENABLE_TrilinosCouplings=ON
|
||||
-DEpetraExt_BUILD_BTF=ON
|
||||
-DEpetraExt_BUILD_EXPERIMENTAL=ON
|
||||
-DEpetraExt_BUILD_GRAPH_REORDERINGS=ON
|
||||
|
||||
-DTrilinos_ENABLE_Amesos2=ON
|
||||
-DAmesos2_ENABLE_KLU2=ON
|
||||
|
||||
# Enable Basker solver without Amesos2
|
||||
-DKokkos_ENABLE_OPENMP="$(usex openmp)"
|
||||
-DTrilinos_ENABLE_Kokkos=ON
|
||||
-DTrilinos_ENABLE_ShyLU=ON
|
||||
-DTrilinos_ENABLE_ShyLU_NodeBasker=ON
|
||||
|
||||
# Enable ShyLU solver
|
||||
#-DTrilinos_ENABLE_ShyLU_DD=ON
|
||||
#-DTrilinos_ENABLE_ShyLU_DDCore=ON
|
||||
|
||||
-DAmesos2_ENABLE_Basker=ON
|
||||
-DCMAKE_CXX_FLAGS:STRING="-DSHYLU_NODEBASKER"
|
||||
#-DAmesos2_ENABLE_SuperLU="$(usex superlu)"
|
||||
#-DAmesos2_ENABLE_SuperLUDist="$(usex superlu_dist)"
|
||||
#-DAmesos2_ENABLE_Eperta=ON
|
||||
#-DTrilinos_ENABLE_ShyLU_DD=ON
|
||||
#-DTrilinos_ENABLE_ShyLU_DDBDDC=ON
|
||||
#-DTrilinos_ENABLE_ShyLU_NodeFastILU=ON
|
||||
#-DTrilinos_ENABLE_ShyLU_DDCore=ON
|
||||
#-DTrilinos_ENABLE_ShyLU_NodeFastILU=ON
|
||||
#-DTpetra_INST_COMPLEX_FLOAT=OFF
|
||||
#-DTpetra_INST_COMPLEX_DOUBLE=OFF
|
||||
#-DAnasazi_ENABLE_COMPLEX=OFF
|
||||
#-DAnasazi_ENABLE_Tpetra=OFF
|
||||
|
||||
-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_SuperLUDist="$(usex superlu_dist)"
|
||||
-DTPL_ENABLE_ParMETIS="$(usex superlu_dist)"
|
||||
-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
|
||||
mycmakeargs+=(
|
||||
-DCMAKE_CXX_COMPILER=mpicxx
|
||||
-DCMAKE_C_COMPILER=mpicc
|
||||
-DCMAKE_Fortran_COMPILER=mpif77
|
||||
)
|
||||
if use cuda ; then
|
||||
export CC=nvcc_wrapper CXX=nvcc_wrapper && tc-export CC CXX
|
||||
#export OMPI_CXX=/usr/lib64/trilinos/bin/nvcc_wrapper && tc-export OMPI_CXX
|
||||
mycmakeargs+=(
|
||||
-DCMAKE_CXX_COMPILER=/usr/lib64/trilinos/bin/nvcc_wrapper
|
||||
-DCMAKE_C_COMPILER=/usr/lib64/trilinos/bin/nvcc_wrapper
|
||||
#-DCMAKE_CXX_FLAGS="-g -lineinfo -Xcudafe --diag_suppress=conversion_function_not_usable -Xcudafe --diag_suppress=cc_clobber_ignored -Xcudafe --diag_suppress=code_is_unreachable"
|
||||
-DTPL_ENABLE_MPI=ON
|
||||
-DTPL_ENABLE_CUDA=ON
|
||||
)
|
||||
fi
|
||||
|
||||
# Trilinos needs a custom build type:
|
||||
local CMAKE_BUILD_TYPE=Release
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
mv "${ED}"/bin "${ED}/usr/$(get_libdir)"/trilinos || die "mv failed"
|
||||
mkdir -p "${ED}/usr/$(get_libdir)"/cmake
|
||||
mv "${ED}/usr/$(get_libdir)"/trilinos/cmake/* "${ED}/usr/$(get_libdir)"/cmake || die "mv failed"
|
||||
# Fix up include paths:
|
||||
sed -i -e 's#external_packages#trilinos/external_packages#g' \
|
||||
"${ED}/usr/$(get_libdir)"/cmake/**/*.cmake || die "sed 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
|
||||
}
|
@ -1,285 +0,0 @@
|
||||
# Copyright 1999-2023 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"
|
||||
|
||||
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-5.0 )
|
||||
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=(
|
||||
"${FILESDIR}"/v14-gcc13.patch
|
||||
"${FILESDIR}"/v14.patch
|
||||
"${FILESDIR}"/xyce.patch
|
||||
)
|
||||
|
||||
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_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)"
|
||||
)
|
||||
|
||||
local mycmakeargs+=(
|
||||
# Xyce base depend
|
||||
-DTrilinos_ENABLE_TrilinosCouplings=ON
|
||||
-DEpetraExt_BUILD_BTF=ON
|
||||
-DEpetraExt_BUILD_EXPERIMENTAL=ON
|
||||
-DEpetraExt_BUILD_GRAPH_REORDERINGS=ON
|
||||
#-DTeuchos_ENABLE_COMPLEX=ON
|
||||
# error fixes
|
||||
-DTrilinos_ENABLE_COMPLEX=ON
|
||||
-DAmesos_ENABLE_CSparse="$(usex sparse)"
|
||||
#-DTrilinos_ENABLE_COMPLEX_DOUBLE=ON
|
||||
#-DTrilinos_ENABLE_COMPLEX_FLOAT=ON
|
||||
#-DTeuchos_ENABLE_FLOAT=ON
|
||||
#-DTpetra_INST_FLOAT=ON
|
||||
# more solvers
|
||||
#-DKokkos_ENABLE_THREADS="$(usex threads)"
|
||||
#-DTpetra_INST_PTHREAD="$(usex threads)"
|
||||
-DTrilinos_ENABLE_ShyLU_NodeTacho=OFF
|
||||
#
|
||||
-DAmesos_ENABLE_ParMETIS=ON
|
||||
# Basker solver
|
||||
-DAmesos2_ENABLE_Basker=ON
|
||||
-DCMAKE_CXX_FLAGS:STRING="-DSHYLU_NODEBASKER"
|
||||
)
|
||||
|
||||
#
|
||||
# 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:
|
||||
|
||||
# Let us move the bin directory out of the way to avoid potential
|
||||
# clashes due to very generically named binaries such as
|
||||
# »nvcc_wrapper«, etc.
|
||||
mv "${ED}"/bin "${ED}/usr/$(get_libdir)"/trilinos || die "mv failed"
|
||||
|
||||
# Move the cmake directory to the right location:
|
||||
mkdir -p "${ED}/usr/$(get_libdir)"/cmake
|
||||
mv "${ED}/usr/$(get_libdir)"/trilinos/cmake/* "${ED}/usr/$(get_libdir)"/cmake || die "mv failed"
|
||||
# Fix up include paths:
|
||||
sed -i -e 's#external_packages#trilinos/external_packages#g' \
|
||||
"${ED}/usr/$(get_libdir)"/cmake/**/*.cmake || die "sed 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, also add Trilinos' binaries ot
|
||||
# the PATH environment variable.
|
||||
cat >> "${T}"/99trilinos <<- EOF
|
||||
LDPATH="${EPREFIX}/usr/$(get_libdir)/trilinos"
|
||||
PATH="${EPREFIX}/usr/$(get_libdir)/trilinos/bin"
|
||||
EOF
|
||||
doenvd "${T}"/99trilinos
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
EAPI=8
|
||||
|
||||
CMAKE_MAKEFILE_GENERATOR=emake
|
||||
inherit cmake toolchain-funcs
|
||||
inherit cmake flag-o-matic toolchain-funcs
|
||||
|
||||
DESCRIPTION="Scientific library collection for large scale problems"
|
||||
HOMEPAGE="http://trilinos.sandia.gov/"
|
||||
@ -19,7 +19,7 @@ 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
|
||||
superlu taucs tbb test threads tvmet yaml zlib X shylu
|
||||
"
|
||||
|
||||
# TODO: fix export cmake function for tests
|
||||
@ -45,6 +45,7 @@ RDEPEND="
|
||||
matio? ( sci-libs/matio )
|
||||
mkl? ( sci-libs/mkl )
|
||||
metis? ( sci-libs/metis )
|
||||
metis? ( openmp? ( sci-libs/parmetis ) )
|
||||
mumps? ( sci-libs/mumps )
|
||||
netcdf? ( sci-libs/netcdf:= )
|
||||
petsc? ( sci-mathematics/petsc )
|
||||
@ -58,15 +59,14 @@ RDEPEND="
|
||||
tvmet? ( dev-libs/tvmet )
|
||||
yaml? ( dev-cpp/yaml-cpp:= )
|
||||
zlib? ( sys-libs/zlib )
|
||||
X? ( x11-libs/libX11 )
|
||||
sci-libs/parmetis"
|
||||
X? ( x11-libs/libX11 )"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
S="${WORKDIR}/Trilinos-${PN}-release-${MY_PV}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/xyce.patch
|
||||
"${FILESDIR}/xyce.patch"
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
@ -94,28 +94,21 @@ trilinos_conf() {
|
||||
[[ -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() {
|
||||
# Trilinos is a massive C++ project. Fixing all of the lto warnings and
|
||||
# making safe for lto compilation/linking will be a massive
|
||||
# undertaking. Thus, simply filter lto flags. bug #862987
|
||||
filter-lto
|
||||
|
||||
local mycmakeargs=(
|
||||
-DBUILD_SHARED_LIBS=ON
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}"
|
||||
-DCMAKE_SKIP_RPATH=ON
|
||||
-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_EpetraExt=ON
|
||||
@ -179,6 +172,8 @@ src_configure() {
|
||||
-DEpetraExt_BUILD_EXPERIMENTAL=ON
|
||||
-DEpetraExt_BUILD_GRAPH_REORDERINGS=ON
|
||||
-DTeuchos_ENABLE_COMPLEX=ON
|
||||
-DTrilinos_ENABLE_ShyLU="$(usex shylu)"
|
||||
-DTrilinos_ENABLE_ShyLU_NodeTacho="$(usex shylu)"
|
||||
# error fixes
|
||||
-DTrilinos_ENABLE_COMPLEX=ON
|
||||
-DAmesos_ENABLE_CSparse="$(usex sparse)"
|
||||
@ -189,13 +184,12 @@ src_configure() {
|
||||
# more solvers
|
||||
#-DKokkos_ENABLE_THREADS="$(usex threads)"
|
||||
#-DTpetra_INST_PTHREAD="$(usex threads)"
|
||||
-DTrilinos_ENABLE_ShyLU_NodeTacho=OFF
|
||||
#
|
||||
-DAmesos_ENABLE_ParMETIS=ON
|
||||
-DAmesos_ENABLE_ParMETIS="$(usex metis)"
|
||||
# Basker solver
|
||||
-DAmesos2_ENABLE_Basker=ON
|
||||
-DCMAKE_CXX_FLAGS:STRING="-DSHYLU_NODEBASKER"
|
||||
)
|
||||
)
|
||||
|
||||
#
|
||||
# Make sure some critical configuration options are always set
|
Loading…
x
Reference in New Issue
Block a user