tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
simplescreenrecorder: 0.3.11 -> 0.4.3
Robert Schütz
4 years ago
ddbd4d47
632292a4
+22
-20
2 changed files
expand all
collapse all
unified
split
pkgs
applications
video
simplescreenrecorder
default.nix
fix-paths.patch
+11
-9
pkgs/applications/video/simplescreenrecorder/default.nix
···
1
1
-
{ lib, stdenv, mkDerivation, fetchurl, alsaLib, ffmpeg_3, libjack2, libX11, libXext, qtx11extras
2
2
-
, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, qtbase, cmake, ninja
1
1
+
{ lib, stdenv, mkDerivation, fetchFromGitHub, alsaLib, ffmpeg, libjack2, libX11, libXext, libXinerama, qtx11extras
2
2
+
, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja
3
3
}:
4
4
5
5
mkDerivation rec {
6
6
pname = "simplescreenrecorder";
7
7
-
version = "0.3.11";
7
7
+
version = "0.4.3";
8
8
9
9
-
src = fetchurl {
10
10
-
url = "https://github.com/MaartenBaert/ssr/archive/${version}.tar.gz";
11
11
-
sha256 = "0l6irdadqpajvv0dj3ngs1231n559l0y1pykhs2h7526qm4w7xal";
9
9
+
src = fetchFromGitHub {
10
10
+
owner = "MaartenBaert";
11
11
+
repo = "ssr";
12
12
+
rev = version;
13
13
+
sha256 = "0mrx8wprs8bi42fwwvk6rh634ic9jnn0gkfpd6q9pcawnnbz3vq8";
12
14
};
13
15
14
16
cmakeFlags = [ "-DWITH_QT5=TRUE" ];
···
25
27
26
28
nativeBuildInputs = [ pkg-config cmake ninja ];
27
29
buildInputs = [
28
28
-
alsaLib ffmpeg_3 libjack2 libX11 libXext libXfixes libGLU libGL
29
29
-
libpulseaudio qtbase qtx11extras
30
30
+
alsaLib ffmpeg libjack2 libX11 libXext libXfixes libXinerama libGLU libGL
31
31
+
libpulseaudio libv4l qtbase qttools qtx11extras
30
32
];
31
33
32
34
meta = with lib; {
33
35
description = "A screen recorder for Linux";
34
36
homepage = "https://www.maartenbaert.be/simplescreenrecorder";
35
35
-
license = licenses.gpl3;
37
37
+
license = licenses.gpl3Plus;
36
38
platforms = [ "x86_64-linux" ];
37
39
maintainers = [ maintainers.goibhniu ];
38
40
};
+11
-11
pkgs/applications/video/simplescreenrecorder/fix-paths.patch
···
12
12
-LD_PRELOAD="$LD_PRELOAD:libssr-glinject.so" "$@"
13
13
+LD_PRELOAD="$LD_PRELOAD:@out@/lib/libssr-glinject.so" "$@"
14
14
diff --git a/src/AV/Input/GLInjectInput.cpp b/src/AV/Input/GLInjectInput.cpp
15
15
-
index 6b378f8..cbcf82b 100644
15
15
+
index fc98f31..18f5196 100644
16
16
--- a/src/AV/Input/GLInjectInput.cpp
17
17
+++ b/src/AV/Input/GLInjectInput.cpp
18
18
-
@@ -96,7 +96,7 @@ void GLInjectInput::SetCapturing(bool capturing) {
18
18
+
@@ -113,7 +113,7 @@ bool ExecuteDetached(const char* command, const char* working_directory) {
19
19
+
20
20
+
// try to execute command
21
21
+
do {
22
22
+
- res = execl("/bin/sh", "/bin/sh", "-c", command, (char*) NULL);
23
23
+
+ res = execl("@sh@", "@sh@", "-c", command, (char*) NULL);
24
24
+
} while(res == -1 and errno == EINTR);
25
25
+
26
26
+
// failed, send feedback
27
27
+
@@ -207,7 +207,7 @@ void GLInjectInput::SetCapturing(bool capturing) {
19
28
bool GLInjectInput::LaunchApplication(const QString& channel, bool relax_permissions, const QString& command, const QString& working_directory) {
20
29
21
30
// prepare command
···
24
33
full_command += "SSR_CHANNEL=\"" + ShellEscape(channel) + "\" ";
25
34
if(relax_permissions)
26
35
full_command += "SSR_STREAM_RELAX_PERMISSIONS=1 ";
27
27
-
@@ -106,7 +106,7 @@ bool GLInjectInput::LaunchApplication(const QString& channel, bool relax_permiss
28
28
-
QStringList args;
29
29
-
args.push_back("-c");
30
30
-
args.push_back(full_command);
31
31
-
- return QProcess::startDetached("/bin/sh", args, working_directory);
32
32
-
+ return QProcess::startDetached("@sh@", args, working_directory);
33
33
-
34
34
-
}
35
35
-