commit dbe867542eb019f9cb57d0f664c9886d53fb305a1e3208c4cda01364d2e5e4d4 Author: Steve Kowalik Date: Tue Nov 18 03:56:45 2025 +0000 - Rewrite py39.patch to support all Python 3 versions we ship. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-prestring?expand=0&rev=8 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/prestring-0.9.0.tar.gz b/prestring-0.9.0.tar.gz new file mode 100644 index 0000000..810d1fd --- /dev/null +++ b/prestring-0.9.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6a7b0ddbe5a45357352a12717f53a215fc5da3788ab8b01d4e5d0c7a390bedc +size 43878 diff --git a/py39.patch b/py39.patch new file mode 100644 index 0000000..ee7b349 --- /dev/null +++ b/py39.patch @@ -0,0 +1,48 @@ +Index: prestring-0.9.0/prestring/tests/test_lazy_object.py +=================================================================== +--- prestring-0.9.0.orig/prestring/tests/test_lazy_object.py ++++ prestring-0.9.0/prestring/tests/test_lazy_object.py +@@ -29,23 +29,27 @@ class LazyArgumentsTests(unittest.TestCa + self.assertEqual(str(target), "x: int, y: bool, *") + + def test_with_actual_types2(self): +- try: +- import typing as t ++ import typing as t + +- target = self._makeOne( +- ["x", "y", "z"], +- types={ +- "x": int, +- "y": t.Optional[int], +- "z": t.Sequence[t.Optional[int]], +- }, +- ) +- self.assertEqual( +- str(target), +- "x: int, y: 'typing.Union[int, NoneType]', z: 'typing.Sequence[typing.Union[int, NoneType]]'", +- ) +- except ImportError: +- pass ++ target = self._makeOne( ++ ["x", "y", "z"], ++ types={ ++ "x": int, ++ "y": t.Optional[int], ++ "z": t.Sequence[t.Optional[int]], ++ }, ++ ) ++ ++ # TODO: fix, this is work-around ++ import sys ++ ++ if sys.version_info[:2] >= (3, 14): ++ match = "x: int, y: 'int | None', z: 'typing.Sequence[int | None]'" ++ elif sys.version_info[:2] > (3, 9): ++ match = "x: int, y: 'typing.Optional[int]', z: 'typing.Sequence[typing.Optional[int]]'" ++ else: ++ match = "x: int, y: 'typing.Union[int, NoneType]', z: 'typing.Sequence[typing.Union[int, NoneType]]'" ++ self.assertEqual(str(target), match) + + + @test_target("prestring:LazyKeywords") diff --git a/python-prestring.changes b/python-prestring.changes new file mode 100644 index 0000000..f0e5a5f --- /dev/null +++ b/python-prestring.changes @@ -0,0 +1,29 @@ +------------------------------------------------------------------- +Tue Nov 18 03:55:44 UTC 2025 - Steve Kowalik + +- Rewrite py39.patch to support all Python 3 versions we ship. + +------------------------------------------------------------------- +Tue Jun 3 12:07:31 UTC 2025 - Markéta Machová + +- Convert to pip-based build + +------------------------------------------------------------------- +Wed Apr 28 11:48:04 UTC 2021 - Markéta Machová + +- Add py39.patch to fix tests + +------------------------------------------------------------------- +Mon Aug 17 07:11:04 UTC 2020 - Tomáš Chvátal + +- Fix the download URL as the pkg was fetched from github + +------------------------------------------------------------------- +Wed Aug 12 04:08:45 UTC 2020 - John Vandenberg + +- Update to v0.9.0 + +------------------------------------------------------------------- +Tue Sep 17 02:55:28 PM UTC 2019 - John Vandenberg + +- Initial spec for v0.5.3 diff --git a/python-prestring.spec b/python-prestring.spec new file mode 100644 index 0000000..0f6130a --- /dev/null +++ b/python-prestring.spec @@ -0,0 +1,63 @@ +# +# spec file for package python-prestring +# +# 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 +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: python-prestring +Version: 0.9.0 +Release: 0 +Summary: Python source code generation library +License: MIT +URL: https://github.com/podhmo/prestring +Source: https://github.com/podhmo/prestring/archive/%{version}.tar.gz#/prestring-%{version}.tar.gz +# PATCH-FIX-UPSTREAM https://github.com/podhmo/prestring/commit/55165f7b1a622577801f8d6c2bd3d0f16555be4b Fix test for py39 (#75) +Patch0: py39.patch +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildArch: noarch +# SECTION test requirements +BuildRequires: %{python_module evilunit} +BuildRequires: %{python_module typing_extensions} +# /SECTION +Requires: python-typing_extensions +%python_subpackages + +%description +Python source code generation library (with overuse with-syntax). + +%prep +%autosetup -p1 -n prestring-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +%pyunittest + +%files %{python_files} +%doc README.rst +%license LICENSE +%{python_sitelib}/prestring +%{python_sitelib}/prestring-%{version}.dist-info + +%changelog