about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/video/kodi/plugins.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/video/kodi/plugins.nix')
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/plugins.nix76
1 files changed, 56 insertions, 20 deletions
diff --git a/nixpkgs/pkgs/applications/video/kodi/plugins.nix b/nixpkgs/pkgs/applications/video/kodi/plugins.nix
index 196852933a98..29fbf79c662c 100644
--- a/nixpkgs/pkgs/applications/video/kodi/plugins.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/plugins.nix
@@ -1,13 +1,14 @@
 { stdenv, callPackage, fetchurl, fetchFromGitHub, unzip
-, cmake, kodiPlain, libcec_platform, tinyxml
+, cmake, kodiPlain, libcec_platform, tinyxml, rapidxml
 , steam, libusb, pcre-cpp, jsoncpp, libhdhomerun, zlib
-, python2Packages }:
+, python2Packages, expat, glib, nspr, nss }:
 
 with stdenv.lib;
 
 let self = rec {
 
   pluginDir = "/share/kodi/addons";
+  rel = "Leia";
 
   kodi = kodiPlain;
 
@@ -54,6 +55,8 @@ let self = rec {
 
     dontStrip = true;
 
+    extraRuntimeDependencies = [ ];
+
     installPhase = ''
       ${if isNull sourceDir then "" else "cd $src/$sourceDir"}
       d=$out${pluginDir}/${namespace}
@@ -64,7 +67,8 @@ let self = rec {
     '';
   } // args));
 
-  mkKodiABIPlugin = { plugin, namespace, version, extraBuildInputs ? [], ... }@args:
+  mkKodiABIPlugin = { plugin, namespace, version, extraBuildInputs ? [],
+    extraRuntimeDependencies ? [], extraInstallPhase ? "", ... }@args:
   toKodiPlugin (stdenv.mkDerivation (rec {
     name = "kodi-plugin-${plugin}-${version}";
 
@@ -73,6 +77,8 @@ let self = rec {
     buildInputs = [ cmake kodiPlain kodi-platform libcec_platform ]
                ++ extraBuildInputs;
 
+    inherit extraRuntimeDependencies;
+
     # disables check ensuring install prefix is that of kodi
     cmakeFlags = [
       "-DOVERRIDE_PATHS=1"
@@ -84,6 +90,7 @@ let self = rec {
     installPhase = let n = namespace; in ''
       make install
       ln -s $out/lib/addons/${n}/${n}.so.${version} $out${pluginDir}/${n}/${n}.so.${version}
+      ${extraInstallPhase}
     '';
   } // args));
 
@@ -212,14 +219,14 @@ let self = rec {
 
   joystick = mkKodiABIPlugin rec {
     namespace = "peripheral.joystick";
-    version = "1.3.2";
+    version = "1.4.7";
     plugin = namespace;
 
     src = fetchFromGitHub {
-      owner = "kodi-game";
+      owner = "xbmc";
       repo = namespace;
-      rev = "96171dd32899553ffe8fc775fca66e8df5ff5cf1";
-      sha256 = "18m61v8z9fbh4imvzhh4g9629r9df49g2yk9ycaczirg131dhfbh";
+      rev = "v${version}";
+      sha256 = "03gsp4kg41s3n4ib4wsv7m3krfipgwc2z07i4mnd5zvg0c4xrmap";
     };
 
     meta = {
@@ -282,14 +289,14 @@ let self = rec {
 
   steam-controller = mkKodiABIPlugin rec {
     namespace = "peripheral.steamcontroller";
-    version = "0.9.0";
+    version = "0.10.0";
     plugin = namespace;
 
     src = fetchFromGitHub {
       owner = "kodi-game";
       repo = namespace;
-      rev = "76f640fad4f68118f4fab6c4c3338d13daca7074";
-      sha256 = "0yqlfdiiymb8z6flyhpval8w3kdc9qv3mli3jg1xn5ac485nxsxh";
+      rev = "ea345392ab5aa4485f3a48d2037fa8a8e8ab82de";
+      sha256 = "1hbd8fdvn7xkr9csz1g9wah78nhnq1rkazl4zwa31y70830k3279";
     };
 
     extraBuildInputs = [ libusb ];
@@ -355,13 +362,13 @@ let self = rec {
 
     plugin = "pvr-hts";
     namespace = "pvr.hts";
-    version = "3.4.16";
+    version = "4.4.14";
 
     src = fetchFromGitHub {
       owner = "kodi-pvr";
       repo = "pvr.hts";
-      rev = "b39e4e9870d68841279cbc7d7214f3ad9b27f330";
-      sha256 = "0pmlgqr4kd0gvckz77mj6v42kcx6lb23anm8jnf2fbn877snnijx";
+      rev = "${version}-${rel}";
+      sha256 = "1bcwcwd2yjhw85yk6lyhf0iqiclrsz7r7vpbxgc650fwqbb146gr";
     };
 
     meta = {
@@ -377,13 +384,13 @@ let self = rec {
 
     plugin = "pvr-hdhomerun";
     namespace = "pvr.hdhomerun";
-    version = "2.4.7";
+    version = "3.5.0";
 
     src = fetchFromGitHub {
       owner = "kodi-pvr";
       repo = "pvr.hdhomerun";
-      rev = "60d89d16dd953d38947e8a6da2f8bb84a0f764ef";
-      sha256 = "0dvdv0vk2q12nj0i5h51iaypy3i7jfsxjyxwwpxfy82y8260ragy";
+      rev = "${version}-${rel}";
+      sha256 = "1zrkvfn0im2qmvqm93pa3cg8xkxv61sxlj8nsz4r5z9v9nhqadf6";
     };
 
     meta = {
@@ -401,13 +408,13 @@ let self = rec {
 
     plugin = "pvr-iptvsimple";
     namespace = "pvr.iptvsimple";
-    version = "2.4.14";
+    version = "3.5.7";
 
     src = fetchFromGitHub {
       owner = "kodi-pvr";
       repo = "pvr.iptvsimple";
-      rev = "2a649d7e21b64c4fa4a8b14c2cc139261eebc7e8";
-      sha256 = "1f1im2gachrxnr3z96h5cg2c13vapgkvkdwvrbl4hxlnyp1a6jyz";
+      rev = "${version}-${rel}";
+      sha256 = "17znib7c491h2ii4gagxradh0jyvgga0d548gbk4yjj2nc9qqc6d";
     };
 
     meta = {
@@ -418,7 +425,7 @@ let self = rec {
       license = licenses.gpl2Plus;
     };
 
-    extraBuildInputs = [ zlib ];
+    extraBuildInputs = [ zlib rapidxml ];
   };
 
   osmc-skin = mkKodiPlugin rec {
@@ -470,4 +477,33 @@ let self = rec {
     };
   });
 
+  inputstream-adaptive = mkKodiABIPlugin rec {
+
+    plugin = "inputstream-adaptive";
+    namespace = "inputstream.adaptive";
+    version = "2.3.12";
+
+    src = fetchFromGitHub {
+      owner = "peak3d";
+      repo = "inputstream.adaptive";
+      rev = "${version}";
+      sha256 = "09d9b35mpaf3g5m51viyan9hv7d2i8ndvb9wm0j7rs5gwsf0k71z";
+    };
+
+    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/${pluginDir}/${n}/libssd_wv.so
+    '';
+
+    meta = {
+      homepage = https://github.com/peak3d/inputstream.adaptive;
+      description = "Kodi inputstream addon for several manifest types";
+      platforms = platforms.all;
+      maintainers = with maintainers; [ sephalon ];
+    };
+  };
+
 }; in self