## DT Version is in meson.build
%global git_date  20250311
%global git_hash  61cc08cf

# From latest tag, not gitinfo or meson.build
%global git_ver  1.10

%global rel  1
%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 <contrib/grimshot.1.scd >%{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