mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-02 18:23:44 +00:00
Merge pull request #314598 from Scrumplex/pkgs/simplescreenrecorder/0.4.4
simplescreenrecorder: 0.4.3 -> 0.4.4
This commit is contained in:
commit
1014ea3e58
@ -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,6 +33,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";
|
||||
|
@ -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 ";
|
Loading…
Reference in New Issue
Block a user