diff options
Diffstat (limited to 'pkgs/applications/video/kodi')
22 files changed, 321 insertions, 41 deletions
diff --git a/pkgs/applications/video/kodi/addons/arrow/default.nix b/pkgs/applications/video/kodi/addons/arrow/default.nix new file mode 100644 index 0000000000000..bca61e902eb74 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/arrow/default.nix @@ -0,0 +1,30 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, typing_extensions }: +buildKodiAddon rec { + pname = "arrow"; + namespace = "script.module.arrow"; + version = "1.0.3.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "0xa16sb2hls59l4gsg1xwb1qbkhcvbykq02l05n5rcm0alg80l3l"; + }; + + propagatedBuildInputs = [ + dateutil + typing_extensions + ]; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.arrow"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/razzeee/script.module.arrow"; + description = "Better dates & times for Python"; + license = licenses.asl20; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/arteplussept/default.nix b/pkgs/applications/video/kodi/addons/arteplussept/default.nix new file mode 100644 index 0000000000000..bec74dd46a975 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/arteplussept/default.nix @@ -0,0 +1,31 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, requests, xbmcswift2 }: + +buildKodiAddon rec { + pname = "arteplussept"; + namespace = "plugin.video.arteplussept"; + version = "1.1.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + hash = "sha256-IYodi0Uz16Qg4MHCz/K06pEXblrsBxHD25fb6LrW8To="; + }; + + propagatedBuildInputs = [ + dateutil + requests + xbmcswift2 + ]; + + passthru = { + updateScript = addonUpdateScript { + attrPath = "kodi.packages.arteplussept"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/known-as-bmf/plugin.video.arteplussept"; + description = "Watch videos available on Arte+7"; + license = licenses.mit; + 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 new file mode 100644 index 0000000000000..2607ee64f70a0 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchFromGitHub, toKodiAddon, addonDir }: +let + drv = stdenv.mkDerivation { + pname = "controller-topology-project"; + version = "unstable-2022-01-22"; + + src = fetchFromGitHub { + owner = "kodi-game"; + repo = "controller-topology-project"; + rev = "e2a9bac903f21b2acfeee374070cfc97d03aba2d"; + sha256 = "sha256-o6uKxOjEYNAK27drvNOokOFPdjkOEnr49mBre9ycM0w="; + }; + + postPatch = '' + # remove addons already included in the base kodi package + rm -r addons/game.controller.default + rm -r addons/game.controller.snes + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out${addonDir} + cp -r addons/* $out${addonDir} + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/kodi-game/controller-topology-project"; + description = "Models how controllers connect to and map to each other for all gaming history"; + license = with licenses; [ odbl ]; + maintainers = teams.kodi.members; + }; + }; +in + toKodiAddon drv diff --git a/pkgs/applications/video/kodi/addons/controllers/default.nix b/pkgs/applications/video/kodi/addons/controllers/default.nix deleted file mode 100644 index 825ad5d53fc40..0000000000000 --- a/pkgs/applications/video/kodi/addons/controllers/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ 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 index 54a22cedf9058..94ca38dd08612 100644 --- a/pkgs/applications/video/kodi/addons/dateutil/default.nix +++ b/pkgs/applications/video/kodi/addons/dateutil/default.nix @@ -3,11 +3,11 @@ buildKodiAddon rec { pname = "dateutil"; namespace = "script.module.dateutil"; - version = "2.8.1+matrix.1"; + version = "2.8.2"; src = fetchzip { url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; - sha256 = "1jr77017ihs7j3455i72af71wyvs792kbizq4539ccd98far8lm7"; + sha256 = "iQnyS0GjYcPbnBDUxmMrmDxHOA3K8RbTVke/HF4d5u4="; }; propagatedBuildInputs = [ diff --git a/pkgs/applications/video/kodi/addons/future/default.nix b/pkgs/applications/video/kodi/addons/future/default.nix new file mode 100644 index 0000000000000..0f2815fe5f993 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/future/default.nix @@ -0,0 +1,26 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript }: + +buildKodiAddon rec { + pname = "future"; + namespace = "script.module.future"; + version = "0.18.2+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-QBG7V70Dwmfq8ISILxGNvtmQT9fJp2e5gs2C9skRwIw="; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.future"; + }; + }; + + meta = with lib; { + homepage = "https://python-future.org"; + description = "The missing compatibility layer between Python 2 and Python 3"; + license = licenses.mit; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/iagl/default.nix b/pkgs/applications/video/kodi/addons/iagl/default.nix index 8ca0abdf960b9..b8bbe3ae46fa1 100644 --- a/pkgs/applications/video/kodi/addons/iagl/default.nix +++ b/pkgs/applications/video/kodi/addons/iagl/default.nix @@ -3,13 +3,13 @@ buildKodiAddon rec { pname = "iagl"; namespace = "plugin.program.iagl"; - version = "1101521-2"; + version = "3.0.5"; src = fetchFromGitHub { owner = "zach-morris"; repo = "plugin.program.iagl"; - rev = "30e82eec1a909b31767f0e298cf77fc970b256d3"; - sha256 = "11y05i5f7lzik23w2kr52jdgr8db3gin8i683sy1hzxlmplk4699"; + rev = version; + sha256 = "sha256-Ha9wUHURPql6xew5bUd33DpgRt+8vwIHocxPopmXj4c="; }; propagatedBuildInputs = [ diff --git a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix index 9fc59b2d329e2..b16bab1b217a1 100644 --- a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix +++ b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix @@ -2,13 +2,13 @@ buildKodiBinaryAddon rec { pname = "inputstream-adaptive"; namespace = "inputstream.adaptive"; - version = "19.0.1"; + version = "19.0.3"; src = fetchFromGitHub { owner = "xbmc"; repo = "inputstream.adaptive"; rev = "${version}-${rel}"; - sha256 = "sha256-KMEo7kXyFMEeUR/HRvXpUhwDFlWsuwYZFA6bA3W1AmY="; + sha256 = "sha256-YYIPPxM8zVIugqLz0YntVZt1N+dReH+7V1Lkeif2wIY="; }; extraNativeBuildInputs = [ gtest ]; diff --git a/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix b/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix index 313456bbfa7cf..78b6ea5ac1d1c 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 = "19.0.0"; + version = "19.0.1"; src = fetchFromGitHub { owner = "xbmc"; repo = "inputstream.ffmpegdirect"; rev = "${version}-${rel}"; - sha256 = "sha256-qdN2tmwS6uD9wrHnKC3iNvHnA2WlJAoNhdwvw16/L0U="; + sha256 = "sha256-yVMo3cRsIww1y0jGrqRag2Bc1x98+e86AHlnY1O9klE="; }; extraBuildInputs = [ bzip2 zlib kodi.ffmpeg ]; diff --git a/pkgs/applications/video/kodi/addons/orftvthek/default.nix b/pkgs/applications/video/kodi/addons/orftvthek/default.nix new file mode 100644 index 0000000000000..c1abb00d0a306 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/orftvthek/default.nix @@ -0,0 +1,28 @@ +{ lib, buildKodiAddon, fetchFromGitHub, future, kodi-six, simplejson, inputstreamhelper }: + +buildKodiAddon rec { + pname = "orftvthek"; + namespace = "plugin.video.orftvthek"; + version = "0.12.3+matrix.1"; + + src = fetchFromGitHub { + owner = "s0faking"; + repo = namespace; + rev = version; + sha256 = "sha256-GB9VkC9Vbi7TJXl/vF3ViF/tAcHGH0KxYQ0zkfMLZCY="; + }; + + propagatedBuildInputs = [ + future + kodi-six + simplejson + inputstreamhelper + ]; + + meta = with lib; { + homepage = "https://github.com/s0faking/plugin.video.orftvthek"; + description = "An addon that gives you access to the ORF TVthek Video Platform"; + license = licenses.gpl2Only; + 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 1ff78164ddc07..758e509b85d9a 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 = "19.0.1"; + version = "19.0.2"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.hdhomerun"; rev = "${version}-${rel}"; - sha256 = "sha256-WeokXU4HY22SzL1djORzru5Hju58Ix0+InwZDr++FC8="; + sha256 = "sha256-iFAOoQvZAdvJvN8FBg2w+oZWtr8mYdBQ3QX58HLmBho="; }; 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 30f56b2c3c7be..4b13e4a617ecf 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 = "19.0.3"; + version = "19.0.6"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.hts"; rev = "${version}-${rel}"; - sha256 = "sha256-kO+wRFt4MudYP9UOTaruRCWs/QMla+BYTRfSUdlVpR8="; + sha256 = "sha256-Lc3B1TdQ4oQIEIyKuQju+5cpInF5i2u4WFe3okFhe+I="; }; 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 17811c162920b..89aa3c7d3585d 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 = "19.0.2"; + version = "19.1.0"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.iptvsimple"; rev = "${version}-${rel}"; - sha256 = "sha256-WPLXESP5QvjroCygzMQc3+QKbsA05ri0oKvsqBQv8w0="; + sha256 = "sha256-APRj/Z/GtRXNSVX5kB0o09FTa9me2ESzrZ/Q+QNrw0w="; }; extraBuildInputs = [ diff --git a/pkgs/applications/video/kodi/addons/simplejson/default.nix b/pkgs/applications/video/kodi/addons/simplejson/default.nix new file mode 100644 index 0000000000000..e9293d6258dfb --- /dev/null +++ b/pkgs/applications/video/kodi/addons/simplejson/default.nix @@ -0,0 +1,26 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript }: + +buildKodiAddon rec { + pname = "simplejson"; + namespace = "script.module.simplejson"; + version = "3.17.0+matrix.2"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-XLE4x0qr3CFwWqh1BfSg9q+w6pWgFBXG7TyVJWeGQIs="; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.simplejson"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/simplejson/simplejson"; + description = "Simple, fast, extensible JSON encoder/decoder for Python"; + license = licenses.mit; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/trakt-module/default.nix b/pkgs/applications/video/kodi/addons/trakt-module/default.nix new file mode 100644 index 0000000000000..ad7610e0f023a --- /dev/null +++ b/pkgs/applications/video/kodi/addons/trakt-module/default.nix @@ -0,0 +1,31 @@ +{ lib, 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/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "19kjhrykx92sy67cajxjckzdwgq47ipwml0bx9vmdr9d191h14p8"; + }; + + propagatedBuildInputs = [ + requests + six + arrow + ]; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.trakt-module"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/Razzeee/script.module.trakt"; + description = "Python trakt.py library packed for Kodi"; + license = licenses.mit; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/trakt/default.nix b/pkgs/applications/video/kodi/addons/trakt/default.nix new file mode 100644 index 0000000000000..f2a662616ccf0 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/trakt/default.nix @@ -0,0 +1,30 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript, trakt-module, dateutil }: +buildKodiAddon rec { + pname = "trakt"; + namespace = "script.trakt"; + version = "3.5.0"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "07fb0wjcr8ggidswrjs1r1hzi6grykiyi855bgm7pjzzk95kl99v"; + }; + + propagatedBuildInputs = [ + dateutil + trakt-module + ]; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.trakt"; + }; + }; + + meta = with lib; { + homepage = "https://kodi.wiki/view/Add-on:Trakt"; + description = "Trakt.tv movie and TV show scrobbler for Kodi"; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/typing_extensions/default.nix b/pkgs/applications/video/kodi/addons/typing_extensions/default.nix new file mode 100644 index 0000000000000..0fddddfb1b601 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/typing_extensions/default.nix @@ -0,0 +1,25 @@ +{ lib, buildKodiAddon, fetchzip, addonUpdateScript }: +buildKodiAddon rec { + pname = "typing_extensions"; + namespace = "script.module.typing_extensions"; + version = "3.7.4.3"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip"; + sha256 = "0p28hchj05hmccs6b2836kh4vqdqnl169409f2845d0nw9y4wkqq"; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.typing_extensions"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/python/typing/tree/master/typing_extensions"; + description = "Python typing extensions"; + license = licenses.psfl; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/xbmcswift2/default.nix b/pkgs/applications/video/kodi/addons/xbmcswift2/default.nix new file mode 100644 index 0000000000000..7d435521f06ca --- /dev/null +++ b/pkgs/applications/video/kodi/addons/xbmcswift2/default.nix @@ -0,0 +1,25 @@ +{ lib, buildKodiAddon, fetchFromGitHub }: + +buildKodiAddon rec { + pname = "xbmcswift2"; + namespace = "script.module.xbmcswift2"; + version = "19.0.7"; + + src = fetchFromGitHub { + owner = "XBMC-Addons"; + repo = namespace; + rev = version; + sha256 = "sha256-Z+rHz3wncoNvV1pwhRzJFB/X0H6wdfwg88otVh27wg8="; + }; + + passthru = { + pythonPath = "lib"; + }; + + meta = with lib; { + homepage = "https://github.com/XBMC-Addons/script.module.xbmcswift2"; + description = "Framework to ease development of Kodi addons"; + license = licenses.gpl3Only; + 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 090e09d55ef6d..632b421ccfab1 100644 --- a/pkgs/applications/video/kodi/addons/youtube/default.nix +++ b/pkgs/applications/video/kodi/addons/youtube/default.nix @@ -1,4 +1,4 @@ -{ lib, buildKodiAddon, fetchzip, addonUpdateScript, six, requests, inputstreamhelper }: +{ lib, buildKodiAddon, fetchpatch, fetchzip, addonUpdateScript, six, requests, inputstreamhelper }: buildKodiAddon rec { pname = "youtube"; @@ -23,6 +23,15 @@ buildKodiAddon rec { }; }; + patches = [ + # This patch can be removed once https://github.com/anxdpanic/plugin.video.youtube/pull/260 has been merged. + (fetchpatch { + name = "fix-addon-path"; + url = "https://patch-diff.githubusercontent.com/raw/anxdpanic/plugin.video.youtube/pull/260.patch"; + sha256 = "11c9sfwl5kvfll2jws5b4i46s60v6gkfns4al13p4m5ch9rk06hs"; + }) + ]; + meta = with lib; { homepage = "https://github.com/anxdpanic/plugin.video.youtube"; description = "YouTube is one of the biggest video-sharing websites of the world"; diff --git a/pkgs/applications/video/kodi/build-kodi-addon.nix b/pkgs/applications/video/kodi/build-kodi-addon.nix index 572d5dda80530..8f9c05d8fa12e 100644 --- a/pkgs/applications/video/kodi/build-kodi-addon.nix +++ b/pkgs/applications/video/kodi/build-kodi-addon.nix @@ -13,7 +13,7 @@ toKodiAddon (stdenv.mkDerivation ({ installPhase = '' runHook preInstall - cd $src/$sourceDir + cd ./$sourceDir d=$out${addonDir}/${namespace} mkdir -p $d sauce="." diff --git a/pkgs/applications/video/kodi/unwrapped.nix b/pkgs/applications/video/kodi/unwrapped.nix index dc5e41aeac5b0..89eeed8904854 100644 --- a/pkgs/applications/video/kodi/unwrapped.nix +++ b/pkgs/applications/video/kodi/unwrapped.nix @@ -10,7 +10,7 @@ , libjpeg, libpng, libtiff , libmpeg2, libsamplerate, libmad , libogg, libvorbis, flac, libxslt -, lzo, libcdio, libmodplug, libass, libbluray +, lzo, libcdio, libmodplug, libass, libbluray, libudfread , sqlite, libmysqlclient, nasm, gnutls, libva, libdrm , curl, bzip2, zip, unzip, glxinfo , libcec, libcec_platform, dcadec, libuuid @@ -118,7 +118,7 @@ in stdenv.mkDerivation { libjpeg libpng libtiff libmpeg2 libsamplerate libmad libogg libvorbis flac libxslt systemd - lzo libcdio libmodplug libass libbluray + lzo libcdio libmodplug libass libbluray libudfread sqlite libmysqlclient avahi lame curl bzip2 zip unzip glxinfo libcec libcec_platform dcadec libuuid diff --git a/pkgs/applications/video/kodi/wrapper.nix b/pkgs/applications/video/kodi/wrapper.nix index 52b7679a325ea..2380d0023d576 100644 --- a/pkgs/applications/video/kodi/wrapper.nix +++ b/pkgs/applications/video/kodi/wrapper.nix @@ -35,5 +35,11 @@ buildEnv { (lib.concatMap (plugin: plugin.extraRuntimeDependencies or []) addons)}" done + + # makeWrapper just created webinterface.default as a symlink. However, + # kodi's webserver carefully refuses to follow symlinks, so we need to copy + # these assets instead. + rm $out/share/kodi/addons/webinterface.default + cp -r ${kodi}/share/kodi/addons/webinterface.default/ $out/share/kodi/addons/webinterface.default ''; } |