ibus-with-plugins: rewrite wrapper
This commit is contained in:
parent
10e3664c97
commit
f058f1c1d3
@ -1,24 +1,36 @@
|
|||||||
{ stdenv, buildEnv, ibus, makeWrapper, plugins, hicolor_icon_theme }:
|
{ stdenv, runCommand, ibus, lndir, makeWrapper, plugins, hicolor_icon_theme }:
|
||||||
|
|
||||||
let
|
let
|
||||||
drv = buildEnv {
|
|
||||||
name = "ibus-with-plugins-" + (builtins.parseDrvName ibus.name).version;
|
name = "ibus-with-plugins-" + (builtins.parseDrvName ibus.name).version;
|
||||||
|
env = {
|
||||||
paths = [ ibus hicolor_icon_theme ] ++ plugins;
|
nativeBuildInputs = [ lndir makeWrapper ];
|
||||||
|
propagatedUserEnvPackages = [ hicolor_icon_theme ];
|
||||||
postBuild = ''
|
paths = [ ibus ] ++ plugins;
|
||||||
# TODO: This could be avoided if buildEnv could be forced to create all directories
|
|
||||||
if [ -L $out/bin ]; then
|
|
||||||
rm $out/bin
|
|
||||||
mkdir $out/bin
|
|
||||||
for i in ${ibus}/bin/*; do
|
|
||||||
ln -s $i $out/bin
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
wrapProgram $out/bin/ibus \
|
|
||||||
--set IBUS_COMPONENT_PATH "$out/share/ibus/component/"
|
|
||||||
wrapProgram $out/bin/ibus-daemon \
|
|
||||||
--set IBUS_COMPONENT_PATH "$out/share/ibus/component/"
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
|
command = ''
|
||||||
|
for dir in bin etc lib libexec share; do
|
||||||
|
mkdir -p "$out/$dir"
|
||||||
|
for pkg in $paths; do
|
||||||
|
if [ -d "$pkg/$dir" ]; then
|
||||||
|
lndir -silent "$pkg/$dir" "$out/$dir"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
for prog in ibus ibus-daemon ibus-setup; do
|
||||||
|
wrapProgram "$out/bin/$prog" \
|
||||||
|
--suffix XDG_DATA_DIRS : "${hicolor_icon_theme}/share" \
|
||||||
|
--set IBUS_COMPONENT_PATH "$out/share/ibus/component/" \
|
||||||
|
--set IBUS_DATAROOTDIR "$out/share" \
|
||||||
|
--set IBUS_LIBEXECDIR "$out/libexec" \
|
||||||
|
--set IBUS_LOCALEDIR "$out/share/locale" \
|
||||||
|
--set IBUS_PREFIX "$out" \
|
||||||
|
--set IBUS_TABLE_BIN_PATH "$out/bin" \
|
||||||
|
--set IBUS_TABLE_DATA_DIR "$out/share" \
|
||||||
|
--set IBUS_TABLE_LIB_LOCATION "$out/libexec" \
|
||||||
|
--set IBUS_TABLE_LOCATION "$out/share/ibus-table" \
|
||||||
|
--set IBUS_TABLE_DEBUG_LEVEL 1
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
runCommand name env command
|
||||||
|
Loading…
x
Reference in New Issue
Block a user