Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37843578
en ru br
ALT Linux repos
S:0.22.1-alt2

Group :: Graphical desktop/Other
RPM: qtile

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%define _unpackaged_files_terminate_build 1

%def_without check
%def_without docs

Name: qtile
Version: 0.22.1
Release: alt2

Summary: A full-featured, hackable tiling window manager written and configured in Python
License: MIT
Group: Graphical desktop/Other

#VCS: https://github.com/qtile/qtile

Url: http://www.qtile.org/
Source: %name-%version.tar
Patch0: %name-%version-alt.patch

BuildRequires(pre): rpm-build-python3
BuildRequires: python3-module-setuptools
BuildRequires: python3-module-wheel
BuildRequires: python3-module-cairocffi
BuildRequires: python3-module-cffi
BuildRequires: python3-module-dbus-next
BuildRequires: python3-module-pywlroots
BuildRequires: python3-module-setuptools_scm
BuildRequires: python3-module-xcffib
BuildRequires: python3-module-xkbcommon
BuildRequires: libxcbutil-icccm-devel
BuildRequires: libwlroots-devel
BuildRequires: libcairo-devel
BuildRequires: libpulseaudio-devel
BuildRequires: libpango-devel
BuildRequires: libXcursor-devel
BuildRequires: libinput-devel
BuildRequires: libxkbcommon-devel

%if_with check
BuildRequires: python3-module-bowler
BuildRequires: python3-module-pygobject3
BuildRequires: python3-module-pytest
BuildRequires: python3-module-pytest-asyncio
BuildRequires: python3-module-pytest-cov
BuildRequires: python3-modules-curses
BuildRequires: python3-module-mypy
BuildRequires: libgtk-layer-shell
BuildRequires: libgdk-pixbuf-gir
BuildRequires: libgtk+3-gir
BuildRequires: ImageMagick
BuildRequires: xorg-xephyr
BuildRequires: xorg-xvfb
BuildRequires: notify-send
BuildRequires: dbus-tools-gui
BuildRequires: /proc
%endif

%if_with docs
BuildRequires: graphviz
BuildRequires: libgdk-pixbuf
BuildRequires: pytest3
BuildRequires: python3-module-sphinx-sphinx-build-symlink
BuildRequires: python3-module-sphinx_rtd_theme
BuildRequires: python3-module-sphinxcontrib-seqdiag
BuildRequires: python3-module-webcolors
BuildRequires: python3-module-numpydoc
%endif

%description
%summary

%prep
%setup
%patch0 -p1

sed -i -e 's/pytest/pytest3/' docs/Makefile

# NOTE(egori): remove this sed before building with wlroots 0.16.0

# see: https://github.com/qtile/qtile/pull/3985
sed -i -e 's/"wlroots"/":libwlroots.so.10"/' \
   libqtile/backend/wayland/libinput_ffi_build.py

%build
export SETUPTOOLS_SCM_PRETEND_VERSION=%version
export CFFI_TMPDIR=$(mktemp -d -t cffi_tempidr.XXXXXXXXX)
./scripts/ffibuild -v
%pyproject_build

%if_with docs
pushd docs
make html
popd
%endif

%install
export SETUPTOOLS_SCM_PRETEND_VERSION=%version
%pyproject_install

# A workaround to run qtile from SDDM

cat > %buildroot%_bindir/qtile-start <<EOF
#!/bin/sh -efu

%_bindir/qtile start
EOF
chmod 755 %buildroot%_bindir/qtile-start
sed -i -e 's|^Exec=.*|Exec=%_bindir/qtile-start|' resources/qtile.desktop

install -Dm 644 resources/qtile.desktop -t %buildroot%_datadir/xsessions/
install -Dm 644 resources/qtile-wayland.desktop -t %buildroot%_datadir/wayland-sessions/

# hack to drop .abi3 from binaries

find %buildroot -name '*.abi3*' -exec rename '.abi3' '' {} \;

%check
%tox_check_pyproject

%files
%if_with docs
%doc docs/_build/html
%endif
%doc LICENSE README.rst libqtile/resources/default_config.py
%_bindir/qtile
%_bindir/qtile-start
%python3_sitelibdir/libqtile
%python3_sitelibdir/%{pyproject_distinfo qtile}
%_datadir/xsessions/qtile.desktop
%_datadir/wayland-sessions/qtile-wayland.desktop

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin