Blob Blame History Raw
Name: qtile
Version: 0.23.0
Release: 8%{?dist}
Summary: A pure-Python tiling window manager
Source: https://github.com/qtile/qtile/archive/v%{version}/qtile-%{version}.tar.gz

# Everything licensed under MIT except for the following files.
# GPL-3.0-or-later:
#   libqtile/widget/cmus.py
#   libqtile/widget/moc.py
License: MIT AND GPL-3.0-or-later
Url: http://qtile.org

# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}

BuildRequires:  python3-devel
BuildRequires:  desktop-file-utils

# Test dependencies
BuildRequires:  gcc
BuildRequires:  xorg-x11-server-Xvfb
BuildRequires:  xorg-x11-server-Xephyr
BuildRequires:  rsvg-pixbuf-loader
BuildRequires:  wlroots0.16-devel

# Some dependencies are loaded with ffi.dlopen, and to declare them properly
# we'll need this suffix.
%if 0%{?__isa_bits} == 32
%global libsymbolsuffix %{nil}
%else
%global libsymbolsuffix ()(%{__isa_bits}bit)
%endif

BuildRequires: libgobject-2.0.so.0%{libsymbolsuffix}
BuildRequires: libpango-1.0.so.0%{libsymbolsuffix}
BuildRequires: libpangocairo-1.0.so.0%{libsymbolsuffix}
Requires: libgobject-2.0.so.0%{libsymbolsuffix}
Requires: libpango-1.0.so.0%{libsymbolsuffix}
Requires: libpangocairo-1.0.so.0%{libsymbolsuffix}

# Recommended packages for widgets
Recommends: python3-psutil
Recommends: python3-pyxdg
Recommends: python3-dbus-next
Recommends: python3-xmltodict
Recommends: python3-dateutil
Recommends: python3-mpd2

Requires: python3-libqtile = %{version}-%{release}


%description
A pure-Python tiling window manager.

Features
========

    * Simple, small and extensible. It's easy to write your own layouts,
      widgets and commands.
    * Configured in Python.
    * Command shell that allows all aspects of
      Qtile to be managed and inspected.
    * Complete remote scriptability - write scripts to set up workspaces,
      manipulate windows, update status bar widgets and more.
    * Qtile's remote scriptability makes it one of the most thoroughly
      unit-tested window mangers around.


%package -n python3-libqtile
Summary: Qtile's python library


%description -n python3-libqtile
%{summary}.


%package wayland
Summary: Qtile wayland session
BuildRequires: xorg-x11-server-Xwayland
Requires: qtile = %{version}-%{release}
Requires: python3-libqtile+wayland = %{version}-%{release}


%description wayland
%{summary}.


%pyproject_extras_subpkg -n python3-libqtile wayland


%prep
%autosetup -p 1


%generate_buildrequires
export SETUPTOOLS_SCM_PRETEND_VERSION=%{version}
%pyproject_buildrequires -x test,wayland


%build
export SETUPTOOLS_SCM_PRETEND_VERSION=%{version}
%pyproject_wheel
PYTHONPATH=${PWD} ./scripts/ffibuild


%install
%pyproject_install
%pyproject_save_files libqtile

mkdir -p %{buildroot}%{_datadir}/xsessions/
desktop-file-install \
    --dir %{buildroot}%{_datadir}/xsessions/ \
    resources/qtile.desktop

mkdir -p %{buildroot}%{_datadir}/wayland-sessions/
desktop-file-install \
    --dir %{buildroot}%{_datadir}/wayland-sessions/ \
    resources/qtile-wayland.desktop


%check
# The tests can sometimes randomly fail. Rebuilding the package again usually
# solves the issue. Please see the upstream issue:
# https://github.com/qtile/qtile/issues/4573
%ifnarch s390x ppc64le
%pytest -vv --backend x11 --backend wayland
%endif


%files
%doc README.rst
%{_bindir}/qtile
%{_datadir}/xsessions/qtile.desktop


