diff options
author | Alessandro Barbieri <lssndrbarbieri@gmail.com> | 2022-07-07 09:45:44 +0200 |
---|---|---|
committer | Alessandro Barbieri <lssndrbarbieri@gmail.com> | 2022-07-07 09:59:06 +0200 |
commit | 5faa5c2f637cc728338af8afd3b9ec1d250ca152 (patch) | |
tree | 51acbd63d57a6612e78e757ec87133e7b023ca0f /sci-libs | |
parent | sys-cluster/SOS: add 1.5.1 (diff) | |
download | guru-5faa5c2f637cc728338af8afd3b9ec1d250ca152.tar.gz guru-5faa5c2f637cc728338af8afd3b9ec1d250ca152.tar.bz2 guru-5faa5c2f637cc728338af8afd3b9ec1d250ca152.zip |
sci-libs/superlu_dist: add 8.1.0
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
Diffstat (limited to 'sci-libs')
-rw-r--r-- | sci-libs/superlu_dist/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/superlu_dist/superlu_dist-8.1.0.ebuild | 86 |
2 files changed, 87 insertions, 0 deletions
diff --git a/sci-libs/superlu_dist/Manifest b/sci-libs/superlu_dist/Manifest index a2a6953f4..868a80635 100644 --- a/sci-libs/superlu_dist/Manifest +++ b/sci-libs/superlu_dist/Manifest @@ -1 +1,2 @@ DIST superlu_dist-8.0.0_p20220526.tar.gz 2293062 BLAKE2B 34c2d1d4bc8c6ac0b2285457b81d3d6fff449c31689130eb8a4844ff8ceee9f1d7c21a19632a2dd01a13fc07e6614c02934a2c6f4f3d3808352c82d44aa2bc6c SHA512 e8724b05156fcad2b347643dcbdb6a4183b6b36c4d54f4a9f14e4527f0a62fc5eb76f649909773d770f729fe1a33879bef54581fc0faee54224a67f2e1b8b9c5 +DIST superlu_dist-8.1.0.tar.gz 2297109 BLAKE2B 49439150b5b5b90c7dcf731dd3ba8b079302f101fb5f6c38f41546febbecbb8e2902a1362740f8790227997138ed8423b284c73f43bbf0c7a32eec9876dfe403 SHA512 4c7fc7e4649282755cff018fa37413161224e9a35a471c4e64c09e439f4397d196fb4e7976edc6ca030867c1b61d88d91cb1505be522a1588c7b4de4a813a625 diff --git a/sci-libs/superlu_dist/superlu_dist-8.1.0.ebuild b/sci-libs/superlu_dist/superlu_dist-8.1.0.ebuild new file mode 100644 index 000000000..240c19d28 --- /dev/null +++ b/sci-libs/superlu_dist/superlu_dist-8.1.0.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_CONFIG_NAME="DoxyConfig" +FORTRAN_NEEDED="fortran" + +inherit cmake docs fortran-2 + +DESCRIPTION="MPI distributed sparse LU factorization library" +HOMEPAGE=" + https://portal.nersc.gov/project/sparse/superlu/ + https://github.com/xiaoyeli/superlu_dist +" +SRC_URI="https://github.com/xiaoyeli/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="combblas +complex-precision +double-precision examples hip lapack fortran metis single-precision test" +# TODO: cuda + +RDEPEND=" + sci-libs/colamd + virtual/blas + virtual/mpi + + combblas? ( sci-libs/CombBLAS ) + hip? ( + sci-libs/hipBLAS + sci-libs/rocBLAS + sci-libs/rocSOLVER + ) + lapack? ( virtual/lapack ) + metis? ( sci-libs/parmetis ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${PN}-8.0.0_p20220526-system-colamd.patch" + "${FILESDIR}/${PN}-8.0.0_p20220526-fortran.patch" +) +RESTRICT="test" # tests require an MPI setup + +src_prepare() { + rm -r CBLAS || die + rm SRC/colamd.{c,h} || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -Denable_openmp=ON + -DBUILD_SHARED_LIBS=ON + -DBUILD_STATIC_LIBS=OFF + -DTPL_ENABLE_CUDALIB=OFF + -DTPL_ENABLE_INTERNAL_BLASLIB=OFF + + -Denable_complex16=$(usex complex-precision) + -Denable_double=$(usex double-precision) + -Denable_examples=$(usex examples ON OFF) + -Denable_single=$(usex single-precision) + -Denable_tests=$(usex test ON OFF) + -DTPL_ENABLE_COMBBLASLIB=$(usex combblas) + -DTPL_ENABLE_HIPLIB=$(usex hip) + -DTPL_ENABLE_LAPACKLIB=$(usex lapack) + -DTPL_ENABLE_PARMETISLIB=$(usex metis) + -DXSDK_ENABLE_Fortran=$(usex fortran) + ) + if use combblas; then + mycmakeargs+=( + -DTPL_COMBBLAS_LIBRARIES="${EPREFIX}/usr/$(get_libdir)/libCombBLAS.so" + -DTPL_COMBBLAS_INCLUDE_DIRS="${EPREFIX}/usr/include/CombBLAS/" + ) + fi + if use metis; then + mycmakeargs+=( + -DTPL_PARMETIS_LIBRARIES="${EPREFIX}/usr/$(get_libdir)/libparmetis.so" + -DTPL_PARMETIS_INCLUDE_DIRS="${EPREFIX}/usr/include" + ) + fi + cmake_src_configure +} |