diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/video/simplescreenrecorder')
-rw-r--r-- | nixpkgs/pkgs/applications/video/simplescreenrecorder/default.nix | 23 | ||||
-rw-r--r-- | nixpkgs/pkgs/applications/video/simplescreenrecorder/fix-paths.patch | 35 |
2 files changed, 12 insertions, 46 deletions
diff --git a/nixpkgs/pkgs/applications/video/simplescreenrecorder/default.nix b/nixpkgs/pkgs/applications/video/simplescreenrecorder/default.nix index cbeb325e7ce0..8e30dc3e6358 100644 --- a/nixpkgs/pkgs/applications/video/simplescreenrecorder/default.nix +++ b/nixpkgs/pkgs/applications/video/simplescreenrecorder/default.nix @@ -1,16 +1,16 @@ { 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 { 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 ]; @@ -34,8 +33,10 @@ mkDerivation rec { libpulseaudio libv4l qtbase qttools qtx11extras ]; + passthru.updateScript = nix-update-script { }; + meta = with lib; { - description = "A screen recorder for Linux"; + description = "Screen recorder for Linux"; homepage = "https://www.maartenbaert.be/simplescreenrecorder"; license = licenses.gpl3Plus; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/applications/video/simplescreenrecorder/fix-paths.patch b/nixpkgs/pkgs/applications/video/simplescreenrecorder/fix-paths.patch deleted file mode 100644 index 9cf634285fcb..000000000000 --- a/nixpkgs/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 "; |