summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Fan <alex.fan.q@gmail.com>2022-01-05 20:29:09 +1100
committerYixun Lan <dlan@gentoo.org>2022-01-08 20:41:00 +0800
commit5d31c5144882b60ac02fc40de411e665a238c253 (patch)
treeec6cb95fc45b6fb42e179b7ef9665b00e1cc554f /dev-python/mpi4py
parentdev-python/mpi4py: add myself as a maintainer (diff)
downloadgentoo-5d31c5144882b60ac02fc40de411e665a238c253.tar.gz
gentoo-5d31c5144882b60ac02fc40de411e665a238c253.tar.bz2
gentoo-5d31c5144882b60ac02fc40de411e665a238c253.zip
dev-python/mpi4py: add 3.1.3
bump to EAPI 8, update upstream homepage, remove obsolete patches, and skip unstable openmpi spawn tests Closes: https://bugs.gentoo.org/828508 Signed-off-by: Alex Fan <alex.fan.q@gmail.com> Signed-off-by: Yixun Lan <dlan@gentoo.org>
Diffstat (limited to 'dev-python/mpi4py')
-rw-r--r--dev-python/mpi4py/Manifest1
-rw-r--r--dev-python/mpi4py/metadata.xml3
-rw-r--r--dev-python/mpi4py/mpi4py-3.1.3.ebuild63
3 files changed, 65 insertions, 2 deletions
diff --git a/dev-python/mpi4py/Manifest b/dev-python/mpi4py/Manifest
index f01f20bfa0e3..f8d8047eb817 100644
--- a/dev-python/mpi4py/Manifest
+++ b/dev-python/mpi4py/Manifest
@@ -1 +1,2 @@
DIST mpi4py-3.0.3.tar.gz 1429389 BLAKE2B 1e8c44b857b417237832682d0b3b5c90d1f1046fd8137d2a63972419ff8ec0e1fd2ebba521e2d2d6ba9f773b7c607370b55d8d75c9afeaca172ac06dd838943c SHA512 041768f753c8188b2560fe92711861780f0d77eda3281433520c98bb1e9b4da6a89c364f2d1c4623868ffbbcfde34ef556198b1bef6fc1c4a9c19cd5e71b546c
+DIST mpi4py-3.1.3.tar.gz 2461368 BLAKE2B 3ff7f6519a1ee96249567b1c65401fd1242c433bbb0a55c9d0a9b07f167ec44c71aefc24ac5fb354ceeb591dbfe97a4306f8455bb00559789367e91b78d80c16 SHA512 7a15224692016253120e8e88be1f7201e6f4548c1fb5ed15f04f416000b0d9e259dd8e80c0e237b1a960143e52b4a840d2a541359833387ac12868af1c059cea
diff --git a/dev-python/mpi4py/metadata.xml b/dev-python/mpi4py/metadata.xml
index 368fa766eb0a..0dd4ceca2177 100644
--- a/dev-python/mpi4py/metadata.xml
+++ b/dev-python/mpi4py/metadata.xml
@@ -21,8 +21,7 @@
arrays, builtin bytes/string/array objects).
</longdescription>
<upstream>
- <remote-id type="google-code">mpi4py</remote-id>
- <remote-id type="bitbucket">mpi4py</remote-id>
+ <remote-id type="github">mpi4py/mpi4py</remote-id>
<remote-id type="pypi">mpi4py</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/mpi4py/mpi4py-3.1.3.ebuild b/dev-python/mpi4py/mpi4py-3.1.3.ebuild
new file mode 100644
index 000000000000..d4e51f486abd
--- /dev/null
+++ b/dev-python/mpi4py/mpi4py-3.1.3.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1
+
+DESCRIPTION="Message Passing Interface for Python"
+HOMEPAGE="https://github.com/mpi4py/mpi4py https://pypi.org/project/mpi4py/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ virtual/mpi
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ virtual/mpi[romio]
+ )
+"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # not needed on install
+ rm -vr docs/source || die
+ rm test/test_pickle.py || die # disabled by Gentoo-bug #659348
+ distutils-r1_python_prepare_all
+}
+
+src_compile() {
+ export FAKEROOTKEY=1
+ distutils-r1_src_compile
+}
+
+python_test() {
+ echo "Beginning test phase"
+ pushd "${BUILD_DIR}"/../ &> /dev/null || die
+ # spawn is not stable in OpenMPI 4
+ # https://github.com/jsquyres/ompi/pull/4#issuecomment-806897758
+ # oob_tcp_if_include lo is needed to allow test in systemd-nspawn container
+ mpiexec --use-hwthread-cpus --mca btl tcp,self --mca oob_tcp_if_include lo \
+ -n 1 "${PYTHON}" -B ./test/runtests.py -v \
+ --exclude="test_msgspec" --exclude="test_spawn" ||
+ die "Testsuite failed under ${EPYTHON}"
+ popd &> /dev/null || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ use examples && local DOCS=( demo )
+ distutils-r1_python_install_all
+}