about summary refs log tree commit diff
path: root/pkgs/applications/video/simplescreenrecorder
diff options
context:
space:
mode:
authorRobert Schütz <dev@schuetz-co.de>2021-04-25 20:42:56 +0200
committerRobert Schütz <dev@schuetz-co.de>2021-04-25 20:42:56 +0200
commitddbd4d4749b0fd4d236d2d495e154615d508edd3 (patch)
treecdb05448d3967cd9747d31f2ed706f25d3ee4197 /pkgs/applications/video/simplescreenrecorder
parent632292a4dba333fecd7ed2b3d5664ae3ade2a779 (diff)
simplescreenrecorder: 0.3.11 -> 0.4.3
Diffstat (limited to 'pkgs/applications/video/simplescreenrecorder')
-rw-r--r--pkgs/applications/video/simplescreenrecorder/default.nix20
-rw-r--r--pkgs/applications/video/simplescreenrecorder/fix-paths.patch22
2 files changed, 22 insertions, 20 deletions
diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix
index 939ae7c444005..14575a88dc17a 100644
--- a/pkgs/applications/video/simplescreenrecorder/default.nix
+++ b/pkgs/applications/video/simplescreenrecorder/default.nix
@@ -1,14 +1,16 @@
-{ lib, stdenv, mkDerivation, fetchurl, alsaLib, ffmpeg_3, libjack2, libX11, libXext, qtx11extras
-, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, qtbase, cmake, ninja
+{ lib, stdenv, mkDerivation, fetchFromGitHub, alsaLib, ffmpeg, libjack2, libX11, libXext, libXinerama, qtx11extras
+, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja
 }:
 
 mkDerivation rec {
   pname = "simplescreenrecorder";
-  version = "0.3.11";
+  version = "0.4.3";
 
-  src = fetchurl {
-    url = "https://github.com/MaartenBaert/ssr/archive/${version}.tar.gz";
-    sha256 = "0l6irdadqpajvv0dj3ngs1231n559l0y1pykhs2h7526qm4w7xal";
+  src = fetchFromGitHub {
+    owner = "MaartenBaert";
+    repo = "ssr";
+    rev = version;
+    sha256 = "0mrx8wprs8bi42fwwvk6rh634ic9jnn0gkfpd6q9pcawnnbz3vq8";
   };
 
   cmakeFlags = [ "-DWITH_QT5=TRUE" ];
@@ -25,14 +27,14 @@ mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config cmake ninja ];
   buildInputs = [
-    alsaLib ffmpeg_3 libjack2 libX11 libXext libXfixes libGLU libGL
-    libpulseaudio qtbase qtx11extras
+    alsaLib ffmpeg libjack2 libX11 libXext libXfixes libXinerama libGLU libGL
+    libpulseaudio libv4l qtbase qttools qtx11extras
   ];
 
   meta = with lib; {
     description = "A screen recorder for Linux";
     homepage = "https://www.maartenbaert.be/simplescreenrecorder";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = [ "x86_64-linux" ];
     maintainers = [ maintainers.goibhniu ];
   };
diff --git a/pkgs/applications/video/simplescreenrecorder/fix-paths.patch b/pkgs/applications/video/simplescreenrecorder/fix-paths.patch
index ba02240ce1f21..9cf634285fcbf 100644
--- a/pkgs/applications/video/simplescreenrecorder/fix-paths.patch
+++ b/pkgs/applications/video/simplescreenrecorder/fix-paths.patch
@@ -12,10 +12,19 @@ index 48be48d..5038d4c 100755
 -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 6b378f8..cbcf82b 100644
+index fc98f31..18f5196 100644
 --- a/src/AV/Input/GLInjectInput.cpp
 +++ b/src/AV/Input/GLInjectInput.cpp
-@@ -96,7 +96,7 @@ void GLInjectInput::SetCapturing(bool capturing) {
+@@ -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
@@ -24,12 +33,3 @@ index 6b378f8..cbcf82b 100644
  	full_command += "SSR_CHANNEL=\"" + ShellEscape(channel) + "\" ";
  	if(relax_permissions)
  		full_command += "SSR_STREAM_RELAX_PERMISSIONS=1 ";
-@@ -106,7 +106,7 @@ bool GLInjectInput::LaunchApplication(const QString& channel, bool relax_permiss
- 	QStringList args;
- 	args.push_back("-c");
- 	args.push_back(full_command);
--	return QProcess::startDetached("/bin/sh", args, working_directory);
-+	return QProcess::startDetached("@sh@", args, working_directory);
- 
- }
-