From 4ec32d1ba344253edb654567df4b0a2794d4fd7e Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sat, 18 Dec 2021 22:34:47 -0300 Subject: kodi: move kodi-packages/ to kodi/addons/ --- .../video/kodi/addons/a4ksubtitles/default.nix | 26 +++++++++++ .../kodi/addons/addon-update-script/default.nix | 23 ++++++++++ .../video/kodi/addons/archive_tool/default.nix | 28 ++++++++++++ .../video/kodi/addons/certifi/default.nix | 25 +++++++++++ .../video/kodi/addons/chardet/default.nix | 25 +++++++++++ .../video/kodi/addons/controllers/default.nix | 22 ++++++++++ .../video/kodi/addons/dateutil/default.nix | 30 +++++++++++++ .../video/kodi/addons/defusedxml/default.nix | 26 +++++++++++ .../video/kodi/addons/iagl/default.nix | 30 +++++++++++++ .../video/kodi/addons/idna/default.nix | 25 +++++++++++ .../kodi/addons/inputstream-adaptive/default.nix | 31 ++++++++++++++ .../addons/inputstream-ffmpegdirect/default.nix | 24 +++++++++++ .../video/kodi/addons/inputstream-rtmp/default.nix | 24 +++++++++++ .../kodi/addons/inputstreamhelper/default.nix | 25 +++++++++++ .../video/kodi/addons/jellyfin/default.nix | 50 ++++++++++++++++++++++ .../video/kodi/addons/joystick/default.nix | 22 ++++++++++ .../video/kodi/addons/keymap/default.nix | 24 +++++++++++ .../video/kodi/addons/kodi-platform/default.nix | 15 +++++++ .../video/kodi/addons/kodi-six/default.nix | 26 +++++++++++ .../video/kodi/addons/libretro-genplus/default.nix | 31 ++++++++++++++ .../video/kodi/addons/libretro-mgba/default.nix | 31 ++++++++++++++ .../video/kodi/addons/libretro-snes9x/default.nix | 31 ++++++++++++++ .../video/kodi/addons/libretro/default.nix | 24 +++++++++++ .../video/kodi/addons/myconnpy/default.nix | 25 +++++++++++ .../video/kodi/addons/netflix/default.nix | 29 +++++++++++++ .../video/kodi/addons/osmc-skin/default.nix | 21 +++++++++ .../video/kodi/addons/pdfreader/default.nix | 22 ++++++++++ .../video/kodi/addons/pvr-hdhomerun/default.nix | 23 ++++++++++ .../video/kodi/addons/pvr-hts/default.nix | 21 +++++++++ .../video/kodi/addons/pvr-iptvsimple/default.nix | 36 ++++++++++++++++ .../video/kodi/addons/requests-cache/default.nix | 29 +++++++++++++ .../video/kodi/addons/requests/default.nix | 32 ++++++++++++++ .../video/kodi/addons/routing/default.nix | 25 +++++++++++ .../video/kodi/addons/signals/default.nix | 25 +++++++++++ .../applications/video/kodi/addons/six/default.nix | 23 ++++++++++ .../video/kodi/addons/steam-controller/default.nix | 21 +++++++++ .../video/kodi/addons/steam-launcher/default.nix | 29 +++++++++++++ .../video/kodi/addons/steam-library/default.nix | 27 ++++++++++++ .../video/kodi/addons/svtplay/default.nix | 27 ++++++++++++ .../video/kodi/addons/urllib3/default.nix | 25 +++++++++++ .../video/kodi/addons/vfs-libarchive/default.nix | 22 ++++++++++ .../video/kodi/addons/vfs-sftp/default.nix | 22 ++++++++++ .../video/kodi/addons/websocket/default.nix | 30 +++++++++++++ .../video/kodi/addons/youtube/default.nix | 32 ++++++++++++++ 44 files changed, 1164 insertions(+) create mode 100644 pkgs/applications/video/kodi/addons/a4ksubtitles/default.nix create mode 100644 pkgs/applications/video/kodi/addons/addon-update-script/default.nix create mode 100644 pkgs/applications/video/kodi/addons/archive_tool/default.nix create mode 100644 pkgs/applications/video/kodi/addons/certifi/default.nix create mode 100644 pkgs/applications/video/kodi/addons/chardet/default.nix create mode 100644 pkgs/applications/video/kodi/addons/controllers/default.nix create mode 100644 pkgs/applications/video/kodi/addons/dateutil/default.nix create mode 100644 pkgs/applications/video/kodi/addons/defusedxml/default.nix create mode 100644 pkgs/applications/video/kodi/addons/iagl/default.nix create mode 100644 pkgs/applications/video/kodi/addons/idna/default.nix create mode 100644 pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix create mode 100644 pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix create mode 100644 pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix create mode 100644 pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix create mode 100644 pkgs/applications/video/kodi/addons/jellyfin/default.nix create mode 100644 pkgs/applications/video/kodi/addons/joystick/default.nix create mode 100644 pkgs/applications/video/kodi/addons/keymap/default.nix create mode 100644 pkgs/applications/video/kodi/addons/kodi-platform/default.nix create mode 100644 pkgs/applications/video/kodi/addons/kodi-six/default.nix create mode 100644 pkgs/applications/video/kodi/addons/libretro-genplus/default.nix create mode 100644 pkgs/applications/video/kodi/addons/libretro-mgba/default.nix create mode 100644 pkgs/applications/video/kodi/addons/libretro-snes9x/default.nix create mode 100644 pkgs/applications/video/kodi/addons/libretro/default.nix create mode 100644 pkgs/applications/video/kodi/addons/myconnpy/default.nix create mode 100644 pkgs/applications/video/kodi/addons/netflix/default.nix create mode 100644 pkgs/applications/video/kodi/addons/osmc-skin/default.nix create mode 100644 pkgs/applications/video/kodi/addons/pdfreader/default.nix create mode 100644 pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix create mode 100644 pkgs/applications/video/kodi/addons/pvr-hts/default.nix create mode 100644 pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix create mode 100644 pkgs/applications/video/kodi/addons/requests-cache/default.nix create mode 100644 pkgs/applications/video/kodi/addons/requests/default.nix create mode 100644 pkgs/applications/video/kodi/addons/routing/default.nix create mode 100644 pkgs/applications/video/kodi/addons/signals/default.nix create mode 100644 pkgs/applications/video/kodi/addons/six/default.nix create mode 100644 pkgs/applications/video/kodi/addons/steam-controller/default.nix create mode 100644 pkgs/applications/video/kodi/addons/steam-launcher/default.nix create mode 100644 pkgs/applications/video/kodi/addons/steam-library/default.nix create mode 100644 pkgs/applications/video/kodi/addons/svtplay/default.nix create mode 100644 pkgs/applications/video/kodi/addons/urllib3/default.nix create mode 100644 pkgs/applications/video/kodi/addons/vfs-libarchive/default.nix create mode 100644 pkgs/applications/video/kodi/addons/vfs-sftp/default.nix create mode 100644 pkgs/applications/video/kodi/addons/websocket/default.nix create mode 100644 pkgs/applications/video/kodi/addons/youtube/default.nix (limited to 'pkgs/applications/video/kodi/addons') diff --git a/pkgs/applications/video/kodi/addons/a4ksubtitles/default.nix b/pkgs/applications/video/kodi/addons/a4ksubtitles/default.nix new file mode 100644 index 0000000000000..9c62198cb0f3a --- /dev/null +++ b/pkgs/applications/video/kodi/addons/a4ksubtitles/default.nix @@ -0,0 +1,26 @@ +{ lib, buildKodiAddon, fetchFromGitHub, requests, vfs-libarchive }: + +buildKodiAddon rec { + pname = "a4ksubtitles"; + namespace = "service.subtitles.a4ksubtitles"; + version = "2.8.0"; + + src = fetchFromGitHub { + owner = "a4k-openproject"; + repo = "a4kSubtitles"; + rev = "${namespace}/${namespace}-${version}"; + sha256 = "0fg5mcvxdc3hqybp1spy7d1nnqirwhcvrblbwksikym9m3qgw2m5"; + }; + + propagatedBuildInputs = [ + requests + vfs-libarchive + ]; + + meta = with lib; { + homepage = "https://a4k-openproject.github.io/a4kSubtitles/"; + description = "Multi-Source Subtitles Addon"; + license = licenses.mit; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/addon-update-script/default.nix b/pkgs/applications/video/kodi/addons/addon-update-script/default.nix new file mode 100644 index 0000000000000..17c1d45783fa0 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/addon-update-script/default.nix @@ -0,0 +1,23 @@ +{ writeShellScript +, nix +, curl +, gzip +, xmlstarlet +, common-updater-scripts +}: + +{ attrPath }: + +let + url = "http://mirrors.kodi.tv/addons/matrix/addons.xml.gz"; + updateScript = writeShellScript "update.sh" '' + set -ex + + attrPath=$1 + namespace=$(${nix}/bin/nix-instantiate $systemArg --eval -E "with import ./. {}; $attrPath.namespace" | tr -d '"') + version=$(${curl}/bin/curl -s -L ${url} | ${gzip}/bin/gunzip -c | ${xmlstarlet}/bin/xml select -T -t -m "//addons/addon[@id='$namespace']" -v @version) + + ${common-updater-scripts}/bin/update-source-version "$attrPath" "$version" + ''; +in + [ updateScript attrPath ] diff --git a/pkgs/applications/video/kodi/addons/archive_tool/default.nix b/pkgs/applications/video/kodi/addons/archive_tool/default.nix new file mode 100644 index 0000000000000..4788556a8793a --- /dev/null +++ b/pkgs/applications/video/kodi/addons/archive_tool/default.nix @@ -0,0 +1,28 @@ +{ lib, buildKodiAddon, fetchFromGitHub, vfs-libarchive }: +buildKodiAddon rec { + pname = "archive_tool"; + namespace = "script.module.archive_tool"; + version = "2.0.3"; + + src = fetchFromGitHub { + owner = "zach-morris"; + repo = "script.module.archive_tool"; + rev = version; + sha256 = "0hbkyk59xxfjv6vzfjplahmqxi5564qjlwyq6k8ijy6jjcwnd3p7"; + }; + + propagatedBuildInputs = [ + vfs-libarchive + ]; + + passthru = { + pythonPath = "lib"; + }; + + 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"; + license = licenses.gpl3Plus; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/certifi/default.nix b/pkgs/applications/video/kodi/addons/certifi/default.nix new file mode 100644 index 0000000000000..1088f560adf90 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/certifi/default.nix @@ -0,0 +1,25 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript }: +buildKodiAddon rec { + pname = "certifi"; + namespace = "script.module.certifi"; + version = "2020.12.05+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "1z49b8va7wdyr714c8ixb2sldi0igffcjj3xpbmga58ph0z985vy"; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.certifi"; + }; + }; + + meta = with lib; { + homepage = "https://certifi.io"; + description = "Python package for providing Mozilla's CA Bundle"; + license = licenses.mpl20; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/chardet/default.nix b/pkgs/applications/video/kodi/addons/chardet/default.nix new file mode 100644 index 0000000000000..fe482447cfa3e --- /dev/null +++ b/pkgs/applications/video/kodi/addons/chardet/default.nix @@ -0,0 +1,25 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript }: +buildKodiAddon rec { + pname = "chardet"; + namespace = "script.module.chardet"; + version = "4.0.0+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "1jsd165mb1b8jdan2jbjd3y3xa0xam2cxcccmwazkybpa0r6a7dj"; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.chardet"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/Freso/script.module.chardet"; + description = "Universal encoding detector"; + license = licenses.lgpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/controllers/default.nix b/pkgs/applications/video/kodi/addons/controllers/default.nix new file mode 100644 index 0000000000000..825ad5d53fc40 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/controllers/default.nix @@ -0,0 +1,22 @@ +{ lib, buildKodiAddon, fetchFromGitHub, controller }: +buildKodiAddon rec { + pname = "game-controller-${controller}"; + namespace = "game.controller.${controller}"; + version = "1.0.3"; + + sourceDir = "addons/" + namespace; + + src = fetchFromGitHub { + owner = "kodi-game"; + repo = "kodi-game-controllers"; + rev = "01acb5b6e8b85392b3cb298b034aadb1b24ccf18"; + sha256 = "0sbc0w0fwbp7rbmbgb6a1kglhnn5g85hijcbbvf5x6jdq9v3f1qb"; + }; + + meta = with lib; { + description = "Add support for different gaming controllers."; + platforms = platforms.all; + license = licenses.odbl; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/dateutil/default.nix b/pkgs/applications/video/kodi/addons/dateutil/default.nix new file mode 100644 index 0000000000000..54a22cedf9058 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/dateutil/default.nix @@ -0,0 +1,30 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript, six }: + +buildKodiAddon rec { + pname = "dateutil"; + namespace = "script.module.dateutil"; + version = "2.8.1+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "1jr77017ihs7j3455i72af71wyvs792kbizq4539ccd98far8lm7"; + }; + + propagatedBuildInputs = [ + six + ]; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.dateutil"; + }; + }; + + meta = with lib; { + homepage = "https://dateutil.readthedocs.io/en/stable/"; + description = "Extensions to the standard Python datetime module"; + license = with licenses; [ asl20 bsd3 ]; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/defusedxml/default.nix b/pkgs/applications/video/kodi/addons/defusedxml/default.nix new file mode 100644 index 0000000000000..11738065ff601 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/defusedxml/default.nix @@ -0,0 +1,26 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript }: + +buildKodiAddon rec { + pname = "defusedxml"; + namespace = "script.module.defusedxml"; + version = "0.6.0+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "026i5rx9rmxcc18ixp6qhbryqdl4pn7cbwqicrishivan6apnacd"; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.defusedxml"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/tiran/defusedxml"; + description = "defusing XML bombs and other exploits"; + license = licenses.psfl; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/iagl/default.nix b/pkgs/applications/video/kodi/addons/iagl/default.nix new file mode 100644 index 0000000000000..8ca0abdf960b9 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/iagl/default.nix @@ -0,0 +1,30 @@ +{ lib, buildKodiAddon, fetchFromGitHub, fetchzip, dateutil, requests, routing, vfs-libarchive, archive_tool, youtube }: + +buildKodiAddon rec { + pname = "iagl"; + namespace = "plugin.program.iagl"; + version = "1101521-2"; + + src = fetchFromGitHub { + owner = "zach-morris"; + repo = "plugin.program.iagl"; + rev = "30e82eec1a909b31767f0e298cf77fc970b256d3"; + sha256 = "11y05i5f7lzik23w2kr52jdgr8db3gin8i683sy1hzxlmplk4699"; + }; + + propagatedBuildInputs = [ + dateutil + requests + routing + vfs-libarchive + archive_tool + youtube + ]; + + meta = with lib; { + homepage = "https://github.com/zach-morris/plugin.program.iagl"; + description = "Launch Games from the Internet using Kodi"; + license = licenses.gpl3Plus; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/idna/default.nix b/pkgs/applications/video/kodi/addons/idna/default.nix new file mode 100644 index 0000000000000..01f16696faeec --- /dev/null +++ b/pkgs/applications/video/kodi/addons/idna/default.nix @@ -0,0 +1,25 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript }: +buildKodiAddon rec { + pname = "idna"; + namespace = "script.module.idna"; + version = "2.10.0+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "0pm86m8kh2p0brps3xzxcmmabvb4izkglzkj8dsn33br3vlc7cm7"; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.idna"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/Freso/script.module.idna"; + description = "Internationalized Domain Names for Python"; + license = licenses.bsd3; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix new file mode 100644 index 0000000000000..e029bd9742956 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix @@ -0,0 +1,31 @@ +{ stdenv, lib, rel, addonDir, buildKodiBinaryAddon, fetchFromGitHub, expat, glib, nspr, nss, gtest }: +buildKodiBinaryAddon rec { + pname = "inputstream-adaptive"; + namespace = "inputstream.adaptive"; + version = "19.0.0"; + + src = fetchFromGitHub { + owner = "xbmc"; + repo = "inputstream.adaptive"; + rev = "${version}-${rel}"; + sha256 = "sha256-o3tiNEVc17RIlEgf3V2oOK04da0DpmexT9m8m/xtI4I="; + }; + + extraNativeBuildInputs = [ gtest ]; + + extraBuildInputs = [ expat ]; + + extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ]; + + extraInstallPhase = let n = namespace; in '' + ln -s $out/lib/addons/${n}/libssd_wv.so $out/${addonDir}/${n}/libssd_wv.so + ''; + + meta = with lib; { + homepage = "https://github.com/xbmc/inputstream.adaptive"; + description = "Kodi inputstream addon for several manifest types"; + platforms = platforms.all; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix b/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix new file mode 100644 index 0000000000000..313456bbfa7cf --- /dev/null +++ b/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix @@ -0,0 +1,24 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, kodi, bzip2, zlib }: + +buildKodiBinaryAddon rec { + pname = "inputstream-ffmpegdirect"; + namespace = "inputstream.ffmpegdirect"; + version = "19.0.0"; + + src = fetchFromGitHub { + owner = "xbmc"; + repo = "inputstream.ffmpegdirect"; + rev = "${version}-${rel}"; + sha256 = "sha256-qdN2tmwS6uD9wrHnKC3iNvHnA2WlJAoNhdwvw16/L0U="; + }; + + extraBuildInputs = [ bzip2 zlib kodi.ffmpeg ]; + + meta = with lib; { + homepage = "https://github.com/xbmc/inputstream.ffmpegdirect/"; + description = "InputStream Client for streams that can be opened by either FFmpeg's libavformat or Kodi's cURL"; + platforms = platforms.all; + license = licenses.gpl2Plus; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix b/pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix new file mode 100644 index 0000000000000..eb53aee68bb42 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/inputstream-rtmp/default.nix @@ -0,0 +1,24 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, openssl, rtmpdump, zlib }: + +buildKodiBinaryAddon rec { + pname = "inputstream-rtmp"; + namespace = "inputstream.rtmp"; + version = "19.0.0"; + + src = fetchFromGitHub { + owner = "xbmc"; + repo = "inputstream.rtmp"; + rev = "${version}-${rel}"; + sha256 = "sha256-76yGttcLJJ5XJKsFJ3GnEuPs9+9J0Tr8Znm45676OI8="; + }; + + extraBuildInputs = [ openssl rtmpdump zlib ]; + + meta = with lib; { + homepage = "https://github.com/xbmc/inputstream.rtmp/"; + description = "Client for RTMP streams"; + platforms = platforms.all; + license = licenses.gpl2Plus; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix new file mode 100644 index 0000000000000..7698e6619d91c --- /dev/null +++ b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix @@ -0,0 +1,25 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript }: +buildKodiAddon rec { + pname = "inputstreamhelper"; + namespace = "script.module.inputstreamhelper"; + version = "0.5.8+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "xdsUzmz8ji9JcYLEUFWwvXq0Oig5i08VPQD93K8R9hk="; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.inputstreamhelper"; + }; + }; + + 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"; + license = licenses.mit; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/jellyfin/default.nix b/pkgs/applications/video/kodi/addons/jellyfin/default.nix new file mode 100644 index 0000000000000..59aaa2e8b2613 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/jellyfin/default.nix @@ -0,0 +1,50 @@ +{ 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 = "0.7.7"; + + src = fetchFromGitHub { + owner = "jellyfin"; + repo = "jellyfin-kodi"; + rev = "v${version}"; + sha256 = "06glhnpayldficvvhlkbxg7zizl2wqms66fnc3p63nm3y7mqa9dd"; + }; + + 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:" + ''; + + 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://jellyfin.org/"; + description = "A 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/joystick/default.nix b/pkgs/applications/video/kodi/addons/joystick/default.nix new file mode 100644 index 0000000000000..a1b9c3eeeefdb --- /dev/null +++ b/pkgs/applications/video/kodi/addons/joystick/default.nix @@ -0,0 +1,22 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, tinyxml, udev }: +buildKodiBinaryAddon rec { + pname = namespace; + namespace = "peripheral.joystick"; + version = "1.7.1"; + + src = fetchFromGitHub { + owner = "xbmc"; + repo = namespace; + rev = "${version}-${rel}"; + sha256 = "1dhj4afr9kj938xx70fq5r409mz6lbw4n581ljvdjj9lq7akc914"; + }; + + extraBuildInputs = [ tinyxml udev ]; + + meta = with lib; { + 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 new file mode 100644 index 0000000000000..d7b45485d6837 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/keymap/default.nix @@ -0,0 +1,24 @@ +{ lib, addonDir, buildKodiAddon, fetchzip, defusedxml, kodi-six }: + +buildKodiAddon rec { + pname = "keymap"; + namespace = "script.keymap"; + version = "1.1.3+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "1icrailzpf60nw62xd0khqdp66dnr473m2aa9wzpmkk3qj1ay6jv"; + }; + + propagatedBuildInputs = [ + defusedxml + kodi-six + ]; + + 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"; + license = licenses.gpl3Plus; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/kodi-platform/default.nix b/pkgs/applications/video/kodi/addons/kodi-platform/default.nix new file mode 100644 index 0000000000000..6d458f7377d72 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/kodi-platform/default.nix @@ -0,0 +1,15 @@ +{ stdenv, fetchFromGitHub, cmake, kodi, libcec_platform, tinyxml }: +stdenv.mkDerivation rec { + pname = "kodi-platform"; + version = "17.1"; + + src = fetchFromGitHub { + owner = "xbmc"; + repo = pname; + rev = "c8188d82678fec6b784597db69a68e74ff4986b5"; + sha256 = "1r3gs3c6zczmm66qcxh9mr306clwb3p7ykzb70r3jv5jqggiz199"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ kodi libcec_platform tinyxml ]; +} diff --git a/pkgs/applications/video/kodi/addons/kodi-six/default.nix b/pkgs/applications/video/kodi/addons/kodi-six/default.nix new file mode 100644 index 0000000000000..24404ef349e28 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/kodi-six/default.nix @@ -0,0 +1,26 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript }: + +buildKodiAddon rec { + pname = "kodi-six"; + namespace = "script.module.kodi-six"; + version = "0.1.3.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "14m232p9hx925pbk8knsg994m1nbpa5278zmcrnfblh4z84gjv4x"; + }; + + passthru = { + pythonPath = "libs"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.kodi-six"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/romanvm/kodi.six"; + description = "Wrappers around Kodi Python API for seamless Python 2/3 compatibility"; + license = licenses.gpl3Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/libretro-genplus/default.nix b/pkgs/applications/video/kodi/addons/libretro-genplus/default.nix new file mode 100644 index 0000000000000..064375107e26e --- /dev/null +++ b/pkgs/applications/video/kodi/addons/libretro-genplus/default.nix @@ -0,0 +1,31 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libretro, genesis-plus-gx }: + +buildKodiBinaryAddon rec { + pname = "kodi-libretro-genplus"; + namespace = "game.libretro.genplus"; + version = "1.7.4.31"; + + src = fetchFromGitHub { + owner = "kodi-game"; + repo = "game.libretro.genplus"; + rev = "${version}-${rel}"; + sha256 = "0lcii32wzpswjjkwhv250l238g31akr66dhkbv8gj4v1i4z7hry8"; + }; + + extraCMakeFlags = [ + "-DGENPLUS_LIB=${genesis-plus-gx}/lib/retroarch/cores/genesis_plus_gx_libretro.so" + ]; + + extraBuildInputs = [ genesis-plus-gx ]; + propagatedBuildInputs = [ + libretro + ]; + + meta = with lib; { + homepage = "https://github.com/kodi-game/game.libretro.genplus"; + description = "Genesis Plus GX GameClient for Kodi"; + platforms = platforms.all; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/libretro-mgba/default.nix b/pkgs/applications/video/kodi/addons/libretro-mgba/default.nix new file mode 100644 index 0000000000000..a58f1c51b295f --- /dev/null +++ b/pkgs/applications/video/kodi/addons/libretro-mgba/default.nix @@ -0,0 +1,31 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libretro, mgba }: + +buildKodiBinaryAddon rec { + pname = "kodi-libretro-mgba"; + namespace = "game.libretro.mgba"; + version = "0.9.2.31"; + + src = fetchFromGitHub { + owner = "kodi-game"; + repo = "game.libretro.mgba"; + rev = "${version}-${rel}"; + sha256 = "sha256-eZLuNhLwMTtzpLGkymc9cLC83FQJWZ2ZT0iyz4sY4EA="; + }; + + extraCMakeFlags = [ + "-DMGBA_LIB=${mgba}/lib/retroarch/cores/mgba_libretro.so" + ]; + + extraBuildInputs = [ mgba ]; + propagatedBuildInputs = [ + libretro + ]; + + meta = with lib; { + homepage = "https://github.com/kodi-game/game.libretro.mgba"; + description = "mGBA for Kodi"; + platforms = platforms.all; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/libretro-snes9x/default.nix b/pkgs/applications/video/kodi/addons/libretro-snes9x/default.nix new file mode 100644 index 0000000000000..640aec3d49714 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/libretro-snes9x/default.nix @@ -0,0 +1,31 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libretro, snes9x }: + +buildKodiBinaryAddon rec { + pname = "kodi-libretro-snes9x"; + namespace = "game.libretro.snes9x"; + version = "1.60.0.29"; + + src = fetchFromGitHub { + owner = "kodi-game"; + repo = "game.libretro.snes9x"; + rev = "${version}-${rel}"; + sha256 = "1wyfkg4fncc604alnbaqk92fi1h80n7bwiqfkb8479x5517byab1"; + }; + + extraCMakeFlags = [ + "-DSNES9X_LIB=${snes9x}/lib/retroarch/cores/snes9x_libretro.so" + ]; + + extraBuildInputs = [ snes9x ]; + propagatedBuildInputs = [ + libretro + ]; + + meta = with lib; { + homepage = "https://github.com/kodi-game/game.libretro.snes9x"; + description = "Snes9X GameClient for Kodi"; + platforms = platforms.all; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/libretro/default.nix b/pkgs/applications/video/kodi/addons/libretro/default.nix new file mode 100644 index 0000000000000..d1fc3d4afd2b0 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/libretro/default.nix @@ -0,0 +1,24 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, tinyxml }: + +buildKodiBinaryAddon rec { + pname = "libretro"; + namespace = "game.libretro"; + version = "19.0.0"; + + src = fetchFromGitHub { + owner = "kodi-game"; + repo = "game.libretro"; + rev = "${version}-${rel}"; + sha256 = "1831wbbc4a545lr4mg1fm4sbx75k5lkrfqaa5fh308aar0nm974d"; + }; + + extraBuildInputs = [ tinyxml ]; + + meta = with lib; { + homepage = "https://github.com/kodi-game/game.libretro"; + description = "Libretro wrapper for Kodi's Game API"; + platforms = platforms.all; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/myconnpy/default.nix b/pkgs/applications/video/kodi/addons/myconnpy/default.nix new file mode 100644 index 0000000000000..e39625545f6ac --- /dev/null +++ b/pkgs/applications/video/kodi/addons/myconnpy/default.nix @@ -0,0 +1,25 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript }: +buildKodiAddon rec { + pname = "myconnpy"; + namespace = "script.module.myconnpy"; + version = "8.0.18+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "1cx3qdzw9lkkmbyvyrmc2i193is20fihn2sfl7kmv43f708vam0k"; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.myconnpy"; + }; + }; + + meta = with lib; { + homepage = "http://dev.mysql.com/doc/connector-python/en/index.html"; + description = "MySQL Connector/Python"; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/netflix/default.nix b/pkgs/applications/video/kodi/addons/netflix/default.nix new file mode 100644 index 0000000000000..d9d11657e8b95 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/netflix/default.nix @@ -0,0 +1,29 @@ +{ lib, buildKodiAddon, fetchFromGitHub, signals, inputstream-adaptive, inputstreamhelper, requests, myconnpy }: + +buildKodiAddon rec { + pname = "netflix"; + namespace = "plugin.video.netflix"; + version = "1.16.2"; + + src = fetchFromGitHub { + owner = "CastagnaIT"; + repo = namespace; + rev = "v${version}"; + sha256 = "0yycwm8vrpkr4fsbf713mhpnaxfd849nhzp5r1898sb9vldab4xk"; + }; + + propagatedBuildInputs = [ + signals + inputstream-adaptive + inputstreamhelper + requests + myconnpy + ]; + + meta = with lib; { + homepage = "https://github.com/CastagnaIT/plugin.video.netflix"; + description = "Netflix VOD Services Add-on"; + license = licenses.mit; + 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 new file mode 100644 index 0000000000000..7bbb62029bba2 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/osmc-skin/default.nix @@ -0,0 +1,21 @@ +{ lib, buildKodiAddon, fetchFromGitHub }: +buildKodiAddon rec { + pname = "osmc-skin"; + namespace = "skin.osmc"; + version = "18.0.0"; + + src = fetchFromGitHub { + owner = "osmc"; + repo = namespace; + rev = "40a6c318641e2cbeac58fb0e7dde9c2beac737a0"; + sha256 = "1l7hyfj5zvjxjdm94y325bmy1naak455b9l8952sb0gllzrcwj6s"; + }; + + meta = with lib; { + homepage = "https://github.com/osmc/skin.osmc"; + description = "The default skin for OSMC"; + platforms = platforms.all; + maintainers = with maintainers; [ ]; + license = licenses.cc-by-nc-sa-30; + }; +} diff --git a/pkgs/applications/video/kodi/addons/pdfreader/default.nix b/pkgs/applications/video/kodi/addons/pdfreader/default.nix new file mode 100644 index 0000000000000..62a5853c796b8 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/pdfreader/default.nix @@ -0,0 +1,22 @@ +{ lib, buildKodiAddon, fetchFromGitHub }: +buildKodiAddon rec { + pname = "pdfreader"; + namespace = "plugin.image.pdf"; + version = "2.0.2"; + + src = fetchFromGitHub { + owner = "i96751414"; + repo = "plugin.image.pdfreader"; + rev = "v${version}"; + sha256 = "0nkqhlm1gyagq6xpdgqvd5qxyr2ngpml9smdmzfabc8b972mwjml"; + }; + + passthru.pythonPath = "lib/api"; + + meta = with lib; { + homepage = "https://forum.kodi.tv/showthread.php?tid=187421"; + description = "A comic book reader"; + license = licenses.gpl2Plus; + 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 new file mode 100644 index 0000000000000..093322b231c45 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix @@ -0,0 +1,23 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, jsoncpp, libhdhomerun }: +buildKodiBinaryAddon rec { + pname = "pvr-hdhomerun"; + namespace = "pvr.hdhomerun"; + version = "19.0.0"; + + src = fetchFromGitHub { + owner = "kodi-pvr"; + repo = "pvr.hdhomerun"; + rev = "${version}-${rel}"; + sha256 = "sha256-KaT+BPRrkhw5R18aUNdnA9PKXF87EzwQLaY9ep86OvE="; + }; + + extraBuildInputs = [ jsoncpp libhdhomerun ]; + + meta = with lib; { + homepage = "https://github.com/kodi-pvr/pvr.hdhomerun"; + description = "Kodi's HDHomeRun PVR client addon"; + platforms = platforms.all; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix new file mode 100644 index 0000000000000..30f56b2c3c7be --- /dev/null +++ b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix @@ -0,0 +1,21 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub }: +buildKodiBinaryAddon rec { + pname = "pvr-hts"; + namespace = "pvr.hts"; + version = "19.0.3"; + + src = fetchFromGitHub { + owner = "kodi-pvr"; + repo = "pvr.hts"; + rev = "${version}-${rel}"; + sha256 = "sha256-kO+wRFt4MudYP9UOTaruRCWs/QMla+BYTRfSUdlVpR8="; + }; + + meta = with lib; { + homepage = "https://github.com/kodi-pvr/pvr.hts"; + description = "Kodi's Tvheadend HTSP client addon"; + platforms = platforms.all; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix b/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix new file mode 100644 index 0000000000000..17811c162920b --- /dev/null +++ b/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix @@ -0,0 +1,36 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub +, xz, pugixml, zlib +, inputstream-adaptive, inputstream-ffmpegdirect, inputstream-rtmp +}: + +buildKodiBinaryAddon rec { + pname = "pvr-iptvsimple"; + namespace = "pvr.iptvsimple"; + version = "19.0.2"; + + src = fetchFromGitHub { + owner = "kodi-pvr"; + repo = "pvr.iptvsimple"; + rev = "${version}-${rel}"; + sha256 = "sha256-WPLXESP5QvjroCygzMQc3+QKbsA05ri0oKvsqBQv8w0="; + }; + + extraBuildInputs = [ + xz + pugixml + zlib + ]; + propagatedBuildInputs = [ + inputstream-adaptive + inputstream-ffmpegdirect + inputstream-rtmp + ]; + + meta = with lib; { + homepage = "https://github.com/kodi-pvr/pvr.iptvsimple"; + description = "Kodi's IPTV Simple client addon"; + platforms = platforms.all; + license = licenses.gpl2Plus; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/requests-cache/default.nix b/pkgs/applications/video/kodi/addons/requests-cache/default.nix new file mode 100644 index 0000000000000..de785ab9bb523 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/requests-cache/default.nix @@ -0,0 +1,29 @@ +{ lib, 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/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "0fgl4jayq6hbhqxg16nfy9qizwf54c8nvg0icv93knaj13zfzkz8"; + }; + + propagatedBuildInputs = [ + requests + ]; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.requests-cache"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/reclosedev/requests-cache"; + description = "Persistent cache for requests library"; + license = licenses.bsd2; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/requests/default.nix b/pkgs/applications/video/kodi/addons/requests/default.nix new file mode 100644 index 0000000000000..c5759fcc325b8 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/requests/default.nix @@ -0,0 +1,32 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript, certifi, chardet, idna, urllib3 }: +buildKodiAddon rec { + pname = "requests"; + namespace = "script.module.requests"; + version = "2.25.1+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "00qhykizvspzfwgl7qz9cyxrazs54jgin40g49v5nzmjq3qf62hb"; + }; + + propagatedBuildInputs = [ + certifi + chardet + idna + urllib3 + ]; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.requests"; + }; + }; + + meta = with lib; { + homepage = "http://python-requests.org"; + description = "Python HTTP for Humans"; + license = licenses.asl20; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/routing/default.nix b/pkgs/applications/video/kodi/addons/routing/default.nix new file mode 100644 index 0000000000000..a75e786cf1ffe --- /dev/null +++ b/pkgs/applications/video/kodi/addons/routing/default.nix @@ -0,0 +1,25 @@ +{ lib, 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/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "1qhp40xd8mbcvzwlamqw1j5l224ry086593948g24drpqiiyc8x6"; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.routing"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/tamland/kodi-plugin-routing"; + description = "A routing module for kodi plugins"; + license = licenses.gpl3Plus; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/signals/default.nix b/pkgs/applications/video/kodi/addons/signals/default.nix new file mode 100644 index 0000000000000..b66b1e99a8bf3 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/signals/default.nix @@ -0,0 +1,25 @@ +{ lib, 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/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "1qcjbakch8hvx02wc01zv014nmzgn6ahc4n2bj5mzr114ppd3hjs"; + }; + + passthru= { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.signals"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/ruuk/script.module.addon.signals"; + description = "Provides signal/slot mechanism for inter-addon communication"; + license = licenses.lgpl21Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/six/default.nix b/pkgs/applications/video/kodi/addons/six/default.nix new file mode 100644 index 0000000000000..1742d1f6f0492 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/six/default.nix @@ -0,0 +1,23 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript }: + +buildKodiAddon rec { + pname = "six"; + namespace = "script.module.six"; + version = "1.15.0+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "0c8vb0c4vhknkqqgvzj8l2ddgcm4iah0ca686slxbxbp800cydnf"; + }; + + passthru.updateScript = addonUpdateScript { + attrPath = "kodi.packages.six"; + }; + + meta = with lib; { + homepage = "https://pypi.org/project/six/"; + description = "Python 2 and 3 compatibility utilities"; + 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 new file mode 100644 index 0000000000000..d2b79029f7ccc --- /dev/null +++ b/pkgs/applications/video/kodi/addons/steam-controller/default.nix @@ -0,0 +1,21 @@ +{ lib, buildKodiBinaryAddon, fetchFromGitHub, libusb1 }: +buildKodiBinaryAddon rec { + pname = namespace; + namespace = "peripheral.steamcontroller"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "kodi-game"; + repo = namespace; + rev = "f68140ca44f163a03d3a625d1f2005a6edef96cb"; + sha256 = "09lm8i119xlsxxk0c64rnp8iw0crr90v7m8iwi9r31qdmxrdxpmg"; + }; + + extraBuildInputs = [ libusb1 ]; + + meta = with lib; { + description = "Binary addon for steam controller."; + platforms = platforms.all; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/steam-launcher/default.nix b/pkgs/applications/video/kodi/addons/steam-launcher/default.nix new file mode 100644 index 0000000000000..c4a695b8f8137 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/steam-launcher/default.nix @@ -0,0 +1,29 @@ +{ lib, buildKodiAddon, fetchFromGitHub, steam }: +buildKodiAddon { + pname = "steam-launcher"; + namespace = "script.steam.launcher"; + version = "3.5.1"; + + src = fetchFromGitHub rec { + owner = "teeedubb"; + repo = owner + "-xbmc-repo"; + rev = "8260bf9b464846a1f1965da495d2f2b7ceb81d55"; + sha256 = "1fj3ry5s44nf1jzxk4bmnpa4b9p23nrpmpj2a4i6xf94h7jl7p5k"; + }; + + propagatedBuildInputs = [ steam ]; + + meta = with lib; { + homepage = "https://forum.kodi.tv/showthread.php?tid=157499"; + description = "Launch Steam in Big Picture Mode from Kodi"; + longDescription = '' + This add-on will close/minimise Kodi, launch Steam in Big + Picture Mode and when Steam BPM is exited (either by quitting + Steam or returning to the desktop) Kodi will + restart/maximise. Running pre/post Steam scripts can be + configured via the addon. + ''; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/steam-library/default.nix b/pkgs/applications/video/kodi/addons/steam-library/default.nix new file mode 100644 index 0000000000000..fe772c9f732a9 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/steam-library/default.nix @@ -0,0 +1,27 @@ +{ lib, buildKodiAddon, fetchFromGitHub, requests, requests-cache, routing }: + +buildKodiAddon rec { + pname = "steam-library"; + namespace = "plugin.program.steam.library"; + version = "0.8.1"; + + src = fetchFromGitHub { + owner = "aanderse"; + repo = namespace; + rev = "v${version}"; + sha256 = "1ai8k55bamzkx7awk3dl8ksw93pan3h9b1xlylcldy7a0ddldzdg"; + }; + + propagatedBuildInputs = [ + requests + requests-cache + routing + ]; + + meta = with lib; { + homepage = "https://github.com/aanderse/plugin.program.steam.library"; + description = "View your entire Steam library right from Kodi"; + license = licenses.gpl3Plus; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/svtplay/default.nix b/pkgs/applications/video/kodi/addons/svtplay/default.nix new file mode 100644 index 0000000000000..db4fbb642c05c --- /dev/null +++ b/pkgs/applications/video/kodi/addons/svtplay/default.nix @@ -0,0 +1,27 @@ +{ lib, buildKodiAddon, fetchFromGitHub }: +buildKodiAddon rec { + pname = "svtplay"; + namespace = "plugin.video.svtplay"; + version = "5.1.12"; + + src = fetchFromGitHub { + owner = "nilzen"; + repo = "xbmc-" + pname; + rev = "v${version}"; + sha256 = "04j1nhm7mh9chs995lz6bv1vsq5xzk7a7c0lmk4bnfv8jrfpj0w6"; + }; + + meta = with lib; { + homepage = "https://forum.kodi.tv/showthread.php?tid=67110"; + description = "Watch content from SVT Play"; + longDescription = '' + With this addon you can stream content from SVT Play + (svtplay.se). The plugin fetches the video URL from the SVT + Play website and feeds it to the Kodi video player. HLS (m3u8) + is the preferred video format by the plugin. + ''; + platforms = platforms.all; + license = licenses.gpl3Plus; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/urllib3/default.nix b/pkgs/applications/video/kodi/addons/urllib3/default.nix new file mode 100644 index 0000000000000..de0fbb997654e --- /dev/null +++ b/pkgs/applications/video/kodi/addons/urllib3/default.nix @@ -0,0 +1,25 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript }: +buildKodiAddon rec { + pname = "urllib3"; + namespace = "script.module.urllib3"; + version = "1.26.4+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "1d2k6gbsnhdadcl1xc7igz4m71z2fcnpln5ppfjv455cmkk110vf"; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.urllib3"; + }; + }; + + meta = with lib; { + homepage = "https://urllib3.readthedocs.io/en/latest/"; + description = "HTTP library with thread-safe connection pooling, file post, and more"; + license = licenses.mit; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/vfs-libarchive/default.nix b/pkgs/applications/video/kodi/addons/vfs-libarchive/default.nix new file mode 100644 index 0000000000000..2db17f17abad9 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/vfs-libarchive/default.nix @@ -0,0 +1,22 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libarchive, xz, bzip2, zlib, lz4, lzo, openssl }: +buildKodiBinaryAddon rec { + pname = namespace; + namespace = "vfs.libarchive"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "xbmc"; + repo = namespace; + rev = "${version}-${rel}"; + sha256 = "1q62p1i6rvqk2zv6f1cpffkh95lgclys2xl4dwyhj3acmqdxd9i5"; + }; + + extraBuildInputs = [ libarchive xz bzip2 zlib lz4 lzo openssl ]; + + meta = with lib; { + description = "LibArchive Virtual Filesystem add-on for Kodi"; + license = licenses.gpl2Plus; + platforms = platforms.all; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/vfs-sftp/default.nix b/pkgs/applications/video/kodi/addons/vfs-sftp/default.nix new file mode 100644 index 0000000000000..e41f008281ad8 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/vfs-sftp/default.nix @@ -0,0 +1,22 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, openssl, libssh, zlib }: +buildKodiBinaryAddon rec { + pname = namespace; + namespace = "vfs.sftp"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "xbmc"; + repo = namespace; + rev = "${version}-${rel}"; + sha256 = "06w74sh8yagrrp7a7rjaz3xrh1j3wdqald9c4b72c33gpk5997dk"; + }; + + extraBuildInputs = [ openssl libssh zlib ]; + + meta = with lib; { + description = "SFTP Virtual Filesystem add-on for Kodi"; + license = licenses.gpl2Plus; + platforms = platforms.all; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/websocket/default.nix b/pkgs/applications/video/kodi/addons/websocket/default.nix new file mode 100644 index 0000000000000..423dfa73f34f8 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/websocket/default.nix @@ -0,0 +1,30 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript, six, addonDir }: + +buildKodiAddon rec { + pname = "websocket"; + namespace = "script.module.websocket"; + version = "0.58.0+matrix.2"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "0j2fcrn3hc6207g0k0gx5ypj4j3ww9pd7rnlzq1fgdig00laa8y7"; + }; + + propagatedBuildInputs = [ + six + ]; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.websocket"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/websocket-client/websocket-client"; + description = "A 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 new file mode 100644 index 0000000000000..090e09d55ef6d --- /dev/null +++ b/pkgs/applications/video/kodi/addons/youtube/default.nix @@ -0,0 +1,32 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript, six, requests, inputstreamhelper }: + +buildKodiAddon rec { + pname = "youtube"; + namespace = "plugin.video.youtube"; + version = "6.8.18+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "F950rnE/YxwWI0ieHC2TdGNSfrQDHlStnxLbA6UjEaM="; + }; + + propagatedBuildInputs = [ + six + requests + inputstreamhelper + ]; + + passthru = { + pythonPath = "resources/lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.youtube"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/anxdpanic/plugin.video.youtube"; + description = "YouTube is one of the biggest video-sharing websites of the world"; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} -- cgit 1.4.1