diff --git a/anda/tools/raindrop/anda.hcl b/anda/tools/raindrop/anda.hcl new file mode 100644 index 0000000000..8371ca9704 --- /dev/null +++ b/anda/tools/raindrop/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "raindrop.spec" + } +} diff --git a/anda/tools/raindrop/desktop-file-call-pkexec.patch b/anda/tools/raindrop/desktop-file-call-pkexec.patch new file mode 100644 index 0000000000..041f51802c --- /dev/null +++ b/anda/tools/raindrop/desktop-file-call-pkexec.patch @@ -0,0 +1,13 @@ +diff --git a/data/raindrop.desktop.in b/data/raindrop.desktop.in +index 69e66f7..a042659 100644 +--- data/raindrop.desktop.in ++++ data/raindrop.desktop.in +@@ -3,7 +3,7 @@ Type=Application + Name=Screen Configuration + Comment=Configure monitor arrangement, scaling and orientation + Icon=computer +-Exec=raindrop ++Exec=sh -c 'pkexec /usr/bin/raindrop' + Terminal=false + Categories=Settings; + StartupNotify=true diff --git a/anda/tools/raindrop/org.raspberrypi.raindrop.configure-display.policy b/anda/tools/raindrop/org.raspberrypi.raindrop.configure-display.policy new file mode 100644 index 0000000000..6549a42a75 --- /dev/null +++ b/anda/tools/raindrop/org.raspberrypi.raindrop.configure-display.policy @@ -0,0 +1,19 @@ + + + + + + + auth_admin + auth_admin + auth_admin + + GTK screen configuration tool for labwc and openbox environments. + Authentication is required to configure the system's display settings. + computer + /usr/bin/raindrop + true + + diff --git a/anda/tools/raindrop/raindrop.spec b/anda/tools/raindrop/raindrop.spec new file mode 100644 index 0000000000..f86fe7dc1c --- /dev/null +++ b/anda/tools/raindrop/raindrop.spec @@ -0,0 +1,53 @@ +%global commit 66271d1eea4740131bae3aaec499a7ce06441ace +%global commit_date 20250530 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: raindrop +Version: 0~%commit_date.git~%shortcommit +Release: 1%?dist +Summary: Desktop front-end for arandr and wlrandr +License: BSD-3-Clause +URL: https://github.com/raspberrypi-ui/raindrop +Packager: Owen Zimmerman +Source0: %url/archive/%commit.tar.gz +Source1: org.raspberrypi.raindrop.configure-display.policy +Patch0: desktop-file-call-pkexec.patch + +BuildRequires: meson +BuildRequires: ninja-build +BuildRequires: gtk3-devel +BuildRequires: libxml2-devel +BuildRequires: intltool +BuildRequires: pkgconfig +BuildRequires: gcc +BuildRequires: gtk-layer-shell-devel +BuildRequires: polkit + +Requires: libxml2 libinput wlr-randr gtk3 polkit + +%description +Screen configuration tool for Raspberry Pi Desktop, +GTK screen configuration tool for labwc and openbox environments. + +%prep +%autosetup -n raindrop-%commit -p0 + +%build +%meson +%meson_build + +%install +%meson_install +install -Dm644 %{SOURCE1} %{buildroot}/%{_datadir}/polkit-1/actions/org.raspberrypi.raindrop.configure-display.policy +%find_lang %{name} + +%files -f %{name}.lang +%license debian/copyright +%{_bindir}/raindrop +%{_datadir}/polkit-1/actions/org.raspberrypi.raindrop.configure-display.policy +%{_datadir}/applications/raindrop.desktop +%{_datadir}/raindrop/ui/raindrop.ui + +%changelog +* Thu Aug 07 2025 Owen Zimmerman +- Package raindrop diff --git a/anda/tools/raindrop/update.rhai b/anda/tools/raindrop/update.rhai new file mode 100644 index 0000000000..89567aae14 --- /dev/null +++ b/anda/tools/raindrop/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("raspberrypi-ui/raindrop")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); +}