%files -n python3-libqtile -f %{pyproject_files}


%files wayland
%{_datadir}/wayland-sessions/qtile-wayland.desktop


%changelog
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.23.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.23.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Sun Jan 07 2024 Jakub Kadlcik <frostyx@email.cz> - 0.23.0-6
- Exclude ix86
- Specify required wlroots version
- Skip tests on s390x and ppc64le

* Mon Nov 13 2023 Carl George <carlwgeorge@fedoraproject.org> - 0.23.0-5
- Fix ffibuild to enable wayland subpackages

* Fri Nov 10 2023 Carl George <carlwgeorge@fedoraproject.org> - 0.23.0-4
- Add python3-libqtile, qtile-wayland, and python3-libqtile+wayland subpackages

* Fri Nov 10 2023 Carl George <carlwgeorge@fedoraproject.org> - 0.23.0-3
- Remove manual dependencies that duplicate generated ones
- Remove temporary python3-cairocffi dependencies
- Remove duplicate %%pyproject_buildrequires
- Buildrequire rsvg-pixbuf-loader for SVG image loading during the test suite
- Remove unnecessary buildrequires
- Correct wayland recommends

* Sat Nov 04 2023 Jakub Kadlcik <frostyx@email.cz> - 0.23.0-2
- Remove noarch
- Only optional dependency on xorg-x11-server-Xwayland

* Tue Oct 10 2023 Jakub Kadlcik <frostyx@email.cz> - 0.23.0-1
- Upgrade to the new upstream version

* Sun Jan 01 2023 Jakub Kadlcik <frostyx@email.cz> - 0.22.1-4
- Use Source0 from GitHub instead of PyPI
- Remove Source1
- Don't use _description macro
- Use desktop-file-install instead of desktop-file-validate
- Run tests with --backend wayland
- Specify some dependencies missing from python3-cairocffi
- Automatically generate wayland dependencies
- Remove explicit license file

* Wed Dec 21 2022 Jakub Kadlcik <frostyx@email.cz> - 0.22.1-3
- Run desktop-file-validate in the check section

* Tue Dec 20 2022 Jakub Kadlcik <frostyx@email.cz> - 0.22.1-2
- Use autosetup macro
- SPDX license expression and changed license docstring
- Add check section and run tests
- Use 2021+ python package format
- Add bcond for wayland, not all dependencies are in Fedora yet

* Thu Sep 22 2022 Jakub Kadlcik <frostyx@email.cz> - 0.22.1-1
- Upgrade to the new upstream version

* Tue Jun 14 2022 Jakub Kadlcik <frostyx@email.cz> - 0.21.0-2
- Install Qtile session file from upstream
- Install Qtile Wayland session file
- Recommend Wayland-specific dependencies on Fedora 36

* Wed Mar 23 2022 Jakub Kadlcik <frostyx@email.cz> - 0.21.0-1
- Upgrade to the new upstream version

* Sat Feb 26 2022 Jakub Kadlcik <jkadlcik@redhat.com> - 0.20.0-2
- Recommend packages needed by widgets

* Mon Jan 24 2022 Jakub Kadlcik <jkadlcik@redhat.com> - 0.20.0-1
- Upgrade to the new upstream version

* Wed Jan 05 2022 Jakub Kadlcik <jkadlcik@redhat.com> - 0.19.0-1
- Upgrade to the new upstream version

* Thu Nov 18 2021 Jakub Kadlčík <jkadlcik@redhat.com> - 0.18.1-2
- Add missing runtime dependency to python3-dbus-next

* Wed Nov 17 2021 Jakub Kadlčík <jkadlcik@redhat.com> - 0.18.1-1
- Update to the new upstream version
- Use source from PyPI
- Temporarily drop manpage because I don't know where to get it

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.14.2-2
- Rebuilt for Python 3.9

