commit:     8721ad7bbae80c503542be6896c9ecb997bdf578
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Thu May 26 20:08:17 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Thu May 26 21:20:42 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=8721ad7b

sci-libs/superlu_dist: unbundle colamd

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

 sci-libs/superlu_dist/Manifest                     |  3 +-
 ...uperlu_dist-8.0.0_p20220526-system-colamd.patch | 27 ++++++++
 sci-libs/superlu_dist/superlu_dist-7.2.0.ebuild    | 79 ----------------------
 ....ebuild => superlu_dist-8.0.0_p20220526.ebuild} | 14 +++-
 4 files changed, 39 insertions(+), 84 deletions(-)

diff --git a/sci-libs/superlu_dist/Manifest b/sci-libs/superlu_dist/Manifest
index 9d18fdf53..5cbefaa65 100644
--- a/sci-libs/superlu_dist/Manifest
+++ b/sci-libs/superlu_dist/Manifest
@@ -1,2 +1 @@
-DIST superlu_dist-7.2.0.tar.gz 2187572 BLAKE2B 
93e848e7146022030d8d55fef74b090d6998553d5114b136c38fc95873941f5fe20a2a3f7af30cf4465fac4306da41dc41f27614397f77f9e08b57f8705c9312
 SHA512 
89d2480e2c200e4588171b24ce21c9f1556c3ba917a561bdb6ac89e88c73ea982ba133ffddba632494098b68d8ad59ca28ec215f2cb92da12c518e87a2e1d5f7
-DIST superlu_dist-8.0.0.tar.gz 2291245 BLAKE2B 
059b737d9286fa43a5eee0f6b2719571c07f8176dce2055846646a37fedeff39816e673271f76fcedff739b766404aa3f74ce9bb02b7a51be043c449de578848
 SHA512 
c4e4df9b077bc24f587121c05c60a9521f9afe2f1a15acb2e1ea17b34df33c155a423f89c520c43f7953889a8ae90d8e358f95e99e901d3097e9df6a992c482e
+DIST superlu_dist-8.0.0_p20220526.tar.gz 2293227 BLAKE2B 
5c73d68a1d9812063614fb503a99c5f1e141d7c4340c1b484e5c24b818c47a6ffc2073140fc585e11b3d5b342d0baa6299ebeface03e2d1eb30245043d214751
 SHA512 
ac5f03b7f2500f306277dabda9e1aea457b55f2d41b72b969fa4e3a986ebb6abb65f87a3678d6cc103faa8f8e720aaac2b79d9db150288bfe1385abe2b61d8ce

diff --git 
a/sci-libs/superlu_dist/files/superlu_dist-8.0.0_p20220526-system-colamd.patch 
b/sci-libs/superlu_dist/files/superlu_dist-8.0.0_p20220526-system-colamd.patch
new file mode 100644
index 000000000..8b1689dfc
--- /dev/null
+++ 
b/sci-libs/superlu_dist/files/superlu_dist-8.0.0_p20220526-system-colamd.patch
@@ -0,0 +1,27 @@
+--- 
/var/tmp/portage/sci-libs/superlu_dist-8.0.0_p20220526/work/superlu_dist-df1dbf3afd7876644ff5d0613dfa7b9d32af79de/SRC/CMakeLists.txt
++++ superlu_dist-df1dbf3afd7876644ff5d0613dfa7b9d32af79de/SRC/CMakeLists.txt
+@@ -7,7 +7,6 @@
+     superlu_enum_consts.h
+     supermatrix.h
+     util_dist.h
+-    colamd.h
+     gpu_api_utils.h
+     gpu_wrapper.h
+     ${CMAKE_CURRENT_BINARY_DIR}/superlu_dist_config.h
+@@ -40,7 +39,6 @@
+   xerr_dist.c
+   smach_dist.c
+   dmach_dist.c
+-  colamd.c
+   superlu_dist_version.c
+   comm_tree.c
+   superlu_grid3d.c    ## 3D code
+@@ -291,7 +289,7 @@
+ endif()
+ 
+ set(superlu_dist_libs ${MPI_C_LIBRARIES} ${MPI_CXX_LIBRARIES} ${BLAS_LIB} 
${LAPACK_LIB}
+-    ${PARMETIS_LIB} ${COMBBLAS_LIB} ${CUDA_LIB} ${HIP_LIB}) 
++    ${PARMETIS_LIB} ${COMBBLAS_LIB} ${CUDA_LIB} ${HIP_LIB} -lcolamd) 
+ if (NOT MSVC)
+   list(APPEND superlu_dist_libs m)
+ endif ()

