commit:     5faa5c2f637cc728338af8afd3b9ec1d250ca152
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Thu Jul  7 07:45:44 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Thu Jul  7 07:59:06 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=5faa5c2f

sci-libs/superlu_dist: add 8.1.0

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 sci-libs/superlu_dist/Manifest                  |  1 +
 sci-libs/superlu_dist/superlu_dist-8.1.0.ebuild | 86 +++++++++++++++++++++++++
 2 files changed, 87 insertions(+)

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
+}

Reply via email to