nixpkgs/pkgs/applications/video/simplescreenrecorder/default.nix
Emily 61922738bb treewide: optimistically unpin FFmpeg 7 dependencies
Per the adjusted FFmpeg pinning advice, packages that work on the
default version should use the unversioned variants to ease the
migration to future versions and reduce the number of packages that
end up referencing old versions.

I have left HandBrake pinned as it builds a custom patched FFmpeg.
2024-09-07 20:31:41 +01:00

46 lines
1.4 KiB
Nix

{ lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg, 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 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 = [ ];
};
}