about summary refs log tree commit diff
path: root/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix')
-rw-r--r--pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix45
1 files changed, 30 insertions, 15 deletions
diff --git a/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix b/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix
index 0fa023a9fc940..b0c19e80a0be0 100644
--- a/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix
+++ b/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix
@@ -1,47 +1,62 @@
 { stdenv
 , lib
-, fetchgit
+, fetchurl
 , pkg-config
+, desktop-file-utils
 , makeWrapper
+, meson
+, ninja
 , gtk3
+, libayatana-appindicator
 , libpulseaudio
 , libdrm
 , gpu-screen-recorder
 , libglvnd
+, libX11
+, libXrandr
+, wayland
 , wrapGAppsHook3
+, wrapperDir ? "/run/wrappers/bin"
 }:
 
 stdenv.mkDerivation {
   pname = "gpu-screen-recorder-gtk";
-  version = "3.7.6";
+  version = "unstable-2024-07-05";
 
-  src = fetchgit {
-    url = "https://repo.dec05eba.com/gpu-screen-recorder-gtk";
-    rev = "cd777c1506e20514df4b97345e480051cbaf9693";
-    hash = "sha256-ZBYYsW75tq8TaZp0F4v7YIHKHk/DFBIGy3X781ho2oE=";
+  # Snapshot tarballs use the following versioning format:
+  # printf "r%s.%s\n" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+  src = fetchurl {
+    url = "https://dec05eba.com/snapshot/gpu-screen-recorder-gtk.git.r311.c611c51.tar.gz";
+    hash = "sha256-86EdmeZ2dlffSfJOrTVGPtYyL3j6DmCQIALX2rpeS1Y=";
   };
+  sourceRoot = ".";
 
   nativeBuildInputs = [
+    desktop-file-utils
     pkg-config
     makeWrapper
+    meson
+    ninja
     wrapGAppsHook3
   ];
 
   buildInputs = [
     gtk3
+    libayatana-appindicator
     libpulseaudio
     libdrm
+    libX11
+    libXrandr
+    wayland
   ];
 
-  buildPhase = ''
-    ./build.sh
-  '';
-
-  installPhase = ''
-    install -Dt $out/bin/ gpu-screen-recorder-gtk
-    install -Dt $out/share/applications/ gpu-screen-recorder-gtk.desktop
-
-    gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ gpu-screen-recorder ]})
+  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 ]})
     # we also append /run/opengl-driver/lib as it otherwise fails to find libcuda.
     gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libglvnd ]}:/run/opengl-driver/lib)
   '';