about summary refs log tree commit diff
path: root/pkgs/applications/video/kodi/addons
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/video/kodi/addons')
-rw-r--r--pkgs/applications/video/kodi/addons/addon-update-script/default.nix2
-rw-r--r--pkgs/applications/video/kodi/addons/arrow/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/arteplussept/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/certifi/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/chardet/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/controller-topology-project/default.nix2
-rw-r--r--pkgs/applications/video/kodi/addons/dateutil/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/defusedxml/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/future/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/idna/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix12
-rw-r--r--pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix6
-rw-r--r--pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/invidious/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/jellycon/default.nix55
-rw-r--r--pkgs/applications/video/kodi/addons/jellyfin/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/keymap/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/kodi-six/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/mediacccde/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/myconnpy/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/netflix/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/osmc-skin/default.nix2
-rw-r--r--pkgs/applications/video/kodi/addons/radioparadise/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/requests-cache/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/requests/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/routing/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/signals/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/simplejson/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/six/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/somafm/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/svtplay/default.nix2
-rw-r--r--pkgs/applications/video/kodi/addons/trakt-module/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/trakt/default.nix8
-rw-r--r--pkgs/applications/video/kodi/addons/typing_extensions/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/urllib3/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/websocket/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/youtube/default.nix4
38 files changed, 135 insertions, 74 deletions
diff --git a/pkgs/applications/video/kodi/addons/addon-update-script/default.nix b/pkgs/applications/video/kodi/addons/addon-update-script/default.nix
index abcdefaf02dd6..f3b363dca0f8b 100644
--- a/pkgs/applications/video/kodi/addons/addon-update-script/default.nix
+++ b/pkgs/applications/video/kodi/addons/addon-update-script/default.nix
@@ -9,7 +9,7 @@
 { attrPath }:
 
 let
-  url = "http://mirrors.kodi.tv/addons/nexus/addons.xml.gz";
+  url = "http://mirrors.kodi.tv/addons/omega/addons.xml.gz";
   updateScript = writeShellScript "update.sh" ''
     set -ex
 
