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