1{
2 lib,
3 buildLua,
4 fetchFromGitHub,
5 gitUpdater,
6 curl,
7 wl-clipboard,
8 xclip,
9}:
10
11buildLua rec {
12 pname = "mpvacious";
13 version = "0.40";
14
15 src = fetchFromGitHub {
16 owner = "Ajatt-Tools";
17 repo = "mpvacious";
18 rev = "v${version}";
19 sha256 = "sha256-PxLbv9aGVQV4Gea2H/GcWv/yuaRSqBRqbzRXu612kLE=";
20 };
21 passthru.updateScript = gitUpdater { rev-prefix = "v"; };
22
23 postPatch = ''
24 substituteInPlace utils/forvo.lua \
25 --replace-fail "'curl" "'${lib.getExe curl}"
26 substituteInPlace platform/nix.lua \
27 --replace-fail "'curl" "'${lib.getExe curl}" \
28 --replace-fail "'wl-copy" "'${lib.getExe' wl-clipboard "wl-copy"}" \
29 --replace-fail "'xclip" "'${lib.getExe xclip}"
30 '';
31
32 installPhase = ''
33 runHook preInstall
34 make PREFIX=$out/share/mpv install
35 runHook postInstall
36 '';
37
38 passthru.scriptName = "mpvacious";
39
40 meta = with lib; {
41 description = "Adds mpv keybindings to create Anki cards from movies and TV shows";
42 homepage = "https://github.com/Ajatt-Tools/mpvacious";
43 license = licenses.gpl3Plus;
44 maintainers = with maintainers; [ kmicklas ];
45 };
46}