diff options
| author | Michał Górny <mgorny@gentoo.org> | 2025-02-23 03:44:53 +0100 |
|---|---|---|
| committer | Michał Górny <mgorny@gentoo.org> | 2025-02-23 04:23:12 +0100 |
| commit | 7b9571362ea0a60d2776b3ca9246c4aea8f4717f (patch) | |
| tree | e96be7061ae591b6828fa32822ba1153d1aa3a1b /dev-python/executing | |
| parent | 645bcd56d86ae26ed95bf44f7bd48185fd67f558 (diff) | |
| download | gentoo-7b9571362ea0a60d2776b3ca9246c4aea8f4717f.tar.gz gentoo-7b9571362ea0a60d2776b3ca9246c4aea8f4717f.tar.bz2 gentoo-7b9571362ea0a60d2776b3ca9246c4aea8f4717f.zip | |
dev-python/executing: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/executing')
| -rw-r--r-- | dev-python/executing/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/executing/executing-2.1.0-r1.ebuild | 65 | ||||
| -rw-r--r-- | dev-python/executing/files/executing-2.1.0-py3126.patch | 178 |
3 files changed, 0 insertions, 244 deletions
diff --git a/dev-python/executing/Manifest b/dev-python/executing/Manifest index 5853f01d7ec4..d8f41c63d5b8 100644 --- a/dev-python/executing/Manifest +++ b/dev-python/executing/Manifest @@ -1,2 +1 @@ -DIST executing-2.1.0.gh.tar.gz 980727 BLAKE2B 0d7a3f0a7e83a1607fdc5bd618b7484bd2eb27443568ee6542d7caad050ff7f5a2ddf71518d434059bdc5f17bff81badf393b91628754b5d6b8ec5a4dbe8146a SHA512 0918ed3eca37d55a1c19b20a959538c46d65688979e0808270b7060a25d3db44bb593d2f8de202740af9f008f273e1e7565ba5b20b90c678e070b52a12bed4cd DIST executing-2.2.0.gh.tar.gz 981774 BLAKE2B 81fb081f3835b8d389ac90fd91db769d0e7171e99b05a3e7ba0edb2910fed0fcd26ff24c6b84bece138de93166571df09c85d47eeec816806c47b816d7b12b96 SHA512 e8f6a399e57519149a15ae84c1d4a01c7cd6fdb81415939ef66f19a4abd9bf2ddbb156a9f59e95328a26504b8f8775a48e8da44af2027dd4763071b1997b8b84 diff --git a/dev-python/executing/executing-2.1.0-r1.ebuild b/dev-python/executing/executing-2.1.0-r1.ebuild deleted file mode 100644 index db3a4e2df1d2..000000000000 --- a/dev-python/executing/executing-2.1.0-r1.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 2020-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -inherit distutils-r1 optfeature - -DESCRIPTION="Get information about what a Python frame is currently doing" -HOMEPAGE=" - https://github.com/alexmojaki/executing/ - https://pypi.org/project/executing/ -" -SRC_URI=" - https://github.com/alexmojaki/executing/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos" - -BDEPEND=" - dev-python/setuptools-scm[${PYTHON_USEDEP}] - test? ( - >=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}] - dev-python/littleutils[${PYTHON_USEDEP}] - dev-python/rich[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} - -PATCHES=( - # https://github.com/alexmojaki/executing/pull/86 - "${FILESDIR}/${P}-py3126.patch" -) - -python_test() { - local EPYTEST_DESELECT=() - case ${EPYTHON} in - pypy3) - EPYTEST_DESELECT+=( - "tests/test_main.py::test_small_samples[22bc344a43584c051d8962116e8fd149d72e7e68bcb54caf201ee6e78986b167.py]" - "tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]" - ) - ;; - esac - if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then - EPYTEST_DESELECT+=( - tests/test_ipython.py - ) - fi - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} - -pkg_postinst() { - optfeature "getting node's source code" dev-python/asttokens -} diff --git a/dev-python/executing/files/executing-2.1.0-py3126.patch b/dev-python/executing/files/executing-2.1.0-py3126.patch deleted file mode 100644 index 7c3b96d0b568..000000000000 --- a/dev-python/executing/files/executing-2.1.0-py3126.patch +++ /dev/null @@ -1,178 +0,0 @@ -From 4acebfaa89196785ccc893d56b97ac8598c30e71 Mon Sep 17 00:00:00 2001 -From: Frank Hoffmann <15r10nk-git@polarbit.de> -Date: Mon, 26 Aug 2024 21:43:13 +0200 -Subject: [PATCH 1/2] fix: backward compatibility fix for changed source - positions in 3.12.6 (#85) - ---- - executing/_position_node_finder.py | 15 +++++++++++++++ - tests/generate_small_sample.py | 9 ++++++--- - tests/test_main.py | 5 +++++ - 3 files changed, 26 insertions(+), 3 deletions(-) - -diff --git a/executing/_position_node_finder.py b/executing/_position_node_finder.py -index 7a81415..c923822 100644 ---- a/executing/_position_node_finder.py -+++ b/executing/_position_node_finder.py -@@ -242,6 +242,21 @@ def fix_result( - # keeping the old behaviour makes it possible to distinguish both cases. - - return node.parent -+ -+ if ( -+ sys.version_info >= (3, 12, 6) -+ and instruction.opname in ("GET_ITER", "FOR_ITER") -+ and isinstance( -+ node.parent.parent, -+ (ast.ListComp, ast.SetComp, ast.DictComp, ast.GeneratorExp), -+ ) -+ and isinstance(node.parent,ast.comprehension) -+ and node is node.parent.iter -+ ): -+ # same as above but only for comprehensions, see: -+ # https://github.com/python/cpython/issues/123142 -+ -+ return node.parent.parent - return node - - def known_issues(self, node: EnhancedAST, instruction: dis.Instruction) -> None: -diff --git a/tests/generate_small_sample.py b/tests/generate_small_sample.py -index 89c7477..573d17a 100644 ---- a/tests/generate_small_sample.py -+++ b/tests/generate_small_sample.py -@@ -18,6 +18,7 @@ - from rich.syntax import Syntax - from rich.console import Console - import argparse -+import ast - - last_samples_dir = Path(__file__).parent / "last_samples" - last_samples_dir.mkdir(exist_ok=True) -@@ -63,6 +64,11 @@ def test_file(filename: Path): - delattr(Source, cache_name) - - test = TestFiles() -+ try: -+ ast.parse(code) -+ except (RecursionError,SyntaxError): -+ return True -+ - try: - with open(os.devnull, "w") as dev_null: - with contextlib.redirect_stderr(dev_null): -@@ -122,9 +128,6 @@ def main(): - break_file.unlink() - sys.exit(0) - -- if time.time() > end_time: -- print("Timeout") -- sys.exit(0) - - if not result: - print(f"{filename} is failing the tests -> minimize\n") -diff --git a/tests/test_main.py b/tests/test_main.py -index 5d4f83b..a3f92ee 100644 ---- a/tests/test_main.py -+++ b/tests/test_main.py -@@ -609,6 +609,11 @@ def __next__(self): - assert {i: i for i in iter_test(ast.DictComp)} == {1: 1, 2: 2} - assert list(i for i in iter_test(ast.GeneratorExp)) == [1, 2] - -+ assert [i for j in [0] for i in iter_test(ast.ListComp)] == [1, 2] -+ assert {i for j in [0] for i in iter_test(ast.SetComp)} == {1, 2} -+ assert {i: i for j in [0] for i in iter_test(ast.DictComp)} == {1: 1, 2: 2} -+ assert list(i for j in [0] for i in iter_test(ast.GeneratorExp)) == [1, 2] -+ - for i in iter_test(ast.For): - assert i in (1, 2) - - -From 6a6925e691681aa5bc05b42bf1f1f06adeb25722 Mon Sep 17 00:00:00 2001 -From: Frank Hoffmann <15r10nk-git@polarbit.de> -Date: Sun, 15 Sep 2024 14:24:10 +0200 -Subject: [PATCH 2/2] fix: handle changed positions for __exit__ of ast.With - ---- - executing/_position_node_finder.py | 50 +++++++++++++++++++ - ...3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py | 3 ++ - 2 files changed, 53 insertions(+) - create mode 100644 tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py - -diff --git a/executing/_position_node_finder.py b/executing/_position_node_finder.py -index c923822..0f83441 100644 ---- a/executing/_position_node_finder.py -+++ b/executing/_position_node_finder.py -@@ -257,6 +257,51 @@ def fix_result( - # https://github.com/python/cpython/issues/123142 - - return node.parent.parent -+ -+ if sys.version_info >= (3, 12,6) and instruction.opname == "CALL": -+ before = self.instruction_before(instruction) -+ if ( -+ before is not None -+ and before.opname == "LOAD_CONST" -+ and before.positions == instruction.positions -+ and isinstance(node.parent, ast.withitem) -+ and node is node.parent.context_expr -+ ): -+ # node positions for with-statements have change -+ # and is now equal to the expression which created the context-manager -+ # https://github.com/python/cpython/pull/120763 -+ -+ # with context_manager: -+ # ... -+ -+ # but there is one problem to distinguish call-expressions from __exit__() -+ -+ # with context_manager(): -+ # ... -+ -+ # the call for __exit__ -+ -+ # 20 1:5 1:22 LOAD_CONST(None) -+ # 22 1:5 1:22 LOAD_CONST(None) -+ # 24 1:5 1:22 LOAD_CONST(None) -+ # 26 1:5 1:22 CALL() # <-- same source range as context_manager() -+ -+ # but we can use the fact that the previous load for None -+ # has the same source range as the call, wich can not happen for normal calls -+ -+ # we return the same ast.With statement at the and to preserve backward compatibility -+ -+ return node.parent.parent -+ -+ if ( -+ sys.version_info >= (3, 12,6) -+ and instruction.opname == "BEFORE_WITH" -+ and isinstance(node.parent, ast.withitem) -+ and node is node.parent.context_expr -+ ): -+ # handle positions changes for __enter__ -+ return node.parent.parent -+ - return node - - def known_issues(self, node: EnhancedAST, instruction: dis.Instruction) -> None: -@@ -895,6 +940,11 @@ def node_match(node_type: Union[Type, Tuple[Type, ...]], **kwargs: Any) -> bool: - def instruction(self, index: int) -> Optional[dis.Instruction]: - return self.bc_dict.get(index,None) - -+ def instruction_before( -+ self, instruction: dis.Instruction -+ ) -> Optional[dis.Instruction]: -+ return self.bc_dict.get(instruction.offset - 2, None) -+ - def opname(self, index: int) -> str: - i=self.instruction(index) - if i is None: -diff --git a/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py b/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py -new file mode 100644 -index 0000000..bfffc14 ---- /dev/null -+++ b/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py -@@ -0,0 +1,3 @@ -+async def wait(): -+ async with something: -+ pass -\ No newline at end of file |
