sci-libs/superlu_dist: unbundle colamd

Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2022-05-26 22:08:17 +02:00
parent 010abf77bc
commit 8721ad7bba
4 changed files with 39 additions and 84 deletions

View File

@@ -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

View File

@@ -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 ()

View File

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

View File

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