diff --git a/python-tinycss2-disable-flake8-isort-for-pytest.patch b/python-tinycss2-disable-flake8-isort-for-pytest.patch new file mode 100644 index 0000000..d7a114b --- /dev/null +++ b/python-tinycss2-disable-flake8-isort-for-pytest.patch @@ -0,0 +1,35 @@ +diff --git a/pyproject.toml b/pyproject.toml +index 41535ed..30dbcd4 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -32,7 +32,7 @@ classifiers = [ + + [tool.flit.metadata.requires-extra] + doc = ['sphinx', 'sphinx_rtd_theme'] +-test = ['pytest', 'pytest-cov', 'pytest-flake8', 'pytest-isort', 'coverage[toml]'] ++test = ['pytest', 'pytest-cov', 'coverage[toml]'] + + [tool.flit.metadata.urls] + Documentation = 'https://tinycss2.readthedocs.io/' +@@ -44,7 +44,7 @@ Donation = 'https://opencollective.com/courtbouillon' + exclude = ['.*'] + + [tool.pytest.ini_options] +-addopts = '--isort --flake8 --cov' ++addopts = '--cov' + norecursedirs = ['tests/css-parsing-tests'] + + [tool.coverage.run] +diff --git a/setup.py b/setup.py +index 8e8a09c..8901670 100644 +--- a/setup.py ++++ b/setup.py +@@ -16,8 +16,6 @@ extras_require = \ + {'doc': ['sphinx', 'sphinx_rtd_theme'], + 'test': ['pytest', + 'pytest-cov', +- 'pytest-flake8', +- 'pytest-isort', + 'coverage[toml]']} + + setup(name='tinycss2', diff --git a/python-tinycss2.spec b/python-tinycss2.spec index 86e7708..7f07e91 100644 --- a/python-tinycss2.spec +++ b/python-tinycss2.spec @@ -1,22 +1,36 @@ %global srcname tinycss2 + +%global py3_prefix python%{python3_pkgversion} + + Name: python-%{srcname} -Version: 1.5.1 -Release: 1%{?dist} +Version: 1.1.0 +Release: 2%{?dist} Summary: Low-level CSS parser for Python -License: BSD-3-Clause -URL: https://www.courtbouillon.org/tinycss2/ -Source0: %{pypi_source tinycss2} +License: BSD +URL: https://pypi.python.org/pypi/%{srcname}/ +Source0: %pypi_source +Source1: export-git-snapshot.sh +# CSS parsing tests are governed by CC0 but not shipped in the final RPMs +# There are no releases for CSS parsing tests so the archive below was created +# with "export-git-snapshot.sh". +Source2: css-parsing-tests-c5749e5.tar.gz +# Fedora does not ship pytest's flake8/isort modules +Patch0: %{name}-disable-flake8-isort-for-pytest.patch BuildArch: noarch -BuildRequires: python3-devel -BuildRequires: pyproject-rpm-macros - -# The test extra contains linters, we cherry-pick only what we need: -BuildRequires: python3-pytest - +BuildRequires: gzip +BuildRequires: tar +# required to run the tests +BuildRequires: %{py3_prefix}-devel +BuildRequires: %{py3_prefix}-pytest +BuildRequires: %{py3_prefix}-pytest-cov +BuildRequires: %{py3_prefix}-pytest-runner +BuildRequires: %{py3_prefix}-setuptools +BuildRequires: %{py3_prefix}-webencodings >= 0.4 %description tinycss2 is a modern, low-level CSS parser for Python. tinycss2 is a rewrite of @@ -24,11 +38,12 @@ tinycss with a simpler API, based on the more recent CSS Syntax Level 3 specification. -%package -n python3-%{srcname} +%package -n %{py3_prefix}-%{srcname} Summary: Low-level CSS parser for Python 3 -%{?python_provide:%python_provide python3-%{srcname}} +Requires: %{py3_prefix}-webencodings >= 0.4 +%{?python_provide:%python_provide %{py3_prefix}-%{srcname}} -%description -n python3-%{srcname} +%description -n %{py3_prefix}-%{srcname} tinycss2 is a modern, low-level CSS parser for Python. tinycss2 is a rewrite of tinycss with a simpler API, based on the more recent CSS Syntax Level 3 specification. @@ -36,115 +51,33 @@ specification. %prep %autosetup -n %{srcname}-%{version} - - -%generate_buildrequires -%pyproject_buildrequires -r - +tar xf "%{SOURCE2}" +cp -a css-parsing-tests-???????/* tests/css-parsing-tests/ %build -%pyproject_wheel +%py3_build %install -%pyproject_install +%py3_install %check -%{pytest} +%{__python3} -m pytest -v # remove files which are only required for unit tests (including test.pyc/.pyo) rm -rf %{buildroot}%{python3_sitelib}/%{srcname}/css-parsing-tests rm -rf %{buildroot}%{python3_sitelib}/%{srcname}/test.py rm -rf %{buildroot}%{python3_sitelib}/%{srcname}/__pycache__/test.*.py? -%files -n python3-%{srcname} +%files -n %{py3_prefix}-%{srcname} %license LICENSE %doc README.rst %{python3_sitelib}/%{srcname}/ -%{python3_sitelib}/%{srcname}-%{version}.dist-info/ +%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info %changelog -* Sun Nov 23 2025 Felix Schwarz - 1.5.1-1 -- update to 1.5.1 - -* Wed Nov 19 2025 Felix Schwarz - 1.5.0-1 -- update to 1.5.0 - -* Fri Sep 19 2025 Python Maint - 1.4.0-6 -- Rebuilt for Python 3.14.0rc3 bytecode - -* Fri Aug 15 2025 Python Maint - 1.4.0-5 -- Rebuilt for Python 3.14.0rc2 bytecode - -* Fri Jul 25 2025 Fedora Release Engineering - 1.4.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Tue Jun 03 2025 Python Maint - 1.4.0-3 -- Rebuilt for Python 3.14 - -* Sat Jan 18 2025 Fedora Release Engineering - 1.4.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Oct 26 2024 Felix Schwarz - 1.4.0-1 -- update to 1.4.0 - -* Sat Oct 26 2024 Felix Schwarz - 1.3.0-5 -- SPDX conversion - -* Wed Sep 04 2024 Miroslav Suchý - 1.3.0-4 -- convert license to SPDX - -* Fri Jul 19 2024 Fedora Release Engineering - 1.3.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jun 07 2024 Python Maint - 1.3.0-2 -- Rebuilt for Python 3.13 - -* Tue Apr 23 2024 Felix Schwarz - 1.3.0-1 -- update to 1.3.0 - -* Fri Jan 26 2024 Fedora Release Engineering - 1.2.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 1.2.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jul 21 2023 Fedora Release Engineering - 1.2.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Jul 01 2023 Python Maint - 1.2.1-4 -- Rebuilt for Python 3.12 - -* Mon May 15 2023 Miro Hrončok - 1.2.1-3 -- Drop redundant build dependency on flit, this package uses flit-core - -* Fri Jan 20 2023 Fedora Release Engineering - 1.2.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Tue Oct 18 2022 Felix Schwarz - 1.2.1-1 -- update to 1.2.1 - -* Fri Jul 22 2022 Fedora Release Engineering - 1.1.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jun 13 2022 Python Maint - 1.1.1-3 -- Rebuilt for Python 3.11 - -* Fri Jan 21 2022 Fedora Release Engineering - 1.1.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Mon Nov 22 2021 Felix Schwarz - 1.1.1-1 -- update to 1.1.1 - -* Tue Jul 27 2021 Fedora Release Engineering - 1.1.0-4 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 04 2021 Python Maint - 1.1.0-3 -- Rebuilt for Python 3.10 - * Wed Jan 27 2021 Fedora Release Engineering - 1.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index 236d2ad..24f65c7 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (tinycss2-1.5.1.tar.gz) = 1c2e1818c27c90f78b1e0af9b4c3c2a0944999691dcea678d0f5ed8a141d6ebd272b8b6763c1eac9d824db0d539e1e238f1e5e6abd2c02d97bb86002da637a10 +SHA512 (tinycss2-1.1.0.tar.gz) = 218d28511802afc89a608def03084f5d460512a41d47280b5c8bfe72314c8ab3b14c98fbb0200bea6b8509c4d6f0107410d340e2d7f1830aaa92669a2699211e +SHA512 (css-parsing-tests-c5749e5.tar.gz) = afb0248a2941bcd18904ad2021da902697385d716256019b88ded22836df0ad76e53a76cc4232546f7c3a2421785b94befb057cf99a22b423d1051e38d8cd3f6