sci-libs/mfem: multiple fixes

Respect multilib
Allow multiple amdgpu implementations
Fix include path discovery

Closes: https://bugs.gentoo.org/847355
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2022-05-25 14:16:06 +02:00
parent dd952e12e2
commit e637b097f3

View File

@@ -86,7 +86,7 @@ PATCHES=( "${FILESDIR}/${P}-bump-cmake-version.patch" )
RESTRICT="!test? ( test )" RESTRICT="!test? ( test )"
DOCS=( README CHANGELOG CITATION.cff ) DOCS=( README CHANGELOG CITATION.cff )
REQUIRED_USE=" REQUIRED_USE="
hip? ( ^^ ( ${IUSE_AMDGPU/+/} ) ) hip? ( || ( ${IUSE_AMDGPU/+/} ) )
mpi? ( metis ) mpi? ( metis )
mumps? ( mpi ) mumps? ( mpi )
petsc? ( mpi ) petsc? ( mpi )
@@ -97,18 +97,18 @@ REQUIRED_USE="
#pumi? ( mpi ) #pumi? ( mpi )
#?? ( cuda hip ) #?? ( cuda hip )
src_prepare() {
sed -e "s|\"\${CMAKE_INSTALL_PREFIX}/lib\"|\"\${CMAKE_INSTALL_PREFIX}/$(get_libdir)\"|g" -i config/cmake/modules/MfemCmakeUtilities.cmake || die
cmake_src_prepare
}
src_configure() { src_configure() {
for u in ${IUSE_AMDGPU} ; do if use hip ; then
if use ${u} ; then HIP_ARCH=""
export HIP_ARCH="${u/amdgpu_/}" for u in ${IUSE_AMDGPU} ; do
break if use ${u} ; then
fi HIP_ARCH="${HIP_ARCH},${u/amdgpu_/}"
done fi
done
# remove first character (,)
HIP_ARCH="${HIP_ARCH:1}"
export HIP_ARCH
fi
local mycmakeargs=( local mycmakeargs=(
-DBUILD_SHARED_LIBS=ON -DBUILD_SHARED_LIBS=ON
-DMFEM_ENABLE_MINIAPPS=ON -DMFEM_ENABLE_MINIAPPS=ON
@@ -156,10 +156,10 @@ src_configure() {
-DMFEM_USE_ZLIB=$(usex zlib) -DMFEM_USE_ZLIB=$(usex zlib)
) )
if use codipack; then if use codipack; then
mycmakeargs+=( "-DCODIPACK_INCLUDE_DIRS=${EPREFIX}/usr/include/codi" ) mycmakeargs+=( "-DCODIPACK_INCLUDE_DIR=${EPREFIX}/usr/include/codi" )
fi fi
if use mpi; then if use mpi; then
mycmakeargs+=( "-DHYPRE_INCLUDE_DIRS=${EPREFIX}/usr/include/hypre" ) mycmakeargs+=( "-DHYPRE_INCLUDE_DIR=${EPREFIX}/usr/include/hypre" )
fi fi
if use petsc; then if use petsc; then
mycmakeargs+=( "-DPETSC_DIR=${EPREFIX}/usr/$(get_libdir)/petsc" ) mycmakeargs+=( "-DPETSC_DIR=${EPREFIX}/usr/$(get_libdir)/petsc" )
@@ -179,4 +179,7 @@ src_configure() {
src_install() { src_install() {
cmake_src_install cmake_src_install
einstalldocs einstalldocs
# https://github.com/mfem/mfem/issues/3019
mv "${ED}/usr/lib" _lib || die
mv _lib "${ED}/usr/$(get_libdir)" || die
} }