From 7c3643138a7ce2f59fb93669ed80d95ee44ab0bf Mon Sep 17 00:00:00 2001 From: Raboneko <119771935+raboneko@users.noreply.github.com> Date: Sun, 13 Oct 2024 23:47:05 -0700 Subject: [PATCH] add: swayfx (#2235) (#2238) * Add scenefx package * Update anda/lib/scenefx/scenefx.spec Co-authored-by: madomado Signed-off-by: Atmois <130537361+Atmois@users.noreply.github.com> * Update anda/lib/scenefx/scenefx.spec Co-authored-by: madomado Signed-off-by: Atmois <130537361+Atmois@users.noreply.github.com> * Update scenefx.spec Signed-off-by: Atmois <130537361+Atmois@users.noreply.github.com> * Refactor version * Add rhai file * Add quote marker * Add swayfx package --------- Signed-off-by: Atmois <130537361+Atmois@users.noreply.github.com> Co-authored-by: madomado (cherry picked from commit 3670f0ace5003320ea49bfa4a580158b1711f14b) Co-authored-by: Atmois <130537361+Atmois@users.noreply.github.com> --- anda/desktops/swayfx/anda.hcl | 5 + anda/desktops/swayfx/swayfx.spec | 151 +++++++++++++++++++++++++++++++ anda/desktops/swayfx/update.rhai | 1 + 3 files changed, 157 insertions(+) create mode 100644 anda/desktops/swayfx/anda.hcl create mode 100644 anda/desktops/swayfx/swayfx.spec create mode 100644 anda/desktops/swayfx/update.rhai diff --git a/anda/desktops/swayfx/anda.hcl b/anda/desktops/swayfx/anda.hcl new file mode 100644 index 0000000000..1085ebdaaa --- /dev/null +++ b/anda/desktops/swayfx/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "swayfx.spec" + } +} diff --git a/anda/desktops/swayfx/swayfx.spec b/anda/desktops/swayfx/swayfx.spec new file mode 100644 index 0000000000..72740b9fec --- /dev/null +++ b/anda/desktops/swayfx/swayfx.spec @@ -0,0 +1,151 @@ +%global swayVersion 1.9 + +Name: swayfx +Version: 0.4 +Release: 1%{?dist} + +Summary: SwayFX: Sway, but with eye candy! +URL: https://github.com/WillPower3309/swayfx +License: MIT + +Source0: %{url}/archive/refs/tags/%{version}.tar.gz +Source101: https://github.com/wlrfx/packages/raw/fe1355c4844078f49761e9d73a376179d3007646/COPR/swayfx/sway-portals.conf + + +BuildRequires: gcc-c++ +BuildRequires: gnupg2 +BuildRequires: meson >= 0.60.0 +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(gdk-pixbuf-2.0) +BuildRequires: pkgconfig(glesv2) +BuildRequires: pkgconfig(json-c) >= 0.13 +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libevdev) +BuildRequires: pkgconfig(libinput) >= 1.21.0 +BuildRequires: pkgconfig(libpcre2-8) +BuildRequires: pkgconfig(libsystemd) >= 239 +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(pango) +BuildRequires: pkgconfig(pangocairo) +BuildRequires: pkgconfig(pixman-1) +BuildRequires: pkgconfig(scdoc) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-cursor) +BuildRequires: pkgconfig(wayland-server) >= 1.21.0 +BuildRequires: pkgconfig(wayland-protocols) >= 1.24 +BuildRequires: (pkgconfig(wlroots) >= 0.17.0 with pkgconfig(wlroots) < 0.18) +BuildRequires: (pkgconfig(scenefx) >= 0.1 with pkgconfig(scenefx) < 0.2) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcb-icccm) +BuildRequires: pkgconfig(xkbcommon) >= 1.5.0 + +Requires: sway-config +Suggests: %{name}-config-upstream + +Conflicts: sway +Provides: sway = %{swayVersion} + + +Packager: Atmois + +%description +%{summary} + + +# Configuration presets: +%package config-upstream +Summary: Upstream configuration for Sway +BuildArch: noarch +Requires: %{name} = %{version}-%{release} +Provides: sway-config = %{version}-%{release} +Conflicts: sway-config + + +%package wallpapers +Summary: Wallpapers for Sway +BuildArch: noarch +License: CC0 + +%description wallpapers +Wallpaper collection provided with Sway + + +# Require the wallpaper referenced in the config. +# Weak dependency here causes a swaynag warning during the configuration load +Requires: sway-wallpapers +# Lack of graphical drivers may hurt the common use case +Requires: mesa-dri-drivers +# Logind needs polkit to create a graphical session +Requires: polkit +# swaybg is used in the default config +Requires: swaybg +# 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 foot +Recommends: foot +# grim is the recommended way to take screenshots on sway 1.0+ +Recommends: grim +# wmenu is the default launcher in sway, but it still requires dmenu_path to work +Recommends: dmenu +Recommends: wmenu +# 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 +# Both utilities are suggested in the default configuration +Recommends: swayidle +Recommends: swaylock + +# Minimal installation doesn't include Qt Wayland backend +Recommends: (qt5-qtwayland if qt5-qtbase-gui) +Recommends: (qt6-qtwayland if qt6-qtbase-gui) + + +%description config-upstream +Upstream configuration for Sway. +Includes all important dependencies for a typical desktop system with minimal or no divergence from the upstream. + + +%prep +%autosetup -N -n %{name}-%{version} + +%build +%meson \ + -Dsd-bus-provider=libsystemd \ + -Dwerror=false \ +%meson_build + +%install +%meson_install +# Install portals.conf for xdg-desktop-portal +install -D -m644 -pv %{SOURCE101} %{buildroot}%{_datadir}/xdg-desktop-portal/sway-portals.conf +# Create directory for extra config snippets +install -d -m755 -pv %{buildroot}%{_sysconfdir}/sway/config.d + +%files +%license LICENSE +%dir %{_sysconfdir}/sway +%dir %{_sysconfdir}/sway/config.d +%{_mandir}/man1/sway* +%{_mandir}/man5/* +%{_mandir}/man7/* +%caps(cap_sys_nice=ep) %{_bindir}/sway +%{_bindir}/swaybar +%{_bindir}/swaymsg +%{_bindir}/swaynag +%dir %{_datadir}/xdg-desktop-portal +%{_datadir}/xdg-desktop-portal/sway-portals.conf +%{bash_completions_dir}/sway* +%{fish_completions_dir}/sway*.fish +%{zsh_completions_dir}/_sway* + + +%files config-upstream +%config(noreplace) %{_sysconfdir}/sway/config +%{_datadir}/wayland-sessions/sway.desktop + + +%files wallpapers +%license assets/LICENSE +%{_datadir}/backgrounds/sway \ No newline at end of file diff --git a/anda/desktops/swayfx/update.rhai b/anda/desktops/swayfx/update.rhai new file mode 100644 index 0000000000..86957d3c78 --- /dev/null +++ b/anda/desktops/swayfx/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("willPower3309/swayfx")); \ No newline at end of file