commit:     5d31c5144882b60ac02fc40de411e665a238c253
Author:     Alex Fan <alex.fan.q <AT> gmail <DOT> com>
AuthorDate: Wed Jan  5 09:29:09 2022 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Sat Jan  8 12:41:00 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d31c514

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 <AT> gmail.com>
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>

 dev-python/mpi4py/Manifest            |  1 +
 dev-python/mpi4py/metadata.xml        |  3 +-
 dev-python/mpi4py/mpi4py-3.1.3.ebuild | 63 +++++++++++++++++++++++++++++++++++
 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
+}

Reply via email to