sci-mathematics/slepc: package migration from ::science overlay
authorMatthias Maier <tamiko@gentoo.org>
Mon, 5 Aug 2019 04:53:12 +0000 (23:53 -0500)
committerMatthias Maier <tamiko@gentoo.org>
Mon, 5 Aug 2019 06:51:15 +0000 (01:51 -0500)
After years in ::science it is stable enough to be hosted in ::gentoo.

Package-Manager: Portage-2.3.70, Repoman-2.3.16
Signed-off-by: Matthias Maier <tamiko@gentoo.org>
sci-mathematics/slepc/Manifest [new file with mode: 0644]
sci-mathematics/slepc/metadata.xml [new file with mode: 0644]
sci-mathematics/slepc/slepc-3.11.1.ebuild [new file with mode: 0644]

diff --git a/sci-mathematics/slepc/Manifest b/sci-mathematics/slepc/Manifest
new file mode 100644 (file)
index 0000000..a1f5cfb
--- /dev/null
@@ -0,0 +1 @@
+DIST slepc-3.11.1.tar.gz 4700643 BLAKE2B a624050aad0128d7ef53f27f72484e078e62d8edf9298995dda71a9e8d804dddc7e433542eccf95b2d896be80e8795b1664375e68a4c02c18c56d78d490bffb7 SHA512 a941c2a955953ed2344de7f7d9eaaed79504c3559e27920c633bc09cfb192f883b26fd4aa5dc3bd9909a2fc045f3a34e514feca0e074ca36bc3166aa9c059235
diff --git a/sci-mathematics/slepc/metadata.xml b/sci-mathematics/slepc/metadata.xml
new file mode 100644 (file)
index 0000000..046ec6c
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>tamiko@gentoo.org</email>
+               <name>Matthias Maier</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>sci-mathematics@gentoo.org</email>
+               <name>Gentoo Mathematics Project</name>
+       </maintainer>
+       <use>
+               <flag name="complex-scalars">Make scalars complex</flag>
+       </use>
+</pkgmetadata>
diff --git a/sci-mathematics/slepc/slepc-3.11.1.ebuild b/sci-mathematics/slepc/slepc-3.11.1.ebuild
new file mode 100644 (file)
index 0000000..cfd41a7
--- /dev/null
@@ -0,0 +1,75 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic python-any-r1 toolchain-funcs versionator
+
+DESCRIPTION="Scalable Library for Eigenvalue Problem Computations"
+HOMEPAGE="http://slepc.upv.es/"
+SRC_URI="http://slepc.upv.es/download/distrib/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="complex-scalars doc mpi"
+
+PETSC_PV="$(get_version_component_range 1-2 ${PV})"
+RDEPEND="
+       =sci-mathematics/petsc-${PETSC_PV}*:=[mpi=,complex-scalars=]
+       sci-libs/arpack[mpi=]
+       mpi? ( virtual/mpi )
+"
+
+DEPEND="${RDEPEND}
+       ${PYTHON_DEPS}
+       virtual/pkgconfig
+       dev-util/cmake
+"
+
+MAKEOPTS="${MAKEOPTS} -j1 V=1"
+
+src_prepare() {
+       default
+
+       sed -i -e 's%/usr/bin/env python%/usr/bin/env python2%' configure || die
+}
+
+src_configure() {
+       # *sigh*
+       addpredict "${PETSC_DIR}"/.nagged
+
+       # Make sure that the environment is set up correctly:
+       unset PETSC_DIR
+       unset PETSC_ARCH
+       unset SLEPC_DIR
+       source "${EPREFIX}"/etc/env.d/99petsc
+       export PETSC_DIR
+
+       # configure is a custom python script and doesn't want to have default
+       # configure arguments that we set with econf
+       ./configure \
+               --prefix="${EPREFIX}/usr/$(get_libdir)/slepc" \
+               --with-arpack=1 \
+               --with-arpack-dir="${EPREFIX}/usr/$(get_libdir)" \
+               --with-arpack-flags="$(usex mpi "-lparpack,-larpack" "-larpack")"
+
+}
+
+src_install() {
+       emake DESTDIR="${ED}" install
+
+       # add PETSC_DIR to environmental variables
+       cat >> 99slepc <<- EOF
+               SLEPC_DIR=${EPREFIX}/usr/$(get_libdir)/slepc
+               LDPATH=${EPREFIX}/usr/$(get_libdir)/slepc/lib
+       EOF
+       doenvd 99slepc
+
+       if use doc ; then
+               dodoc docs/slepc.pdf
+               dohtml -r docs/*.html docs/manualpages
+       fi
+}