2025-08-12 21:57:30 +00:00

86 lines
1.7 KiB
Nix

{
stdenv,
lib,
fetchgit,
pkg-config,
addDriverRunpath,
desktop-file-utils,
makeWrapper,
meson,
ninja,
gtk3,
libayatana-appindicator,
libpulseaudio,
libdrm,
gpu-screen-recorder,
libglvnd,
libX11,
libXrandr,
wayland,
wrapGAppsHook3,
wrapperDir ? "/run/wrappers/bin",
gitUpdater,
}:
stdenv.mkDerivation rec {
pname = "gpu-screen-recorder-gtk";
version = "5.7.8";
src = fetchgit {
url = "https://repo.dec05eba.com/${pname}";
tag = version;
hash = "sha256-Vzi7IfiMsBFJZaZwC1CWZkVFCfDAfU0lmO7orRLjqgU=";
};
nativeBuildInputs = [
desktop-file-utils
pkg-config
makeWrapper
meson
ninja
wrapGAppsHook3
];
buildInputs = [
gtk3
libayatana-appindicator
libpulseaudio
libdrm
libX11
libXrandr
wayland
];
preFixup =
let
gpu-screen-recorder-wrapped = gpu-screen-recorder.override {
inherit wrapperDir;
};
in
''
gappsWrapperArgs+=(--prefix PATH : ${wrapperDir})
gappsWrapperArgs+=(--suffix PATH : ${lib.makeBinPath [ gpu-screen-recorder-wrapped ]})
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
libglvnd
addDriverRunpath.driverLink
]
})
'';
passthru.updateScript = gitUpdater { };
meta = {
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";
homepage = "https://git.dec05eba.com/gpu-screen-recorder-gtk/about/";
license = lib.licenses.gpl3Only;
mainProgram = "gpu-screen-recorder-gtk";
maintainers = with lib.maintainers; [
babbaj
js6pak
];
platforms = [ "x86_64-linux" ];
};
}