## START: Set by rpmautospec ## (rpmautospec version 0.8.4) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global mvzr_ver 0.3.7 %global zig_fcft_ver 2.0.0 %global zig_pixman_ver 0.3.0 %global zig_wayland_ver 0.5.0 %global zig_xkbcommon_ver 0.3.0 %global srcname kwm %global _pkgdocdir %{_docdir}/%{srcname} Name: river-%{srcname} Version: 0.2.1 Release: %autorelease -p Summary: Window manager based on River Wayland compositor # kwm: GPL-3.0-only # protocol/river-*.xml: MIT # deps/mvzr: MIT # deps/zig-fcft: MIT # deps/zig-pixman: MIT # deps/zig-wayland: MIT # deps/zig-xkbcommon: MIT License: GPL-3.0-only AND MIT URL: https://github.com/kewuaa/kwm Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz Source1: https://github.com/mnemnion/mvzr/archive/refs/tags/v%{mvzr_ver}.tar.gz#/mvzr-%{mvzr_ver}.tar.gz Source2: https://git.sr.ht/~novakane/zig-fcft/archive/v%{zig_fcft_ver}.tar.gz#/zig-fcft-%{zig_fcft_ver}.tar.gz Source3: https://codeberg.org/ifreund/zig-pixman/archive/v%{zig_pixman_ver}.tar.gz#/zig-pixman-%{zig_pixman_ver}.tar.gz Source4: https://codeberg.org/ifreund/zig-wayland/archive/v%{zig_wayland_ver}.tar.gz#/zig-wayland-%{zig_wayland_ver}.tar.gz Source5: https://codeberg.org/ifreund/zig-xkbcommon/archive/v%{zig_xkbcommon_ver}.tar.gz#/zig-xkbcommon-%{zig_xkbcommon_ver}.tar.gz Patch: kwm-0.1.2-use-tagged-zig-wayland.patch ExclusiveArch: %{zig_arches} BuildRequires: gcc BuildRequires: gnupg2 BuildRequires: scdoc BuildRequires: (zig >= 0.15.2 with zig < 0.16) BuildRequires: zig-rpm-macros BuildRequires: pkgconfig(fcft) BuildRequires: pkgconfig(pixman-1) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(xkbcommon) >= 1.12.0 Requires: river >= 0.4.0 # Right now there is no established way of managing Zig dependencies systemwide # so for the time being they are bundled as part of the project. Provides: bundled(mvzr) = %{mvzr_ver} Provides: bundled(zig-fcft) = %{zig_fcft_ver} Provides: bundled(zig-pixman) = %{zig_pixman_ver} Provides: bundled(zig-wayland) = %{zig_wayland_ver} Provides: bundled(zig-xkbcommon) = %{zig_xkbcommon_ver} %description A window manager based on river >= 0.4.x (with river-window-management-v1 protocol), written in Zig. %prep %setup -q -n %{srcname}-%{version} -a 1 -a 2 -a 3 -a 4 -a 5 %autopatch -p1 %zig_fetch mvzr-%{mvzr_ver} %zig_fetch zig-fcft-v%{zig_fcft_ver} %zig_fetch zig-pixman %zig_fetch zig-wayland %zig_fetch zig-xkbcommon %build %zig_build # regenerate man file for man in kwm.1; do scdoc <"doc/${man}.scd" >"doc/${man}" done %install %zig_install # install manually to avoid mixing relative and absolute args to %%doc install -D -pv -m0644 -t %{buildroot}%{_pkgdocdir} README.md %check %zig_test %files %license LICENSE %dir %{_docdir}/%{srcname} %doc %{_docdir}/%{srcname}/README.md %doc %{_docdir}/%{srcname}/config.zon %{_bindir}/kwm %{_mandir}/man1/kwm.1* %changelog ## START: Generated by rpmautospec * Fri Mar 27 2026 Aleksei Bavshin - 0.2.1-0.1 - Update to 0.2.1 * Sun Mar 22 2026 Aleksei Bavshin - 0.1.2-0.1 - Initial package ## END: Generated by rpmautospec