Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 16.09 44 lines 1.7 kB view raw
1{ stdenv, runCommand, makeWrapper, lndir 2, dconf, hicolor_icon_theme, ibus, librsvg, plugins 3}: 4 5let 6 name = "ibus-with-plugins-" + (builtins.parseDrvName ibus.name).version; 7 env = { 8 buildInputs = [ ibus ] ++ plugins; 9 nativeBuildInputs = [ lndir makeWrapper ]; 10 propagatedUserEnvPackages = [ hicolor_icon_theme ]; 11 paths = [ ibus ] ++ plugins; 12 inherit (ibus) meta; 13 }; 14 command = '' 15 for dir in bin etc lib libexec share; do 16 mkdir -p "$out/$dir" 17 for pkg in $paths; do 18 if [ -d "$pkg/$dir" ]; then 19 lndir -silent "$pkg/$dir" "$out/$dir" 20 fi 21 done 22 done 23 24 for prog in ibus ibus-daemon ibus-setup; do 25 wrapProgram "$out/bin/$prog" \ 26 --set GDK_PIXBUF_MODULE_FILE ${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache \ 27 --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH:$out/lib/girepository-1.0" \ 28 --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" \ 29 --set IBUS_COMPONENT_PATH "$out/share/ibus/component/" \ 30 --set IBUS_DATAROOTDIR "$out/share" \ 31 --set IBUS_LIBEXECDIR "$out/libexec" \ 32 --set IBUS_LOCALEDIR "$out/share/locale" \ 33 --set IBUS_PREFIX "$out" \ 34 --set IBUS_TABLE_BIN_PATH "$out/bin" \ 35 --set IBUS_TABLE_DATA_DIR "$out/share" \ 36 --set IBUS_TABLE_LIB_LOCATION "$out/libexec" \ 37 --set IBUS_TABLE_LOCATION "$out/share/ibus-table" \ 38 --prefix PYTHONPATH : "$PYTHONPATH" \ 39 --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \ 40 --suffix XDG_DATA_DIRS : "${hicolor_icon_theme}/share" 41 done 42 ''; 43in 44 runCommand name env command