87 lines
1.6 KiB
Nix
87 lines
1.6 KiB
Nix
|
|
{
|
||
|
|
lib,
|
||
|
|
stdenv,
|
||
|
|
fetchFromGitHub,
|
||
|
|
alsa-lib,
|
||
|
|
ffmpeg,
|
||
|
|
libjack2,
|
||
|
|
libX11,
|
||
|
|
libXext,
|
||
|
|
libXinerama,
|
||
|
|
qtx11extras,
|
||
|
|
libXfixes,
|
||
|
|
libGLU,
|
||
|
|
libGL,
|
||
|
|
pkg-config,
|
||
|
|
libpulseaudio,
|
||
|
|
libv4l,
|
||
|
|
pipewire,
|
||
|
|
qtbase,
|
||
|
|
qttools,
|
||
|
|
wrapQtAppsHook,
|
||
|
|
cmake,
|
||
|
|
ninja,
|
||
|
|
unstableGitUpdater,
|
||
|
|
}:
|
||
|
|
|
||
|
|
stdenv.mkDerivation {
|
||
|
|
pname = "simplescreenrecorder";
|
||
|
|
version = "0.4.4-unstable-2025-06-14";
|
||
|
|
|
||
|
|
src = fetchFromGitHub {
|
||
|
|
owner = "MaartenBaert";
|
||
|
|
repo = "ssr";
|
||
|
|
rev = "232eac75c56821b4baf025b7dfd7ce737e73f420";
|
||
|
|
hash = "sha256-0PLAHfVIFSv196dcQ83CCvYoKkJFcKKnKB8vISoprCk=";
|
||
|
|
};
|
||
|
|
|
||
|
|
cmakeFlags = [
|
||
|
|
"-DWITH_QT5=TRUE"
|
||
|
|
"-DWITH_GLINJECT=${if stdenv.hostPlatform.isx86 then "TRUE" else "FALSE"}"
|
||
|
|
];
|
||
|
|
|
||
|
|
postPatch = ''
|
||
|
|
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
|
||
|
|
wrapQtAppsHook
|
||
|
|
];
|
||
|
|
|
||
|
|
buildInputs = [
|
||
|
|
alsa-lib
|
||
|
|
ffmpeg
|
||
|
|
libjack2
|
||
|
|
libX11
|
||
|
|
libXext
|
||
|
|
libXfixes
|
||
|
|
libXinerama
|
||
|
|
libGLU
|
||
|
|
libGL
|
||
|
|
libpulseaudio
|
||
|
|
libv4l
|
||
|
|
pipewire
|
||
|
|
qtbase
|
||
|
|
qttools
|
||
|
|
qtx11extras
|
||
|
|
];
|
||
|
|
|
||
|
|
passthru.updateScript = unstableGitUpdater { };
|
||
|
|
|
||
|
|
meta = with lib; {
|
||
|
|
description = "Screen recorder for Linux";
|
||
|
|
homepage = "https://www.maartenbaert.be/simplescreenrecorder";
|
||
|
|
license = licenses.gpl3Plus;
|
||
|
|
platforms = platforms.linux;
|
||
|
|
maintainers = [ ];
|
||
|
|
};
|
||
|
|
}
|