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>