diff --git a/pkgs/applications/video/kodi/addons/arrow/default.nix b/pkgs/applications/video/kodi/addons/arrow/default.nix
index 363b41035e000..2515ce7853fca 100644
--- a/pkgs/applications/video/kodi/addons/arrow/default.nix
+++ b/pkgs/applications/video/kodi/addons/arrow/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, typing_extensions }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, typing_extensions }:
 buildKodiAddon rec {
   pname = "arrow";
   namespace = "script.module.arrow";
   version = "1.2.3";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/script.module.arrow/script.module.arrow-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/script.module.arrow/script.module.arrow-${version}.zip";
     sha256 = "sha256-Et+9FJT1dRE1dFOrAQ70HJJcfylyLsiyay9wPJcSOXs=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/arteplussept/default.nix b/pkgs/applications/video/kodi/addons/arteplussept/default.nix
index 287735d246e76..8311a50680213 100644
--- a/pkgs/applications/video/kodi/addons/arteplussept/default.nix
+++ b/pkgs/applications/video/kodi/addons/arteplussept/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, requests, xbmcswift2 }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, requests, xbmcswift2 }:
 
 buildKodiAddon rec {
   pname = "arteplussept";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "1.4.2";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     hash = "sha256-dqxGKaOnEYOI33Aw76zbjma5z7MqOUh367dFsV87olU=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/certifi/default.nix b/pkgs/applications/video/kodi/addons/certifi/default.nix
index 13ed0c1e4585b..ecab49746a27e 100644
--- a/pkgs/applications/video/kodi/addons/certifi/default.nix
+++ b/pkgs/applications/video/kodi/addons/certifi/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, cacert }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, cacert }:
 buildKodiAddon rec {
   pname = "certifi";
   namespace = "script.module.certifi";
   version = "2023.5.7";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-NQbjx+k9fnQMYLLMR5+N5NSuDcXEzZjlhGPA3qSmjfI=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/chardet/default.nix b/pkgs/applications/video/kodi/addons/chardet/default.nix
index 5d3fd8421db96..8d385e717b8a4 100644
--- a/pkgs/applications/video/kodi/addons/chardet/default.nix
+++ b/pkgs/applications/video/kodi/addons/chardet/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 buildKodiAddon rec {
   pname = "chardet";
   namespace = "script.module.chardet";
   version = "5.1.0";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-cIQIX6LVAoGf1sBRKWonXJd3XYqGOa5WIUttabV0HeU=";
   };
 
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 30b54c2adae2e..cfaef2bb7f98e 100644
--- a/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix
+++ b/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix
@@ -14,6 +14,8 @@ let
     postPatch = ''
       # remove addons already included in the base kodi package
       rm -r addons/game.controller.default
+      rm -r addons/game.controller.keyboard
+      rm -r addons/game.controller.mouse
       rm -r addons/game.controller.snes
     '';
 
diff --git a/pkgs/applications/video/kodi/addons/dateutil/default.nix b/pkgs/applications/video/kodi/addons/dateutil/default.nix
index 9adcf3303bb5c..b0fadcf8a8622 100644
--- a/pkgs/applications/video/kodi/addons/dateutil/default.nix
+++ b/pkgs/applications/video/kodi/addons/dateutil/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, six }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, six }:
 
 buildKodiAddon rec {
   pname = "dateutil";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "2.8.2";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-iQnyS0GjYcPbnBDUxmMrmDxHOA3K8RbTVke/HF4d5u4=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/defusedxml/default.nix b/pkgs/applications/video/kodi/addons/defusedxml/default.nix
index 12a9f82e3f6e2..1c6a844e0a30a 100644
--- a/pkgs/applications/video/kodi/addons/defusedxml/default.nix
+++ b/pkgs/applications/video/kodi/addons/defusedxml/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 
 buildKodiAddon rec {
   pname = "defusedxml";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "0.6.0+matrix.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-jSl7lbFqR6hjZhHzxY69hDbs84LY3B5RYKzXnHou0Qg=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/future/default.nix b/pkgs/applications/video/kodi/addons/future/default.nix
index c8078ff36d5aa..8812fbd8f5b39 100644
--- a/pkgs/applications/video/kodi/addons/future/default.nix
+++ b/pkgs/applications/video/kodi/addons/future/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 
 buildKodiAddon rec {
   pname = "future";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "0.18.3+matrix.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-jKO2Qxi54z6UiCmMkxU+2pog40K2yb8/KYbNPFYuSsQ=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/idna/default.nix b/pkgs/applications/video/kodi/addons/idna/default.nix
index d752cb93b01ad..76a6e81b00728 100644
--- a/pkgs/applications/video/kodi/addons/idna/default.nix
+++ b/pkgs/applications/video/kodi/addons/idna/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 buildKodiAddon rec {
   pname = "idna";
   namespace = "script.module.idna";
   version = "3.4.0";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-wS1d1L18v4+RGwxDh7OpKRHB2A4qYwiq6b5mAz7l8Pk=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix
index 49afbf8507b19..677467d343965 100644
--- a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix
+++ b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, lib, rel, addonDir, buildKodiBinaryAddon, fetchFromGitHub, expat, glib, nspr, nss, gtest }:
+{ stdenv, lib, rel, addonDir, buildKodiBinaryAddon, fetchFromGitHub, pugixml, glib, nspr, nss, gtest }:
 let
   bento4 = fetchFromGitHub {
     owner = "xbmc";
     repo = "Bento4";
-    rev = "1.6.0-639-7-Omega";
-    sha256 = "sha256-d3znV88dLMbA4oUWsTZ7vS6WHOWzN7lIHgWPkR5Aixo=";
+    rev = "1.6.0-641-${rel}";
+    sha256 = "sha256-vsFMDzH8JJecYw0qWKGCxnd/m5wn62mCKE2g2HwQhwI=";
   };
 in
 buildKodiBinaryAddon rec {
   pname = "inputstream-adaptive";
   namespace = "inputstream.adaptive";
-  version = "20.3.16";
+  version = "21.4.4";
 
   src = fetchFromGitHub {
     owner = "xbmc";
     repo = "inputstream.adaptive";
     rev = "${version}-${rel}";
-    sha256 = "sha256-1OY+3pvpVW8rkj7HL84IECyHpAmWsUQ9mTzuGesH+jI=";
+    sha256 = "sha256-Nzlm1AW/nW9chQAourKF0o2FSQmsr1MNhJ4gEO0/9sM=";
   };
 
   extraCMakeFlags = [
@@ -26,7 +26,7 @@ buildKodiBinaryAddon rec {
 
   extraNativeBuildInputs = [ gtest ];
 
-  extraBuildInputs = [ expat ];
+  extraBuildInputs = [ pugixml ];
 
   extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ];
 
diff --git a/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix b/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix
index fc32568559179..ffb0a0cf83a76 100644
--- a/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix
+++ b/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix
@@ -3,13 +3,13 @@
 buildKodiBinaryAddon rec {
   pname = "inputstream-ffmpegdirect";
   namespace = "inputstream.ffmpegdirect";
-  version = "unstable-20.5.0";
+  version = "21.3.5";
 
   src = fetchFromGitHub {
     owner = "xbmc";
     repo = "inputstream.ffmpegdirect";
-    rev = rel;
-    sha256 = "sha256-+u28Wzp2TonL5jaa5WJUr9igR6KiaxizZAX9jqqBUns=";
+    rev = "${version}-${rel}";
+    sha256 = "sha256-pPufkDPHq5EsvC6YTsRX9TjqjIczOL/6Vc5HGDIe9Gk=";
   };
 
   extraBuildInputs = [ bzip2 zlib kodi.ffmpeg ];
diff --git a/pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix b/pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix
index 561ef2cc5577a..960c50ce09e7d 100644
--- a/pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix
+++ b/pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix
@@ -3,13 +3,13 @@
 buildKodiBinaryAddon rec {
   pname = "inputstream-rtmp";
   namespace = "inputstream.rtmp";
-  version = "20.3.0";
+  version = "21.1.0";
 
   src = fetchFromGitHub {
     owner = "xbmc";
     repo = "inputstream.rtmp";
     rev = "${version}-${rel}";
-    sha256 = "sha256-VF2DpQXXU+rj76e/de5YB1T7dzeOjmO0dpsPVqEnMy4=";
+    sha256 = "sha256-M6LFokWQRzBZ7inzRsMxyWzkV0XsGHh4d0CPhv1NCfI=";
   };
 
   extraBuildInputs = [ openssl rtmpdump zlib ];
diff --git a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix
index ceafe3b9c5ff5..97cc417e6bf1c 100644
--- a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix
+++ b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 buildKodiAddon rec {
   pname = "inputstreamhelper";
   namespace = "script.module.inputstreamhelper";
   version = "0.6.1+matrix.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-v5fRikswmP+KVbxYibD0NbCK8leUnFbya5EtF1FmS0I=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/invidious/default.nix b/pkgs/applications/video/kodi/addons/invidious/default.nix
index e5d26ef4a64c3..36ae8608837d2 100644
--- a/pkgs/applications/video/kodi/addons/invidious/default.nix
+++ b/pkgs/applications/video/kodi/addons/invidious/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests, inputstream-adaptive, inputstreamhelper }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, inputstream-adaptive, inputstreamhelper }:
 
 buildKodiAddon rec {
   pname = "invidious";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "0.2.6";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/plugin.video.invidious/plugin.video.invidious-${version}+nexus.0.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/plugin.video.invidious/plugin.video.invidious-${version}+nexus.0.zip";
     sha256 = "sha256-XnlnhvtHMh4uQTupW/SSOmaEV8xZrL61/6GoRpyKR0o=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/jellycon/default.nix b/pkgs/applications/video/kodi/addons/jellycon/default.nix
new file mode 100644
index 0000000000000..88e9504f8d191
--- /dev/null
+++ b/pkgs/applications/video/kodi/addons/jellycon/default.nix
@@ -0,0 +1,55 @@
+{ 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 = "jellycon";
+  namespace = "plugin.video.jellycon";
+  version = "0.8.0";
+
+  src = fetchFromGitHub {
+    owner = "jellyfin";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-60my7Y60KV5WWALQiamnmAJZJi82cV21rIGYPiV7T+A=";
+  };
+
+  nativeBuildInputs = [
+    python
+  ];
+
+  prePatch = ''
+    # ZIP does not support timestamps before 1980 - https://bugs.python.org/issue34097
+    substituteInPlace build.py \
+      --replace "with zipfile.ZipFile(f'{target}/{archive_name}', 'w') as z:" "with zipfile.ZipFile(f'{target}/{archive_name}', 'w', strict_timestamps=False) as z:"
+  '';
+
+  buildPhase = ''
+    ${python}/bin/python3 build.py --version=py3
+  '';
+
+  postInstall = ''
+    mv /build/source/addon.xml $out${addonDir}/${namespace}/
+  '';
+
+  propagatedBuildInputs = [
+    requests
+    dateutil
+    six
+    kodi-six
+    signals
+    websocket
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/jellyfin/jellycon";
+    description = "A 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
+      easily switch between multiple user accounts at will.
+    '';
+    license = licenses.gpl2Only;
+    maintainers = teams.kodi.members;
+  };
+}
diff --git a/pkgs/applications/video/kodi/addons/jellyfin/default.nix b/pkgs/applications/video/kodi/addons/jellyfin/default.nix
index 1e570ab511313..63cac3e7261cf 100644
--- a/pkgs/applications/video/kodi/addons/jellyfin/default.nix
+++ b/pkgs/applications/video/kodi/addons/jellyfin/default.nix
@@ -5,13 +5,13 @@ in
 buildKodiAddon rec {
   pname = "jellyfin";
   namespace = "plugin.video.jellyfin";
-  version = "0.7.12";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "jellyfin";
     repo = "jellyfin-kodi";
     rev = "v${version}";
-    sha256 = "sha256-m8msTBim4Ss8XaYqIn6GWXxoCio5ABbqhhgyb1T/Yhg=";
+    sha256 = "sha256-i9lRPMHniUmKTeNSzgp6dF11uYOcjH3PgJEa+Jasx68=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/kodi/addons/keymap/default.nix b/pkgs/applications/video/kodi/addons/keymap/default.nix
index ff710cdedef3d..154bbd6b3c1e5 100644
--- a/pkgs/applications/video/kodi/addons/keymap/default.nix
+++ b/pkgs/applications/video/kodi/addons/keymap/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, defusedxml, kodi-six }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, defusedxml, kodi-six }:
 
 buildKodiAddon rec {
   pname = "keymap";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "1.1.5";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-wSztipTEGIqw1icsz+ziNxYuRZOFt3C66T1Ifap/ta0=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/kodi-six/default.nix b/pkgs/applications/video/kodi/addons/kodi-six/default.nix
index 638b7c3b500b8..a9c7547aa3715 100644
--- a/pkgs/applications/video/kodi/addons/kodi-six/default.nix
+++ b/pkgs/applications/video/kodi/addons/kodi-six/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 
 buildKodiAddon rec {
   pname = "kodi-six";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "0.1.3.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-nWz5CPoE0uVsZvWjI4q6y4ZKUnraTjTXLSJ1mK4YopI=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/mediacccde/default.nix b/pkgs/applications/video/kodi/addons/mediacccde/default.nix
index 9c09078557edc..a0d334633fe1d 100644
--- a/pkgs/applications/video/kodi/addons/mediacccde/default.nix
+++ b/pkgs/applications/video/kodi/addons/mediacccde/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests, routing }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, routing }:
 
 buildKodiAddon rec {
   pname = "media.ccc.de";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "0.3.0+matrix.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/plugin.video.media-ccc-de/plugin.video.media-ccc-de-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/plugin.video.media-ccc-de/plugin.video.media-ccc-de-${version}.zip";
     hash = "sha256-T8J2HtPVDfaPU0gZEa0xVBzwjNInxkRFCCSxS53QhmU=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/myconnpy/default.nix b/pkgs/applications/video/kodi/addons/myconnpy/default.nix
index dac308ab5837d..a162e844ed55d 100644
--- a/pkgs/applications/video/kodi/addons/myconnpy/default.nix
+++ b/pkgs/applications/video/kodi/addons/myconnpy/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 buildKodiAddon rec {
   pname = "myconnpy";
   namespace = "script.module.myconnpy";
   version = "8.0.33";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-NlLMq9RAdWu8rVsMc0FDe1HmQiVp5T7iBXbIH7HB5bI=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/netflix/default.nix b/pkgs/applications/video/kodi/addons/netflix/default.nix
index 2bff3b6d19b31..3b3aa97d53432 100644
--- a/pkgs/applications/video/kodi/addons/netflix/default.nix
+++ b/pkgs/applications/video/kodi/addons/netflix/default.nix
@@ -3,13 +3,13 @@
 buildKodiAddon rec {
   pname = "netflix";
   namespace = "plugin.video.netflix";
-  version = "1.23.2";
+  version = "1.23.3";
 
   src = fetchFromGitHub {
     owner = "CastagnaIT";
     repo = namespace;
     rev = "v${version}";
-    hash = "sha256-/wHKwFZbuxK0iwlqvZpyfi0lnRkjm/HSn221IgCN7VQ=";
+    hash = "sha256-tve7E7dK60BIHETdwt9hD3/5eEdJB6c6rhw4oDoLAKM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/kodi/addons/osmc-skin/default.nix b/pkgs/applications/video/kodi/addons/osmc-skin/default.nix
index 901d1d65716c5..71e0e1744b787 100644
--- a/pkgs/applications/video/kodi/addons/osmc-skin/default.nix
+++ b/pkgs/applications/video/kodi/addons/osmc-skin/default.nix
@@ -17,5 +17,7 @@ buildKodiAddon rec {
     platforms = platforms.all;
     maintainers = with maintainers; [ ];
     license = licenses.cc-by-nc-sa-30;
+
+    broken = true; # no release for kodi 21
   };
 }
diff --git a/pkgs/applications/video/kodi/addons/radioparadise/default.nix b/pkgs/applications/video/kodi/addons/radioparadise/default.nix
index bb556e9ec8226..45e0e845acb74 100644
--- a/pkgs/applications/video/kodi/addons/radioparadise/default.nix
+++ b/pkgs/applications/video/kodi/addons/radioparadise/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests }:
 
 buildKodiAddon rec {
   pname = "radioparadise";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "2.0.0";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/script.radioparadise/script.radioparadise-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/script.radioparadise/script.radioparadise-${version}.zip";
     sha256 = "sha256-eRCP0XMQHmyDrZ8Y6RGFfxQ1r26/bWbE/PJz4PET7D8=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/requests-cache/default.nix b/pkgs/applications/video/kodi/addons/requests-cache/default.nix
index 6800ecde832ad..3a71019d9ccbd 100644
--- a/pkgs/applications/video/kodi/addons/requests-cache/default.nix
+++ b/pkgs/applications/video/kodi/addons/requests-cache/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests }:
 buildKodiAddon rec {
   pname = "requests-cache";
   namespace = "script.module.requests-cache";
   version = "0.5.2+matrix.2";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-6M/v/ghS2TnSZhG8bREjxfEfcfLOmvA6hgsa7JUk9Dk=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/requests/default.nix b/pkgs/applications/video/kodi/addons/requests/default.nix
index e21dac1ef3a05..4950d63608eb3 100644
--- a/pkgs/applications/video/kodi/addons/requests/default.nix
+++ b/pkgs/applications/video/kodi/addons/requests/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, certifi, chardet, idna, urllib3 }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, certifi, chardet, idna, urllib3 }:
 buildKodiAddon rec {
   pname = "requests";
   namespace = "script.module.requests";
   version = "2.31.0";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-05BSD5aoN2CTnjqaSKYMb93j5nIfLvpJHyeQsK++sTw=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/routing/default.nix b/pkgs/applications/video/kodi/addons/routing/default.nix
index a96c16b8629c2..9c87c69e9912e 100644
--- a/pkgs/applications/video/kodi/addons/routing/default.nix
+++ b/pkgs/applications/video/kodi/addons/routing/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 buildKodiAddon rec {
   pname = "routing";
   namespace = "script.module.routing";
   version = "0.2.3+matrix.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-piPmY8Q3NyIeImmkYhDwmQhBiwwcV0X532xV1DogF+I=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/signals/default.nix b/pkgs/applications/video/kodi/addons/signals/default.nix
index 4d84bcafeeef2..9f7496f3c4ca8 100644
--- a/pkgs/applications/video/kodi/addons/signals/default.nix
+++ b/pkgs/applications/video/kodi/addons/signals/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 buildKodiAddon rec {
   pname = "signals";
   namespace = "script.module.addon.signals";
   version = "0.0.6+matrix.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-WsLR7iUh5F+LXMISBpWx71dLAtg/AMYF6BsiyKZakuE=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/simplejson/default.nix b/pkgs/applications/video/kodi/addons/simplejson/default.nix
index b0a04402d3b15..2889e38e960f1 100644
--- a/pkgs/applications/video/kodi/addons/simplejson/default.nix
+++ b/pkgs/applications/video/kodi/addons/simplejson/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 
 buildKodiAddon rec {
   pname = "simplejson";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "3.19.1+matrix.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-RJy75WAr0XmXnSrPjqKhFjWJnWo3c5IEtUGumcE/mRo=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/six/default.nix b/pkgs/applications/video/kodi/addons/six/default.nix
index 5ce4817eae3bd..80bbefe39a113 100644
--- a/pkgs/applications/video/kodi/addons/six/default.nix
+++ b/pkgs/applications/video/kodi/addons/six/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 
 buildKodiAddon rec {
   pname = "six";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "1.16.0+matrix.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-d6BNpnTg6K7NPX3uWp5X0rog33C+B7YoAtLH/CrUYno=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/somafm/default.nix b/pkgs/applications/video/kodi/addons/somafm/default.nix
index 4ffc69791298b..e2d5ca38bf443 100644
--- a/pkgs/applications/video/kodi/addons/somafm/default.nix
+++ b/pkgs/applications/video/kodi/addons/somafm/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 
 buildKodiAddon rec {
   pname = "somafm";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "2.0.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/plugin.audio.somafm/plugin.audio.somafm-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/plugin.audio.somafm/plugin.audio.somafm-${version}.zip";
     sha256 = "sha256-auPLm7QFabU4tXJPjTl17KpE+lqWM2Edbd2HrXPRx40=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/svtplay/default.nix b/pkgs/applications/video/kodi/addons/svtplay/default.nix
index 7cc94bc435a51..8c12ac47ca3fc 100644
--- a/pkgs/applications/video/kodi/addons/svtplay/default.nix
+++ b/pkgs/applications/video/kodi/addons/svtplay/default.nix
@@ -23,5 +23,7 @@ buildKodiAddon rec {
     platforms = platforms.all;
     license = licenses.gpl3Plus;
     maintainers = teams.kodi.members;
+
+    broken = true; # no release for kodi 21
   };
 }
diff --git a/pkgs/applications/video/kodi/addons/trakt-module/default.nix b/pkgs/applications/video/kodi/addons/trakt-module/default.nix
index 1c9680147cb52..37816f89e3630 100644
--- a/pkgs/applications/video/kodi/addons/trakt-module/default.nix
+++ b/pkgs/applications/video/kodi/addons/trakt-module/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests, six, arrow }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, six, arrow }:
 buildKodiAddon rec {
   pname = "trakt-module";
   namespace = "script.module.trakt";
   version = "4.4.0+matrix.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-6JIAQwot5VZ36gvQym88BD/e/mSyS8WO8VqkPn2GcqY=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/trakt/default.nix b/pkgs/applications/video/kodi/addons/trakt/default.nix
index 64113cb0139ba..bf360072becc4 100644
--- a/pkgs/applications/video/kodi/addons/trakt/default.nix
+++ b/pkgs/applications/video/kodi/addons/trakt/default.nix
@@ -1,12 +1,12 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, trakt-module, dateutil }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, trakt-module, dateutil }:
 buildKodiAddon rec {
   pname = "trakt";
   namespace = "script.trakt";
-  version = "3.5.0";
+  version = "3.6.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
-    sha256 = "sha256-OyU6S5r/y3vqW6Wg6OP0+Zn4YchBy8x1i++hzCQHyx0=";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
+    sha256 = "sha256-ZlBucYYRA1cL5c0H1jhXeKE1itReZe2gAJYFFxuUebo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/kodi/addons/typing_extensions/default.nix b/pkgs/applications/video/kodi/addons/typing_extensions/default.nix
index fd52528b7ca01..d2fc31c99bcd2 100644
--- a/pkgs/applications/video/kodi/addons/typing_extensions/default.nix
+++ b/pkgs/applications/video/kodi/addons/typing_extensions/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 buildKodiAddon rec {
   pname = "typing_extensions";
   namespace = "script.module.typing_extensions";
   version = "4.7.1";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-bCGPl5fGVyptCenpNXP/Msi7hu+UdtZd2ms7MfzbsbM=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/urllib3/default.nix b/pkgs/applications/video/kodi/addons/urllib3/default.nix
index 8d13052b950ea..9cfc54797e875 100644
--- a/pkgs/applications/video/kodi/addons/urllib3/default.nix
+++ b/pkgs/applications/video/kodi/addons/urllib3/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
 
 buildKodiAddon rec {
   pname = "urllib3";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "2.1.0";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-UCvkeguxytPoP1gIIt8N79TVs98ATzsfrRSabtbgnGc=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/websocket/default.nix b/pkgs/applications/video/kodi/addons/websocket/default.nix
index c2bbe9de09b68..6d0ecc55aa05a 100644
--- a/pkgs/applications/video/kodi/addons/websocket/default.nix
+++ b/pkgs/applications/video/kodi/addons/websocket/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildKodiAddon, fetchzip, addonUpdateScript, six, addonDir }:
+{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, six, addonDir }:
 
 buildKodiAddon rec {
   pname = "websocket";
@@ -6,7 +6,7 @@ buildKodiAddon rec {
   version = "1.6.4";
 
   src = fetchzip {
-    url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
+    url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
     sha256 = "sha256-1Wy+hxB059UoZnQlncytVT3sQ07dYAhNRnW3/QVD4ZE=";
   };
 
diff --git a/pkgs/applications/video/kodi/addons/youtube/default.nix b/pkgs/applications/video/kodi/addons/youtube/default.nix
index 83afc51053ba8..d98acd70ac5c4 100644
--- a/pkgs/applications/video/kodi/addons/youtube/default.nix
+++ b/pkgs/applications/video/kodi/addons/youtube/default.nix
@@ -3,13 +3,13 @@
 buildKodiAddon rec {
   pname = "youtube";
   namespace = "plugin.video.youtube";
-  version = "7.0.3.2";
+  version = "7.0.5";
 
   src = fetchFromGitHub {
     owner = "anxdpanic";
     repo = "plugin.video.youtube";
     rev = "v${version}";
-    hash = "sha256-gJ7RGB0pSG/iLdpmXHpQOoQTisXnMl1Mgd0KYFgg2qI=";
+    hash = "sha256-oM1n0Rye2QagxXoAZ/6mXKeGqKjEdewgS79lhp+yCQI=";
   };
 
   propagatedBuildInputs = [