From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 77D3E1582EF for ; Tue, 04 Mar 2025 15:18:15 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 5FA493430B7 for ; Tue, 04 Mar 2025 15:18:15 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 2EF8D1102D0; Tue, 04 Mar 2025 15:18:14 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 259261102D0 for ; Tue, 04 Mar 2025 15:18:14 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id C958B34306F for ; Tue, 04 Mar 2025 15:18:13 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 3260A12CA for ; Tue, 04 Mar 2025 15:18:12 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <1741101489.235f9c9b74f3ff22e444bfead2e5f58dba6e64b1.mgorny@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/ipyparallel/files/, dev-python/ipyparallel/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-python/ipyparallel/Manifest dev-python/ipyparallel/files/ipyparallel-9.0.1-pypy3_11.patch dev-python/ipyparallel/ipyparallel-9.0.1.ebuild X-VCS-Directories: dev-python/ipyparallel/files/ dev-python/ipyparallel/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: 235f9c9b74f3ff22e444bfead2e5f58dba6e64b1 X-VCS-Branch: master Date: Tue, 04 Mar 2025 15:18:12 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 48e5692f-69db-4a74-997e-5ef499e8dd97 X-Archives-Hash: 20ec1897f66d357f4e9bc755c0b2f813 commit: 235f9c9b74f3ff22e444bfead2e5f58dba6e64b1 Author: Michał Górny gentoo org> AuthorDate: Tue Mar 4 14:41:37 2025 +0000 Commit: Michał Górny gentoo org> CommitDate: Tue Mar 4 15:18:09 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=235f9c9b dev-python/ipyparallel: Bump to 9.0.1 Signed-off-by: Michał Górny gentoo.org> dev-python/ipyparallel/Manifest | 1 + .../files/ipyparallel-9.0.1-pypy3_11.patch | 43 ++++++++++ dev-python/ipyparallel/ipyparallel-9.0.1.ebuild | 96 ++++++++++++++++++++++ 3 files changed, 140 insertions(+) diff --git a/dev-python/ipyparallel/Manifest b/dev-python/ipyparallel/Manifest index 03d90ba2ee5f..3ea440c50ef5 100644 --- a/dev-python/ipyparallel/Manifest +++ b/dev-python/ipyparallel/Manifest @@ -1 +1,2 @@ DIST ipyparallel-9.0.0.tar.gz 4403287 BLAKE2B 18248d6ee1eda409ff5de54ec7dbcdb75ac4a6dbd7af4fee23ec826d4c179e67454c980c6db00d180ddf078bd802a4b6f2e0245c63cf9bd55c99ead1bf1ba044 SHA512 4c89edba0bbad9ce75deaaa1e2486b1c50ca3f7a1a8f3c22b6dadc72f5b1f86958fe8c559e4548c69518494fd51c4ebe65f6019b154c8ffd3ef51eebb9bf1f03 +DIST ipyparallel-9.0.1.tar.gz 4407324 BLAKE2B 9302e0aa6ed790a687fd5d7f3842684d11e73868d9f2f299634d8813735e4d09f0faa873cca45c619f43e6413f269928be3af68bf9c733fd05853918b361e66a SHA512 6359f932a249197610016b3ccc5f86b6e0565e1e2070f5dde72c0e75877f0bc4e038a0cc5cea05c9a068d1e82e923d983470e6db465169527bcb9499cc550d52 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?= +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 +--- + 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-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 +}