Compare commits
2 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| db26f91fd6 | |||
| eb3a816eb3 |
25
lower-huge-int.patch
Normal file
25
lower-huge-int.patch
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
From 8342d6aa5dcdcf20f89a19057527510c245c7a2e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jochen Sprickerhof <jspricke@debian.org>
|
||||||
|
Date: Fri, 30 Dec 2022 14:47:57 +0100
|
||||||
|
Subject: [PATCH] Reduce huge int in test (Closes: #212)
|
||||||
|
|
||||||
|
Int was above limits:
|
||||||
|
|
||||||
|
https://docs.python.org/3/library/stdtypes.html#int-max-str-digits
|
||||||
|
---
|
||||||
|
tests/test_code_gen.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tests/test_code_gen.py b/tests/test_code_gen.py
|
||||||
|
index 0d01be7..6cc0f4c 100644
|
||||||
|
--- a/tests/test_code_gen.py
|
||||||
|
+++ b/tests/test_code_gen.py
|
||||||
|
@@ -291,7 +291,7 @@ def test_with(self):
|
||||||
|
self.assertAstRoundtripsGtVer(source, (2, 7))
|
||||||
|
|
||||||
|
def test_huge_int(self):
|
||||||
|
- for n in (10**10000,
|
||||||
|
+ for n in (10**1000,
|
||||||
|
0xdfa21cd2a530ccc8c870aa60d9feb3b35deeab81c3215a96557abbd683d21f4600f38e475d87100da9a4404220eeb3bb5584e5a2b5b48ffda58530ea19104a32577d7459d91e76aa711b241050f4cc6d5327ccee254f371bcad3be56d46eb5919b73f20dbdb1177b700f00891c5bf4ed128bb90ed541b778288285bcfa28432ab5cbcb8321b6e24760e998e0daa519f093a631e44276d7dd252ce0c08c75e2ab28a7349ead779f97d0f20a6d413bf3623cd216dc35375f6366690bcc41e3b2d5465840ec7ee0dc7e3f1c101d674a0c7dbccbc3942788b111396add2f8153b46a0e4b50d66e57ee92958f1c860dd97cc0e40e32febff915343ed53573142bdf4b):
|
||||||
|
self.assertEqual(astornum(n), n)
|
||||||
|
|
||||||
@@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jun 13 05:37:21 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Switch to pyproject macros.
|
||||||
|
- Add patches, to support Python 3.12+:
|
||||||
|
* lower-huge-int.patch
|
||||||
|
* support-match.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jul 4 12:06:42 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
|
Thu Jul 4 12:06:42 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-astor
|
# spec file for package python-astor
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -23,12 +23,16 @@ Version: 0.8.1
|
|||||||
Release: 0
|
Release: 0
|
||||||
Summary: Read/rewrite/write Python ASTs
|
Summary: Read/rewrite/write Python ASTs
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
Group: Development/Languages/Python
|
|
||||||
URL: https://github.com/berkerpeksag/astor
|
URL: https://github.com/berkerpeksag/astor
|
||||||
Source: https://github.com/berkerpeksag/astor/archive/%{version}.tar.gz#/astor-%{version}.tar.gz
|
Source: https://github.com/berkerpeksag/astor/archive/%{version}.tar.gz#/astor-%{version}.tar.gz
|
||||||
# https://github.com/berkerpeksag/astor/pull/177
|
# https://github.com/berkerpeksag/astor/pull/177
|
||||||
Patch0: remove_nose.patch
|
Patch0: remove_nose.patch
|
||||||
|
# https://github.com/berkerpeksag/astor/commit/8342d6aa5dcdcf20f89a19057527510c245c7a2e
|
||||||
|
Patch1: lower-huge-int.patch
|
||||||
|
Patch2: support-match.patch
|
||||||
|
BuildRequires: %{python_module pip}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
|
BuildRequires: %{python_module wheel}
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
@@ -72,29 +76,22 @@ There are some other similar libraries, but astor focuses on the following areas
|
|||||||
# ugly fix for the use of /usr/bin/env
|
# ugly fix for the use of /usr/bin/env
|
||||||
sed -i 's@#!.*@@' astor/rtrip.py
|
sed -i 's@#!.*@@' astor/rtrip.py
|
||||||
chmod a-x astor/rtrip.py
|
chmod a-x astor/rtrip.py
|
||||||
%python_build
|
%pyproject_wheel
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%python_install
|
%pyproject_install
|
||||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
# fix executeable bits
|
# fix executeable bits
|
||||||
%python_expand chmod 755 %{buildroot}%{$python_sitelib}/astor/rtrip.py
|
%python_expand chmod 755 %{buildroot}%{$python_sitelib}/astor/rtrip.py
|
||||||
|
|
||||||
%check
|
%check
|
||||||
# https://github.com/berkerpeksag/astor/issues/212
|
|
||||||
python38_donttest="test_huge_int"
|
|
||||||
# https://github.com/berkerpeksag/astor/issues/196
|
# https://github.com/berkerpeksag/astor/issues/196
|
||||||
python39_donttest="${python38_donttest} or test_convert_stdlib"
|
%pytest tests -k "not test_convert_stdlib"
|
||||||
python310_donttest=${python39_donttest}
|
|
||||||
python311_donttest=${python310_donttest}
|
|
||||||
python312_donttest=${python311_donttest}
|
|
||||||
python313_donttest=${python312_donttest}
|
|
||||||
%pytest tests ${$python_donttest:+ -k "not (${$python_donttest})"}
|
|
||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%doc AUTHORS README.rst docs/*.rst
|
%doc AUTHORS README.rst docs/*.rst
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%{python_sitelib}/astor
|
%{python_sitelib}/astor
|
||||||
%{python_sitelib}/astor-%{version}*-info
|
%{python_sitelib}/astor-%{version}.dist-info
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|||||||
40
support-match.patch
Normal file
40
support-match.patch
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
Index: astor-0.8.1/astor/code_gen.py
|
||||||
|
===================================================================
|
||||||
|
--- astor-0.8.1.orig/astor/code_gen.py
|
||||||
|
+++ astor-0.8.1/astor/code_gen.py
|
||||||
|
@@ -546,6 +546,35 @@ class SourceGenerator(ExplicitNodeVisito
|
||||||
|
def visit_Name(self, node):
|
||||||
|
self.write(node.id)
|
||||||
|
|
||||||
|
+ # ast.Match is new in Python 3.10
|
||||||
|
+ def visit_Match(self, node):
|
||||||
|
+ self.write(node.subject)
|
||||||
|
+ for c in node.cases:
|
||||||
|
+ self.write(c)
|
||||||
|
+
|
||||||
|
+ # ast.match_case is new in Python 3.10
|
||||||
|
+ def visit_match_case(self, node):
|
||||||
|
+ self.write(node.pattern)
|
||||||
|
+ self.write(node.guard)
|
||||||
|
+ self.write(node.body)
|
||||||
|
+
|
||||||
|
+ # ast.MatchSingleton is new in Python 3.10
|
||||||
|
+ def visit_MatchSingleton(self, node):
|
||||||
|
+ self.write(node.value)
|
||||||
|
+
|
||||||
|
+ # ast.MatchClass is new in Python 3.10
|
||||||
|
+ def visit_MatchClass(self, node):
|
||||||
|
+ self.write(node.cls)
|
||||||
|
+ for p in node.patterns:
|
||||||
|
+ self.write(p)
|
||||||
|
+ self.write(node.kwd_attrs)
|
||||||
|
+ self.write(node.kwd_patterns)
|
||||||
|
+
|
||||||
|
+ # ast.MatchAs is new in Python 3.10
|
||||||
|
+ def visit_MatchAs(self, node):
|
||||||
|
+ self.write(node.pattern)
|
||||||
|
+ self.write(node.name)
|
||||||
|
+
|
||||||
|
# ast.Constant is new in Python 3.6 and it replaces ast.Bytes,
|
||||||
|
# ast.Ellipsis, ast.NameConstant, ast.Num, ast.Str in Python 3.8
|
||||||
|
def visit_Constant(self, node):
|
||||||
Reference in New Issue
Block a user