50 lines
1.4 KiB
Nix
50 lines
1.4 KiB
Nix
{ stdenv, lib, fetchgit, makeWrapper, pkg-config, cudatoolkit, glew, libX11
|
|
, libXcomposite, glfw, libpulseaudio, ffmpeg }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "gpu-screen-recorder";
|
|
version = "1.0.0";
|
|
|
|
src = fetchgit {
|
|
url = "https://repo.dec05eba.com/gpu-screen-recorder";
|
|
rev = "36fd4516db06bcb192e49055319d1778bbed0322";
|
|
sha256 = "sha256-hYEHM4FOYcPmQ5Yxh520PKy8HiD+G0xv9hrn8SmA07w=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
makeWrapper
|
|
];
|
|
|
|
buildInputs = [
|
|
glew
|
|
libX11
|
|
libXcomposite
|
|
glfw
|
|
libpulseaudio
|
|
ffmpeg
|
|
];
|
|
|
|
postPatch = ''
|
|
substituteInPlace ./build.sh \
|
|
--replace '/opt/cuda/targets/x86_64-linux/include' '${cudatoolkit}/targets/x86_64-linux/include' \
|
|
--replace '/usr/lib64/libcuda.so' '${cudatoolkit}/targets/x86_64-linux/lib/stubs/libcuda.so'
|
|
'';
|
|
|
|
buildPhase = ''
|
|
./build.sh
|
|
'';
|
|
|
|
installPhase = ''
|
|
install -Dt $out/bin/ gpu-screen-recorder
|
|
wrapProgram $out/bin/gpu-screen-recorder --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "A screen recorder that has minimal impact on system performance by recording a window using the GPU only";
|
|
homepage = "https://git.dec05eba.com/gpu-screen-recorder/about/";
|
|
license = licenses.gpl3Only;
|
|
maintainers = with maintainers; [ babbaj ];
|
|
platforms = [ "x86_64-linux" ];
|
|
};
|
|
}
|