%global zig_arches x86_64 aarch64 riscv64 mips64 mips64el mips64r6 mips64r6el %global zig_pixman_ver 0.2.0 %global zig_wayland_ver 0.2.0 %global zig_wlroots_ver 0.18.0 %global zig_xkbcommon_ver 0.2.0 Name: river Version: 0.3.5 Release: 0.1%{?dist} Summary: Dynamic tiling Wayland compositor # river: GPL-3.0-only # deps/zig-pixman: MIT # deps/zig-wayland: MIT # deps/zig-wlroots: MIT # deps/zig-xkbcommon: MIT # protocol/river-control-unstable-v1.xml: ISC # protocol/river-layout-v3.xml: ISC # protocol/river-status-unstable-v1.xml: ISC # protocol/wlr-layer-shell-unstable-v1.xml: HPND-sell-variant # protocol/wlr-output-power-management-unstable-v1.xml: MIT License: GPL-3.0-only AND HPND-sell-variant AND ISC AND MIT URL: https://codeberg.org/river/river Source0: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.gz Source1: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.gz.sig # Isaac Freund Source2: https://isaacfreund.com/public_key.txt#/gpgkey-86DED400DDFD7A11.gpg Source3: %{name}.desktop Source4: https://codeberg.org/ifreund/zig-pixman/archive/v%{zig_pixman_ver}.tar.gz#/zig-pixman-%{zig_pixman_ver}.tar.gz Source5: https://codeberg.org/ifreund/zig-wayland/archive/v%{zig_wayland_ver}.tar.gz#/zig-wayland-%{zig_wayland_ver}.tar.gz Source6: https://codeberg.org/ifreund/zig-wlroots/archive/v%{zig_wlroots_ver}.tar.gz#/zig-wlroots-%{zig_wlroots_ver}.tar.gz Source7: https://codeberg.org/ifreund/zig-xkbcommon/archive/v%{zig_xkbcommon_ver}.tar.gz#/zig-xkbcommon-%{zig_xkbcommon_ver}.tar.gz ExclusiveArch: %{zig_arches} BuildRequires: gcc BuildRequires: gnupg2 BuildRequires: scdoc BuildRequires: (zig >= 0.13 with zig < 0.14) BuildRequires: zig-rpm-macros BuildRequires: pkgconfig(libevdev) BuildRequires: pkgconfig(libinput) BuildRequires: pkgconfig(pixman-1) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(wlroots-0.18) BuildRequires: pkgconfig(xkbcommon) # 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(zig-pixman) = %{zig_pixman_ver} Provides: bundled(zig-wayland) = %{zig_wayland_ver} Provides: bundled(zig-wlroots) = %{zig_wlroots_ver} Provides: bundled(zig-xkbcommon) = %{zig_xkbcommon_ver} # Lack of graphical drivers may hurt the common use case Recommends: mesa-dri-drivers # Logind needs polkit to create a graphical session Recommends: polkit # Compatibility layer for X11 applications Recommends: xorg-x11-server-Xwayland %description river is a dynamic tiling wayland compositor that takes inspiration from dwm and bspwm. Design goals: * Simplicity and minimalism, river should not overstep the bounds of a window manager. * Window management based on a stack of views and tags. * Dynamic layouts generated by external, user-written executables. (A default rivertile layout generator is provided.) * Scriptable configuration and control through a custom wayland protocol and separate riverctl binary implementing it. %package protocols-devel Summary: Protocol files for the river wayland compositor License: ISC %description protocols-devel %{summary}. %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' %setup -q -a 4 -a 5 -a 6 -a 7 %zig_fetch zig-pixman %zig_fetch zig-wayland %zig_fetch zig-wlroots %zig_fetch zig-xkbcommon %build %zig_build \ -Dpie \ -Dxwayland %install %zig_install \ -Dpie \ -Dxwayland install -D -m755 -pv example/init %{buildroot}%{_datadir}/%{name}/init.example install -D -m644 -pv %{SOURCE3} %{buildroot}%{_datadir}/wayland-sessions/%{name}.desktop %check %zig_test %files %license LICENSE %doc README.md %{_bindir}/river %{_bindir}/riverctl %{_bindir}/rivertile %{_mandir}/man1/river.1* %{_mandir}/man1/riverctl.1* %{_mandir}/man1/rivertile.1* %dir %{_datadir}/%{name} %{_datadir}/%{name}/init.example %{_datadir}/wayland-sessions/%{name}.desktop # shell completions %{bash_completions_dir}/riverctl %{fish_completions_dir}/riverctl.fish %{zsh_completions_dir}/_riverctl %files protocols-devel %{_datadir}/pkgconfig/river-protocols.pc %dir %{_datadir}/river-protocols %{_datadir}/river-protocols/*.xml %changelog * Thu Aug 08 2024 Aleksei Bavshin - 0.3.5-0.1 - Update to 0.3.5 (#2299425) * Wed Jul 10 2024 Aleksei Bavshin - 0.3.4-1 - Update to 0.3.4 * Tue Jun 11 2024 Jan200101 - 0.3.3-1 - Update to 0.3.3 * Fri Jun 07 2024 Jan200101 - 0.3.2-1 - Update to 0.3.2 * Sat May 18 2024 Aleksei Bavshin - 0.3.1-1 - Update to 0.3.1 (#2281411) * Tue Apr 16 2024 Aleksei Bavshin - 0.3.0-1 - Update to 0.3.0 * Mon Feb 12 2024 Aleksei Bavshin - 0.2.6-1 - Update to 0.2.6 (rhbz#2159117) * Fri Jan 26 2024 Fedora Release Engineering - 0.2.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Mon Jan 22 2024 Fedora Release Engineering - 0.2.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jul 21 2023 Fedora Release Engineering - 0.2.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Fri Jan 20 2023 Fedora Release Engineering - 0.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Sun Jan 08 2023 Aleksei Bavshin - 0.2.1-1 - Update to 0.2.1 - Drop ownership of shell completion dirs. filesystem >= 3.18 provides these. * Sun Jan 01 2023 Aleksei Bavshin - 0.2.0-1 - Update to 0.2.0 * Sun Sep 25 2022 Aleksei Bavshin - 0.1.3-1 - Initial import (#2051062)