From fa9b514c7c3e9ea3c1cee9b729c35ab182d1b247 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 7 Dec 2023 11:08:00 +0000 Subject: gentoo auto-resync : 07:12:2023 - 11:08:00 --- sci-libs/Manifest.gz | Bin 45131 -> 45132 bytes sci-libs/trilinos/Manifest | 16 +- .../trilinos-14.0.0-missing_includes_gcc_13.patch | 24 -- sci-libs/trilinos/metadata.xml | 3 + sci-libs/trilinos/trilinos-13.4.0-r3.ebuild | 252 -------------------- sci-libs/trilinos/trilinos-13.4.1.ebuild | 252 -------------------- sci-libs/trilinos/trilinos-14.0.0.ebuild | 258 --------------------- sci-libs/trilinos/trilinos-14.2.0.ebuild | 257 -------------------- sci-libs/trilinos/trilinos-14.4.0.ebuild | 11 +- sci-libs/trilinos/trilinos-15.0.0.ebuild | 250 ++++++++++++++++++++ 10 files changed, 264 insertions(+), 1059 deletions(-) delete mode 100644 sci-libs/trilinos/files/trilinos-14.0.0-missing_includes_gcc_13.patch delete mode 100644 sci-libs/trilinos/trilinos-13.4.0-r3.ebuild delete mode 100644 sci-libs/trilinos/trilinos-13.4.1.ebuild delete mode 100644 sci-libs/trilinos/trilinos-14.0.0.ebuild delete mode 100644 sci-libs/trilinos/trilinos-14.2.0.ebuild create mode 100644 sci-libs/trilinos/trilinos-15.0.0.ebuild (limited to 'sci-libs') diff --git a/sci-libs/Manifest.gz b/sci-libs/Manifest.gz index ec13a9d8ab73..f22b43ded07a 100644 Binary files a/sci-libs/Manifest.gz and b/sci-libs/Manifest.gz differ diff --git a/sci-libs/trilinos/Manifest b/sci-libs/trilinos/Manifest index b761787df383..cfc94ec581c2 100644 --- a/sci-libs/trilinos/Manifest +++ b/sci-libs/trilinos/Manifest @@ -1,13 +1,5 @@ -AUX trilinos-14.0.0-missing_includes_gcc_13.patch 884 BLAKE2B 41770378bd433789b79e316be2d37b8a110c330c56133b234b145640d7985b172d2d7ad565bdaf15808a4813c729269685106cd84359d3b56d13b654f2a5212c SHA512 0dfd94741c6cf8bbbcb96b8ed467f40d7a114d64d9fc9f327a4a28a8e2b35db8cdb67da5d51455897dd5128937183ccd9fd15ae8106797f19813bb1055db0b0c -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 -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.0-r3.ebuild 7360 BLAKE2B e166d328c767fd6a0ca36544e3911d0076f47dcf3c4a169a4dfea2d87871bd0a4f157bb59fe8afaa78f13264d3a3e200c488e6f05b6558c12153fa83f20ef033 SHA512 9a1c3cdab829e20806a0f4ccd95c41910fc7358e08db8ef20a7042e059af91945a5628e5dd4674560b43ba4bdd31ec38d2dab228374e25fa800f3f7223ba3816 -EBUILD trilinos-13.4.1.ebuild 7368 BLAKE2B a1742a23f74d9c72e83def6203aadb6e263334fe4d6c8099d71b169aa7948b86cab1c6626e239967bedfb2f1f15ad590c7dfc53971911a0abf56f0d2c8b4c163 SHA512 2db0df5e4165e21235dfa8c70e007c254c0f706ba50c35f8611c7bc1e477e2cfd2ce367f9da7bfb02c2e02eceec097c115ae42644a7149a21b403f1d84b240fc -EBUILD trilinos-14.0.0.ebuild 7696 BLAKE2B 2cb1eae14a4f94dca45046dfbf527e399ed07be857e81916fb07e222955ba60b0083b05ab019d06c87590c2687abae53e7dac0e49e4b696cb07543bc3f26c577 SHA512 1a3046aa3e5f31dfc473e6b198d982115cbdd5c39eea341867be4cf6beab811e417ae68fa6f6fb8bca63043c462237c6ef6e634129fd3c050bdb9f96153b06d1 -EBUILD trilinos-14.2.0.ebuild 7646 BLAKE2B d514d14f141fc3aac82c17866e4d60443eda9afd6e0b5b992ec48605929a652701636596e7f17d769595e66b276ebf26c69a8fc1820b0e011fa1749f7c0dbcdb SHA512 ef3c1cba97c2d942c4df4601fa699b826578723b0ee1fd310e52282ccd6d86d7670c901aef4672945cb473e638546afa877e7969a6e6190bb8011e7e99784b6a -EBUILD trilinos-14.4.0.ebuild 7577 BLAKE2B 73773263b8e4244fd5ca88885830cebaac586d2bb66379d03792213408b656fe98e1ff5d9c9008205735ed3228662408b3c476026a0cc6be5a7e1a15864a97ee SHA512 bf477dacd96d282313bc44c4f615a5687a696b4ecb7a027ea250131eba0655135450d6837545979344556b6dcd0887725660f9f6c4a5116500b9197dfa62a24a -MISC metadata.xml 2821 BLAKE2B 44e03179620d8db5229793dabfb70e33dd81d686ee430b46d376dc13b96fd3a1b47123c53001e39973b776e79db2326b280d964ab9054aa3a58c1532f9b9b19c SHA512 7805ec93f2bb73749c5881785cb6664c8d5878fed68c5c7b11ba0d28f2dc33a52f571bede906e7a459d0f17c88dae66305ad5b1ce7382783680c82d8d7241ef2 +DIST trilinos-15.0.0.tar.gz 182971338 BLAKE2B 0e459b9d070085a2a5bf06de8274ceec628f8913ab87c87a9502baf8065bfdabeca827ea9fa0f274c163bff1e7dc252eabf79ca250c0470d1da5e13492287d28 SHA512 a364e67686cdd4e1e34aa0e14b6cc051ed21a72b63719c47260d7839d47590b9e652be76cb9d61e513c7933b965fc8141c3ff898167e22353b33c9491a525c84 +EBUILD trilinos-14.4.0.ebuild 7704 BLAKE2B 9036affa1f34615ca27e23f679f780f34152a2302757d95f5e3b60b644579b1d42b4f2bed05074acd143352c57b60d63d61c3f9d283413d924a3300d507ef1aa SHA512 7863f899e484cc4bee422196d4ec333f01c59c3a8e692045ced8a2efd0ac7897a36ba1095a9312037d1d510df618860fc5031d0ab15e96756cc975b2e997c20d +EBUILD trilinos-15.0.0.ebuild 7434 BLAKE2B a05c9618008159185e2da77e088dd89783dfd890c6c735de858496c37a73ed121e89d05b56707978826a1ca5e5d8bf9130c926b2a1a1c65797375fce2db847c8 SHA512 30b2f1b4db9b030059ca773f1b364e501af6b6210aa6d0f786795d80e245452bc5316480e7fb21000850b604c7e9be4bf3c1fde212c8e9620431d471db4d1067 +MISC metadata.xml 2903 BLAKE2B 212937ea57e5b9d5020bb8311c749e7c536d860e7265ded72c3243598c2fbf6a5f074969bb6582c2cdea072030b18bdce7a8b9f04b7d1564fb2b930133b482d4 SHA512 a447984ae8de8bafe27242f1011b64d86a8aad7173c4c84ed4d9b94b2e3ed351f1d309f1ca2681a8e446314029c2aede827a09297f6c5559273a44e14a160f34 diff --git a/sci-libs/trilinos/files/trilinos-14.0.0-missing_includes_gcc_13.patch b/sci-libs/trilinos/files/trilinos-14.0.0-missing_includes_gcc_13.patch deleted file mode 100644 index ee9836d84249..000000000000 --- a/sci-libs/trilinos/files/trilinos-14.0.0-missing_includes_gcc_13.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp b/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp -index e82e8be9..b41b0d03 100644 ---- a/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp -+++ b/packages/teuchos/core/src/Teuchos_BigUIntDecl.hpp -@@ -43,6 +43,7 @@ - #define TEUCHOS_BIG_UINT_DECL_HPP - - #include -+#include - - /*! \file Teuchos_BigUIntDecl.hpp - \brief Arbitrary-precision unsigned integer declaration. -diff --git a/packages/teuchos/core/src/Teuchos_PrintDouble.hpp b/packages/teuchos/core/src/Teuchos_PrintDouble.hpp -index cf2fe0f3..7c95b1b5 100644 ---- a/packages/teuchos/core/src/Teuchos_PrintDouble.hpp -+++ b/packages/teuchos/core/src/Teuchos_PrintDouble.hpp -@@ -43,6 +43,7 @@ - #define TEUCHOS_PRINT_DOUBLE_HPP - - #include -+#include - - /*! \file Teuchos_PrintDouble.hpp - \brief Declares Teuchos::print_double diff --git a/sci-libs/trilinos/metadata.xml b/sci-libs/trilinos/metadata.xml index 0d48858c237f..8e609b4870bb 100644 --- a/sci-libs/trilinos/metadata.xml +++ b/sci-libs/trilinos/metadata.xml @@ -44,4 +44,7 @@ Add support for tvmet (dev-libs/tvmet) Add support for yaml (dev-cpp/yaml-cpp) + + trilinos/Trilinos + diff --git a/sci-libs/trilinos/trilinos-13.4.0-r3.ebuild b/sci-libs/trilinos/trilinos-13.4.0-r3.ebuild deleted file mode 100644 index 9996b79bd35d..000000000000 --- a/sci-libs/trilinos/trilinos-13.4.0-r3.ebuild +++ /dev/null @@ -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 -} diff --git a/sci-libs/trilinos/trilinos-13.4.1.ebuild b/sci-libs/trilinos/trilinos-13.4.1.ebuild deleted file mode 100644 index 34f7303abddb..000000000000 --- a/sci-libs/trilinos/trilinos-13.4.1.ebuild +++ /dev/null @@ -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/${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 -" - -# 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 -} diff --git a/sci-libs/trilinos/trilinos-14.0.0.ebuild b/sci-libs/trilinos/trilinos-14.0.0.ebuild deleted file mode 100644 index 9c6599250eda..000000000000 --- a/sci-libs/trilinos/trilinos-14.0.0.ebuild +++ /dev/null @@ -1,258 +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:= ) - 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}"/${P}-missing_includes_gcc_13.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)" - ) - - # - # 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 -} diff --git a/sci-libs/trilinos/trilinos-14.2.0.ebuild b/sci-libs/trilinos/trilinos-14.2.0.ebuild deleted file mode 100644 index 4ba10c76e0d2..000000000000 --- a/sci-libs/trilinos/trilinos-14.2.0.ebuild +++ /dev/null @@ -1,257 +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:= ) - 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=( -) - -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)" - ) - - # - # 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 -} diff --git a/sci-libs/trilinos/trilinos-14.4.0.ebuild b/sci-libs/trilinos/trilinos-14.4.0.ebuild index 8e143ef76619..709a6fdc1fe0 100644 --- a/sci-libs/trilinos/trilinos-14.4.0.ebuild +++ b/sci-libs/trilinos/trilinos-14.4.0.ebuild @@ -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/" @@ -94,18 +94,21 @@ trilinos_conf() { # # 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_INCLUDE_DIR="${EPREFIX}/usr/include/trilinos" -DTrilinos_INSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)/trilinos" -DTrilinos_ENABLE_ALL_PACKAGES="$(usex all-packages)" diff --git a/sci-libs/trilinos/trilinos-15.0.0.ebuild b/sci-libs/trilinos/trilinos-15.0.0.ebuild new file mode 100644 index 000000000000..2d104e3e9ce2 --- /dev/null +++ b/sci-libs/trilinos/trilinos-15.0.0.ebuild @@ -0,0 +1,250 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_MAKEFILE_GENERATOR=emake +inherit cmake flag-o-matic 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:= ) + 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=( +) + +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() { + # 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 + -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_PyTrilinos=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)" + ) + + # + # 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 +} -- cgit v1.2.3