Merge pull request #117034 from aanderse/kodi-jellyfin

kodi.packages.jellyfin: init at 0.7.1, a few fixups

authored by

Aaron Andersen and committed by
GitHub
342c7e72 13bee29b

+141 -1
+27
pkgs/applications/video/kodi-packages/dateutil/default.nix
··· 1 + { lib, buildKodiAddon, fetchzip, addonUpdateScript, six }: 2 + 3 + buildKodiAddon rec { 4 + pname = "dateutil"; 5 + namespace = "script.module.dateutil"; 6 + version = "2.8.1+matrix.1"; 7 + 8 + src = fetchzip { 9 + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; 10 + sha256 = "1jr77017ihs7j3455i72af71wyvs792kbizq4539ccd98far8lm7"; 11 + }; 12 + 13 + propagatedBuildInputs = [ 14 + six 15 + ]; 16 + 17 + passthru.updateScript = addonUpdateScript { 18 + attrPath = "kodi.packages.dateutil"; 19 + }; 20 + 21 + meta = with lib; { 22 + homepage = "https://dateutil.readthedocs.io/en/stable/"; 23 + description = "Extensions to the standard Python datetime module"; 24 + license = with licenses; [ asl20 bsd3 ]; 25 + maintainers = teams.kodi.members; 26 + }; 27 + }
+49
pkgs/applications/video/kodi-packages/jellyfin/default.nix
··· 1 + { lib, addonDir, buildKodiAddon, fetchFromGitHub, kodi, requests, dateutil, six, kodi-six, signals }: 2 + let 3 + python = kodi.pythonPackages.python.withPackages (p: with p; [ pyyaml ]); 4 + in 5 + buildKodiAddon rec { 6 + pname = "jellyfin"; 7 + namespace = "plugin.video.jellyfin"; 8 + version = "0.7.1"; 9 + 10 + src = fetchFromGitHub { 11 + owner = "jellyfin"; 12 + repo = "jellyfin-kodi"; 13 + rev = "v${version}"; 14 + sha256 = "0fx20gmd5xlg59ks4433qh2b3jhbs5qrnc49zi4rkqqr4jr4nhnn"; 15 + }; 16 + 17 + nativeBuildInputs = [ 18 + python 19 + ]; 20 + 21 + prePatch = '' 22 + substituteInPlace .config/generate_xml.py \ 23 + --replace "'jellyfin-kodi/release.yaml'" "'release.yaml'" \ 24 + --replace "'jellyfin-kodi/addon.xml'" "'addon.xml'" 25 + ''; 26 + 27 + buildPhase = '' 28 + ${python}/bin/python3 .config/generate_xml.py py3 29 + ''; 30 + 31 + postInstall = '' 32 + mv /build/source/addon.xml $out${addonDir}/${namespace}/ 33 + ''; 34 + 35 + propagatedBuildInputs = [ 36 + requests 37 + dateutil 38 + six 39 + kodi-six 40 + signals 41 + ]; 42 + 43 + meta = with lib; { 44 + homepage = "https://jellyfin.org/"; 45 + description = "A whole new way to manage and view your media library"; 46 + license = licenses.gpl3Only; 47 + maintainers = teams.kodi.members; 48 + }; 49 + }
+23
pkgs/applications/video/kodi-packages/kodi-six/default.nix
··· 1 + { lib, buildKodiAddon, fetchzip, addonUpdateScript }: 2 + 3 + buildKodiAddon rec { 4 + pname = "kodi-six"; 5 + namespace = "script.module.kodi-six"; 6 + version = "0.1.3.1"; 7 + 8 + src = fetchzip { 9 + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; 10 + sha256 = "14m232p9hx925pbk8knsg994m1nbpa5278zmcrnfblh4z84gjv4x"; 11 + }; 12 + 13 + passthru.updateScript = addonUpdateScript { 14 + attrPath = "kodi.packages.kodi-six"; 15 + }; 16 + 17 + meta = with lib; { 18 + homepage = "https://github.com/romanvm/kodi.six"; 19 + description = "Wrappers around Kodi Python API for seamless Python 2/3 compatibility"; 20 + license = licenses.gpl3Only; 21 + maintainers = teams.kodi.members; 22 + }; 23 + }
+3 -1
pkgs/applications/video/kodi-packages/netflix/default.nix
··· 1 - { lib, buildKodiAddon, fetchFromGitHub, signals, inputstreamhelper, requests, myconnpy }: 1 + { lib, buildKodiAddon, fetchFromGitHub, signals, inputstream-adaptive, inputstreamhelper, requests, myconnpy }: 2 + 2 3 buildKodiAddon rec { 3 4 pname = "netflix"; 4 5 namespace = "plugin.video.netflix"; ··· 13 14 14 15 propagatedBuildInputs = [ 15 16 signals 17 + inputstream-adaptive 16 18 inputstreamhelper 17 19 requests 18 20 myconnpy
+23
pkgs/applications/video/kodi-packages/six/default.nix
··· 1 + { lib, buildKodiAddon, fetchzip, addonUpdateScript }: 2 + 3 + buildKodiAddon rec { 4 + pname = "six"; 5 + namespace = "script.module.six"; 6 + version = "1.14.0+matrix.2"; 7 + 8 + src = fetchzip { 9 + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; 10 + sha256 = "1f9g43j4y5x7b1bgbwqqfj0p2bkqjpycj17dj7a9j271mcr5zhwb"; 11 + }; 12 + 13 + passthru.updateScript = addonUpdateScript { 14 + attrPath = "kodi.packages.six"; 15 + }; 16 + 17 + meta = with lib; { 18 + homepage = "https://pypi.org/project/six/"; 19 + description = "Python 2 and 3 compatibility utilities"; 20 + license = licenses.mit; 21 + maintainers = teams.kodi.members; 22 + }; 23 + }
+4
pkgs/applications/video/kodi/build-kodi-addon.nix
··· 11 11 extraRuntimeDependencies = [ ]; 12 12 13 13 installPhase = '' 14 + runHook preInstall 15 + 14 16 cd $src/$sourceDir 15 17 d=$out${addonDir}/${namespace} 16 18 mkdir -p $d 17 19 sauce="." 18 20 [ -d ${namespace} ] && sauce=${namespace} 19 21 cp -R "$sauce/"* $d 22 + 23 + runHook postInstall 20 24 ''; 21 25 } // attrs))
+4
pkgs/applications/video/kodi/build-kodi-binary-addon.nix
··· 24 24 # and the non-wrapped kodi lib/... folder before even trying to dlopen 25 25 # them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use 26 26 installPhase = let n = namespace; in '' 27 + runHook preInstall 28 + 27 29 make install 28 30 ln -s $out/lib/addons/${n}/${n}.so.${version} $out${addonDir}/${n}/${n}.so.${version} 29 31 ${extraInstallPhase} 32 + 33 + runHook postInstall 30 34 ''; 31 35 } // attrs))
+8
pkgs/top-level/kodi-packages.nix
··· 66 66 snes = callPackage ../applications/video/kodi-packages/controllers { controller = "snes"; }; 67 67 }; 68 68 69 + jellyfin = callPackage ../applications/video/kodi-packages/jellyfin { }; 70 + 69 71 joystick = callPackage ../applications/video/kodi-packages/joystick { }; 70 72 71 73 netflix = callPackage ../applications/video/kodi-packages/netflix { }; ··· 96 98 97 99 chardet = callPackage ../applications/video/kodi-packages/chardet { }; 98 100 101 + dateutil = callPackage ../applications/video/kodi-packages/dateutil { }; 102 + 99 103 idna = callPackage ../applications/video/kodi-packages/idna { }; 100 104 101 105 inputstream-adaptive = callPackage ../applications/video/kodi-packages/inputstream-adaptive { }; 102 106 103 107 inputstreamhelper = callPackage ../applications/video/kodi-packages/inputstreamhelper { }; 104 108 109 + kodi-six = callPackage ../applications/video/kodi-packages/kodi-six { }; 110 + 105 111 myconnpy = callPackage ../applications/video/kodi-packages/myconnpy { }; 106 112 107 113 requests = callPackage ../applications/video/kodi-packages/requests { }; 108 114 109 115 signals = callPackage ../applications/video/kodi-packages/signals { }; 116 + 117 + six = callPackage ../applications/video/kodi-packages/six { }; 110 118 111 119 urllib3 = callPackage ../applications/video/kodi-packages/urllib3 { }; 112 120