From 4f763d9fc8ca51c9a409cc3d9548c41f39bed9c30b7d26e3dc6f8ca9ed9273ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Tue, 30 Jul 2024 20:04:13 +0000 Subject: [PATCH] Accepting request 1190281 from home:glaubitz:branches:devel:languages:python - Cherry-pick patch from Fedora to fix testsuite with Python 3.13 * skip-some-attributes.patch OBS-URL: https://build.opensuse.org/request/show/1190281 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-frozenlist?expand=0&rev=18 --- .gitattributes | 23 +++++++ .gitignore | 1 + frozenlist-1.4.1.tar.gz | 3 + no-pytest-cov.patch | 19 ++++++ python-frozenlist.changes | 119 +++++++++++++++++++++++++++++++++++++ python-frozenlist.spec | 65 ++++++++++++++++++++ reproducible.patch | 15 +++++ skip-some-attributes.patch | 25 ++++++++ 8 files changed, 270 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 frozenlist-1.4.1.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/no-pytest-cov.patch b/no-pytest-cov.patch new file mode 100644 index 0000000..d0aa580 --- /dev/null +++ b/no-pytest-cov.patch @@ -0,0 +1,19 @@ +Index: frozenlist-1.4.1/pytest.ini +=================================================================== +--- frozenlist-1.4.1.orig/pytest.ini ++++ frozenlist-1.4.1/pytest.ini +@@ -21,14 +21,6 @@ addopts = + # Dump the test results in junit format: + # --junitxml=.test-results/pytest/results.xml + +- # Pre-load the `pytest-cov` plugin early: +- -p pytest_cov +- +- # `pytest-cov`: +- --cov +- --cov-context=test +- --cov-config=.coveragerc +- + # Fail on config parsing warnings: + # --strict-config + diff --git a/python-frozenlist.changes b/python-frozenlist.changes new file mode 100644 index 0000000..d2b6014 --- /dev/null +++ b/python-frozenlist.changes @@ -0,0 +1,119 @@ +------------------------------------------------------------------- +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..ed99875 --- /dev/null +++ b/python-frozenlist.spec @@ -0,0 +1,65 @@ +# +# spec file for package python-frozenlist +# +# Copyright (c) 2024 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.4.1 +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 +# PATCH-FIX-UPSTREAM gh#aio-libs/frozenlist#588 - Skip some attributes when testing +Patch3: skip-some-attributes.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: 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 +