diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-03-05 01:46:50 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-03-05 01:46:50 +0000 |
commit | 77d1bb6f8d47023aa21aaee830bf3229837233d1 (patch) | |
tree | 751b6c0d12ed0ed73cc1e3fbca7404072ba6cc7a /dev-python/ipyparallel | |
parent | d13006cca857323814c09f5123b87c1a005bba74 (diff) |
gentoo auto-resync : 05:03:2025 - 01:46:50
Diffstat (limited to 'dev-python/ipyparallel')
-rw-r--r-- | dev-python/ipyparallel/Manifest | 3 | ||||
-rw-r--r-- | dev-python/ipyparallel/files/ipyparallel-9.0.1-pypy3_11.patch | 43 | ||||
-rw-r--r-- | dev-python/ipyparallel/ipyparallel-9.0.1.ebuild | 96 |
3 files changed, 142 insertions, 0 deletions
diff --git a/dev-python/ipyparallel/Manifest b/dev-python/ipyparallel/Manifest index 531d850c0a13..09edc12a8fa6 100644 --- a/dev-python/ipyparallel/Manifest +++ b/dev-python/ipyparallel/Manifest @@ -1,3 +1,6 @@ +AUX ipyparallel-9.0.1-pypy3_11.patch 1862 BLAKE2B f0efe54bb6906fbe3d7187b56d7c641f2c8c1c7d164f6109a3de281019c9f26d3d963b6cdf69c548fd68351df01a9aefa08b5d18618e26a46a497e4aeba44734 SHA512 cabb0e85dcc0d9ea03091524ba2c146a952f6ea5637bb62471ba2c6a084d707296f7c25afa78310a8a26e45c96ea776adeec6f6865401dc58e26635c416ccd7e DIST ipyparallel-9.0.0.tar.gz 4403287 BLAKE2B 18248d6ee1eda409ff5de54ec7dbcdb75ac4a6dbd7af4fee23ec826d4c179e67454c980c6db00d180ddf078bd802a4b6f2e0245c63cf9bd55c99ead1bf1ba044 SHA512 4c89edba0bbad9ce75deaaa1e2486b1c50ca3f7a1a8f3c22b6dadc72f5b1f86958fe8c559e4548c69518494fd51c4ebe65f6019b154c8ffd3ef51eebb9bf1f03 +DIST ipyparallel-9.0.1.tar.gz 4407324 BLAKE2B 9302e0aa6ed790a687fd5d7f3842684d11e73868d9f2f299634d8813735e4d09f0faa873cca45c619f43e6413f269928be3af68bf9c733fd05853918b361e66a SHA512 6359f932a249197610016b3ccc5f86b6e0565e1e2070f5dde72c0e75877f0bc4e038a0cc5cea05c9a068d1e82e923d983470e6db465169527bcb9499cc550d52 EBUILD ipyparallel-9.0.0.ebuild 2596 BLAKE2B 37b9af3ff5153202c62de6fa0fd123e04b6a3bcf655f2bcebee7b762ef21dc601f4dc2b304beb934fde5d165958915528d220871efba9adf25c004a485612ac4 SHA512 12fa9c650dc1ae390d2b0cc9443ac8f7fbb691d983603ed90b6012a67ba509fc5c37d29db061c6f9010dc1326b2adbc972a456f1a252c10f32b4dc8003625060 +EBUILD ipyparallel-9.0.1.ebuild 2745 BLAKE2B e04a6a1afc4310e9aac600e92325b8c1e77132bea3cf6eb250a843ffb617b8820bb22cff2efdfa7f33bd1ecac6d3cbb4e7436b367b3088f6dc08329b6a41cde3 SHA512 a76e6b1d2dccb7cfe10198d6059de0ab3cdcc8b2572becd6bc7e3b6415273a92862708a5951bf8b8bfb098f2ceb520573efee3440170c227d423d330d5c313a3 MISC metadata.xml 531 BLAKE2B 92dd755dd3036f653f24eda893979487b8d5bbf3c369f3f10c3fc2e69ad6aef03cb6eca295bcb8c6f89f0838780c20132bfd2a33bb38b56b227e97258447c2e0 SHA512 fcd131d18b012d1511468777dd72e07ed28a514419923911082229c0256b9003d9afe2048b6c339cb5c94307026b52bc4e9b6781d45660178d18385d71af8f21 diff --git a/dev-python/ipyparallel/files/ipyparallel-9.0.1-pypy3_11.patch b/dev-python/ipyparallel/files/ipyparallel-9.0.1-pypy3_11.patch new file mode 100644 index 000000000000..9b42735b9be0 --- /dev/null +++ b/dev-python/ipyparallel/files/ipyparallel-9.0.1-pypy3_11.patch @@ -0,0 +1,43 @@ +From 1f3299cc4c8f8281ce48222e711393a0cadcb9fa Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Mon, 3 Mar 2025 21:27:08 +0100 +Subject: [PATCH 1/2] Use new serialization code for PyPy3.10+ 7.3.19+ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Enable the new `inspect.signature(types.CodeType)` code path for +PyPy3.10 7.3.19 and newer, notably including PyPy3.11 that does not work +with the fallback code anymore. Add a workaround to skip the `magic` +parameter that does not seem to be exposed (or needed). + +With these changes, the serialization tests pass on PyPy3.11 7.3.19, +as well as most of the test suite. + +Fixes #933 + +Signed-off-by: Michał Górny <mgorny@gentoo.org> +--- + ipyparallel/serialize/codeutil.py | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/ipyparallel/serialize/codeutil.py b/ipyparallel/serialize/codeutil.py +index ca0828a4..66dccc1f 100644 +--- a/ipyparallel/serialize/codeutil.py ++++ b/ipyparallel/serialize/codeutil.py +@@ -29,11 +29,12 @@ def code_ctor(*args): + # pass every supported arg to the code constructor + # this should be more forward-compatible + # (broken on pypy: https://github.com/ipython/ipyparallel/issues/845) +-if sys.version_info >= (3, 10) and not hasattr(sys, "pypy_version_info"): ++if sys.version_info >= (3, 10) and getattr(sys, "pypy_version_info", (7, 3, 19)) >= (7, 3, 19): + _code_attr_names = tuple( + _code_attr_map.get(name, name) + for name, param in inspect.signature(types.CodeType).parameters.items() +- if param.POSITIONAL_ONLY or param.POSITIONAL_OR_KEYWORD ++ if (param.POSITIONAL_ONLY or param.POSITIONAL_OR_KEYWORD) ++ and not (hasattr(sys, "pypy_version_info") and name == "magic") + ) + else: + # can't inspect types.CodeType on Python < 3.10 + diff --git a/dev-python/ipyparallel/ipyparallel-9.0.1.ebuild b/dev-python/ipyparallel/ipyparallel-9.0.1.ebuild new file mode 100644 index 000000000000..0d381a8bd1c3 --- /dev/null +++ b/dev-python/ipyparallel/ipyparallel-9.0.1.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( pypy3 python3_{10..13} ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Interactive Parallel Computing with IPython" +HOMEPAGE=" + https://ipyparallel.readthedocs.io/ + https://github.com/ipython/ipyparallel/ + https://pypi.org/project/ipyparallel/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + dev-python/decorator[${PYTHON_USEDEP}] + >=dev-python/pyzmq-25[${PYTHON_USEDEP}] + >=dev-python/traitlets-5[${PYTHON_USEDEP}] + >=dev-python/ipython-5[${PYTHON_USEDEP}] + >=dev-python/jupyter-client-7[${PYTHON_USEDEP}] + dev-python/jupyter-server[${PYTHON_USEDEP}] + <dev-python/ipykernel-7[${PYTHON_USEDEP}] + >=dev-python/ipykernel-6.9.1[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}] + dev-python/tqdm[${PYTHON_USEDEP}] + >=dev-python/tornado-6.1[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/flit-core[${PYTHON_USEDEP}] + test? ( + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/pytest-tornado[${PYTHON_USEDEP}] + dev-python/testpath[${PYTHON_USEDEP}] + ) +" + +# TODO: package myst_parser +# distutils_enable_sphinx docs/source +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/ipython/ipyparallel/pull/934 + "${FILESDIR}/${P}-pypy3_11.patch" +) + +src_configure() { + export IPP_DISABLE_JS=1 +} + +python_test() { + local EPYTEST_DESELECT=( + # we don't run a mongo instance for tests + ipyparallel/tests/test_mongodb.py::TestMongoBackend + # TODO + ipyparallel/tests/test_util.py::test_disambiguate_ip + # Gets upset that a timeout _doesn't_ occur, presumably because + # we're cranking up too many test timeouts. Oh well. + # bug #823458#c3 + ipyparallel/tests/test_asyncresult.py::AsyncResultTest::test_wait_for_send + # We could patch the timeout for these too but they're going to be inherently + # fragile anyway based on what they do. + ipyparallel/tests/test_client.py::TestClient::test_activate + ipyparallel/tests/test_client.py::TestClient::test_lazy_all_targets + ipyparallel/tests/test_client.py::TestClient::test_wait_for_engines + ) + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + # pure Python datetime incompatibility? TODO + ipyparallel/tests/test_asyncresult.py::TestAsyncResult::test_elapsed_multi + ) + ;; + esac + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p asyncio -p tornado +} + +python_install_all() { + distutils-r1_python_install_all + # move /usr/etc stuff to /etc + mv "${ED}/usr/etc" "${ED}/etc" || die +} + +pkg_postinst() { + optfeature "Jupyter Notebook integration" dev-python/notebook +} |