diff --git a/sci-libs/superlu_dist/superlu_dist-7.2.0.ebuild 
b/sci-libs/superlu_dist/superlu_dist-7.2.0.ebuild
deleted file mode 100644
index c3a3fcf1f..000000000
--- a/sci-libs/superlu_dist/superlu_dist-7.2.0.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# 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/v${PV}.tar.gz -> 
${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="combblas +complex-precision +double-precision examples lapack fortran 
metis single-precision test"
-# TODO: cuda
-
-RDEPEND="
-       virtual/blas
-       virtual/mpi
-
-       combblas? ( sci-libs/CombBLAS )
-       lapack? ( virtual/lapack )
-       metis? ( sci-libs/parmetis )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-RESTRICT="!test? ( test )"
-
-src_prepare() {
-       rm -r CBLAS || 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_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
-}
-
-src_compile() {
-       cmake_src_compile
-       default
-}

diff --git a/sci-libs/superlu_dist/superlu_dist-8.0.0.ebuild 
b/sci-libs/superlu_dist/superlu_dist-8.0.0_p20220526.ebuild
similarity index 84%
rename from sci-libs/superlu_dist/superlu_dist-8.0.0.ebuild
rename to sci-libs/superlu_dist/superlu_dist-8.0.0_p20220526.ebuild
index 77b3ebd75..7c67699d0 100644
--- a/sci-libs/superlu_dist/superlu_dist-8.0.0.ebuild
+++ b/sci-libs/superlu_dist/superlu_dist-8.0.0_p20220526.ebuild
@@ -3,6 +3,7 @@
 
 EAPI=8
 
+COMMIT="df1dbf3afd7876644ff5d0613dfa7b9d32af79de"
 DOCS_BUILDER="doxygen"
 DOCS_CONFIG_NAME="DoxyConfig"
 FORTRAN_NEEDED="fortran"
@@ -14,7 +15,8 @@ HOMEPAGE="
        https://portal.nersc.gov/project/sparse/superlu/
        https://github.com/xiaoyeli/superlu_dist
 "
-SRC_URI="https://github.com/xiaoyeli/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+SRC_URI="https://github.com/xiaoyeli/${PN}/archive/${COMMIT}.tar.gz -> 
${PF}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
 
 LICENSE="BSD"
 SLOT="0"
@@ -23,6 +25,7 @@ IUSE="combblas +complex-precision +double-precision examples 
hip lapack fortran
 # TODO: cuda
 
 RDEPEND="
+       sci-libs/colamd
        virtual/blas
        virtual/mpi
 
@@ -38,10 +41,12 @@ RDEPEND="
 DEPEND="${RDEPEND}"
 BDEPEND="virtual/pkgconfig"
 
+PATCHES=( "${FILESDIR}/${P}-system-colamd.patch" )
 RESTRICT="!test? ( test )"
 
 src_prepare() {
        rm -r CBLAS || die
+       rm SRC/colamd.{c,h} || die
        cmake_src_prepare
 }
 
@@ -80,6 +85,9 @@ src_configure() {
 }
 
 src_compile() {
-       cmake_src_compile
-       default
+       if use fortran ; then
+               MAKEOPTS="-j1" cmake_src_compile
+       else
+               cmake_src_compile
+       fi
 }

Reply via email to