Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 alsa-lib, 6 ffmpeg, 7 libjack2, 8 libX11, 9 libXext, 10 libXinerama, 11 qtx11extras, 12 libXfixes, 13 libGLU, 14 libGL, 15 pkg-config, 16 libpulseaudio, 17 libv4l, 18 pipewire, 19 qtbase, 20 qttools, 21 wrapQtAppsHook, 22 cmake, 23 ninja, 24 unstableGitUpdater, 25}: 26 27stdenv.mkDerivation { 28 pname = "simplescreenrecorder"; 29 version = "0.4.4-unstable-2025-06-14"; 30 31 src = fetchFromGitHub { 32 owner = "MaartenBaert"; 33 repo = "ssr"; 34 rev = "232eac75c56821b4baf025b7dfd7ce737e73f420"; 35 hash = "sha256-0PLAHfVIFSv196dcQ83CCvYoKkJFcKKnKB8vISoprCk="; 36 }; 37 38 cmakeFlags = [ 39 "-DWITH_QT5=TRUE" 40 "-DWITH_GLINJECT=${if stdenv.hostPlatform.isx86 then "TRUE" else "FALSE"}" 41 ]; 42 43 postPatch = '' 44 substituteInPlace scripts/ssr-glinject \ 45 --replace-fail "libssr-glinject.so" "$out/lib/libssr-glinject.so" 46 47 substituteInPlace src/AV/Input/GLInjectInput.cpp \ 48 --replace-fail "/bin/sh" "${stdenv.shell}" \ 49 --replace-fail "libssr-glinject.so" "$out/lib/libssr-glinject.so" 50 ''; 51 52 nativeBuildInputs = [ 53 pkg-config 54 cmake 55 ninja 56 wrapQtAppsHook 57 ]; 58 59 buildInputs = [ 60 alsa-lib 61 ffmpeg 62 libjack2 63 libX11 64 libXext 65 libXfixes 66 libXinerama 67 libGLU 68 libGL 69 libpulseaudio 70 libv4l 71 pipewire 72 qtbase 73 qttools 74 qtx11extras 75 ]; 76 77 passthru.updateScript = unstableGitUpdater { }; 78 79 meta = with lib; { 80 description = "Screen recorder for Linux"; 81 homepage = "https://www.maartenbaert.be/simplescreenrecorder"; 82 license = licenses.gpl3Plus; 83 platforms = platforms.linux; 84 maintainers = [ ]; 85 }; 86}