diff --git a/python-pscript.changes b/python-pscript.changes index 8c97512..7f2d29a 100644 --- a/python-pscript.changes +++ b/python-pscript.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Nov 7 05:23:28 UTC 2025 - Steve Kowalik + +- Add patch support-python314.patch: + * Do not use removed ast class. + ------------------------------------------------------------------- Thu Feb 20 12:16:53 UTC 2025 - John Paul Adrian Glaubitz diff --git a/python-pscript.spec b/python-pscript.spec index 4bca3c3..3dacfd7 100644 --- a/python-pscript.spec +++ b/python-pscript.spec @@ -1,7 +1,7 @@ # # spec file for package python-pscript # -# 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 @@ -24,10 +24,10 @@ Summary: Python to JavaScript compiler License: BSD-2-Clause URL: https://github.com/flexxui/pscript Source: https://github.com/flexxui/%{modname}/archive/v%{version}/%{modname}-%{version}.tar.gz +# PATCH-FIX-OPENSUSE Do not use removed ast class +Patch0: support-python314.patch BuildRequires: %{python_module flit-core} BuildRequires: %{python_module pip} -BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros BuildArch: noarch diff --git a/support-python314.patch b/support-python314.patch new file mode 100644 index 0000000..9c2c958 --- /dev/null +++ b/support-python314.patch @@ -0,0 +1,17 @@ +Index: pscript-0.8.0/pscript/commonast.py +=================================================================== +--- pscript-0.8.0.orig/pscript/commonast.py ++++ pscript-0.8.0/pscript/commonast.py +@@ -1032,7 +1032,11 @@ class NativeAstConverter: + + def _convert_index_like(self, n): + c = self._convert +- if isinstance(n, (ast.Slice, ast.Index, ast.ExtSlice, ast.Ellipsis)): ++ if sys.version_info[:2] >= (3, 14): ++ check_inst = (ast.Slice, ast.Index, ast.ExtSlice) ++ else: ++ check_inst = (ast.Slice, ast.Index, ast.ExtSlice, ast.Ellipsis) ++ if isinstance(n, check_inst): + return c(n) # Python < 3.8 (and also 3.8 on Windows?) + elif isinstance(n, ast.Tuple): + assert isinstance(n, ast.Tuple)