From 34e11fff18f67efeaec01681842bb08e7c405a34 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Sat, 25 May 2024 15:44:14 +0200 Subject: [PATCH 1/2] simplescreenrecorder: add update script Signed-off-by: Sefa Eyeoglu --- pkgs/applications/video/simplescreenrecorder/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix index cbeb325e7ce0..76414497b7be 100644 --- a/pkgs/applications/video/simplescreenrecorder/default.nix +++ b/pkgs/applications/video/simplescreenrecorder/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg_4, libjack2, libX11, libXext, libXinerama, qtx11extras -, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja +, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja, nix-update-script }: mkDerivation rec { @@ -34,6 +34,8 @@ mkDerivation rec { libpulseaudio libv4l qtbase qttools qtx11extras ]; + passthru.updateScript = nix-update-script { }; + meta = with lib; { description = "A screen recorder for Linux"; homepage = "https://www.maartenbaert.be/simplescreenrecorder"; From 65c5904b209dca7496a1dca668040dcaad2274f9 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Sat, 25 May 2024 15:50:09 +0200 Subject: [PATCH 2/2] simplescreenrecorder: 0.4.3 -> 0.4.4 Signed-off-by: Sefa Eyeoglu --- .../video/simplescreenrecorder/default.nix | 17 +++++---- .../simplescreenrecorder/fix-paths.patch | 35 ------------------- 2 files changed, 8 insertions(+), 44 deletions(-) delete mode 100644 pkgs/applications/video/simplescreenrecorder/fix-paths.patch diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix index 76414497b7be..3669666cee8a 100644 --- a/pkgs/applications/video/simplescreenrecorder/default.nix +++ b/pkgs/applications/video/simplescreenrecorder/default.nix @@ -4,13 +4,13 @@ mkDerivation rec { pname = "simplescreenrecorder"; - version = "0.4.3"; + version = "0.4.4"; src = fetchFromGitHub { owner = "MaartenBaert"; repo = "ssr"; rev = version; - sha256 = "0mrx8wprs8bi42fwwvk6rh634ic9jnn0gkfpd6q9pcawnnbz3vq8"; + sha256 = "sha256-cVjQmyk+rCqmDJzdnDk7bQ8kpyD3HtTw3wLVx2thHok="; }; cmakeFlags = [ @@ -18,14 +18,13 @@ mkDerivation rec { "-DWITH_GLINJECT=${if stdenv.hostPlatform.isx86 then "TRUE" else "FALSE"}" ]; - patches = [ ./fix-paths.patch ]; - postPatch = '' - for i in scripts/ssr-glinject src/AV/Input/GLInjectInput.cpp; do - substituteInPlace $i \ - --subst-var out \ - --subst-var-by sh ${stdenv.shell} - done + substituteInPlace scripts/ssr-glinject \ + --replace-fail "libssr-glinject.so" "$out/lib/libssr-glinject.so" + + substituteInPlace src/AV/Input/GLInjectInput.cpp \ + --replace-fail "/bin/sh" "${stdenv.shell}" \ + --replace-fail "libssr-glinject.so" "$out/lib/libssr-glinject.so" ''; nativeBuildInputs = [ pkg-config cmake ninja ]; diff --git a/pkgs/applications/video/simplescreenrecorder/fix-paths.patch b/pkgs/applications/video/simplescreenrecorder/fix-paths.patch deleted file mode 100644 index 9cf634285fcb..000000000000 --- a/pkgs/applications/video/simplescreenrecorder/fix-paths.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/scripts/ssr-glinject b/scripts/ssr-glinject -index 48be48d..5038d4c 100755 ---- a/scripts/ssr-glinject -+++ b/scripts/ssr-glinject -@@ -59,6 +59,6 @@ do - fi - done - --echo "ssr-glinject: LD_PRELOAD = $LD_PRELOAD:libssr-glinject.so" -+echo "ssr-glinject: LD_PRELOAD = $LD_PRELOAD:@out@/lib/libssr-glinject.so" - echo "ssr-glinject: command = $@" --LD_PRELOAD="$LD_PRELOAD:libssr-glinject.so" "$@" -+LD_PRELOAD="$LD_PRELOAD:@out@/lib/libssr-glinject.so" "$@" -diff --git a/src/AV/Input/GLInjectInput.cpp b/src/AV/Input/GLInjectInput.cpp -index fc98f31..18f5196 100644 ---- a/src/AV/Input/GLInjectInput.cpp -+++ b/src/AV/Input/GLInjectInput.cpp -@@ -113,7 +113,7 @@ bool ExecuteDetached(const char* command, const char* working_directory) { - - // try to execute command - do { -- res = execl("/bin/sh", "/bin/sh", "-c", command, (char*) NULL); -+ res = execl("@sh@", "@sh@", "-c", command, (char*) NULL); - } while(res == -1 and errno == EINTR); - - // failed, send feedback -@@ -207,7 +207,7 @@ void GLInjectInput::SetCapturing(bool capturing) { - bool GLInjectInput::LaunchApplication(const QString& channel, bool relax_permissions, const QString& command, const QString& working_directory) { - - // prepare command -- QString full_command = "LD_PRELOAD=\"libssr-glinject.so\" "; -+ QString full_command = "LD_PRELOAD=\"@out@/lib/libssr-glinject.so\" "; - full_command += "SSR_CHANNEL=\"" + ShellEscape(channel) + "\" "; - if(relax_permissions) - full_command += "SSR_STREAM_RELAX_PERMISSIONS=1 ";