Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / pkgs / servers / bazarr / default.nix
blobdaa8f55e87cb79fbd9b11adbaeabb803d8f506ae
1 { stdenv, lib, fetchurl, makeWrapper, unzip, python3, libarchive, ffmpeg, nixosTests }:
3 let
4   runtimeProgDeps = [
5     ffmpeg
6     libarchive
7   ];
8 in
9 stdenv.mkDerivation rec {
10   pname = "bazarr";
11   version = "1.4.3";
13   sourceRoot = ".";
15   src = fetchurl {
16     url = "https://github.com/morpheus65535/bazarr/releases/download/v${version}/bazarr.zip";
17     sha256 = "sha256-tmTdmUfRBRlB14juNxUo65Re+9agUBX0BBSuNu3pSC0=";
18   };
20   nativeBuildInputs = [ unzip makeWrapper ];
22   buildInputs = [
23     (python3.withPackages (ps: [
24       ps.lxml
25       ps.numpy
26       ps.gevent
27       ps.gevent-websocket
28       ps.pillow
29       ps.setuptools
30     ]))
31   ] ++ runtimeProgDeps;
33   installPhase = ''
34     runHook preInstall
36     mkdir -p "$out"/{bin,share/${pname}}
37     cp -r * "$out/share/${pname}"
39     # Add missing shebang and execute perms so that patchShebangs can do its
40     # thing.
41     sed -i "1i #!/usr/bin/env python3" "$out/share/${pname}/bazarr.py"
42     chmod +x "$out/share/${pname}/bazarr.py"
44     makeWrapper "$out/share/${pname}/bazarr.py" \
45         "$out/bin/bazarr" \
46         --suffix PATH : ${lib.makeBinPath runtimeProgDeps}
48     runHook postInstall
49   '';
51   passthru.tests = {
52     smoke-test = nixosTests.bazarr;
53   };
55   meta = with lib; {
56     description = "Subtitle manager for Sonarr and Radarr";
57     homepage = "https://www.bazarr.media/";
58     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
59     license = licenses.gpl3Only;
60     maintainers = with maintainers; [ d-xo ];
61     mainProgram = "bazarr";
62     platforms = platforms.all;
63   };