61 lines
1.0 KiB
Nix
61 lines
1.0 KiB
Nix
|
{
|
||
|
lib,
|
||
|
pkgs,
|
||
|
}:
|
||
|
|
||
|
let
|
||
|
runtimeInputs = with pkgs; [
|
||
|
ffmpeg
|
||
|
v4l-utils
|
||
|
alsa-utils
|
||
|
gnome.zenity
|
||
|
lxterminal
|
||
|
];
|
||
|
in
|
||
|
|
||
|
pkgs.stdenvNoCC.mkDerivation (finalAttrs: {
|
||
|
name = "v4l2-play";
|
||
|
meta.mainProgram = "v4l2-play";
|
||
|
|
||
|
nativeBuildInputs = with pkgs; [
|
||
|
makeWrapper
|
||
|
copyDesktopItems
|
||
|
];
|
||
|
|
||
|
dontUnpack = true;
|
||
|
dontBuild = true;
|
||
|
dontConfigure = true;
|
||
|
|
||
|
installPhase = ''
|
||
|
runHook preInstall
|
||
|
|
||
|
mkdir -p $out/bin
|
||
|
cp ${./script.sh} $out/bin/v4l2-play
|
||
|
chmod +wx $out/bin/v4l2-play
|
||
|
|
||
|
substituteInPlace $out/bin/v4l2-play \
|
||
|
--replace-fail \
|
||
|
"#!/usr/bin/env nix-shell" \
|
||
|
"#!${pkgs.runtimeShell}"
|
||
|
|
||
|
wrapProgram $out/bin/v4l2-play \
|
||
|
--prefix PATH : ${lib.makeBinPath runtimeInputs}
|
||
|
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
|
||
|
desktopItems = pkgs.makeDesktopItem {
|
||
|
name = "v4l2-play";
|
||
|
desktopName = "View video device";
|
||
|
exec = "v4l2-play";
|
||
|
keywords = [
|
||
|
"elgato"
|
||
|
"passthrough"
|
||
|
"v4l2"
|
||
|
"video4linux2"
|
||
|
"capture card"
|
||
|
];
|
||
|
};
|
||
|
|
||
|
})
|