# zig neither sets build-id nor allows to override the linker flags # ziglang/zig#3047 %undefine _missing_build_ids_terminate_build # FIXME: zig-rpm-macros is not in koji srpm buildroot, and zig_arches has to be # defined at this stage for valid ExclusiveArch %if 0%{!?zig_arches:1} %global zig_arches x86_64 aarch64 riscv64 %{mips64} %endif Name: river Version: 0.1.3 Release: 1%{?dist} Summary: Dynamic tiling Wayland compositor # river: GPL-3.0-only # 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://github.com/riverwm/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 ExclusiveArch: %{zig_arches} BuildRequires: gcc BuildRequires: gnupg2 BuildRequires: scdoc BuildRequires: zig >= 0.9 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.15.0 with pkgconfig(wlroots) < 0.16) BuildRequires: pkgconfig(xkbcommon) # As of now, zig does not provide a package manager or any other official way # to consume a library code other than referencing it directly by file path. # There are some community-maintained tools, but this project does not use # any of those. # # In theory we can unbundle the libs by patching paths in build.zig, but given # that there's no standard location for system packages and the fact that all # of the libs below are git snapshots from the same upstream, it's not worth # the effort. Provides: bundled(zig-pixman) Provides: bundled(zig-wayland) Provides: bundled(zig-wlroots) Provides: bundled(zig-xkbcommon) # 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}' %autosetup %build %zig_build \ -Dxwayland %install %zig_install \ -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 %{_datadir}/bash-completion/completions/riverctl %dir %{_datadir}/fish %dir %{_datadir}/fish/vendor_completions.d %{_datadir}/fish/vendor_completions.d/riverctl.fish %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/_riverctl %files protocols-devel %{_datadir}/pkgconfig/river-protocols.pc %dir %{_datadir}/river-protocols %{_datadir}/river-protocols/*.xml %changelog * Sun Sep 25 2022 Aleksei Bavshin - 0.1.3-1 - Initial import (#2051062)