diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-01-17 08:06:37 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-01-17 08:06:37 +0000 |
commit | e74bddc195533f6d160ee96220f5cfcc205bda1c (patch) | |
tree | 147bf202fd80bf604f6d289e985630f30b5a8438 /dev-python/mpi4py/mpi4py-3.1.5.ebuild | |
parent | 20c23c152d2e7b44a6f93ec9476b808659e5ff1e (diff) |
gentoo auto-resync : 17:01:2024 - 08:06:37
Diffstat (limited to 'dev-python/mpi4py/mpi4py-3.1.5.ebuild')
-rw-r--r-- | dev-python/mpi4py/mpi4py-3.1.5.ebuild | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/dev-python/mpi4py/mpi4py-3.1.5.ebuild b/dev-python/mpi4py/mpi4py-3.1.5.ebuild new file mode 100644 index 000000000000..b0a4789dda26 --- /dev/null +++ b/dev-python/mpi4py/mpi4py-3.1.5.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +inherit distutils-r1 pypi + +DESCRIPTION="Message Passing Interface for Python" +HOMEPAGE="https://github.com/mpi4py/mpi4py https://pypi.org/project/mpi4py/" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~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] + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-3.1.5-test_memory.testReadOnly.patch" +) + +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 +} + +python_test() { + echo "Beginning test phase" + local -x PYTHONPATH="${BUILD_DIR}/install$(python_get_sitedir)" + + # python want's all arguments as separate strings + local mpi_opts=( + "-n" "1" + ) + # 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 + has_version sys-cluster/openmpi && mpi_opts+=( + "--use-hwthread-cpus" + "--mca" "btl" "tcp,self" + "--mca" "oob_tcp_if_include" "lo" + ) + mpiexec \ + "${mpi_opts[@]}" \ + "${PYTHON}" -B -v ./test/runtests.py -v \ + --exclude="test_msgspec" --exclude="test_spawn" || + die "Testsuite failed under ${EPYTHON}" +} + +python_install_all() { + use doc && local HTML_DOCS=( docs/. ) + use examples && local DOCS=( demo ) + distutils-r1_python_install_all +} |