commit: 59c1c5726dd544228c83677b34a4adf7bf854f7d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 30 19:45:58 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 30 19:47:16 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59c1c572
dev-python/beniget: Bump to 0.5.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/beniget/Manifest | 1 +
dev-python/beniget/beniget-0.5.0.ebuild | 30 ++++++++++++++
.../beniget/files/beniget-0.5.0-pypy311.patch | 46 ++++++++++++++++++++++
3 files changed, 77 insertions(+)
diff --git a/dev-python/beniget/Manifest b/dev-python/beniget/Manifest
index 48751786ad23..756587c98113 100644
--- a/dev-python/beniget/Manifest
+++ b/dev-python/beniget/Manifest
@@ -1 +1,2 @@
DIST beniget-0.4.2.post1.tar.gz 32274 BLAKE2B
808b9cec64dd8cd62418c557092a58c228e91e6ee7dd9fea40af23081a77ddb5b7db01ca025d692e38a9a71181d4a23523170b29d89c318c75f228aaa219bea2
SHA512
7270d36e2ae98bd984b7f7e90f43c0dbf7b06601370ae71064a8b0a1babe4ca91e78ec8564a6836221c9a331835834e97670f5c7c0f4d40ff22835338b1ef3db
+DIST beniget-0.5.0.tar.gz 37097 BLAKE2B
07e55337ac01613c17a251a5947e49ce406c6b1ac3e5e65bf02f520b748f371631a164b51e1147ae1cb67f2ad1ea6d23f77172963246f420d77a2165c31d6cae
SHA512
7094e5c0759d54738aa10923e96e3b20a50dc7736311e36fda757d16eb47838eae8372da53fb794a6871d0f92a38726889665b78b364a430e253b44de795cb6e
diff --git a/dev-python/beniget/beniget-0.5.0.ebuild
b/dev-python/beniget/beniget-0.5.0.ebuild
new file mode 100644
index 000000000000..6b1d2ca8f144
--- /dev/null
+++ b/dev-python/beniget/beniget-0.5.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extract semantic information about static Python code"
+HOMEPAGE="
+ https://pypi.org/project/beniget/
+ https://github.com/serge-sans-paille/beniget/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/gast-0.7.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+PATCHES=(
+ #
https://github.com/serge-sans-paille/beniget/commit/8234baaaa433a8d23445be1ac48e20f63e96d0e8
+ "${FILESDIR}/${P}-pypy311.patch"
+)
diff --git a/dev-python/beniget/files/beniget-0.5.0-pypy311.patch
b/dev-python/beniget/files/beniget-0.5.0-pypy311.patch
new file mode 100644
index 000000000000..6a21f3792abd
--- /dev/null
+++ b/dev-python/beniget/files/beniget-0.5.0-pypy311.patch
@@ -0,0 +1,46 @@
+From 8234baaaa433a8d23445be1ac48e20f63e96d0e8 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <[email protected]>
+Date: Sun, 30 Nov 2025 19:52:42 +0100
+Subject: [PATCH] Improve test portability with PyPy
+
+Fix #150
+---
+ tests/test_chains.py | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test_chains.py b/tests/test_chains.py
+index 1be68dd..d26e312 100644
+--- a/tests/test_chains.py
++++ b/tests/test_chains.py
+@@ -35,6 +35,12 @@ def captured_output():
+ finally:
+ sys.stdout, sys.stderr = old_out, old_err
+
++if sys.implementation.name == 'pypy':
++ def normalize_chain(chain):
++ return chain.replace('<builtin_function>',
'<builtin_function_or_method>')
++else:
++ def normalize_chain(chain):
++ return chain
+
+ class StrictDefUseChains(beniget.DefUseChains):
+ def warn(self, msg, node):
+@@ -54,7 +60,8 @@ def checkChains(self, code, ref, strict=True):
+ c = beniget.DefUseChains()
+
+ c.visit(node)
+- self.assertEqual(c.dump_chains(node), ref)
++ out = list(map(normalize_chain, c.dump_chains(node)))
++ self.assertEqual(ref, out)
+ return node, c
+
+ def test_simple_expression(self):
+@@ -1669,6 +1676,8 @@ def checkChains(self, code, ref):
+ # 3.6 or 3.7
+ actual = replace_deprecated_names(actual)
+
++ actual = normalize_chain(actual)
++
+ self.assertEqual(actual, ref)
+
+ def test_simple_expression(self):