From 35d282e066e7489afcd0e417a7bca0f99bfcd89f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Mon, 20 Nov 2023 16:01:30 +0100 Subject: dev-python/ipyparallel: Enable pypy3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sponsored-by: Ex Makhina, Inc. Signed-off-by: Michał Górny --- .../files/ipyparallel-8.6.1-pypy310.patch | 32 ++++++++++++++++++++++ dev-python/ipyparallel/ipyparallel-8.6.1.ebuild | 4 ++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 dev-python/ipyparallel/files/ipyparallel-8.6.1-pypy310.patch (limited to 'dev-python') diff --git a/dev-python/ipyparallel/files/ipyparallel-8.6.1-pypy310.patch b/dev-python/ipyparallel/files/ipyparallel-8.6.1-pypy310.patch new file mode 100644 index 000000000000..fae998d51972 --- /dev/null +++ b/dev-python/ipyparallel/files/ipyparallel-8.6.1-pypy310.patch @@ -0,0 +1,32 @@ +From 401980b2a79ef15cc3b35fad51163339c8654751 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Mon, 20 Nov 2023 15:45:04 +0100 +Subject: [PATCH] Use pre-3.10 serialization code on PyPy3.10 + +The new serialization code for Python 3.10+ does not seem to work +on PyPy3.10 7.3.13, as it causes: + + ValueError: no signature found for builtin type + +Switch back to the old code if PyPy is used, at least for the time +being. With this change, the test suite passes on PyPy3.10. + +Fixes #845 +--- + ipyparallel/serialize/codeutil.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/ipyparallel/serialize/codeutil.py b/ipyparallel/serialize/codeutil.py +index 2d3acfa2a..80d107765 100644 +--- a/ipyparallel/serialize/codeutil.py ++++ b/ipyparallel/serialize/codeutil.py +@@ -27,7 +27,8 @@ def code_ctor(*args): + } + # pass every supported arg to the code constructor + # this should be more forward-compatible +-if sys.version_info >= (3, 10): ++# (broken on pypy: https://github.com/ipython/ipyparallel/issues/845) ++if sys.version_info >= (3, 10) and not hasattr(sys, "pypy_version_info"): + _code_attr_names = tuple( + _code_attr_map.get(name, name) + for name, param in inspect.signature(types.CodeType).parameters.items() diff --git a/dev-python/ipyparallel/ipyparallel-8.6.1.ebuild b/dev-python/ipyparallel/ipyparallel-8.6.1.ebuild index ced2606fd50e..96ee69b90056 100644 --- a/dev-python/ipyparallel/ipyparallel-8.6.1.ebuild +++ b/dev-python/ipyparallel/ipyparallel-8.6.1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( pypy3 python3_{10..12} ) PYTHON_REQ_USE="threads(+)" inherit distutils-r1 optfeature pypi @@ -51,6 +51,8 @@ distutils_enable_tests pytest PATCHES=( "${FILESDIR}"/${PN}-7.1.0-test-timeouts.patch + # https://github.com/ipython/ipyparallel/pull/846 + "${FILESDIR}"/${P}-pypy310.patch ) src_configure() { -- cgit v1.2.3