diff options
Diffstat (limited to 'pkgs/applications/video/kodi/addons')
33 files changed, 282 insertions, 80 deletions
diff --git a/pkgs/applications/video/kodi/addons/archive_tool/default.nix b/pkgs/applications/video/kodi/addons/archive_tool/default.nix index 4788556a8793a..03372e1728589 100644 --- a/pkgs/applications/video/kodi/addons/archive_tool/default.nix +++ b/pkgs/applications/video/kodi/addons/archive_tool/default.nix @@ -21,7 +21,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/zach-morris/script.module.archive_tool"; - description = "A set of common python functions to work with the Kodi archive virtual file system (vfs) binary addons"; + description = "Set of common python functions to work with the Kodi archive virtual file system (vfs) binary addons"; license = licenses.gpl3Plus; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix b/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix index cfaef2bb7f98e..5b55ab9d1282f 100644 --- a/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix +++ b/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix @@ -1,14 +1,14 @@ { lib, stdenv, fetchFromGitHub, toKodiAddon, addonDir }: let - drv = stdenv.mkDerivation { + drv = stdenv.mkDerivation rec { pname = "controller-topology-project"; - version = "unstable-2022-11-19"; + version = "1.0.0"; src = fetchFromGitHub { owner = "kodi-game"; repo = "controller-topology-project"; - rev = "d96894ca68678000f26f56d14aa3ceea47b1a3a8"; - sha256 = "sha256-KfDr2bSJFey/aNO5WzoOQ8Mz0v4uitKkOesymIMZH1o="; + rev = "v${version}"; + sha256 = "sha256-6g4dyR34b0YgxlzRRS2C/gY3wjlO9MMYEB2fHLSCqC4="; }; postPatch = '' diff --git a/pkgs/applications/video/kodi/addons/formula1/default.nix b/pkgs/applications/video/kodi/addons/formula1/default.nix new file mode 100644 index 0000000000000..0d374dc65be1b --- /dev/null +++ b/pkgs/applications/video/kodi/addons/formula1/default.nix @@ -0,0 +1,29 @@ +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests }: + +buildKodiAddon rec { + pname = "formula1"; + namespace = "plugin.video.formula1"; + version = "2.0.2"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-aClAgkJKvixeKzrwgEsfDhPXiFv9+ULLmb8c9QTaUgM="; + }; + + propagatedBuildInputs = [ + requests + ]; + + passthru = { + updateScript = addonUpdateScript { + attrPath = "kodi.packages.formula1"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/jaylinski/kodi-addon-formula1"; + description = "Videos from the Formula 1 website"; + license = licenses.mit; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/future/default.nix b/pkgs/applications/video/kodi/addons/future/default.nix index 8812fbd8f5b39..c96f28ab9037d 100644 --- a/pkgs/applications/video/kodi/addons/future/default.nix +++ b/pkgs/applications/video/kodi/addons/future/default.nix @@ -3,11 +3,11 @@ buildKodiAddon rec { pname = "future"; namespace = "script.module.future"; - version = "0.18.3+matrix.1"; + version = "1.0.0+matrix.1"; src = fetchzip { url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; - sha256 = "sha256-jKO2Qxi54z6UiCmMkxU+2pog40K2yb8/KYbNPFYuSsQ="; + sha256 = "sha256-BsDgCAZuJBRBpe6EmfSynhrXS3ktQRZsEwf9CdF0VCg="; }; passthru = { @@ -19,7 +19,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://python-future.org"; - description = "The missing compatibility layer between Python 2 and Python 3"; + description = "Missing compatibility layer between Python 2 and Python 3"; license = licenses.mit; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/infotagger/default.nix b/pkgs/applications/video/kodi/addons/infotagger/default.nix index da4528ed0afc5..7ac5e48071073 100644 --- a/pkgs/applications/video/kodi/addons/infotagger/default.nix +++ b/pkgs/applications/video/kodi/addons/infotagger/default.nix @@ -2,13 +2,13 @@ buildKodiAddon rec { pname = "infotagger"; namespace = "script.module.infotagger"; - version = "0.0.7"; + version = "0.0.8"; src = fetchFromGitHub { owner = "jurialmunkey"; repo = namespace; rev = "v${version}"; - hash = "sha256-Us7ud0QORGn+ALB4uyISekp0kUYY8nN8uFNg8MlxEB0="; + hash = "sha256-Ns1OjrYLKz4znXRxqUErDLcmC0HBjBFVYI9GFqDVurY="; }; passthru = { diff --git a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix index 677467d343965..1a82cd1c19b9f 100644 --- a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix +++ b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, rel, addonDir, buildKodiBinaryAddon, fetchFromGitHub, pugixml, glib, nspr, nss, gtest }: +{ stdenv, lib, rel, addonDir, buildKodiBinaryAddon, fetchFromGitHub, pugixml, glib, nspr, nss, gtest, rapidjson }: let bento4 = fetchFromGitHub { owner = "xbmc"; @@ -10,13 +10,13 @@ in buildKodiBinaryAddon rec { pname = "inputstream-adaptive"; namespace = "inputstream.adaptive"; - version = "21.4.4"; + version = "21.4.6"; src = fetchFromGitHub { owner = "xbmc"; repo = "inputstream.adaptive"; rev = "${version}-${rel}"; - sha256 = "sha256-Nzlm1AW/nW9chQAourKF0o2FSQmsr1MNhJ4gEO0/9sM="; + sha256 = "sha256-ub4ep89datfr8aZLZAfoz7zhOizGFpzgp2PVON6Ptj8="; }; extraCMakeFlags = [ @@ -26,7 +26,7 @@ buildKodiBinaryAddon rec { extraNativeBuildInputs = [ gtest ]; - extraBuildInputs = [ pugixml ]; + extraBuildInputs = [ pugixml rapidjson ]; extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ]; diff --git a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix index 97cc417e6bf1c..deca0d57d7c51 100644 --- a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix +++ b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix @@ -1,4 +1,4 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: +{ lib, rel, buildKodiAddon, fetchzip, fetchpatch, addonUpdateScript }: buildKodiAddon rec { pname = "inputstreamhelper"; namespace = "script.module.inputstreamhelper"; @@ -9,6 +9,13 @@ buildKodiAddon rec { sha256 = "sha256-v5fRikswmP+KVbxYibD0NbCK8leUnFbya5EtF1FmS0I="; }; + patches = [ + (fetchpatch { + url = "https://github.com/emilsvennesson/script.module.inputstreamhelper/commit/af6adc16a0bee4921a827946b004ee070406ae37.patch"; + hash = "sha256-901EyVeZUb0EMvxsEza95qFjTOZ7PDYyqHMRawPM5Zs="; + }) + ]; + passthru = { pythonPath = "lib"; updateScript = addonUpdateScript { @@ -18,7 +25,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/emilsvennesson/script.module.inputstreamhelper"; - description = "A simple Kodi module that makes life easier for add-on developers relying on InputStream based add-ons and DRM playback"; + description = "Simple Kodi module that makes life easier for add-on developers relying on InputStream based add-ons and DRM playback"; license = licenses.mit; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/invidious/default.nix b/pkgs/applications/video/kodi/addons/invidious/default.nix index 36ae8608837d2..ca688ddc0f2e8 100644 --- a/pkgs/applications/video/kodi/addons/invidious/default.nix +++ b/pkgs/applications/video/kodi/addons/invidious/default.nix @@ -1,4 +1,4 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, inputstream-adaptive, inputstreamhelper }: +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, infotagger, requests, inputstream-adaptive, inputstreamhelper }: buildKodiAddon rec { pname = "invidious"; @@ -11,6 +11,7 @@ buildKodiAddon rec { }; propagatedBuildInputs = [ + infotagger requests inputstream-adaptive inputstreamhelper @@ -25,7 +26,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/petterreinholdtsen/kodi-invidious-plugin"; - description = "A privacy-friendly way of watching YouTube content"; + description = "Privacy-friendly way of watching YouTube content"; license = licenses.mit; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/jellycon/default.nix b/pkgs/applications/video/kodi/addons/jellycon/default.nix index 88e9504f8d191..960a8603e3612 100644 --- a/pkgs/applications/video/kodi/addons/jellycon/default.nix +++ b/pkgs/applications/video/kodi/addons/jellycon/default.nix @@ -29,7 +29,7 @@ buildKodiAddon rec { ''; postInstall = '' - mv /build/source/addon.xml $out${addonDir}/${namespace}/ + cp -v addon.xml $out${addonDir}/$namespace/ ''; propagatedBuildInputs = [ @@ -43,7 +43,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/jellyfin/jellycon"; - description = "A lightweight Kodi add-on for Jellyfin"; + description = "Lightweight Kodi add-on for Jellyfin"; longDescription = '' JellyCon is a lightweight Kodi add-on that lets you browse and play media files directly from your Jellyfin server within the Kodi interface. It can diff --git a/pkgs/applications/video/kodi/addons/jellyfin/default.nix b/pkgs/applications/video/kodi/addons/jellyfin/default.nix index 7623a3c4db136..27faf3d677579 100644 --- a/pkgs/applications/video/kodi/addons/jellyfin/default.nix +++ b/pkgs/applications/video/kodi/addons/jellyfin/default.nix @@ -1,35 +1,42 @@ -{ lib, addonDir, buildKodiAddon, fetchFromGitHub, kodi, requests, dateutil, six, kodi-six, signals, websocket }: +{ + lib, + addonDir, + buildKodiAddon, + fetchFromGitHub, + kodi, + requests, + dateutil, + six, + kodi-six, + signals, + websocket, +}: let python = kodi.pythonPackages.python.withPackages (p: with p; [ pyyaml ]); in buildKodiAddon rec { pname = "jellyfin"; namespace = "plugin.video.jellyfin"; - version = "1.0.2"; + version = "1.0.5"; src = fetchFromGitHub { owner = "jellyfin"; repo = "jellyfin-kodi"; rev = "v${version}"; - sha256 = "sha256-yCgsQnzmlmyYAjp1q0J9QxGDRg5JCd23H9xgVozHiGM="; + sha256 = "sha256-MPRyMeJuuiG62ahNKfXyb3Q4LDm0yXkNgCeYxfpT1io="; }; - nativeBuildInputs = [ - python - ]; + nativeBuildInputs = [ python ]; - prePatch = '' - # ZIP does not support timestamps before 1980 - https://bugs.python.org/issue34097 - substituteInPlace build.py \ - --replace "with zipfile.ZipFile('{}/{}'.format(target, archive_name), 'w') as z:" "with zipfile.ZipFile('{}/{}'.format(target, archive_name), 'w', strict_timestamps=False) as z:" - ''; + # ZIP does not support timestamps before 1980 - https://bugs.python.org/issue34097 + patches = [ ./no-strict-zip-timestamp.patch ]; buildPhase = '' ${python}/bin/python3 build.py --version=py3 ''; postInstall = '' - mv /build/source/addon.xml $out${addonDir}/${namespace}/ + cp -v addon.xml $out${addonDir}/$namespace/ ''; propagatedBuildInputs = [ @@ -43,7 +50,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://jellyfin.org/"; - description = "A whole new way to manage and view your media library"; + description = "Whole new way to manage and view your media library"; license = licenses.gpl3Only; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/jellyfin/no-strict-zip-timestamp.patch b/pkgs/applications/video/kodi/addons/jellyfin/no-strict-zip-timestamp.patch new file mode 100644 index 0000000000000..07d54c1e13841 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/jellyfin/no-strict-zip-timestamp.patch @@ -0,0 +1,15 @@ +diff --git a/build.py b/build.py +index 148441f3..2aa0f1ea 100755 +--- a/build.py ++++ b/build.py +@@ -69,7 +69,9 @@ def zip_files(py_version: str, source: str, target: str, dev: bool) -> None: + """ + archive_name = "plugin.video.jellyfin+{}.zip".format(py_version) + +- with zipfile.ZipFile("{}/{}".format(target, archive_name), "w") as z: ++ with zipfile.ZipFile( ++ "{}/{}".format(target, archive_name), "w", strict_timestamps=False ++ ) as z: + for root, dirs, files in os.walk(args.source): + for filename in filter(file_filter, files): + file_path = os.path.join(root, filename) diff --git a/pkgs/applications/video/kodi/addons/joystick/default.nix b/pkgs/applications/video/kodi/addons/joystick/default.nix index 9da9d8bb7b599..47dbb0f5dfc0d 100644 --- a/pkgs/applications/video/kodi/addons/joystick/default.nix +++ b/pkgs/applications/video/kodi/addons/joystick/default.nix @@ -14,7 +14,7 @@ buildKodiBinaryAddon rec { extraBuildInputs = [ tinyxml udev ]; meta = with lib; { - description = "Binary addon for raw joystick input."; + description = "Binary addon for raw joystick input"; platforms = platforms.all; license = licenses.gpl2Only; maintainers = teams.kodi.members; diff --git a/pkgs/applications/video/kodi/addons/keymap/default.nix b/pkgs/applications/video/kodi/addons/keymap/default.nix index e98e5ca2cb419..4254763d53611 100644 --- a/pkgs/applications/video/kodi/addons/keymap/default.nix +++ b/pkgs/applications/video/kodi/addons/keymap/default.nix @@ -23,7 +23,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/tamland/xbmc-keymap-editor"; - description = "A GUI for configuring mappings for remotes, keyboard and other inputs supported by Kodi"; + description = "GUI for configuring mappings for remotes, keyboard and other inputs supported by Kodi"; license = licenses.gpl3Plus; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/orftvthek/default.nix b/pkgs/applications/video/kodi/addons/orftvthek/default.nix index 4a6b4480b0506..64b822c355107 100644 --- a/pkgs/applications/video/kodi/addons/orftvthek/default.nix +++ b/pkgs/applications/video/kodi/addons/orftvthek/default.nix @@ -1,27 +1,27 @@ -{ lib, buildKodiAddon, fetchFromGitHub, future, kodi-six, simplejson, inputstreamhelper }: +{ lib, buildKodiAddon, fetchFromGitHub, inputstream-adaptive, inputstreamhelper, routing }: buildKodiAddon rec { pname = "orftvthek"; namespace = "plugin.video.orftvthek"; - version = "0.12.9"; + version = "1.0.2+matrix.1"; src = fetchFromGitHub { owner = "s0faking"; repo = namespace; rev = version; - sha256 = "sha256-bqGY9PPukn5/HJa3OqU5NM+ReeDJdVn60jXh1+2Qef8="; + sha256 = "sha256-bCVsR7lH0REJmG3OKU8mRRvw/PhSrLfhufmVBmw05+k="; }; propagatedBuildInputs = [ - future - kodi-six - simplejson + # Needed for content decryption with Widevine. + inputstream-adaptive inputstreamhelper + routing ]; meta = with lib; { homepage = "https://github.com/s0faking/plugin.video.orftvthek"; - description = "An addon that gives you access to the ORF TVthek Video Platform"; + description = "Addon for accessing the Austrian ORF ON streaming service"; license = licenses.gpl2Only; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/osmc-skin/default.nix b/pkgs/applications/video/kodi/addons/osmc-skin/default.nix index 71e0e1744b787..7644a71d71bc9 100644 --- a/pkgs/applications/video/kodi/addons/osmc-skin/default.nix +++ b/pkgs/applications/video/kodi/addons/osmc-skin/default.nix @@ -13,9 +13,9 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/osmc/skin.osmc"; - description = "The default skin for OSMC"; + description = "Default skin for OSMC"; platforms = platforms.all; - maintainers = with maintainers; [ ]; + maintainers = [ ]; license = licenses.cc-by-nc-sa-30; broken = true; # no release for kodi 21 diff --git a/pkgs/applications/video/kodi/addons/pdfreader/default.nix b/pkgs/applications/video/kodi/addons/pdfreader/default.nix index 62a5853c796b8..60a08a9cfbeae 100644 --- a/pkgs/applications/video/kodi/addons/pdfreader/default.nix +++ b/pkgs/applications/video/kodi/addons/pdfreader/default.nix @@ -2,20 +2,20 @@ buildKodiAddon rec { pname = "pdfreader"; namespace = "plugin.image.pdf"; - version = "2.0.2"; + version = "2.0.3"; src = fetchFromGitHub { owner = "i96751414"; repo = "plugin.image.pdfreader"; rev = "v${version}"; - sha256 = "0nkqhlm1gyagq6xpdgqvd5qxyr2ngpml9smdmzfabc8b972mwjml"; + sha256 = "sha256-J93poR5VO9fAgNCEGftJVYnpXOsJSxnhHI6TAJZ2LeI="; }; passthru.pythonPath = "lib/api"; meta = with lib; { homepage = "https://forum.kodi.tv/showthread.php?tid=187421"; - description = "A comic book reader"; + description = "Comic book reader"; license = licenses.gpl2Plus; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/plugin-cache/default.nix b/pkgs/applications/video/kodi/addons/plugin-cache/default.nix new file mode 100644 index 0000000000000..c21f5e136e41e --- /dev/null +++ b/pkgs/applications/video/kodi/addons/plugin-cache/default.nix @@ -0,0 +1,26 @@ +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: + +buildKodiAddon rec { + pname = "plugin-cache"; + namespace = "script.common.plugin.cache"; + version = "3.0.0"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-5QcMNmWOEw2C26OXlvAvxqDxTpjIMBhwmaIFwVgHuIU="; + }; + + passthru = { + pythonPath = "resources/lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.plugin-cache"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/anxdpanic/script.common.plugin.cache"; + description = "Common plugin cache"; + license = licenses.gpl3Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix b/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix index 6308a6470acdd..4184126842ba0 100644 --- a/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix @@ -2,13 +2,13 @@ buildKodiBinaryAddon rec { pname = "pvr-hdhomerun"; namespace = "pvr.hdhomerun"; - version = "20.4.0"; + version = "21.0.1"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.hdhomerun"; rev = "${version}-${rel}"; - sha256 = "sha256-FKxoPD8t5JbouhvQtMVMFjk3O5zB9kVgrn0eC2RPDvQ="; + sha256 = "sha256-Hb8TcJxRUIKHbevAUgt5q6z26W3uX9NbVwYyvrLnf7U="; }; extraBuildInputs = [ jsoncpp libhdhomerun ]; diff --git a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix index 7747b9e44c0be..50e12c09c1c8b 100644 --- a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix @@ -2,13 +2,13 @@ buildKodiBinaryAddon rec { pname = "pvr-hts"; namespace = "pvr.hts"; - version = "20.7.0"; + version = "21.2.5"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.hts"; rev = "${version}-${rel}"; - sha256 = "sha256-Mc540n+TfZiAV2uDSGrItsoPOkEBNyyQlW2DJZLwYA4="; + sha256 = "sha256-BG5mGD674gvjUSdydu4g3F/4GH53gkJoKMDuvaFNi6k="; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix b/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix index 28dd626502e80..b976c15371f2f 100644 --- a/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix @@ -6,13 +6,13 @@ buildKodiBinaryAddon rec { pname = "pvr-iptvsimple"; namespace = "pvr.iptvsimple"; - version = "20.13.0"; + version = "21.8.5"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.iptvsimple"; rev = "${version}-${rel}"; - sha256 = "sha256-W/tFM/WpWdSvLEf0iwQoH2JVDjyfr1l8CRQkOG5q4hk="; + sha256 = "sha256-UFEZZr7Z6GqnN8ZSA+JkdsiAlf7p5xPwDOcwLzJc9v8="; }; extraBuildInputs = [ diff --git a/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix b/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix index 4b5e8c6a7094f..85729e1290435 100644 --- a/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix @@ -2,13 +2,13 @@ buildKodiBinaryAddon rec { pname = "pvr-vdr-vnsi"; namespace = "pvr.vdr.vnsi"; - version = "20.4.1"; + version = "21.1.2"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.vdr.vnsi"; rev = "${version}-${rel}"; - sha256 = "sha256-QooWK+LwlN5RAISjAQ2YiyDAjQQMzod8fFXpI0ll+hc="; + sha256 = "sha256-o7WVO/TvSK6bZEnUeNQhapXOVQbDlpJDObC93/9XpJo="; }; extraBuildInputs = [ libGL ]; diff --git a/pkgs/applications/video/kodi/addons/raiplay/default.nix b/pkgs/applications/video/kodi/addons/raiplay/default.nix new file mode 100644 index 0000000000000..ab5bcfedccfdb --- /dev/null +++ b/pkgs/applications/video/kodi/addons/raiplay/default.nix @@ -0,0 +1,30 @@ +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, inputstreamhelper, plugin-cache }: + +buildKodiAddon rec { + pname = "raiplay"; + namespace = "plugin.video.raitv"; + version = "4.1.2"; + + propagatedBuildInputs = [ + plugin-cache + inputstreamhelper + ]; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-9aR1kkl+0+nhP0bOTnaKCgSfuPvJzX5TWHU0WJZIvSM="; + }; + + passthru = { + updateScript = addonUpdateScript { + attrPath = "kodi.packages.raiplay"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/maxbambi/plugin.video.raitv/"; + description = "Live radio and TV channels, latest 7 days of programming, broadcast archive, news"; + license = licenses.gpl3Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/routing/default.nix b/pkgs/applications/video/kodi/addons/routing/default.nix index 9c87c69e9912e..211b87242363e 100644 --- a/pkgs/applications/video/kodi/addons/routing/default.nix +++ b/pkgs/applications/video/kodi/addons/routing/default.nix @@ -18,7 +18,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/tamland/kodi-plugin-routing"; - description = "A routing module for kodi plugins"; + description = "Routing module for kodi plugins"; license = licenses.gpl3Plus; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/sendtokodi/default.nix b/pkgs/applications/video/kodi/addons/sendtokodi/default.nix index f6946842ded41..792f585673dd0 100644 --- a/pkgs/applications/video/kodi/addons/sendtokodi/default.nix +++ b/pkgs/applications/video/kodi/addons/sendtokodi/default.nix @@ -1,4 +1,4 @@ -{ lib, buildKodiAddon, fetchFromGitHub, addonUpdateScript, kodi, inputstreamhelper }: +{ lib, buildKodiAddon, fetchFromGitHub, kodi, inputstreamhelper }: buildKodiAddon rec { pname = "sendtokodi"; @@ -13,7 +13,10 @@ buildKodiAddon rec { }; patches = [ - ./use-packaged-deps.patch + # Unconditionally depend on packaged yt-dlp. This removes the ability to + # use youtube_dl, which is unmaintained and considered vulnerable (see + # CVE-2024-38519). + ./use-packaged-yt-dlp.patch ]; propagatedBuildInputs = [ @@ -26,14 +29,14 @@ buildKodiAddon rec { ''; passthru = { - # Instead of the vendored libraries, we propagate youtube-dl and yt-dlp via - # the Python path. - pythonPath = with kodi.pythonPackages; makePythonPath [ youtube-dl yt-dlp ]; + # Instead of the vendored libraries, we propagate yt-dlp via the Python + # path. + pythonPath = with kodi.pythonPackages; makePythonPath [ yt-dlp ]; }; meta = with lib; { homepage = "https://github.com/firsttris/plugin.video.sendtokodi"; - description = "Plays various stream sites on Kodi using youtube-dl"; + description = "Plays various stream sites on Kodi using yt-dlp"; license = licenses.mit; maintainers = teams.kodi.members ++ [ maintainers.pks ]; }; diff --git a/pkgs/applications/video/kodi/addons/sendtokodi/use-packaged-deps.patch b/pkgs/applications/video/kodi/addons/sendtokodi/use-packaged-yt-dlp.patch index abfea58a7ceb8..b53e1a434fffc 100644 --- a/pkgs/applications/video/kodi/addons/sendtokodi/use-packaged-deps.patch +++ b/pkgs/applications/video/kodi/addons/sendtokodi/use-packaged-yt-dlp.patch @@ -1,16 +1,18 @@ diff --git a/service.py b/service.py -index 1d7b6e4..9782993 100644 +index 024ad9a..6ef71dd 100644 --- a/service.py +++ b/service.py -@@ -241,9 +241,9 @@ def playlistIndex(url, playlist): +@@ -243,11 +243,8 @@ def playlistIndex(url, playlist): + # Use the chosen resolver while forcing to use youtube_dl on legacy python 2 systems (dlp is python 3.6+) - if xbmcplugin.getSetting(int(sys.argv[1]),"resolver") == "0" or sys.version_info[0] == 2: +-if xbmcplugin.getSetting(int(sys.argv[1]),"resolver") == "0" or sys.version_info[0] == 2: - from lib.youtube_dl import YoutubeDL -+ from youtube_dl import YoutubeDL - else: +-else: - from lib.yt_dlp import YoutubeDL -+ from yt_dlp import YoutubeDL - +- ++from yt_dlp import YoutubeDL ++ # patch broken strptime (see above) patch_strptime() + diff --git a/pkgs/applications/video/kodi/addons/simplecache/default.nix b/pkgs/applications/video/kodi/addons/simplecache/default.nix new file mode 100644 index 0000000000000..35c2cc5a1a336 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/simplecache/default.nix @@ -0,0 +1,26 @@ +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: + +buildKodiAddon rec { + pname = "simplecache"; + namespace = "script.module.simplecache"; + version = "2.0.2"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-xdOBIi99nspcDIKkjxcW1r/BqL8O9NxdDViTuvMtUmo="; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.simplecache"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/kodi-community-addons/script.module.simplecache"; + description = "A simple object cache for Kodi addons"; + license = licenses.asl20; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/skyvideoitalia/default.nix b/pkgs/applications/video/kodi/addons/skyvideoitalia/default.nix new file mode 100644 index 0000000000000..c791391578c70 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/skyvideoitalia/default.nix @@ -0,0 +1,31 @@ +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, inputstreamhelper, simplecache }: + +buildKodiAddon rec { + pname = "skyvideoitalia"; + namespace = "plugin.video.skyvideoitalia"; + version = "1.0.4"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-ciLtqT++6bn7la4xRVvlRwzbbUUUPN5WU35rJpR4l+w="; + }; + + propagatedBuildInputs = [ + requests + inputstreamhelper + simplecache + ]; + + passthru = { + updateScript = addonUpdateScript { + attrPath = "kodi.packages.skyvideoitalia"; + }; + }; + + meta = with lib; { + homepage = "https://www.github.com/nixxo/plugin.video.skyvideoitalia"; + description = "Show video content from the website of Sky Italia (video.sky.it). News, sport, entertainment and much more"; + license = licenses.gpl3Plus; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/sponsorblock/default.nix b/pkgs/applications/video/kodi/addons/sponsorblock/default.nix index d174a09625e51..a0c0b04ec82e3 100644 --- a/pkgs/applications/video/kodi/addons/sponsorblock/default.nix +++ b/pkgs/applications/video/kodi/addons/sponsorblock/default.nix @@ -22,7 +22,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/siku2/script.service.sponsorblock"; - description = "A Port of SponsorBlock for Invidious and YouTube Plugin"; + description = "Port of SponsorBlock for Invidious and YouTube Plugin"; license = licenses.mit; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/steam-controller/default.nix b/pkgs/applications/video/kodi/addons/steam-controller/default.nix index 20488d8a3ffc3..387f096686587 100644 --- a/pkgs/applications/video/kodi/addons/steam-controller/default.nix +++ b/pkgs/applications/video/kodi/addons/steam-controller/default.nix @@ -14,7 +14,7 @@ buildKodiBinaryAddon rec { extraBuildInputs = [ libusb1 ]; meta = with lib; { - description = "Binary addon for steam controller."; + description = "Binary addon for steam controller"; platforms = platforms.all; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/upnext/default.nix b/pkgs/applications/video/kodi/addons/upnext/default.nix new file mode 100644 index 0000000000000..dccfce4c3f0f6 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/upnext/default.nix @@ -0,0 +1,26 @@ +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: + +buildKodiAddon rec { + pname = "upnext"; + namespace = "service.upnext"; + version = "1.1.9+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-oNUk80MEzK6Qssn1KjT6psPTazISRoUif1IMo+BKJxo="; + }; + + passthru = { + pythonPath = "resources/lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.upnext"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/im85288/service.upnext"; + description = "Up Next - Proposes to play the next episode automatically"; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/visualization-projectm/default.nix b/pkgs/applications/video/kodi/addons/visualization-projectm/default.nix index 8eaecd87fc47c..38ab9d308762f 100644 --- a/pkgs/applications/video/kodi/addons/visualization-projectm/default.nix +++ b/pkgs/applications/video/kodi/addons/visualization-projectm/default.nix @@ -3,13 +3,13 @@ buildKodiBinaryAddon rec { pname = "visualization-projectm"; namespace = "visualization.projectm"; - version = "20.2.0"; + version = "21.0.1"; src = fetchFromGitHub { owner = "xbmc"; repo = namespace; rev = "${version}-${rel}"; - hash = "sha256-Kcl1ep+RJlofFmxkrGT3T+XXdwiCofq1hggwU0PAd0E="; + hash = "sha256-wjSQmOtQb4KjY3iH3Xh7AdQwE6ked+cpW6/gdNYS+NA="; }; extraBuildInputs = [ pkg-config libGL projectm ]; diff --git a/pkgs/applications/video/kodi/addons/websocket/default.nix b/pkgs/applications/video/kodi/addons/websocket/default.nix index 6d0ecc55aa05a..544f86a8bbbd9 100644 --- a/pkgs/applications/video/kodi/addons/websocket/default.nix +++ b/pkgs/applications/video/kodi/addons/websocket/default.nix @@ -1,4 +1,4 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, six, addonDir }: +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, six }: buildKodiAddon rec { pname = "websocket"; @@ -23,7 +23,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/websocket-client/websocket-client"; - description = "A WebSocket client for Python"; + description = "WebSocket client for Python"; license = licenses.lgpl2Only; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/youtube/default.nix b/pkgs/applications/video/kodi/addons/youtube/default.nix index f2f340b257dbe..8c007ec4b83ef 100644 --- a/pkgs/applications/video/kodi/addons/youtube/default.nix +++ b/pkgs/applications/video/kodi/addons/youtube/default.nix @@ -1,21 +1,20 @@ -{ lib, buildKodiAddon, fetchFromGitHub, six, requests, infotagger, inputstreamhelper }: +{ lib, buildKodiAddon, fetchFromGitHub, requests, inputstream-adaptive, inputstreamhelper }: buildKodiAddon rec { pname = "youtube"; namespace = "plugin.video.youtube"; - version = "7.0.6"; + version = "7.0.9.2"; src = fetchFromGitHub { owner = "anxdpanic"; repo = "plugin.video.youtube"; rev = "v${version}"; - hash = "sha256-pxW45D/tppUTTgeR5wVteOP2f4TZ4wl/9A5IBhOZhTM="; + hash = "sha256-42BBvXIrPAAhNgrGyPTK5dgg2DACPTT6/jRUoYcihFA="; }; propagatedBuildInputs = [ - six requests - infotagger + inputstream-adaptive inputstreamhelper ]; |