Name: qtile-extras Version: 0.29.0 Release: 5%{?dist} Summary: A collection of mods for Qtile License: MIT URL: https://github.com/elParaguayo/qtile-extras Source0: %{URL}/archive/v%{version}/%{name}-%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-requests BuildRequires: python3-pip BuildRequires: python3-wheel BuildRequires: qtile = %{version} BuildRequires: pango-devel BuildRequires: gdk-pixbuf2-devel BuildRequires: python3-dbus-next BuildRequires: python3-gobject BuildRequires: python3-gobject-base # Test dependencies # In the ideal world, we would generate the Python dependencies dynamically # through `%%pyproject_buildrequires -e %%{toxenv}` # The problem is, that some of the dependencies are not packaged for Fedora # (e.g. iwlib, stravalib, pulsectl-asyncio) and we won't provide the widgets # that depends on them # We should patch the tox.ini file and remove the missing dependencies instead # of installing everything manually BuildRequires: tox BuildRequires: python3-tox-current-env BuildRequires: python3-pytest BuildRequires: xorg-x11-server-Xvfb BuildRequires: xorg-x11-server-Xephyr BuildRequires: rsvg-pixbuf-loader BuildRequires: ImageMagick BuildRequires: pango-devel BuildRequires: python3-setuptools BuildRequires: python3-dbus-next BuildRequires: python3-xcffib BuildRequires: rsvg-pixbuf-loader # The tarball is missing .git directory, we need to create it during build BuildRequires: git Requires: qtile = %{version} %description A collection of third-party widgets, toolkits, wallpapers, and other extras for Qtile. For more, please read https://qtile-extras.readthedocs.io %generate_buildrequires %pyproject_buildrequires %prep %autosetup -n %{name}-%{version} git init # The stravalib isn't packaged for Fedora yet # https://pypi.org/project/stravalib/ rm -rf qtile_extras/widget/strava.py rm -rf qtile_extras/resources/stravadata rm -rf test/widget/test_strava.py # The iwlib isn't packaged for Fedora anymore # https://pypi.org/project/iwlib/ rm -rf qtile_extras/widget/network.py rm -rf test/widget/test_network.py # Remove empty fixtures file # https://github.com/elParaguayo/qtile-extras/pull/386 rm -rf qtile_extras/resources/footballscores/fixtures.py # This test requires pytest_lazyfixture which is not compatible with pytest 8 # https://github.com/elParaguayo/qtile-extras/issues/388 rm -rf test/widget/test_currentlayouticon.py # Remove shebang sed -e "\|#! /usr/bin/python3 -sP|d" -i qtile_extras/resources/visualiser/cava_draw.py sed -e "\|#!/usr/bin/env python|d" -i qtile_extras/resources/visualiser/cava_draw.py # In the minimal buildroot, there is no python command, only python3 # https://github.com/elParaguayo/qtile-extras/pull/390 sed "s/python/python3/" -i test/widget/test_scriptexit.py # This test downloads an asset (github.svg) from the internet which won't work # when building in Koji rm -rf test/widget/test_image.py %build %pyproject_wheel %install %pyproject_install %pyproject_save_files qtile_extras rm -rf %{buildroot}%{python3_sitelib}/test %check # I am not sure why these tests fail. Let's investigate later pytest_expressions="not test_footballmatch_module_kickoff_time" pytest_expressions+=" and not test_githubnotifications_reload_token" pytest_expressions+=" and not test_syncthing_http_error" %pytest -vv -k "$pytest_expressions" %files -n qtile-extras -f %{pyproject_files} %license LICENSE %doc README.md %changelog * Tue Nov 05 2024 Jakub Kadlcik - 0.29.0-5 - Exclude one more test - Add todo about dynamic BuildRequires - Drop the python3-pytest-cov dependency * Sun Nov 03 2024 Jakub Kadlcik - 0.29.0-4 - Run tests in the check phase * Fri Nov 01 2024 Jakub Kadlcik - 0.29.0-3 - Remove empty fixtures file - Remove shebang from the cava_draw.py file * Wed Oct 30 2024 Jakub Kadlcik - 0.29.0-2 - Small fixes to the specfile formatting - Add some build dependencies for tests - Don't depend on deprecated python3-pytest7 * Wed Oct 30 2024 Jakub Kadlcik - 0.29.0-1 - New upstream version * Wed Aug 21 2024 Jakub Kadlcik - 0.28.1-1 - New upstream version * Sat Jul 13 2024 Jakub Kadlcik - 0.27.0-1 - New upstream version * Thu May 23 2024 Jakub Kadlcik - 0.26.0-1 - New upstream version * Sun Nov 05 2023 Jakub Kadlcik - 0.23.0-1 - New upstream version * Thu Sep 22 2022 Jakub Kadlcik - 0.22.1-1 - Upgrade to the new upstream version * Wed Jan 05 2022 Jakub Kadlcik - Initial package