about summary refs log tree commit diff
path: root/pkgs/applications/video
diff options
context:
space:
mode:
authorEdward Tjörnhammar <ed@cflags.cc>2015-01-24 14:17:14 +0100
committerEdward Tjörnhammar <ed@cflags.cc>2015-01-24 14:17:14 +0100
commit6bbec634a7799284593782a21fcba0219cdf3871 (patch)
tree53d48a6ea6d1ea8e8529ba48df0206ed4e91dae6 /pkgs/applications/video
parent142678f86c961cb54157ddfd6357624c5dbc5a2b (diff)
parent3a321906d17b230a3f5803e5bbc6bb6e4ff4e2cb (diff)
downloadnixlib-6bbec634a7799284593782a21fcba0219cdf3871.tar
nixlib-6bbec634a7799284593782a21fcba0219cdf3871.tar.gz
nixlib-6bbec634a7799284593782a21fcba0219cdf3871.tar.bz2
nixlib-6bbec634a7799284593782a21fcba0219cdf3871.tar.lz
nixlib-6bbec634a7799284593782a21fcba0219cdf3871.tar.xz
nixlib-6bbec634a7799284593782a21fcba0219cdf3871.tar.zst
nixlib-6bbec634a7799284593782a21fcba0219cdf3871.zip
Merge pull request #5850 from edwtjo/kodi-plugins
XBMC to Kodi migrations 
Diffstat (limited to 'pkgs/applications/video')
-rw-r--r--pkgs/applications/video/kodi/plugins.nix108
-rw-r--r--pkgs/applications/video/kodi/wrapper.nix53
2 files changed, 161 insertions, 0 deletions
diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix
new file mode 100644
index 000000000000..e38e00bc61f7
--- /dev/null
+++ b/pkgs/applications/video/kodi/plugins.nix
@@ -0,0 +1,108 @@
+{ stdenv, fetchFromGitHub, kodi }:
+
+let
+
+  pluginDir = "/lib/kodi/plugin";
+
+  mkKodiPlugin = { plugin, namespace, version, src, meta, ... }:
+  stdenv.lib.makeOverridable stdenv.mkDerivation rec {
+    inherit src meta;
+    name = "kodi-plugin-${plugin}-${version}";
+    passthru = {
+      kodiPlugin = pluginDir;
+      namespace = namespace;
+    };
+    dontStrip = true;
+    installPhase = ''
+      d=$out${pluginDir}/${namespace}
+      mkdir -p $d
+      sauce="."
+      [ -d ${namespace} ] && sauce=${namespace}
+      cp -R $sauce/* $d
+    '';
+  };
+
+in
+{
+
+  advanced-launcher = mkKodiPlugin rec {
+
+    plugin = "advanced-launcher";
+    namespace = "plugin.program.advanced.launcher";
+    version = "2.5.8";
+
+    src = fetchFromGitHub {
+      owner = "Angelscry";
+      repo = namespace;
+      rev = "bb380b6e8b664246a791f553ddc856cbc60dae1f";
+      sha256 = "0g4kk68zjl5rf6mll4g4cywq70s267471dp5r1qp3bpfpzkn0vf2";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "http://forum.kodi.tv/showthread.php?tid=85724";
+      description = "A program launcher for Kodi";
+      longDescription = ''
+        Advanced Launcher allows you to start any Linux, Windows and
+        OS X external applications (with command line support or not)
+        directly from the Kodi GUI. Advanced Launcher also give you
+        the possibility to edit, download (from Internet resources)
+        and manage all the meta-data (informations and images) related
+        to these applications.
+      '';
+      platforms = platforms.all;
+      maintainers = with maintainers; [ edwtjo ];
+    };
+
+  };
+
+  genesis = mkKodiPlugin rec {
+
+    plugin = "genesis";
+    namespace = "plugin.video.genesis";
+    version = "2.4.1";
+
+    src = fetchFromGitHub {
+      owner = "lambda81";
+      repo = "lambda-addons";
+      rev = "1eb1632063e18f3f30e9fdbed2a15cf1e9c05315";
+      sha256 = "1gzx0jq4gyhkpdd21a70lhww9djr5dlgyl93b4l7dhgr3hnzxccl";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "http://forums.tvaddons.ag/forums/148-lambda-s-kodi-addons";
+      description = "The origins of streaming";
+      platforms = platforms.all;
+      maintainers = with maintainers; [ edwtjo ];
+    };
+
+  };
+
+  svtplay = mkKodiPlugin rec {
+
+    plugin = "svtplay";
+    namespace = "plugin.video.svtplay";
+    version = "4.0.9";
+
+    src = fetchFromGitHub {
+      owner = "nilzen";
+      repo = "xbmc-" + plugin;
+      rev = "29a754e49584d1ca32f0c07b87304669cf266bb0";
+      sha256 = "0k7mwaknw4h1jlq7ialbzgxxpb11j8bk29dx2gimp40lvnyw4yhz";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "http://forum.kodi.org/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;
+      maintainers = with maintainers; [ edwtjo ];
+    };
+
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/applications/video/kodi/wrapper.nix b/pkgs/applications/video/kodi/wrapper.nix
new file mode 100644
index 000000000000..9f7a87f9987e
--- /dev/null
+++ b/pkgs/applications/video/kodi/wrapper.nix
@@ -0,0 +1,53 @@
+{ stdenv, lib, makeWrapper, kodi, plugins }:
+
+let
+
+  p = builtins.parseDrvName kodi.name;
+
+in
+
+stdenv.mkDerivation {
+
+  name = "kodi-" + p.version;
+  version = p.version;
+
+  buildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out/share/kodi/addons/packages
+    ${stdenv.lib.concatMapStrings
+        (plugin: "ln -s ${plugin.out
+                            + plugin.kodiPlugin
+                            + "/" + plugin.namespace
+                          } $out/share/kodi/addons/.;") plugins}
+    $(for plugin in ${kodi}/share/kodi/addons/*
+    do
+      $(ln -s $plugin/ $out/share/kodi/addons/.)
+    done)
+    $(for share in ${kodi}/share/kodi/*
+    do
+      $(ln -s $share $out/share/kodi/.)
+    done)
+    $(for passthrough in icons xsessions applications
+    do
+      ln -s ${kodi}/share/$passthrough $out/share/
+    done)
+    $(for exe in kodi{,-standalone}
+    do
+    makeWrapper ${kodi}/bin/$exe $out/bin/$exe \
+      --prefix KODI_HOME : $out/share/kodi;
+    done)
+  '';
+
+  preferLocalBuilds = true;
+
+  meta = with kodi.meta; {
+    inherit license homepage;
+    description = description
+                + " (with plugins: "
+                + lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) plugins))
+                + ")";
+
+  };
+
+}
\ No newline at end of file