diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-01-01 06:30:58 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-01-01 06:30:58 +0000 |
commit | c4d4d544a37efc45bd5482e62e1fcdbe7d5993d3 (patch) | |
tree | e97ec8b6356535412a838039bf7874aef3129f50 /sci-libs/hypre | |
parent | 2e36bcecf24a3f583ae8f27b71ba13b3cfd39778 (diff) |
gentoo auto-resync : 01:01:2025 - 06:30:57
Diffstat (limited to 'sci-libs/hypre')
-rw-r--r-- | sci-libs/hypre/Manifest | 2 | ||||
-rw-r--r-- | sci-libs/hypre/hypre-2.32.0.ebuild | 109 |
2 files changed, 111 insertions, 0 deletions
diff --git a/sci-libs/hypre/Manifest b/sci-libs/hypre/Manifest index addb814b0991..0e014a5fdab4 100644 --- a/sci-libs/hypre/Manifest +++ b/sci-libs/hypre/Manifest @@ -1,7 +1,9 @@ DIST hypre-2.20.0.tar.gz 5971556 BLAKE2B 63cef33913f1f4c569c396dd18227ae4346807e659306521e9340789944e22dc70be3b9baec7fb1385f562b53045e5c87fcad604aa242a941199ff9fe0a0c21d SHA512 842868b494960506fa3df4e72abb42084d701ec14305f9b040b9dcb578b4bbdaa8afb079057a7e53ad721b440c72ee804775c3b8319f2d01a2f281920a9cd350 DIST hypre-2.21.0.tar.gz 6017038 BLAKE2B 500885cbd9f2b79c8740d1031a3dd9e5fd141dccfe2101ceed555cb7cbef77989b6af2c80f9b08e8efd6e2401269415532614d40512f93371397389e0fb15595 SHA512 20f860b0c25190608b50d577e03ab241d8caa1dbf7a7e56484e984710a586b1f4b63c72135488a756f42aa6a58d0a26b0c4e6e1680c3f7faabdf68e2559293b0 DIST hypre-2.24.0.tar.gz 6116863 BLAKE2B fade61df0dcef3a93c8f4ff32eb72adbef56d572b8ef18202d8cdbbbd4c53a46a21f3478cf10720c64b1eaf0731e5a6f2236736ec9631f8500ce966f55d03cfe SHA512 4f27e99ba2923c6394ccc3705930897430becef840415004d6fae2fa311fef5b2399265ec1211364f883b35d00933523e65888419890902bcd4e1e6942b66560 +DIST hypre-2.32.0.tar.gz 7512442 BLAKE2B da31dfaa3ccfb263c8d81932d34dc906e1821c1ec61d9c70109bd2a3dfeb79bc3561669fd438262c574db7e01039f7eee9afc8c45f2193903f142b42becb87e6 SHA512 c1b09a31781ce4e1a411c486424cf7a4df1275d53445ed83d0e4e210dcc87e9c09e17e26cc5ee736aebbd70618674cd3b7dba6736f8e725ba1c3d981869ada24 EBUILD hypre-2.20.0.ebuild 2601 BLAKE2B 8369a62a5984128a6c16241afd3e888634176bed2ca65e1bae0bbd98c32a09b42ddd8e01ac72a392d5fd693ec4105b9ee65b8c7ca83945f9a972ce964c357447 SHA512 b72eb3ad60e1f2640cbdff6ae85025794d49cba2d7813cef8719c9667bec9aa37e14230c495799de2728280d7bf2909458165694ff8a4908048d77b15288d207 EBUILD hypre-2.21.0.ebuild 2594 BLAKE2B 5f2114028d0b4e79be150d198f5e1dcb09c54384d4dd3e19da7d2886d3d3e101e1f8b3696fad65ae3c9bd4c0dd0a646aa9d3b0571bd605e36657aa10af67f046 SHA512 00f80fc4a1a3fe80fcfa0b3c37aa99721f29a3e7efcbb11d1c73d6807d8599d30eed5bc3d33fb1f28d1225a96debf0aab6fdbe07c19d0f06912e282a7e48c5b4 EBUILD hypre-2.24.0.ebuild 2593 BLAKE2B feee0cacabab27db678b7a4e92241b0635b685f623f5212ee085b1b1cc2f1305a12b4d98cc28d0c1ce83b3c8df4ecf12e30eb108752c3658755bc6a2212febd6 SHA512 139c6a863f289c9b72759758738c86a57cff5b653e5a9bfafe2ac2022619d7cbaf71a0804d1d70cc751ad42be5d2c090e1acdd920db58585f4bd86710a954727 +EBUILD hypre-2.32.0.ebuild 2593 BLAKE2B 949ae8d4f3d1373286b06c0660a579ca70933311a15a2bf9f6a452f5ddb2baefa1ef78af61fe7b33352db81a9c93af252927ca932e6c76d611126b4e30b7be31 SHA512 155f0fa1a7dd51b702886ab665370508b9f655902300d9ea1103cde63af89f92ada3f1b45ae81bc5d77a9de3243b50f732bced752cd8012839f1683d849c8cbe MISC metadata.xml 616 BLAKE2B e048d1098bac6c90fe41d2971044618675902957e8b2e1acbc6b4a0b1ad045d33d43f7fecea667848e533796ce05cd5735fecbea9b84bd8950f3bf38d84e11fc SHA512 c24906c2f269b820f3d926b805e5debac9d2fa864f15e800da698a93f517f6b6d2c14987d8edac0691627e892d3c2a2b8e58075feb8db2c701200861fdb05195 diff --git a/sci-libs/hypre/hypre-2.32.0.ebuild b/sci-libs/hypre/hypre-2.32.0.ebuild new file mode 100644 index 000000000000..c3bef9bc2d8b --- /dev/null +++ b/sci-libs/hypre/hypre-2.32.0.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FORTRAN_NEEDED=fortran + +inherit 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/hypre-space/hypre/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0/${PV}" +KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +IUSE="debug examples fortran int64 openmp mpi" + +BDEPEND="virtual/pkgconfig" +RDEPEND=" + sci-libs/superlu:= + virtual/blas + virtual/lapack + mpi? ( virtual/mpi ) +" +DEPEND="${RDEPEND}" + +DOCS=( CHANGELOG COPYRIGHT README ) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + use fortran && fortran-2_pkg_setup +} + +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_ + + if use openmp ; then + append-flags -fopenmp + append-ldflags -fopenmp + fi + + if use mpi ; then + CC=mpicc + FC=mpif77 + CXX=mpicxx + fi + + cd src || die + + # 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 + dodoc -r src/examples + fi +} |