Im-config (https://anonscm.debian.org/cgit/collab-maint/im-config.git) is a shell script which used to manager input method by debian, I want to package it to guixsd, but many problem I faced:
1. How to deal with "/usr/bin/XXX" in schell script, for example: /usr/bin/fcitx, /usr/bin/ibux .... 2. How to deal with " /usr/lib/*/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin. " ---------------------------------------------------------------- # start fcitx # vim: set sts=4 expandtab: if [ "$IM_CONFIG_PHASE" = 2 ]; then # start fcitx daemon /usr/bin/fcitx & fi if [ "$IM_CONFIG_PHASE" = 1 ]; then # set variables for the plain XIM XMODIFIERS=@im=fcitx GTK_IM_MODULE=xim # use immodule only when available for both GTK 2.0 and 3.0 IM_CONFIG_MARKER2=0 for IM_CONFIG_MARKER in /usr/lib/*/gtk-2.0/*/immodules/im-fcitx.so \ /usr/lib/gtk-2.0/*/immodules/im-fcitx.so ; do if [ -e $IM_CONFIG_MARKER ]; then IM_CONFIG_MARKER2=1 break fi done IM_CONFIG_MARKER3=0 for IM_CONFIG_MARKER in /usr/lib/*/gtk-3.0/*/immodules/im-fcitx.so \ /usr/lib/gtk-3.0/*/immodules/im-fcitx.so ; do if [ -e $IM_CONFIG_MARKER ]; then IM_CONFIG_MARKER3=1 break fi done if [ $IM_CONFIG_MARKER2 = 1 ] && [ $IM_CONFIG_MARKER3 = 1 ] ; then GTK_IM_MODULE=fcitx fi QT4_IM_MODULE=xim # use immodule when available for Qt4 for IM_CONFIG_MARKER in /usr/lib/*/qt4/plugins/inputmethods/qtim-fcitx.so \ /usr/lib/qt4/plugins/inputmethods/qtim-fcitx.so ; do if [ -e $IM_CONFIG_MARKER ]; then QT4_IM_MODULE=fcitx break fi done QT_IM_MODULE=xim # use immodule when available for Qt5 for IM_CONFIG_MARKER in /usr/lib/*/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so ; do if [ -e $IM_CONFIG_MARKER ]; then QT_IM_MODULE=fcitx break fi done # This is placeholder at this moment. CLUTTER_IM_MODULE=xim # use immodule when available for clutter for IM_CONFIG_MARKER in /usr/lib/*/clutter-imcontext/immodules/im-fcitx.so \ /usr/lib/clutter-imcontext/immodules/im-fcitx.so; do if [ -e $IM_CONFIG_MARKER ]; then CLUTTER_IM_MODULE=fcitx break fi done fi ------------------------------------------------------------------