lol
1{ lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg_4, libjack2, libX11, libXext, libXinerama, qtx11extras
2, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja
3}:
4
5mkDerivation 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 = [
17 "-DWITH_QT5=TRUE"
18 "-DWITH_GLINJECT=${if stdenv.hostPlatform.isx86 then "TRUE" else "FALSE"}"
19 ];
20
21 patches = [ ./fix-paths.patch ];
22
23 postPatch = ''
24 for i in scripts/ssr-glinject src/AV/Input/GLInjectInput.cpp; do
25 substituteInPlace $i \
26 --subst-var out \
27 --subst-var-by sh ${stdenv.shell}
28 done
29 '';
30
31 nativeBuildInputs = [ pkg-config cmake ninja ];
32 buildInputs = [
33 alsa-lib ffmpeg_4 libjack2 libX11 libXext libXfixes libXinerama libGLU libGL
34 libpulseaudio libv4l qtbase qttools qtx11extras
35 ];
36
37 meta = with lib; {
38 description = "A screen recorder for Linux";
39 homepage = "https://www.maartenbaert.be/simplescreenrecorder";
40 license = licenses.gpl3Plus;
41 platforms = platforms.linux;
42 maintainers = [ maintainers.goibhniu ];
43 };
44}