nixpkgs/pkgs/applications/video/mpv/scripts/convert.nix
2021-04-20 22:54:10 +01:00

47 lines
1.5 KiB
Nix

{ stdenvNoCC, fetchgit, lib
, yad, mkvtoolnix-cli, libnotify }:
stdenvNoCC.mkDerivation {
pname = "mpv-convert-script";
version = "2016-03-18";
src = fetchgit {
url = "https://gist.github.com/Zehkul/25ea7ae77b30af959be0";
rev = "f95cee43e390e843a47e8ec9d1711a12a8cd343d";
sha256 = "13m7l4sy2r8jv2sfrb3vvqvnim4a9ilnv28q5drlg09v298z3mck";
};
patches = [ ./convert.patch ];
postPatch =
let
t = k: v: '' 'local ${k} = "${v}"' '';
subs = var: orig: repl: "--replace " + t var orig + t var repl;
in ''
substituteInPlace convert_script.lua \
${subs "NOTIFY_CMD" "notify-send" "${libnotify}/bin/notify-send"} \
${subs "YAD_CMD" "yad" "${yad}/bin/yad"} \
${subs "MKVMERGE_CMD" "mkvmerge" "${mkvtoolnix-cli}/bin/mkvmerge"}
'';
dontBuild = true;
installPhase = ''
mkdir -p $out/share/mpv/scripts
cp convert_script.lua $out/share/mpv/scripts
'';
passthru.scriptName = "convert_script.lua";
meta = with lib; {
description = "Convert parts of a video while you are watching it in mpv";
homepage = "https://gist.github.com/Zehkul/25ea7ae77b30af959be0";
maintainers = [ maintainers.Profpatsch ];
longDescription = ''
When this script is loaded into mpv, you can hit Alt+W to mark the beginning
and Alt+W again to mark the end of the clip. Then a settings window opens.
'';
license = licenses.unfree;
# script crashes mpv. See https://github.com/NixOS/nixpkgs/issues/113202
broken = true;
};
}