diff options
Diffstat (limited to 'dev-python/mpi4py/mpi4py-3.1.4.ebuild')
-rw-r--r-- | dev-python/mpi4py/mpi4py-3.1.4.ebuild | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/dev-python/mpi4py/mpi4py-3.1.4.ebuild b/dev-python/mpi4py/mpi4py-3.1.4.ebuild new file mode 100644 index 000000000000..85ed88fe6299 --- /dev/null +++ b/dev-python/mpi4py/mpi4py-3.1.4.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +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 ~riscv ~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? ( + 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 +} |