nixpkgs/pkgs/applications/video/simplescreenrecorder/default.nix
2024-08-20 21:33:07 +01:00

45 lines
1.4 KiB
Nix

{ lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg_7, libjack2, libX11, libXext, libXinerama, qtx11extras
, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja, nix-update-script
}:
mkDerivation rec {
pname = "simplescreenrecorder";
version = "0.4.4-unstable-2024-08-13";
src = fetchFromGitHub {
owner = "MaartenBaert";
repo = "ssr";
rev = "4e3ba13dd212fc4213fe0911f371bc7d34033b8d";
hash = "sha256-jBZkyrZOrUljWgO8U4SZOTCu3sOm83unQ7vyv+KkAuE=";
};
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 ];
buildInputs = [
alsa-lib ffmpeg_7 libjack2 libX11 libXext libXfixes libXinerama libGLU libGL
libpulseaudio libv4l qtbase qttools qtx11extras
];
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Screen recorder for Linux";
homepage = "https://www.maartenbaert.be/simplescreenrecorder";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = [ ];
};
}