From 6337e4b115ee49b2cb4a6990030444a02b66f1a7 Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Tue, 24 May 2022 17:41:33 +0200 Subject: [PATCH] sci-libs/ButterflyPACK: new package, add 2.1.0 Signed-off-by: Alessandro Barbieri --- .../ButterflyPACK/ButterflyPACK-2.1.0.ebuild | 44 +++++++++++++++++++ sci-libs/ButterflyPACK/Manifest | 1 + sci-libs/ButterflyPACK/metadata.xml | 19 ++++++++ 3 files changed, 64 insertions(+) create mode 100644 sci-libs/ButterflyPACK/ButterflyPACK-2.1.0.ebuild create mode 100644 sci-libs/ButterflyPACK/Manifest create mode 100644 sci-libs/ButterflyPACK/metadata.xml diff --git a/sci-libs/ButterflyPACK/ButterflyPACK-2.1.0.ebuild b/sci-libs/ButterflyPACK/ButterflyPACK-2.1.0.ebuild new file mode 100644 index 0000000000..437e8815f5 --- /dev/null +++ b/sci-libs/ButterflyPACK/ButterflyPACK-2.1.0.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake fortran-2 + +DESCRIPTION="Mathematical software for solving large-scale dense linear systems" +HOMEPAGE="https://github.com/liuyangzhuan/ButterflyPACK" +SRC_URI="https://github.com/liuyangzhuan/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +KEYWORDS="~amd64" +LICENSE="BSD" +SLOT="0" +IUSE="arpack magma" + +RDEPEND=" + sci-libs/scalapack + virtual/blas + virtual/lapack + virtual/mpi + + arpack? ( sci-libs/arpack ) + magma? ( sci-libs/magma ) +" +DEPEND="${RDEPEND}" + +DOCS=( README.md CHANGELOG ) + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS=ON + + -DTPL_ARPACK_LIBRARIES=$(usex arpack) + -DTPL_MAGMA_LIBRARIES=$(usex magma) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + insinto "/usr/share/octave/site/m/${PN}" + doins -r MATLAB/* +} diff --git a/sci-libs/ButterflyPACK/Manifest b/sci-libs/ButterflyPACK/Manifest new file mode 100644 index 0000000000..4a536fc2c2 --- /dev/null +++ b/sci-libs/ButterflyPACK/Manifest @@ -0,0 +1 @@ +DIST ButterflyPACK-2.1.0.tar.gz 378160677 BLAKE2B 0846f57c45717a4dd2bdd4eb04f7e0ca7f2ac8bd9873307c4cd9342d3696f885ede2b65a5a6c3aed55fcc70cfb50bbe9d45957b14c4f8208ffc11a8a4ac6134d SHA512 4f06e60d98f8dd88f40c49b824e6435af5674955326016eab2a62feda31735de15e30ae86f7badb5f31e53be8882aa6535ba52345680a65215608ab75775c2bf diff --git a/sci-libs/ButterflyPACK/metadata.xml b/sci-libs/ButterflyPACK/metadata.xml new file mode 100644 index 0000000000..a4e7faa75f --- /dev/null +++ b/sci-libs/ButterflyPACK/metadata.xml @@ -0,0 +1,19 @@ + + + + + lssndrbarbieri@gmail.com + Alessandro Barbieri + + + https://github.com/liuyangzhuan/ButterflyPACK/issues + liuyangzhuan/ButterflyPACK + + ButterflyPACK is a mathematical software for rapidly solving large-scale dense linear systems that exhibit off-diagonal rank-deficiency. These systems arise frequently from boundary element methods, or factorization phases in finite-difference/finite-element methods. ButterflyPACK relies on low-rank or butterfly formats under Hierarchical matrix, HODLR or other hierarchically nested frameworks to compress, factor and solve the linear system in quasi-linear time. The computationally most intensive phase, factorization, is accelerated via randomized linear algebras. The butterfly format, originally inspired by the butterfly data flow in fast Fourier Transform, is a linear algebra tool well-suited for compressing matrices arising from high-frequency wave equations or highly oscillatory integral operators. ButterflyPACK also provides preconditioned TFQMR iterative solvers. +ButterflyPACK is written in Fortran 2003, it also has C++ interfaces. ButterflyPACK supports hybrid MPI/OpenMP programming models. In addition, ButterflyPACK can be readily invoked from the software STRUMPACK for solving dense and sparse linear systems. + + + Use arpack as dependency + Use magma as dependency + +