15
0

Accepting request 1307084 from home:glaubitz:branches:devel:languages:python

- Update to 1.7.0
  * Added deepcopy support to FrozenList
  * Fixed an issue where ``frozenlist`` binary wheels would be
    built with debugging symbols and line tracing enabled, which
    significantly impacted performance. Line tracing is now disabled
    by default and can only be enabled explicitly
    - This change ensures that production builds are optimized for
      performance. Developers who need line tracing for debugging
      purposes can still enable it by:
      1. Setting the ``FROZENLIST_CYTHON_TRACING`` environment variable
      2. Using the ``--config-setting=with-cython-tracing=true`` option with pip
  * Enabled ``PIP_CONSTRAINT`` environment variable in the build configuration
    to ensure the pinned Cython version from ``requirements/cython.txt`` is
    used during wheel builds.

OBS-URL: https://build.opensuse.org/request/show/1307084
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-frozenlist?expand=0&rev=24
This commit is contained in:
2025-09-25 12:10:12 +00:00
committed by Git OBS Bridge
commit b79ad4f006
7 changed files with 315 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -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

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

3
frozenlist-1.7.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f
size 45078

18
no-pytest-cov.patch Normal file
View File

@@ -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

191
python-frozenlist.changes Normal file
View File

@@ -0,0 +1,191 @@
-------------------------------------------------------------------
Thu Sep 25 11:08:56 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 1.7.0
* Added deepcopy support to FrozenList
* Fixed an issue where ``frozenlist`` binary wheels would be
built with debugging symbols and line tracing enabled, which
significantly impacted performance. Line tracing is now disabled
by default and can only be enabled explicitly
- This change ensures that production builds are optimized for
performance. Developers who need line tracing for debugging
purposes can still enable it by:
1. Setting the ``FROZENLIST_CYTHON_TRACING`` environment variable
2. Using the ``--config-setting=with-cython-tracing=true`` option with pip
* Enabled ``PIP_CONSTRAINT`` environment variable in the build configuration
to ensure the pinned Cython version from ``requirements/cython.txt`` is
used during wheel builds.
-------------------------------------------------------------------
Fri Jun 6 11:59:13 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- 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 <dmueller@suse.com>
- 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 <contributing/guidelines>`
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 <adrian.glaubitz@suse.com>
- 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 <bwiedemann@suse.com>
- Add reproducible.patch to avoid embedding a random tmp dir (boo#1062303)
-------------------------------------------------------------------
Mon Jan 8 09:11:26 UTC 2024 - Dirk Müller <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- add sle15_python_module_pythons (jsc#PED-68)
-------------------------------------------------------------------
Thu Apr 13 22:41:28 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Make calling of %{sle15modernpython} optional.
-------------------------------------------------------------------
Fri Dec 2 17:45:08 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- 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 <yarunachalam@suse.com>
- 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 <dmueller@suse.com>
- 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 <code@bnavigator.de>
- 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 <jayvdb@gmail.com>
- Initial spec for v1.1.1

64
python-frozenlist.spec Normal file
View File

@@ -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.7.0
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

15
reproducible.patch Normal file
View File

@@ -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(