53 lines
1.2 KiB
Nix
53 lines
1.2 KiB
Nix
|
{ 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))
|
||
|
+ ")";
|
||
|
|
||
|
};
|
||
|
|
||
|
}
|