* Mon Feb 03 2020 Mairi Dulaney <jdulaney@fedoraproject.org> - 0.14.2-1
- Update to latest release
- Remove buildrequires python-nose-cov

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 0.13.0-5
- Rebuilt for Python 3.8.0rc1 (#1748018)

* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.13.0-4
- Rebuilt for Python 3.8

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Thu Jan 17 2019 Mairi Dulaney <jdulaney@fedoraproject.org> - 0.13.0-1
- !!! deprecation warning !!!
-   wmii layout is deprecated in terms of columns layout, which has the
-   same behavior with different defaults, see the wmii definition for
-   more details
- * features
-   add svg handling for images
-   allow addgroup command to set the layout
-   add command to get current log level
-   allow groupbox to hide unused groups
-   add caps lock indicator widget
-   add custom_command to check_update widget
- * bugfixes
-   better shutdown handling
-   fix clientlist current client tracking
-   fix typo in up command on ratiotile layout
-   various fixes to check_update widget
-   fix 0 case for resize screen

* Wed Jul 18 2018 John Dulaney <jdulaney@fedoraproject.org> - 0.12.0-1
- !!! Config breakage !!!
-   Tile layout commands up/down/shuffle_up/shuffle_down changed to be
-   more consistent with other layouts
-   move qcmd to qtile-cmd because of conflict with renameutils, move
-   dqcmd to dqtile-cmd for symmetry
- add `add_after_last` option to Tile layout to add windows to the end of the list
- add new formatting options to TaskList
- allow Volume to open app on right click
- fix floating of file transfer windows and java drop-downs
- fix exception when calling `cmd_next` and `cmd_previous` on layout without windows
- fix caps lock affected behaviour of key bindings
- re-create cache dir if it is deleted while qtile is running
- fix CheckUpdates widget color when no updates
- handle cases where BAT_DIR does not exist
- fix the wallpaper widget when using `wallpaper_command`
- fix Tile layout order to not reverse on reset
- fix calling `focus_previous/next` with no windows* Wed Jul 18 2018 John Dulaney <jdulaney@fedoraproject.org> - 0.12.0-1
- !!! Config breakage !!!
-   Tile layout commands up/down/shuffle_up/shuffle_down changed to be
-   more consistent with other layouts
-   move qcmd to qtile-cmd because of conflict with renameutils, move
-   dqcmd to dqtile-cmd for symmetry
- add `add_after_last` option to Tile layout to add windows to the end of the list
- add new formatting options to TaskList
- allow Volume to open app on right click
- fix floating of file transfer windows and java drop-downs
- fix exception when calling `cmd_next` and `cmd_previous` on layout without windows
- fix caps lock affected behaviour of key bindings
- re-create cache dir if it is deleted while qtile is running
- fix CheckUpdates widget color when no updates
- handle cases where BAT_DIR does not exist
- fix the wallpaper widget when using `wallpaper_command`
- fix Tile layout order to not reverse on reset
- fix calling `focus_previous/next` with no windows

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.11.1-3
- Rebuilt for Python 3.7
- Don't require trollius (only needed on Python < 3.4)

* Wed Mar 28 2018 John Dulaney <jdulaney@fedoraproject.org> - 0.11.1-2
- Add unpackaged files %#{_bindir}/dqcmd %#{_bindir}/qcmd

* Wed Feb 28 2018 John Dulaney <jdulaney@fedoraproject.org> - 0.11.1-1
- !!! Completely changed extension configuration, see the documentation !!!
- !!! `extention` subpackage renamed to `extension` !!!
- !!! `extentions` configuration variable changed to `extension_defaults` !!!
- qshell improvements
- new MonadWide layout
- new Bsp layout
- new pomodoro widget
- new stock ticker widget
- new `client_name_updated` hook
- new RunCommand and J4DmenuDesktop extension
- task list expands to fill space, configurable via `spacing` parameter
- add group.focus_by_name() and group.info_by_name()
- add disk usage ratio to df widget
- allow displayed group name to differ from group name
- enable custom TaskList icon size
- add qcmd and dqcmd to extend functionality around qtile.command functionality
- add ScratchPad group that has configurable drop downs
- fix race condition in Window.fullscreen
- fix for string formatting in qtile_top
- fix unicode literal in tasklist
- move mpris2 initialization out of constructor
- fix wlan widget variable naming and division
- normalize behavior of layouts on various commands
- add better fallback to default config
- update btc widget to use coinbase
- fix cursor warp when using default layout implementation
- don't crash when using widget with unmet dependencies
- fix floating window default location

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Tue Feb 14 2017 John Dulaney <jdulaney@fedoraproject.org> - 0.10.7-1
- new MPD widget, widget.MPD2, based on `mpd2` library
- add option to ignore duplicates in prompt widget
- add additional margin options to GroupBox widget
- add option to ignore mouse wheel to GroupBox widget
- add `watts` formatting string option to Battery widgets
- add volume commands to Volume widget
- add Window.focus command


* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 0.10.6-3
- Rebuild for Python 3.6

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10.6-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Wed May 25 2016 John Dulaney <jdulaney@fedoraproject.org> - 0.10.6-1
- Add `startup_complete` hook
- Restore dynamic groups on restart
- Major bug fixes with floating window handling

* Fri Mar 04 2016 John Dulaney <jdulaney@fedoraproject.org> - 0.10.5-1
- Python 3.2 support dropped !!!
- GoogleCalendar widget dropped for KhalCalendar widget !!!
- qtile-session script removed in favor of qtile script !!!
- new Columns layout, composed of dynamic and configurable columns of windows
- new iPython kernel for qsh, called iqsh, see docs for installing
- new qsh command `display_kb` to show current key binding
- add json interface to IPC server
- add commands for resizing MonadTall main panel
- wlan widget shows when you are disconnected and uses a configurable format
- fix path handling in PromptWidget
- fix KeyboardLayout widget cycling keyboard
- properly guard against setting screen to too large screen index

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Wed Jan 20 2016 John Dulaney <jdulaney@fedoraproject.org> - 0.10.4-2
- Fix rpmlint issues

* Tue Jan 19 2016 John Dulaney <jdulaney@fedoraproject.org> - 0.10.4-1
- New release

* Fri Dec 25 2015 John Dulaney <jdulaney@fedoraproject.org> - 0.10.3-1
- New upstream release

* Fri Nov 20 2015 John Dulaney <jdulaney@fedoraproject.org> - 0.10.2-5
- Build against new python-xcffib

* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10.2-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5

* Wed Oct 21 2015 John Dulaney <jdulaney@fedoraproject.org> - 0.10.2-3
- Fix minor issue with spec file.

* Tue Oct 20 2015 John Dulaney <jdulaney@fedoraproject.org> - 0.10.2-2
- /usr/bin/qtile-top to files list

* Tue Oct 20 2015 John Dulaney <jdulaney@fedoraproject.org> - 0.10.2-1
- Update to latest upstream

* Mon Oct 19 2015 John Dulaney <jdulaney@fedoraproject.org> - 0.10.1-1
- Fix soname issue

* Mon Aug 03 2015 John Dulaney <jdulaney@fedoraproject.org> - 0.10.1-0
- Update to latest upstream

* Mon Aug 03 2015 John Dulaney <jdulaney@fedoraproject.org> - 0.9.1-4
- Use Python3

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sun Feb 22 2015 John Dulaney <jdulaney@fedoraproject.org> - 0.9.1-2
- Final update to licensing

* Sat Feb 14 2015 John Dulaney <jdulaney@fedoraproject.org> - 0.9.1-1
- Update for new upstream release
- Fix license headers.

* Sun Feb 01 2015 John Dulaney <jdulaney@fedoraproject.org> - 0.9.0-2
- Update spec for qtile-0.9.0
- Include in Fedora.

* Wed Oct 08 2014 John Dulaney <jdulaney@fedoraproject.org> - 0.8.0-1
- Initial packaging
- Spec based on python-nose