commit: c7d219dc13055433f212ec036475f0cfc4deac1b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 28 12:50:22 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May 28 13:18:48 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7d219dc
dev-python/ruamel-yaml-clib: Enable py3.14
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
.../files/ruamel-yaml-clib-0.2.12-py314.patch | 39 ++++++++++++++++++++++
.../ruamel-yaml-clib-0.2.12.ebuild | 7 +++-
2 files changed, 45 insertions(+), 1 deletion(-)
diff --git
a/dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.12-py314.patch
b/dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.12-py314.patch
new file mode 100644
index 000000000000..55329b596155
--- /dev/null
+++ b/dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.12-py314.patch
@@ -0,0 +1,39 @@
+diff -r df8c53ddf0d3 setup.py
+--- a/setup.py Sun Oct 20 11:56:33 2024 +0200
++++ b/setup.py Wed May 28 15:14:40 2025 +0200
+@@ -75,9 +75,6 @@
+ print('{:%Y-%d-%mT%H:%M:%S}'.format(datetime.datetime.now()),
file=fp, end=' ')
+ print(*args, **kw1)
+
+-if sys.version_info >= (3, 8):
+- from ast import Str, Num, Bytes, NameConstant # NOQA
+-
+
+ def literal_eval(node_or_string):
+ """
+@@ -98,14 +95,8 @@
+ raise TypeError('only string or AST nodes supported')
+
+ def _convert(node):
+- if isinstance(node, Str):
+- if sys.version_info < (3,) and not isinstance(node.s, unicode):
+- return node.s.decode('utf-8')
+- return node.s
+- elif isinstance(node, Bytes):
+- return node.s
+- elif isinstance(node, Num):
+- return node.n
++ if isinstance(node, Constant):
++ return node.value
+ elif isinstance(node, Tuple):
+ return tuple(map(_convert, node.elts))
+ elif isinstance(node, List):
+@@ -114,8 +105,6 @@
+ return set(map(_convert, node.elts))
+ elif isinstance(node, Dict):
+ return {_convert(k): _convert(v) for k, v in zip(node.keys,
node.values)}
+- elif isinstance(node, NameConstant):
+- return node.value
+ elif sys.version_info < (3, 4) and isinstance(node, Name):
+ if node.id in _safe_names:
+ return _safe_names[node.id]
diff --git a/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.12.ebuild
b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.12.ebuild
index 319fabe0016d..f4065b9a7d97 100644
--- a/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.12.ebuild
+++ b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.12.ebuild
@@ -7,7 +7,7 @@ DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN//-/.}
-PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
+PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
@@ -27,6 +27,11 @@ BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
"
+PATCHES=(
+ # https://sourceforge.net/p/ruamel-yaml-clib/tickets/45/
+ "${FILESDIR}/${P}-py314.patch"
+)
+
src_unpack() {
default
mv "ruamel.yaml.clib-${PV}" ruamel_yaml_clib || die