aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Barbieri <lssndrbarbieri@gmail.com>2022-06-11 01:46:47 +0200
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2022-06-12 11:40:48 +0200
commit403642ebe23dcfe31f47ed63b4672be3521a1308 (patch)
tree7a5cd07bfb24a5dbde12bc593f18399b65c6a2a8
parentapp-arch/libdeflate: add version 1.11 (diff)
downloadsci-403642ebe23dcfe31f47ed63b4672be3521a1308.tar.gz
sci-403642ebe23dcfe31f47ed63b4672be3521a1308.tar.bz2
sci-403642ebe23dcfe31f47ed63b4672be3521a1308.zip
sci-libs/arpack: new package, add 3.8.0_p20220604
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com> Closes: https://github.com/gentoo/sci/pull/1147 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
-rw-r--r--sci-libs/arpack/Manifest3
-rw-r--r--sci-libs/arpack/arpack-3.8.0_p20220604.ebuild102
-rw-r--r--sci-libs/arpack/metadata.xml26
3 files changed, 131 insertions, 0 deletions
diff --git a/sci-libs/arpack/Manifest b/sci-libs/arpack/Manifest
new file mode 100644
index 000000000..730cdcfdd
--- /dev/null
+++ b/sci-libs/arpack/Manifest
@@ -0,0 +1,3 @@
+DIST arpack-3.8.0_p20220604.gh.tar.gz 1012341 BLAKE2B 30f71c334f3ce8b24bce309cdfa5869fa4781baa1935dbd7772936f1f135e4d6a3b576f9fece8ba9ff48f053bac1d1328c4f5f5545cacaa568e1ea5695013e2f SHA512 f31c7bd45a82a8a64e1d041ca18eac9c50dac0ebecf845ad5e57c70d1c12ab36ab0630db224897bfe6181c0fff9152f1dea7b3a6a2eb53bfda2f2a590ca8a37b
+DIST arpack-tutorial.ps.gz 105599 BLAKE2B 99570e6a0cc1c020b9c271e8ce1cc224f69ff5333cc818c10b063dc8ffbaf66a9f5c6ede99541b4212286d422146b1c4e332eba7e1635c99efa0e4c2620f0630 SHA512 a7b8fefd1a572ed477ae208d49094c1c65c9368990d12de9b3528e33fed546c947659f74e54a810d04154b4a1b0f9a94bcba4db0cf59d379e20786a261066aa4
+DIST arpack-ug.ps.gz 248543 BLAKE2B ac010aef470060636fa00360636ba093f0d24d219fa927c79fb1726b798160eda74fa8b4be6c7dff94f5759efcf30afa99ad310e7959115e028738beb8aa125d SHA512 3349117fb10b07207ffbab2ffa31b406d026855ea4c16e8649b14c7d70bc94e11b5730672e34acd654817799136d4bd76569ac50ec78d787df5582d18ed61328
diff --git a/sci-libs/arpack/arpack-3.8.0_p20220604.ebuild b/sci-libs/arpack/arpack-3.8.0_p20220604.ebuild
new file mode 100644
index 000000000..b7a989641
--- /dev/null
+++ b/sci-libs/arpack/arpack-3.8.0_p20220604.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT="5eafea4328f1631eab28b1a20e757d1f0e21f8a6"
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit cmake flag-o-matic fortran-2 python-single-r1
+
+DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems"
+HOMEPAGE="
+ https://www.caam.rice.edu/software/ARPACK/
+ https://github.com/opencollab/arpack-ng
+"
+SRC_URI="
+ https://github.com/opencollab/${PN}-ng/archive/${COMMIT}.tar.gz -> ${PF}.gh.tar.gz
+ doc? (
+ http://www.caam.rice.edu/software/ARPACK/SRC/ug.ps.gz -> ${PN}-ug.ps.gz
+ http://www.caam.rice.edu/software/ARPACK/DOCS/tutorial.ps.gz -> ${PN}-tutorial.ps.gz
+ )
+"
+S="${WORKDIR}/${PN}-ng-${COMMIT}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc examples icb icbexmm int64 mpi python"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack
+
+ icbexmm? ( dev-cpp/eigen )
+ mpi? ( virtual/mpi[fortran] )
+ icb? ( virtual/mpi[cxx] )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'dev-libs/boost:=[numpy,python,${PYTHON_USEDEP}]')
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+REQUIRED_USE="
+ icb? ( mpi )
+ python? (
+ ${PYTHON_REQUIRED_USE}
+ icbexmm
+ )
+"
+
+src_configure() {
+ append-fflags '-fallow-argument-mismatch'
+
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DEXAMPLES=$(usex examples)
+ -DICB=$(usex icb)
+ -DICBEXMM=$(usex icbexmm)
+ -DINTERFACE64=$(usex int64)
+ -DMPI=$(usex mpi)
+ -DPYTHON3=$(usex python)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ dodoc DOCUMENTS/*.doc
+ newdoc DOCUMENTS/README README.doc
+ use doc && dodoc "${WORKDIR}"/*.ps
+ if use examples; then
+ for i in BAND COMPLEX NONSYM SIMPLE SVD SYM ; do
+ exeinto "/usr/libexec/${PN}/examples/${i}"
+ doexe "${BUILD_DIR}/EXAMPLES/${i}"/*
+ done
+
+ if use mpi; then
+ exeinto "/usr/libexec/${PN}/examples/MPI"
+ doexe "${BUILD_DIR}"/PARPACK/EXAMPLES/MPI/*
+ fi
+
+ if use python; then
+ docinto examples/pyarpack
+ dodoc "${BUILD_DIR}"/*.py
+ fi
+ docompress -x "/usr/share/doc/${PF}/examples"
+ fi
+ if use icbexmm; then
+ exeinto "/usr/libexec/${PN}/examples/MATRIX_MARKET"
+ doexe "${BUILD_DIR}/EXAMPLES/MATRIX_MARKET/arpackmm"
+ rm "${BUILD_DIR}/EXAMPLES/MATRIX_MARKET/arpackmm" || die
+ docinto examples
+ dodoc -r "${BUILD_DIR}/EXAMPLES/MATRIX_MARKET"
+ fi
+ if use python; then
+ python_domodule "${ED}/usr/$(get_libdir)/pyarpack"
+ rm -r "${ED}/usr/$(get_libdir)/pyarpack" || die
+ fi
+}
diff --git a/sci-libs/arpack/metadata.xml b/sci-libs/arpack/metadata.xml
new file mode 100644
index 000000000..9cd539912
--- /dev/null
+++ b/sci-libs/arpack/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ The ARnoldi PACKage is a library of routines capable of solving large scale symmetric,
+ nonsymmetric, and generalized eigenproblems. The software is designed to compute a few
+ eigenvalues with user specified features such as those of largest real
+ part or largest magnitude. Storage requirements are on the order of
+ n*k locations. No auxiliary storage is required. A set of Schur basis
+ vectors for the desired k-dimensional eigen-space is computed which is
+ numerically orthogonal to working precision. Numerically accurate
+ eigenvectors are available on request.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">opencollab/arpack-ng</remote-id>
+ </upstream>
+ <use>
+ <flag name="icb">Enable support for *[ae]upd_c with ISO_C_BINDING</flag>
+ <flag name="icbexmm">Enable support for matrix market example based on ICB</flag>
+ <flag name="int64">Use the 64-bit integer interface (ILP64)</flag>
+ </use>
+</pkgmetadata>