gpu-screen-recorder{,-gtk}: add passthru.updateScript, update (#367552)

This commit is contained in:
Peder Bergebakken Sundt 2025-06-06 02:23:48 +02:00 committed by GitHub
commit 9477c8f08f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 38 additions and 26 deletions

View file

@ -34,6 +34,12 @@ in
capabilities = "cap_sys_admin+ep"; capabilities = "cap_sys_admin+ep";
source = "${package}/bin/gsr-kms-server"; source = "${package}/bin/gsr-kms-server";
}; };
security.wrappers."gpu-screen-recorder" = {
owner = "root";
group = "root";
capabilities = "cap_sys_nice+ep";
source = "${package}/bin/gpu-screen-recorder";
};
}; };
meta.maintainers = with lib.maintainers; [ timschumi ]; meta.maintainers = with lib.maintainers; [ timschumi ];

View file

@ -1,7 +1,7 @@
{ {
stdenv, stdenv,
lib, lib,
fetchurl, fetchgit,
pkg-config, pkg-config,
addDriverRunpath, addDriverRunpath,
desktop-file-utils, desktop-file-utils,
@ -19,19 +19,19 @@
wayland, wayland,
wrapGAppsHook3, wrapGAppsHook3,
wrapperDir ? "/run/wrappers/bin", wrapperDir ? "/run/wrappers/bin",
gitUpdater,
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation rec {
pname = "gpu-screen-recorder-gtk"; pname = "gpu-screen-recorder-gtk";
version = "5.1.6"; version = "5.7.0";
src = fetchurl { src = fetchgit {
url = "https://dec05eba.com/snapshot/gpu-screen-recorder-gtk.git.${finalAttrs.version}.tar.gz"; url = "https://repo.dec05eba.com/${pname}";
hash = "sha256-op5cDILQglVAW/oajc0rdrMC02JZZ8bdER1B1qWPkSk="; tag = version;
hash = "sha256-/s8FCV3hE7Gq1Ad6EhRNTZJwyskV+uRYvjJ43298AOw=";
}; };
sourceRoot = ".";
nativeBuildInputs = [ nativeBuildInputs = [
desktop-file-utils desktop-file-utils
pkg-config pkg-config
@ -68,13 +68,18 @@ stdenv.mkDerivation (finalAttrs: {
}) })
''; '';
passthru.updateScript = gitUpdater { };
meta = { meta = {
changelog = "https://git.dec05eba.com/gpu-screen-recorder-gtk/tree/com.dec05eba.gpu_screen_recorder.appdata.xml#n82"; changelog = "https://git.dec05eba.com/gpu-screen-recorder-gtk/tree/com.dec05eba.gpu_screen_recorder.appdata.xml#n82";
description = "GTK frontend for gpu-screen-recorder."; description = "GTK frontend for gpu-screen-recorder.";
homepage = "https://git.dec05eba.com/gpu-screen-recorder-gtk/about/"; homepage = "https://git.dec05eba.com/gpu-screen-recorder-gtk/about/";
license = lib.licenses.gpl3Only; license = lib.licenses.gpl3Only;
mainProgram = "gpu-screen-recorder-gtk"; mainProgram = "gpu-screen-recorder-gtk";
maintainers = with lib.maintainers; [ babbaj ]; maintainers = with lib.maintainers; [
babbaj
js6pak
];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
}; };
}) }

View file

@ -1,7 +1,7 @@
{ {
stdenv, stdenv,
lib, lib,
fetchurl, fetchgit,
makeWrapper, makeWrapper,
meson, meson,
ninja, ninja,
@ -12,6 +12,7 @@
dbus, dbus,
ffmpeg, ffmpeg,
wayland, wayland,
wayland-scanner,
vulkan-headers, vulkan-headers,
pipewire, pipewire,
libdrm, libdrm,
@ -22,19 +23,19 @@
libXrandr, libXrandr,
libXfixes, libXfixes,
wrapperDir ? "/run/wrappers/bin", wrapperDir ? "/run/wrappers/bin",
gitUpdater,
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation rec {
pname = "gpu-screen-recorder"; pname = "gpu-screen-recorder";
version = "5.2.0"; version = "5.5.3";
src = fetchurl { src = fetchgit {
url = "https://dec05eba.com/snapshot/gpu-screen-recorder.git.${finalAttrs.version}.tar.gz"; url = "https://repo.dec05eba.com/${pname}";
hash = "sha256-7aUW0WhoTpkJhj9WjjI2lnq+vOCG53vl/4DckHmLPBo="; tag = version;
hash = "sha256-XXSHTS/WWqGblbBLuzHSYCY5FVTDSHBHfBWubmoNSy0=";
}; };
sourceRoot = ".";
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config
makeWrapper makeWrapper
@ -49,6 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
ffmpeg ffmpeg
pipewire pipewire
wayland wayland
wayland-scanner
vulkan-headers vulkan-headers
libdrm libdrm
libva libva
@ -82,12 +84,17 @@ stdenv.mkDerivation (finalAttrs: {
--suffix PATH : "$out/bin" --suffix PATH : "$out/bin"
''; '';
passthru.updateScript = gitUpdater { };
meta = { meta = {
description = "Screen recorder that has minimal impact on system performance by recording a window using the GPU only"; description = "Screen recorder that has minimal impact on system performance by recording a window using the GPU only";
homepage = "https://git.dec05eba.com/gpu-screen-recorder/about/"; homepage = "https://git.dec05eba.com/gpu-screen-recorder/about/";
license = lib.licenses.gpl3Only; license = lib.licenses.gpl3Only;
mainProgram = "gpu-screen-recorder"; mainProgram = "gpu-screen-recorder";
maintainers = [ lib.maintainers.babbaj ]; maintainers = with lib.maintainers; [
babbaj
js6pak
];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
}; };
}) }

View file

@ -12651,12 +12651,6 @@ with pkgs;
withDoc = true; withDoc = true;
}; };
gpu-screen-recorder = callPackage ../applications/video/gpu-screen-recorder { };
gpu-screen-recorder-gtk =
callPackage ../applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix
{ };
gpxsee-qt5 = libsForQt5.callPackage ../applications/misc/gpxsee { }; gpxsee-qt5 = libsForQt5.callPackage ../applications/misc/gpxsee { };
gpxsee-qt6 = qt6Packages.callPackage ../applications/misc/gpxsee { }; gpxsee-qt6 = qt6Packages.callPackage ../applications/misc/gpxsee { };