biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / video / kodi / addons / jellycon / default.nix
blob960a8603e3612f9e03280a75bd00b177c91c98a4
1 { lib, addonDir, buildKodiAddon, fetchFromGitHub, kodi, requests, dateutil, six, kodi-six, signals, websocket }:
2 let
3   python = kodi.pythonPackages.python.withPackages (p: with p; [ pyyaml ]);
4 in
5 buildKodiAddon rec {
6   pname = "jellycon";
7   namespace = "plugin.video.jellycon";
8   version = "0.8.0";
10   src = fetchFromGitHub {
11     owner = "jellyfin";
12     repo = pname;
13     rev = "v${version}";
14     sha256 = "sha256-60my7Y60KV5WWALQiamnmAJZJi82cV21rIGYPiV7T+A=";
15   };
17   nativeBuildInputs = [
18     python
19   ];
21   prePatch = ''
22     # ZIP does not support timestamps before 1980 - https://bugs.python.org/issue34097
23     substituteInPlace build.py \
24       --replace "with zipfile.ZipFile(f'{target}/{archive_name}', 'w') as z:" "with zipfile.ZipFile(f'{target}/{archive_name}', 'w', strict_timestamps=False) as z:"
25   '';
27   buildPhase = ''
28     ${python}/bin/python3 build.py --version=py3
29   '';
31   postInstall = ''
32     cp -v addon.xml $out${addonDir}/$namespace/
33   '';
35   propagatedBuildInputs = [
36     requests
37     dateutil
38     six
39     kodi-six
40     signals
41     websocket
42   ];
44   meta = with lib; {
45     homepage = "https://github.com/jellyfin/jellycon";
46     description = "Lightweight Kodi add-on for Jellyfin";
47     longDescription = ''
48       JellyCon is a lightweight Kodi add-on that lets you browse and play media
49       files directly from your Jellyfin server within the Kodi interface. It can
50       easily switch between multiple user accounts at will.
51     '';
52     license = licenses.gpl2Only;
53     maintainers = teams.kodi.members;
54   };