## DT Version is in meson.build %global git_date 20241123 %global git_hash 1d783794 %global git_ver 1.10 %global rel 3 %global src_name %{name}-%{git_date}-%{git_hash}.tar.xz Name: sway Version: %{git_ver}^%{git_date}g%{git_hash} Release: %{rel}%{?dist} Summary: i3-compatible window manager for Wayland Group: User Interface/X License: MIT URL: https://github.com/swaywm/sway Source0: %{url}/%{src_name} #Patch0: sway-fix-wlroots-ver.patch #Patch1: sway-meson-build-werror-false.patch BuildRequires: gcc-c++ make cmake BuildRequires: gnupg2 BuildRequires: meson >= 0.53.0 BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(json-c) >= 0.13 BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libevdev) BuildRequires: pkgconfig(libinput) >= 1.6.0 BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libsystemd) >= 239 BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(pangocairo) BuildRequires: pkgconfig(scdoc) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-egl) BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(wayland-protocols) >= 1.14 BuildRequires: pkgconfig(wlroots-0.19) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xkbcommon) # Dmenu is the default launcher in sway Recommends: dmenu # In addition, xargs is recommended for use in such a launcher arrangement Recommends: findutils # Install configs and scripts for better integration with systemd user session Recommends: sway-systemd Requires: swaybg # By default the Fedora background is used Recommends: desktop-backgrounds-compat # Lack of graphical drivers may hurt the common use case Recommends: mesa-dri-drivers # Minimal installation doesn't include Qt Wayland backend Recommends: (qt5-qtwayland if qt5-qtbase-gui) Recommends: (qt6-qtwayland if qt6-qtbase-gui) # dmenu (as well as rxvt any many others) requires XWayland on Sway Requires: xorg-x11-server-Xwayland # Sway binds the terminal shortcut to one specific terminal. In our case alacritty Recommends: alacritty # grim is the recommended way to take screenshots on sway 1.0+ Recommends: grim Requires: swaylock Requires: swayidle Requires: swaybg %description Sway is a tiling window manager supporting Wayland compositor protocol and i3-compatible configuration. #%package -n grimshot #Summary: Helper for screenshots within sway #Requires: grim #Requires: jq #Requires: slurp #Requires: /usr/bin/wl-copy #Recommends: /usr/bin/notify-send #%description -n grimshot #Grimshot is an easy to use screenshot tool for sway. It relies on grim, #slurp and jq to do the heavy lifting, and mostly provides an easy to use #interface. %prep %autosetup -n %{name} %build %meson -Dsd-bus-provider=libsystemd %meson_build %install %meson_install # install contrib/grimshot tool #scdoc %{buildroot}%{_mandir}/man1/grimshot.1 #install -D -m755 -pv contrib/grimshot %{buildroot}%{_bindir}/grimshot %files %license LICENSE %doc README.md %dir %{_sysconfdir}/sway %config(noreplace) %{_sysconfdir}/sway/config %{_mandir}/man1/sway*.1* %{_mandir}/man5/sway*.5* %{_mandir}/man7/sway*.7* %caps(cap_sys_ptrace,cap_sys_tty_config=eip) %{_bindir}/sway %{_bindir}/swaybar %{_bindir}/swaymsg %{_bindir}/swaynag %{_datadir}/wayland-sessions/sway.desktop %{_datadir}/bash-completion/completions/sway* %{_datadir}/fish/vendor_completions.d/sway* %{_datadir}/zsh/site-functions/_sway* %{_datadir}/backgrounds/sway/*.png #%files -n grimshot #%{_bindir}/grimshot #%{_mandir}/man1/grimshot.1* %changelog %autochangelog