From 79bd31904dfda6d06b1f49fce375776fe198b582fdc50d1b3ad1c423cad3a954 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Mon, 9 Jun 2025 08:19:45 +0000 Subject: [PATCH] - Update to 1.6.2 * No significant changes - from version 1.6.1 * Correctly use cimport for including PyBool_FromLong * Exclude _frozenlist.cpp from bdists/wheels * Updated to use Cython 3.1 universally across the build path - from version 1.6.0 * Stopped implicitly allowing the use of Cython pre-release versions when building the distribution package * Implemented support for the free-threaded build of CPython 3.13 * Started building armv7l wheels * Stopped implicitly allowing the use of Cython pre-release versions when building the distribution package * Started building wheels for the free-threaded build of CPython 3.13 * The packaging metadata switched to including an SPDX license identifier introduced in :pep:639 * GitHub Actions CI/CD is now configured to manage caching pip-ecosystem dependencies using re-actors/cache-python-deps_ -- an action by :user:webknjaz that takes into account ABI stability and the exact version of Python runtime. * .. _re-actors/cache-python-deps: https://github.com/marketplace/actions/cache-python-deps * Organized dependencies into test and lint dependencies so that no unnecessary ones are installed during CI runs - Add gcc-c++ to BuildRequires - Refresh no-pytest-cov.patch OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-frozenlist?expand=0&rev=22 --- .gitattributes | 23 +++++ .gitignore | 1 + frozenlist-1.4.1.tar.gz | 3 + frozenlist-1.5.0.tar.gz | 3 + frozenlist-1.6.2.tar.gz | 3 + no-pytest-cov.patch | 18 ++++ python-frozenlist.changes | 173 +++++++++++++++++++++++++++++++++++++ python-frozenlist.spec | 64 ++++++++++++++ reproducible.patch | 15 ++++ skip-some-attributes.patch | 25 ++++++ 10 files changed, 328 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 frozenlist-1.4.1.tar.gz create mode 100644 frozenlist-1.5.0.tar.gz create mode 100644 frozenlist-1.6.2.tar.gz create mode 100644 no-pytest-cov.patch create mode 100644 python-frozenlist.changes create mode 100644 python-frozenlist.spec create mode 100644 reproducible.patch create mode 100644 skip-some-attributes.patch 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/frozenlist-1.4.1.tar.gz b/frozenlist-1.4.1.tar.gz new file mode 100644 index 0000000..9761389 --- /dev/null +++ b/frozenlist-1.4.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b +size 37820 diff --git a/frozenlist-1.5.0.tar.gz b/frozenlist-1.5.0.tar.gz new file mode 100644 index 0000000..3dd9b3f --- /dev/null +++ b/frozenlist-1.5.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817 +size 39930 diff --git a/frozenlist-1.6.2.tar.gz b/frozenlist-1.6.2.tar.gz new file mode 100644 index 0000000..48c109b --- /dev/null +++ b/frozenlist-1.6.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:effc641518696471cf4962e8e32050133bc1f7b2851ae8fd0cb8797dd70dc202 +size 43108 diff --git a/no-pytest-cov.patch b/no-pytest-cov.patch new file mode 100644 index 0000000..aa49dca --- /dev/null +++ b/no-pytest-cov.patch @@ -0,0 +1,18 @@ +diff -Nru frozenlist-1.6.2.orig/pytest.ini frozenlist-1.6.2/pytest.ini +--- frozenlist-1.6.2.orig/pytest.ini 2025-06-03 22:04:42.000000000 +0200 ++++ frozenlist-1.6.2/pytest.ini 2025-06-06 13:58:26.290587614 +0200 +@@ -18,14 +18,6 @@ + # https://docs.pytest.org/en/stable/doctest.html + --doctest-modules + +- # Pre-load the `pytest-cov` plugin early: +- -p pytest_cov +- +- # `pytest-cov`: +- --cov +- --cov-config=.coveragerc +- --cov-context=test +- + # Fail on config parsing warnings: + # --strict-config + diff --git a/python-frozenlist.changes b/python-frozenlist.changes new file mode 100644 index 0000000..455a6f8 --- /dev/null +++ b/python-frozenlist.changes @@ -0,0 +1,173 @@ +------------------------------------------------------------------- +Fri Jun 6 11:59:13 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 1.6.2 + * No significant changes +- from version 1.6.1 + * Correctly use cimport for including PyBool_FromLong + * Exclude _frozenlist.cpp from bdists/wheels + * Updated to use Cython 3.1 universally across the build path +- from version 1.6.0 + * Stopped implicitly allowing the use of Cython pre-release versions + when building the distribution package + * Implemented support for the free-threaded build of CPython 3.13 + * Started building armv7l wheels + * Stopped implicitly allowing the use of Cython pre-release versions + when building the distribution package + * Started building wheels for the free-threaded build of CPython 3.13 + * The packaging metadata switched to including an SPDX license identifier + introduced in :pep:639 + * GitHub Actions CI/CD is now configured to manage caching pip-ecosystem + dependencies using re-actors/cache-python-deps_ -- an action by + :user:webknjaz that takes into account ABI stability and the exact + version of Python runtime. + * .. _re-actors/cache-python-deps: + https://github.com/marketplace/actions/cache-python-deps + * Organized dependencies into test and lint dependencies so that no + unnecessary ones are installed during CI runs +- Add gcc-c++ to BuildRequires +- Refresh no-pytest-cov.patch + +------------------------------------------------------------------- +Tue Oct 29 21:43:37 UTC 2024 - Dirk Müller + +- update to 1.5.0: + * An incorrect signature of the __class_getitem__ class method + has been fixed, adding a missing class_item argument under + Python 3.8 and older. This change also improves the code + coverage of this method that was previously missing -- by + :user:`webknjaz`. Related issues and pull requests on GitHub: + :issue:`567`, :issue:`571`. + * Rendered issue, PR, and commit links now lead to frozenlist's + repo instead of yarl's repo. Related issues and pull requests + on GitHub: :issue:`573`. + * On the :doc:`Contributing docs ` + page, a link to the Towncrier philosophy has been fixed. + Related issues and pull requests on GitHub: :issue:`574`. + * A name of a temporary building directory now reflects that + it's related to frozenlist, not yarl. Related issues and pull + requests on GitHub: :issue:`573`. + * Declared Python 3.13 supported officially in the distribution + package metadata. Related issues and pull requests on GitHub: + :issue:`595`. +- drop skip-some-attributes.patch (upstream) + +------------------------------------------------------------------- +Mon Jul 29 14:27:41 UTC 2024 - John Paul Adrian Glaubitz + +- Cherry-pick patch from Fedora to fix testsuite with Python 3.13 + * skip-some-attributes.patch + +------------------------------------------------------------------- +Tue Jan 16 08:30:56 UTC 2024 - Bernhard Wiedemann + +- Add reproducible.patch to avoid embedding a random tmp dir (boo#1062303) + +------------------------------------------------------------------- +Mon Jan 8 09:11:26 UTC 2024 - Dirk Müller + +- update to 1.4.1: + * Declared Python 3.12 and PyPy 3.8-3.10 supported officially + in the distribution package metadata. + * Replaced the packaging is replaced from an old-fashioned + :file:`setup.py` to an in-tree PEP 517 build backend -- by + :user:`webknjaz`. Whenever the end-users or downstream + packagers need to build frozenlist from source (a Git + checkout or an sdist), they may pass a config_settings flag + pure-python. If this flag is not set, a C-extension will be + built and included into the distribution. Here is how this + can be done with pip: $ python3 -m pip install . --config- + settings=pure-python= This will also work with -e | + --editable. The same can be achieved via pypa/build: $ + python3 -m build --config-setting=pure-python= Adding -w | + --wheel can force pypa/build produce a wheel from source + directly, as opposed to building an sdist and then building + from it. Related issues and pull requests on GitHub: + :issue:`560`. + * Replaced the packaging is replaced from an old-fashioned + :file:`setup.py` to an in-tree PEP 517 build backend + * Whenever the end-users or downstream packagers need to build + frozenlist from source (a Git checkout or an sdist), they may + pass a config_settings flag pure-python. If this flag is not + set, a C-extension will be built and included into the + distribution. + * It is now possible to request line tracing in Cython builds + using the with-cython-tracing PEP 517 config setting + * This can be used in CI and development environment to measure + coverage on Cython modules, but is not normally useful to the + end-users or downstream packagers. + Otherwise, it's off unless requested explicitly. + * The following produces C-files required for the Cython + coverage plugin to map the measurements back to the PYX- + files: + * Alternatively, the FROZENLIST_CYTHON_TRACING=1 environment + variable can be set to do the same as the PEP 517 config + setting. + * Coverage collection has been implemented for the Cython + modules +- add no-pytest-cov.patch to skip pytest-coverage + +------------------------------------------------------------------- +Mon Aug 14 20:49:55 UTC 2023 - Dirk Müller + +- update to 1.4.0: + * The published source distribution package became buildable + * under Python 3.12. + * Removed an unused :py:data:`typing.Tuple` import + * Deprecations and Removals + * Dropped Python 3.7 support. + +------------------------------------------------------------------- +Fri Apr 21 12:25:29 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:41:28 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Fri Dec 2 17:45:08 UTC 2022 - Yogalakshmi Arunachalam + +- Update to 1.3.3 + * Fixed CI runs when creating a new release, where new towncrier versions fail + when the current version section is already present. + +- Update to 1.3.2 + * Misc + Updated the CI runs to better check for test results and to avoid + deprecated syntax. #327 + +------------------------------------------------------------------- +Wed Sep 28 19:34:19 UTC 2022 - Yogalakshmi Arunachalam + +- update to 1.3.1 + * The published source distribution package became buildable under Python 3.11. + +------------------------------------------------------------------- +Sun Jan 23 16:23:05 UTC 2022 - Dirk Müller + +- update to 1.3.0: + * Do not install C sources with binary distributions. + * Dropped Python 3.6 support + +------------------------------------------------------------------- +Sat Dec 11 19:25:37 UTC 2021 - Ben Greiner + +- Update to 1.2.0 + * FrozenList now supports being used as a generic type as per PEP + 585, e.g. frozen_int_list: FrozenList[int] (requires Python 3.9 + or newer). #172 + * Added support for Python 3.10. #227 + * Started shipping platform-specific wheels with the musl tag + targeting typical Alpine Linux runtimes. #227 + * Started shipping platform-specific arm64 wheels for Apple + Silicon. #227 +- Cythonize +- Required by some aio packages. + +------------------------------------------------------------------- +Sun Nov 29 12:25:14 AM UTC 2020 - John Vandenberg + +- Initial spec for v1.1.1 diff --git a/python-frozenlist.spec b/python-frozenlist.spec new file mode 100644 index 0000000..34bde9d --- /dev/null +++ b/python-frozenlist.spec @@ -0,0 +1,64 @@ +# +# spec file for package python-frozenlist +# +# Copyright (c) 2025 SUSE LLC +# +# 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/ +# + + +%{?sle15_python_module_pythons} +Name: python-frozenlist +Version: 1.6.2 +Release: 0 +Summary: Python list-like structure which implements MutableSequence +License: Apache-2.0 +URL: https://github.com/aio-libs/frozenlist +Source: https://files.pythonhosted.org/packages/source/f/frozenlist/frozenlist-%{version}.tar.gz +Patch1: no-pytest-cov.patch +# PATCH-FIX-OPENSUSE - avoid embedding random tmp dir in .so +Patch2: reproducible.patch +BuildRequires: %{python_module Cython} +BuildRequires: %{python_module devel >= 3.8} +BuildRequires: %{python_module expandvars} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: python-rpm-macros +%python_subpackages + +%description +Python list-like structure which implements collections.abc.MutableSequence. + +%prep +%autosetup -p1 -n frozenlist-%{version} + +%build +export CFLAGS="%{optflags}" +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitearch} + +%check +%pytest_arch + +%files %{python_files} +%doc CHANGES.rst README.rst +%license LICENSE +%{python_sitearch}/frozenlist +%{python_sitearch}/frozenlist-%{version}*-info + +%changelog diff --git a/reproducible.patch b/reproducible.patch new file mode 100644 index 0000000..8db2072 --- /dev/null +++ b/reproducible.patch @@ -0,0 +1,15 @@ +workaround https://github.com/cython/cython/issues/5949 + +diff --git a/packaging/pep517_backend/_backend.py b/packaging/pep517_backend/_backend.py +index 8bb2ee2..e640738 100644 +--- a/packaging/pep517_backend/_backend.py ++++ b/packaging/pep517_backend/_backend.py +@@ -286,7 +286,7 @@ def build_wheel( + """ + with maybe_prebuild_c_extensions( + line_trace_cython_when_unset=False, +- build_inplace=False, ++ build_inplace=True, + config_settings=config_settings, + ): + return _setuptools_build_wheel( diff --git a/skip-some-attributes.patch b/skip-some-attributes.patch new file mode 100644 index 0000000..f89a570 --- /dev/null +++ b/skip-some-attributes.patch @@ -0,0 +1,25 @@ +From c6e8550ff462a6e299df35a935d2ffbf2777894e Mon Sep 17 00:00:00 2001 +From: Karolina Surma +Date: Thu, 30 May 2024 10:46:25 +0200 +Subject: [PATCH] Skip some attributes when testing + +--- + tests/test_frozenlist.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/test_frozenlist.py b/tests/test_frozenlist.py +index 403d3ec..90ea84b 100644 +--- a/tests/test_frozenlist.py ++++ b/tests/test_frozenlist.py +@@ -11,7 +11,7 @@ from frozenlist import FrozenList, PyFrozenList + class FrozenListMixin: + FrozenList = NotImplemented + +- SKIP_METHODS = {"__abstractmethods__", "__slots__"} ++ SKIP_METHODS = {"__abstractmethods__", "__slots__", "__static_attributes__", "__firstlineno__"} + + def test_subclass(self) -> None: + assert issubclass(self.FrozenList, MutableSequence) +-- +2.44.0 +