15
0

Accepting request 1321652 from devel:languages:python

- Add patch support-python314.patch:
  * Support Python 3.14 ast changes.

OBS-URL: https://build.opensuse.org/request/show/1321652
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ruamel.yaml.convert?expand=0&rev=4
This commit is contained in:
2025-12-09 11:53:07 +00:00
committed by Git OBS Bridge
3 changed files with 50 additions and 2 deletions

View File

@@ -1,3 +1,9 @@
-------------------------------------------------------------------
Tue Dec 9 04:18:08 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Add patch support-python314.patch:
* Support Python 3.14 ast changes.
-------------------------------------------------------------------
Tue Jun 24 02:22:48 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-ruamel.yaml.convert
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -23,6 +23,8 @@ Summary: Data format conversion routines to and from YAML
License: MIT
URL: https://sourceforge.net/projects/ruamel-yaml-convert/
Source: https://files.pythonhosted.org/packages/source/r/ruamel.yaml.convert/ruamel.yaml.convert-%{version}.tar.gz
# PATCH-FIX-OPENSUSE Support Python 3.14 ast changes
Patch0: support-python314.patch
BuildRequires: %{python_module pip}
BuildRequires: %{python_module ruamel.base >= 1.0.0+post1}
BuildRequires: %{python_module ruamel.yaml}
@@ -43,7 +45,7 @@ BuildArch: noarch
Data format conversion routines to and from YAML.
%prep
%setup -q -n ruamel.yaml.convert-%{version}
%autosetup -p1 -n ruamel.yaml.convert-%{version}
# Remove unnecessary namespace declaration
sed -i '/namespace_packages=/d' setup.py

40
support-python314.patch Normal file
View File

@@ -0,0 +1,40 @@
Index: ruamel.yaml.convert-0.3.2/setup.py
===================================================================
--- ruamel.yaml.convert-0.3.2.orig/setup.py
+++ ruamel.yaml.convert-0.3.2/setup.py
@@ -49,8 +49,7 @@ if sys.version_info < (3, 4):
if sys.version_info >= (3, 8):
-
- from ast import Str, Num, Bytes, NameConstant # NOQA
+ from ast import Constant # NOQA
if sys.version_info < (3,):
@@ -100,15 +99,7 @@ def literal_eval(node_or_string):
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
- elif isinstance(node, Tuple):
+ if isinstance(node, Tuple):
return tuple(map(_convert, node.elts))
elif isinstance(node, List):
return list(map(_convert, node.elts))
@@ -116,7 +107,7 @@ def literal_eval(node_or_string):
return set(map(_convert, node.elts))
elif isinstance(node, Dict):
return dict((_convert(k), _convert(v)) for k, v in zip(node.keys, node.values))
- elif isinstance(node, NameConstant):
+ elif isinstance(node, Constant):
return node.value
elif sys.version_info < (3, 4) and isinstance(node, Name):
if node.id in _safe_names: