forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sci-libs/hypre: version bump to 2.18
Package-Manager: Portage-2.3.78, Repoman-2.3.17 Signed-off-by: Matthias Maier <[email protected]>
- Loading branch information
Showing
2 changed files
with
102 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST hypre-2.14.0.tar.gz 7312329 BLAKE2B 93de48bdd05c383c74fb1b3b25ddcd5830be099aa7557262547932e17eba524c25ff69ff94d10f29ffdabfef9c05281fd485a7c9b999141f2488ae4fc0238736 SHA512 c7b59fb7ab1cc906e339fcc00603898e44234a65aa74600f740bc825aa94aa66ff0cbd4bd4b7f339c0d28ff5bd9494f15b57f2017a22348fee14b4e8333f1e6c | ||
DIST hypre-2.18.0.tar.gz 5698227 BLAKE2B e6562b78dcff6592a7df86d2162e3669c9ea3f71cc8926402038da319cb6c1b801a7ac5e44612ba86762ccdd63ae30cd2976451368309622b46e67a7a7dc1d83 SHA512 41292d590285703b5fb91c767fc9d064e36911f09583a81a3da9f2b5524143b23bb1beba3449d759e3f681760d9ad155072e1762d7d6bbe0e65660d5b16c472a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
# Copyright 1999-2019 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
FORTRAN_NEEDED=fortran | ||
|
||
inherit cmake-utils fortran-2 toolchain-funcs flag-o-matic | ||
|
||
DESCRIPTION="Parallel matrix preconditioners library" | ||
HOMEPAGE="https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods" | ||
SRC_URI="https://github.com/${PN}-space/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" | ||
|
||
LICENSE="LGPL-2.1" | ||
SLOT="0/${PV}" | ||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" | ||
IUSE="debug examples fortran int64 openmp mpi" | ||
|
||
RDEPEND=" | ||
sci-libs/superlu:= | ||
virtual/blas | ||
virtual/lapack | ||
mpi? ( virtual/mpi )" | ||
DEPEND="${RDEPEND} | ||
virtual/pkgconfig" | ||
|
||
DOCS=( CHANGELOG COPYRIGHT README ) | ||
|
||
pkg_pretend() { | ||
[[ ${MERGE_TYPE} != binary ]] &&\ | ||
use openmp && [[ $(tc-getCC)$ == *gcc* ]] && tc-check-openmp | ||
} | ||
|
||
pkg_setup() { | ||
if [[ ${MERGE_TYPE} != binary ]] && \ | ||
use openmp && [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp ; then | ||
ewarn "You are using a non capable gcc compiler ( < 4.2 ? )" | ||
die "Need an OpenMP capable compiler" | ||
fi | ||
} | ||
|
||
src_prepare() { | ||
default | ||
# link with system superlu and propagate LDFLAGS | ||
sed -e "s:@LIBS@:@LIBS@ $($(tc-getPKG_CONFIG) --libs superlu):" \ | ||
-e 's:_SHARED@:_SHARED@ $(LDFLAGS):g' \ | ||
-i src/config/Makefile.config.in || die | ||
sed -e '/HYPRE_ARCH/s: = :=:g' \ | ||
-i src/configure || die | ||
# link with system blas and lapack | ||
sed -e '/^BLASFILES/d' \ | ||
-e '/^LAPACKFILES/d' \ | ||
-i src/lib/Makefile || die | ||
} | ||
|
||
src_configure() { | ||
tc-export CC CXX | ||
append-flags -Dhypre_dgesvd=dgesvd_ | ||
use openmp && [[ $(tc-getCC)$ == *gcc* ]] && \ | ||
append-flags -fopenmp && append-ldflags -fopenmp | ||
use mpi && CC=mpicc FC=mpif77 CXX=mpicxx | ||
|
||
cd src | ||
|
||
# without-superlu: means do not use bundled one | ||
econf \ | ||
--enable-shared \ | ||
--with-blas-libs="$($(tc-getPKG_CONFIG) --libs-only-l blas | sed -e 's/-l//g')" \ | ||
--with-blas-lib-dirs="$($(tc-getPKG_CONFIG) --libs-only-L blas | sed -e 's/-L//g')" \ | ||
--with-lapack-libs="$($(tc-getPKG_CONFIG) --libs-only-l lapack | sed -e 's/-l//g')" \ | ||
--with-lapack-lib-dirs="$($(tc-getPKG_CONFIG) --libs-only-L lapack | sed -e 's/-L//g')" \ | ||
--with-timing \ | ||
--without-superlu \ | ||
$(use_enable debug) \ | ||
$(use_enable openmp hopscotch) \ | ||
$(use_enable int64 bigint) \ | ||
$(use_enable fortran) \ | ||
$(use_with openmp) \ | ||
$(use_with mpi MPI) | ||
} | ||
|
||
src_compile() { | ||
emake -C src | ||
} | ||
|
||
src_test() { | ||
LD_LIBRARY_PATH="${S}/src/lib:${LD_LIBRARY_PATH}" \ | ||
PATH="${S}/src/test:${PATH}" \ | ||
emake -C src check | ||
} | ||
|
||
src_install() { | ||
emake -C src install \ | ||
HYPRE_INSTALL_DIR="${ED}" \ | ||
HYPRE_LIB_INSTALL="${ED}/usr/$(get_libdir)" \ | ||
HYPRE_INC_INSTALL="${ED}$/usr/include/hypre" | ||
if use examples; then | ||
insinto /usr/share/doc/${PF} | ||
doins -r src/examples | ||
fi | ||
} |