commit:     403642ebe23dcfe31f47ed63b4672be3521a1308
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Fri Jun 10 23:46:47 2022 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Jun 12 09:40:48 2022 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=403642eb

sci-libs/arpack: new package, add 3.8.0_p20220604

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
Closes: https://github.com/gentoo/sci/pull/1147
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 sci-libs/arpack/arpack-3.8.0_p20220604.ebuild | 102 ++++++++++++++++++++++++++
 sci-libs/arpack/metadata.xml                  |  26 +++++++
 2 files changed, 128 insertions(+)

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>[email protected]</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>

Reply via email to