Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-synr for openSUSE:Factory checked in at 2026-04-15 16:05:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-synr (Old) and /work/SRC/openSUSE:Factory/.python-synr.new.21863 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-synr" Wed Apr 15 16:05:43 2026 rev:3 rq:1347041 version:0.6.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-synr/python-synr.changes 2025-06-20 16:51:10.872656999 +0200 +++ /work/SRC/openSUSE:Factory/.python-synr.new.21863/python-synr.changes 2026-04-15 16:14:14.230842406 +0200 @@ -1,0 +2,8 @@ +Wed Apr 15 02:24:17 UTC 2026 - Steve Kowalik <[email protected]> + +- Add patch switch-to-poetry-core.patch: + * Switch the build backend to poetry-core. +- Add patch support-python-3.14.patch: + * Support Python 3.14 AST changes. + +------------------------------------------------------------------- New: ---- support-python-3.14.patch switch-to-poetry-core.patch ----------(New B)---------- New: * Switch the build backend to poetry-core. - Add patch support-python-3.14.patch: * Support Python 3.14 AST changes. New: - Add patch switch-to-poetry-core.patch: * Switch the build backend to poetry-core. ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-synr.spec ++++++ --- /var/tmp/diff_new_pack.6kPnAH/_old 2026-04-15 16:14:15.698902762 +0200 +++ /var/tmp/diff_new_pack.6kPnAH/_new 2026-04-15 16:14:15.706903091 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-synr # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 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 @@ -24,11 +24,14 @@ URL: https://synr.readthedocs.io Source0: https://files.pythonhosted.org/packages/source/s/synr/synr-%{version}.tar.gz Source1: https://github.com/octoml/synr/raw/v%{version}/tests/test_synr.py +# PATCH-FIX-UPSTREAM gh#octoml/synr#25 +Patch0: switch-to-poetry-core.patch +# PATCH-FIX-UPSTREAM gh#octoml/synr#26 +Patch1: support-python-3.14.patch BuildRequires: %{python_module attrs} BuildRequires: %{python_module pip} -BuildRequires: %{python_module poetry} +BuildRequires: %{python_module poetry-core} BuildRequires: %{python_module pytest} -BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-attrs @@ -39,7 +42,7 @@ A library for a stable Abstract Syntax Tree for Python. %prep -%setup -q -n synr-%{version} +%autosetup -p1 -n synr-%{version} mkdir tests cp %{SOURCE1} tests @@ -57,5 +60,5 @@ %doc README.md %license LICENSE %{python_sitelib}/synr -%{python_sitelib}/synr-%{version}*-info +%{python_sitelib}/synr-%{version}.dist-info ++++++ support-python-3.14.patch ++++++ >From 1d1c94197251e1b4638dd62094dde0a62084803a Mon Sep 17 00:00:00 2001 From: Steve Kowalik <[email protected]> Date: Wed, 15 Apr 2026 12:20:17 +1000 Subject: [PATCH] Support Python 3.14 ast changes Python 3.14 removed four constants from the ast module, replacing them all with Constant. Those four have been deprecated since Python 3.8, but it's easy enough to continue to support them with hasattr(), so I have done so. (The fourth is Bytes, which isn't used here.) --- synr/compiler.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/synr/compiler.py b/synr/compiler.py index 2bf8493..00059fb 100644 --- a/synr/compiler.py +++ b/synr/compiler.py @@ -428,11 +428,13 @@ def compile_expr(self, expr: py_ast.expr) -> Expr: expr_span, ) return Constant(expr_span, float("nan")) - if isinstance(expr, py_ast.Num): + if hasattr(py_ast, "Num") and isinstance(expr, py_ast.Num): return Constant(expr_span, expr.n) - if isinstance(expr, py_ast.Str): + if hasattr(py_ast, "Str") and isinstance(expr, py_ast.Str): return Constant(expr_span, expr.s) - if isinstance(expr, py_ast.NameConstant): + if hasattr(py_ast, "NameConstant") and isinstance(expr, py_ast.NameConstant): + return Constant(expr_span, expr.value) + if hasattr(py_ast, "Constant") and isinstance(expr, py_ast.Constant): return Constant(expr_span, expr.value) if isinstance(expr, py_ast.Call): return self.compile_call(expr) ++++++ switch-to-poetry-core.patch ++++++ >From 6c2199316cbd517cf5d4a3fe36996c6428ca4f5c Mon Sep 17 00:00:00 2001 From: Steve Kowalik <[email protected]> Date: Wed, 15 Apr 2026 12:18:24 +1000 Subject: [PATCH] Use poetry-core as the build backend poetry-core is the lightweight build backend that has been split out of poetry, switch to using it instead. --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 2868a47..799d2b2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,5 +15,5 @@ black = { version = "^21.10b0", allow-prereleases = true } mypy = "^0.782" [build-system] -requires = ["poetry>=0.12"] -build-backend = "poetry.masonry.api" +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api"
