biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / video / ani-cli / default.nix
blobb5d9fb11f5e072afcb9a7268a47bfc0c006207d7
1 { fetchFromGitHub
2 , makeWrapper
3 , stdenvNoCC
4 , lib
5 , gnugrep
6 , gnused
7 , curl
8 , catt
9 , syncplay
10 , ffmpeg
11 , fzf
12 , aria2
13 , withMpv ? true, mpv
14 , withVlc ? false, vlc
15 , withIina ? false, iina
16 , chromecastSupport ? false
17 , syncSupport ? false
20 assert withMpv || withVlc || withIina;
22 stdenvNoCC.mkDerivation rec {
23   pname = "ani-cli";
24   version = "4.9";
26   src = fetchFromGitHub {
27     owner = "pystardust";
28     repo = "ani-cli";
29     rev = "v${version}";
30     hash = "sha256-7zuepWTtrFp9RW3zTSjPzyJ9e+09PdKgwcnV+DqPEUY=";
31   };
33   nativeBuildInputs = [ makeWrapper ];
34   runtimeDependencies =
35     let player = []
36         ++ lib.optional withMpv mpv
37         ++ lib.optional withVlc vlc
38         ++ lib.optional withIina iina;
39     in [ gnugrep gnused curl fzf ffmpeg aria2 ]
40       ++ player
41       ++ lib.optional chromecastSupport catt
42       ++ lib.optional syncSupport syncplay;
44   installPhase = ''
45     runHook preInstall
47     install -Dm755 ani-cli $out/bin/ani-cli
49     wrapProgram $out/bin/ani-cli \
50       --prefix PATH : ${lib.makeBinPath runtimeDependencies}
52     runHook postInstall
53   '';
55   meta = with lib; {
56     homepage = "https://github.com/pystardust/ani-cli";
57     description = "Cli tool to browse and play anime";
58     license = licenses.gpl3Plus;
59     maintainers = with maintainers; [ skykanin ];
60     platforms = platforms.unix;
61     mainProgram = "ani-cli";
62   };