From 62dc6830967ceb2d18630503ae9fecbabfc5ffa0 Mon Sep 17 00:00:00 2001 From: Edward Tjörnhammar Date: Sun, 6 Nov 2016 12:00:28 +0100 Subject: kodiPlugins: updates * Added exodus in favour of genesis, same developer and old plugin is dead * Added gamepad(controllers) inputs as enableControllers * Updated SVTPlay, HyperLauncher * Removed SALTS, doesn't work without a FHS --- pkgs/applications/video/kodi/plugins.nix | 139 +++++++++++++------------------ pkgs/top-level/all-packages.nix | 6 +- 2 files changed, 60 insertions(+), 85 deletions(-) diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix index b56f461ee2a0..463003239d01 100644 --- a/pkgs/applications/video/kodi/plugins.nix +++ b/pkgs/applications/video/kodi/plugins.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, cmake, kodi, steam, libcec_platform, tinyxml, unzip }: +{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, lib +, unzip, cmake, kodi, steam, libcec_platform, tinyxml }: let @@ -19,9 +20,9 @@ let buildInputs = [ cmake kodi libcec_platform tinyxml ]; }; - mkKodiPlugin = { plugin, namespace, version, src, meta, ... }: + mkKodiPlugin = { plugin, namespace, version, src, meta, sourceDir ? null, ... }: stdenv.lib.makeOverridable stdenv.mkDerivation rec { - inherit src meta; + inherit src meta sourceDir; name = "kodi-plugin-${plugin}-${version}"; passthru = { kodiPlugin = pluginDir; @@ -29,6 +30,7 @@ let }; dontStrip = true; installPhase = '' + ${if isNull sourceDir then "" else "cd $src/$sourceDir"} d=$out${pluginDir}/${namespace} mkdir -p $d sauce="." @@ -70,34 +72,69 @@ in }; - genesis = (mkKodiPlugin rec { + controllers = let + pname = "game-controller"; + version = "1.0.3"; - plugin = "genesis"; - namespace = "plugin.video.genesis"; - version = "5.1.4"; + src = fetchFromGitHub { + owner = "kodi-game"; + repo = "kodi-game-controllers"; + rev = "01acb5b6e8b85392b3cb298b034aadb1b24ccf18"; + sha256 = "0sbc0w0fwbp7rbmbgb6a1kglhnn5g85hijcbbvf5x6jdq9v3f1qb"; + }; + + meta = with stdenv.lib; { + description = "Add support for different gaming controllers."; + platforms = platforms.all; + maintainers = with maintainers; [ edwtjo ]; + }; + + mkController = controller: { + "${controller}" = mkKodiPlugin rec { + plugin = pname + "-" + controller; + namespace = "game.controller." + controller; + sourceDir = "addons/" + namespace; + inherit version src meta; + }; + }; + in (mkController "default") + // (mkController "dreamcast") + // (mkController "gba") + // (mkController "genesis") + // (mkController "mouse") + // (mkController "n64") + // (mkController "nes") + // (mkController "ps") + // (mkController "snes"); + + exodus = (mkKodiPlugin rec { + + plugin = "exodus"; + namespace = "plugin.video.exodus"; + version = "2.0.12"; src = fetchurl { - url = "https://offshoregit.com/lambda81/lambda-repo/${namespace}/${namespace}-${version}.zip"; - sha256 = "0b0pdzgg42mgxgkb6sb83rldh4k19c3l9z7g2wnvxm3s2p6rjy3v"; + url = "https://offshoregit.com/${plugin}/${namespace}/${namespace}-${version}.zip"; + sha256 = "02cdyvyxay6jiw9xj8hqnkp5w6drqj67pkh243znrsc06f26qkql"; }; meta = with stdenv.lib; { - homepage = "http://forums.tvaddons.ag/forums/148-lambda-s-kodi-addons"; - description = "The origins of streaming"; + description = "A streaming plugin for Kodi"; platforms = platforms.all; maintainers = with maintainers; [ edwtjo ]; }; + }).override { buildInputs = [ unzip ]; }; hyper-launcher = let pname = "hyper-launcher"; - version = "1.2.0"; + version = "1.5.2"; src = fetchFromGitHub rec { name = pname + "-" + version + ".tar.gz"; owner = "teeedubb"; repo = owner + "-xbmc-repo"; - rev = "9bd170407436e736d2d709f8af9968238594669c"; - sha256 = "019nqf7kixicnrzkg671x4yq723igjkhfl8hz5bifi9gx2qcy8hy"; + rev = "f958ba93fe85b9c9025b1745d89c2db2e7dd9bf6"; + sha256 = "1dvff24fbas25k5kvca4ssks9l1g5rfa3hl8lqxczkaqi3pp41j5"; }; meta = with stdenv.lib; { homepage = http://forum.kodi.tv/showthread.php?tid=258159; @@ -107,8 +144,9 @@ in in { service = mkKodiPlugin { plugin = pname + "-service"; + version = "1.2.1"; namespace = "service.hyper.launcher"; - inherit version src meta; + inherit src meta; }; plugin = mkKodiPlugin { plugin = pname; @@ -117,39 +155,18 @@ in }; }; - salts = mkKodiPlugin rec { - - plugin = "salts"; - namespace = "plugin.video.salts"; - version = "2.0.19"; - - src = fetchFromGitHub { - name = plugin + "-" + version + ".tar.gz"; - owner = "tknorris"; - repo = plugin; - rev = "9c1882bad35cab9e62687847e097c37a576b900d"; - sha256 = "0saq578xsxvyg1v8jg2m3131hfrr95gv74b2npxr7g715yyx5bjq"; - }; - - meta = with stdenv.lib; { - homepage = "https://github.com/tknorris/salts"; - description = "Stream All The Sources"; - maintainers = with maintainers; [ edwtjo ]; - }; - }; - svtplay = mkKodiPlugin rec { plugin = "svtplay"; namespace = "plugin.video.svtplay"; - version = "4.0.24"; + version = "4.0.42"; src = fetchFromGitHub { name = plugin + "-" + version + ".tar.gz"; owner = "nilzen"; repo = "xbmc-" + plugin; - rev = "e66e2af6529e3ffd030ad486c849894a9ffdeb45"; - sha256 = "01nq6gac83q6ayhqcj1whvk58pzrm1haw801s321f4vc8gswag56"; + rev = "83cb52b949930a1b6d2e51a7a0faf9bd69c7fb7d"; + sha256 = "0ync2ya4lwmfn6ngg8v0z6bng45whwg280irsn4bam5ca88383iy"; }; meta = with stdenv.lib; { @@ -248,48 +265,4 @@ in ln -s $out/lib/addons/pvr.hts/pvr.hts.so* $out/share/kodi/addons/pvr.hts ''; }; - - t0mm0-common = mkKodiPlugin rec { - - plugin = "t0mm0-common"; - namespace = "script.module.t0mm0.common"; - version = "0.0.1"; - - src = fetchFromGitHub { - name = plugin + "-" + version + ".tar.gz"; - owner = "t0mm0"; - repo = "xbmc-urlresolver"; - rev = "ab16933a996a9e77b572953c45e70900c723d6e1"; - sha256 = "1yd00md8iirizzaiqy6fv1n2snydcpqvp2f9irzfzxxi3i9asb93"; - }; - - meta = with stdenv.lib; { - homepage = "https://github.com/t0mm0/xbmc-urlresolver/"; - description = "t0mm0's common stuff"; - maintainers = with maintainers; [ edwtjo ]; - }; - }; - - urlresolver = (mkKodiPlugin rec { - - plugin = "urlresolver"; - namespace = "script.module.urlresolver"; - version = "2.10.0"; - - src = fetchFromGitHub { - name = plugin + "-" + version + ".tar.gz"; - owner = "Eldorados"; - repo = namespace; - rev = "72b9d978d90d54bb7a0224a1fd2407143e592984"; - sha256 = "0r5glfvgy9ri3ar9zdkvix8lalr1kfp22fap2pqp739b6k2iqir6"; - }; - - meta = with stdenv.lib; { - homepage = "https://github.com/Eldorados/urlresolver"; - description = "Resolve common video host URL's to be playable in XBMC/Kodi"; - maintainers = with maintainers; [ edwtjo ]; - }; - }).override { - postPatch = "sed -i -e 's,settings_file = os.path.join(addon_path,settings_file = os.path.join(profile_path,g' lib/urlresolver/common.py"; - }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a43132ce096e..04ce743e2a72 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15593,10 +15593,12 @@ with pkgs; plugins = let inherit (lib) optional optionals; in with kodiPlugins; ([] ++ optional (config.kodi.enableAdvancedLauncher or false) advanced-launcher - ++ optional (config.kodi.enableGenesis or false) genesis + ++ optionals (config.kodi.enableControllers or false) + (with controllers; + [ default dreamcast gba genesis mouse n64 nes ps snes ]) + ++ optional (config.kodi.enableExodus or false) exodus ++ optionals (config.kodi.enableHyperLauncher or false) (with hyper-launcher; [ plugin service pdfreader ]) - ++ optionals (config.kodi.enableSALTS or false) [salts urlresolver t0mm0-common] ++ optional (config.kodi.enableSVTPlay or false) svtplay ++ optional (config.kodi.enableSteamLauncher or false) steam-launcher ++ optional (config.kodi.enablePVRHTS or false) pvr-hts -- cgit 1.4.1