diff --git a/srcpkgs/gpu-screen-recorder-notification/template b/srcpkgs/gpu-screen-recorder-notification/template new file mode 100644 index 00000000000000..f16c1c578b52c0 --- /dev/null +++ b/srcpkgs/gpu-screen-recorder-notification/template @@ -0,0 +1,13 @@ +# Template file for 'gpu-screen-recorder-notification' +pkgname=gpu-screen-recorder-notification +version=1.1.1 +revision=1 +build_style=meson +hostmakedepends="pkg-config meson wayland-devel" +makedepends="libX11-devel libXrandr-devel libXrender-devel libXext-devel libglvnd-devel wayland-devel" +short_desc="Notification daemon for gpu-screen-recorder-ui" +maintainer="cherrybtw " +license="GPL-3.0-only, OFL-1.1" +homepage="https://git.dec05eba.com/gpu-screen-recorder-notification/about" +distfiles="https://dec05eba.com/snapshot/gpu-screen-recorder-notification.git.${version}.tar.gz" +checksum=19a7d5681f87a49d636b2471c4d2d93b4539b053bc37a9c31598b5a44418a346 diff --git a/srcpkgs/gpu-screen-recorder-notification/update b/srcpkgs/gpu-screen-recorder-notification/update new file mode 100644 index 00000000000000..35210555d496d4 --- /dev/null +++ b/srcpkgs/gpu-screen-recorder-notification/update @@ -0,0 +1,2 @@ +site="https://git.dec05eba.com/gpu-screen-recorder-notification/refs/" +pattern="tag/\?h=\K[\d.]+" diff --git a/srcpkgs/gpu-screen-recorder-ui/files/README.voidlinux b/srcpkgs/gpu-screen-recorder-ui/files/README.voidlinux new file mode 100644 index 00000000000000..0c0f0ca1910452 --- /dev/null +++ b/srcpkgs/gpu-screen-recorder-ui/files/README.voidlinux @@ -0,0 +1,43 @@ +GPU Screen Recorder UI (MGL++) - Void Linux Notes +==================================== +1: High-performance (KMS) recording: + KMS recording may require additional privileges. + See /usr/share/doc/gpu-screen-recorder/README.voidlinux for details. + +2. Global Hotkeys and Virtual Input: + To use global hotkeys and virtual keyboard features, your user must + have permission to access input devices and uinput. + + Step A: Add your user to the 'input' group: + # usermod -aG input + + Step B: + (Recommended) Create a udev rule for uinput: + Create a file /etc/udev/rules.d/99-uinput.rules with: + KERNEL=="uinput", GROUP="input", MODE="0660", OPTIONS+="static_node=uinput" + + After these steps, REBOOT or reload rules and re-login: + # udevadm control --reload-rules && udevadm trigger + NOTE: Adding a user to the 'input' group allows any application running under that user + to read all keystrokes. This is a trade-off for global hotkey support. + + or + + Set SUID bit to gsr-global-hotkeys library: + # chmod 4755 /usr/bin/gsr-global-hotkeys + WARNING: This allows the binary to run with full root privileges. + This approach significantly increases the attack surface and + should only be used if you fully understand the risks. + +No privilege escalation is performed automatically by the package. +It is up to the system administrator to choose the appropriate +configuration. + +3. Wayland Support: + - For Hyprland: Ensure 'gsr-hyprland-helper' is in your PATH. + - For KDE Plasma: Ensure 'gsr-kwin-helper' is in your PATH. + +4. Autostart: + - The "Autostart" button in the UI is hardcoded for systemd and will not work. + To enable daemon on startup, manually add "gsr-ui launch-daemon" + to your desktop environment's autostart. diff --git a/srcpkgs/gpu-screen-recorder-ui/template b/srcpkgs/gpu-screen-recorder-ui/template new file mode 100644 index 00000000000000..724162a43c406f --- /dev/null +++ b/srcpkgs/gpu-screen-recorder-ui/template @@ -0,0 +1,37 @@ +# Template file for 'gpu-screen-recorder-ui' +pkgname=gpu-screen-recorder-ui +version=1.10.7 +revision=1 +build_style=meson +hostmakedepends="pkg-config meson desktop-file-utils wayland-devel" +makedepends="libX11-devel libXrandr-devel libXrender-devel libXcomposite-devel + libXfixes-devel libXext-devel libXi-devel libXcursor-devel libglvnd-devel + pulseaudio-devel libdrm-devel dbus-devel libcap-devel wayland-devel" +depends="gpu-screen-recorder gpu-screen-recorder-notification" +short_desc="ShadowPlay-like UI for gpu-screen-recorder" +maintainer="cherrybtw " +license="GPL-3.0-only, OFL-1.1, CC-BY-SA-3.0, CC0-1.0, CC-BY-4.0" +homepage="https://git.dec05eba.com/gpu-screen-recorder-ui/about" +distfiles="https://dec05eba.com/snapshot/gpu-screen-recorder-ui.git.${version}.tar.gz" +checksum=8644045c0e5786552aaa747dde8c0441dc01d16783971fb2c22aa47f08a9470e + +post_patch() { + vsed -i "s/meson.add_install_script/# meson.add_install_script/" meson.build + + vsed -i \ + -e 's/struct stat64 /struct stat /g' \ + -e 's/fstat64(/fstat(/g' \ + src/ClipboardFile.cpp + + vsed -i '1i#include ' \ + src/GlobalHotkeys/GlobalHotkeysLinux.cpp \ + src/main.cpp \ + src/Overlay.cpp + + vsed -i '1i#include ' \ + src/gui/FileChooser.cpp +} + +post_install() { + vdoc ${FILESDIR}/README.voidlinux +} diff --git a/srcpkgs/gpu-screen-recorder-ui/update b/srcpkgs/gpu-screen-recorder-ui/update new file mode 100644 index 00000000000000..ad45c403fbeb50 --- /dev/null +++ b/srcpkgs/gpu-screen-recorder-ui/update @@ -0,0 +1,2 @@ +site="https://git.dec05eba.com/gpu-screen-recorder-ui/refs/" +pattern="tag/\?h=\K[\d.]+"