dev-python/lark: Sync with Gentoo

It's from Gentoo commit 47a4311d8ac7d963e5e27ba7f42b329c9adde88e.
This commit is contained in:
Flatcar Buildbot 2025-06-16 07:08:52 +00:00 committed by Krzesimir Nowak
parent 7dc4968a52
commit 3e2f00b856
2 changed files with 44 additions and 1 deletions

View File

@ -0,0 +1,38 @@
https://github.com/lark-parser/lark/issues/1480
https://github.com/lark-parser/lark/pull/1483
From 4809ce89ca005b71f6db930c4aabf6496a502795 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hrn=C4=8Diar?= <thrnciar@redhat.com>
Date: Wed, 6 Nov 2024 16:47:11 +0100
Subject: [PATCH] Wrap functools.partial in staticmethod() to add compatibility
with Python 3.14
Fixes: #1480
---
tests/test_trees.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/test_trees.py b/tests/test_trees.py
index 1f69869e..07687ac0 100644
--- a/tests/test_trees.py
+++ b/tests/test_trees.py
@@ -254,7 +254,7 @@ def ab_method(self, a, b):
ab_partialmethod = partialmethod(ab_for_partialmethod, 1)
set_union = set(["a"]).union
static_add = staticmethod(add)
- partial_reduce_mul = partial(reduce, mul)
+ partial_reduce_mul = staticmethod(partial(reduce, mul))
custom_callable = CustomCallable()
@@ -355,8 +355,8 @@ def test(prefix, s, postfix):
@v_args(inline=True)
class T(Transformer):
- a = functools.partial(test, "@", postfix="!")
- b = functools.partial(lambda s: s + "!")
+ a = staticmethod(functools.partial(test, "@", postfix="!"))
+ b = staticmethod(functools.partial(lambda s: s + "!"))
res = T().transform(tree)
assert res.children == ["@TEST1!", "test2!"]

View File

@ -4,7 +4,7 @@
EAPI=8 EAPI=8
DISTUTILS_USE_PEP517=setuptools DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 ) PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1 pypi inherit distutils-r1 pypi
@ -28,6 +28,11 @@ BDEPEND="
) )
" "
PATCHES=(
# https://github.com/lark-parser/lark/pull/1483
"${FILESDIR}"/${P}-py314.patch
)
distutils_enable_tests pytest distutils_enable_tests pytest
python_test() { python_test() {