diff options
author | Alex Fan <alex.fan.q@gmail.com> | 2022-01-05 20:29:09 +1100 |
---|---|---|
committer | Yixun Lan <dlan@gentoo.org> | 2022-01-08 20:41:00 +0800 |
commit | 5d31c5144882b60ac02fc40de411e665a238c253 (patch) | |
tree | ec6cb95fc45b6fb42e179b7ef9665b00e1cc554f /dev-python/mpi4py | |
parent | dev-python/mpi4py: add myself as a maintainer (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | dev-python/mpi4py/metadata.xml | 3 | ||||
-rw-r--r-- | 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 +} |