46 lines
1.1 KiB
Nix
46 lines
1.1 KiB
Nix
|
{ stdenv, lib, makeWrapper, xbmc, plugins }:
|
||
|
|
||
|
let
|
||
|
|
||
|
p = builtins.parseDrvName xbmc.name;
|
||
|
|
||
|
in
|
||
|
|
||
|
stdenv.mkDerivation {
|
||
|
|
||
|
name = "xbmc-" + p.version;
|
||
|
version = p.version;
|
||
|
|
||
|
buildInputs = [ makeWrapper ];
|
||
|
|
||
|
buildCommand = ''
|
||
|
mkdir -p $out/share/xbmc/addons/packages
|
||
|
${stdenv.lib.concatMapStrings
|
||
|
(plugin: "ln -s ${plugin.out
|
||
|
+ plugin.xbmcPlugin
|
||
|
+ "/" + plugin.namespace
|
||
|
} $out/share/xbmc/addons/.;") plugins}
|
||
|
$(for plugin in ${xbmc}/share/xbmc/addons/*
|
||
|
do
|
||
|
$(ln -s $plugin/ $out/share/xbmc/addons/.)
|
||
|
done)
|
||
|
$(for share in ${xbmc}/share/xbmc/*
|
||
|
do
|
||
|
$(ln -s $share $out/share/xbmc/.)
|
||
|
done)
|
||
|
makeWrapper ${xbmc}/bin/xbmc $out/bin/xbmc \
|
||
|
--prefix XBMC_HOME : $out/share/xbmc;
|
||
|
'';
|
||
|
|
||
|
preferLocalBuilds = true;
|
||
|
|
||
|
meta = with xbmc.meta; {
|
||
|
inherit license homepage;
|
||
|
description = description
|
||
|
+ " (with plugins: "
|
||
|
+ lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) plugins))
|
||
|
+ ")";
|
||
|
|
||
|
};
|
||
|
|
||
|
}
|