summary refs log tree commit diff
path: root/pkgs/tools/inputmethods
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/inputmethods')
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix27
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix31
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix30
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix29
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix117
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix29
-rw-r--r--pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix24
-rw-r--r--pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx/wrapper.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-anthy/default.nix32
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix39
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix39
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix32
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix (renamed from pkgs/tools/inputmethods/mozc/default.nix)37
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix (renamed from pkgs/tools/inputmethods/ibus-table-others/default.nix)15
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix (renamed from pkgs/tools/inputmethods/ibus-table/default.nix)11
-rw-r--r--pkgs/tools/inputmethods/ibus/ibus-qt.nix (renamed from pkgs/tools/inputmethods/ibus-qt/default.nix)0
-rw-r--r--pkgs/tools/inputmethods/ibus/wrapper.nix24
-rw-r--r--pkgs/tools/inputmethods/uim/data-hook.patch39
-rw-r--r--pkgs/tools/inputmethods/uim/default.nix11
-rw-r--r--pkgs/tools/inputmethods/uim/immodules_cache.patch231
21 files changed, 484 insertions, 321 deletions
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix
new file mode 100644
index 00000000000..88ba436207c
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, cmake, fcitx, anthy, gettext, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "fcitx-anthy-${version}";
+  version = "0.2.2";
+
+  src = fetchurl {
+    url = "http://download.fcitx-im.org/fcitx-anthy/${name}.tar.xz";
+    sha256 = "0ayrzfx95670k86y19bzl6i6w98haaln3x8dxpb39a5dwgz59pf8";
+  };
+
+  buildInputs = [ cmake fcitx anthy gettext pkgconfig ];
+
+  preInstall = ''
+    substituteInPlace src/cmake_install.cmake \
+      --replace ${fcitx} $out
+  '';
+
+  meta = with stdenv.lib; {
+    isFcitxEngine = true;
+    description   = "Fcitx Wrapper for anthy";
+    license       = licenses.gpl2Plus;
+    platforms     = platforms.linux;
+    maintainers   = with maintainers; [ iyzsong ericsagnes ];
+  };
+
+}
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix
new file mode 100644
index 00000000000..58695434cb6
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, cmake, fcitx, gettext, libchewing, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "fcitx-chewing-${version}";
+  version = "0.2.2";
+
+  src = fetchurl {
+    url = "http://download.fcitx-im.org/fcitx-chewing/${name}.tar.xz";
+    sha256 = "0l548xdx2fvjya1ixp37pn382yak0m4kwfh9lgh7l3y2sblqw9zs";
+  };
+
+  buildInputs = [ cmake fcitx gettext libchewing pkgconfig ];
+
+  preInstall = ''
+   substituteInPlace src/cmake_install.cmake \
+      --replace ${fcitx} $out
+   substituteInPlace data/cmake_install.cmake \
+      --replace ${fcitx} $out
+  '';
+
+  meta = with stdenv.lib; {
+    isFcitxEngine = true;
+    homepage      = "https://github.com/fcitx/fcitx-chewing";
+    downloadPage  = "http://download.fcitx-im.org/fcitx-chewing/";
+    description   = "Fcitx engine for chewing";
+    license       = licenses.gpl2;
+    platforms     = platforms.linux;
+    maintainers   = with maintainers; [ ericsagnes ];
+  };
+
+}
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix
new file mode 100644
index 00000000000..54b5335d9bb
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, cmake, fcitx, libhangul, gettext, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "fcitx-hangul-${version}";
+  version = "0.3.0";
+
+  src = fetchurl {
+    url = "http://download.fcitx-im.org/fcitx-hangul/${name}.tar.xz";
+    sha256 = "1jq78nczliw6pnhfac8hspffybrry6syk17y0wwcq05j3r3nd2lp";
+  };
+
+  buildInputs = [ cmake fcitx libhangul gettext pkgconfig ];
+
+  preInstall = ''
+    substituteInPlace src/cmake_install.cmake \
+      --replace ${fcitx} $out
+    substituteInPlace data/cmake_install.cmake \
+      --replace ${fcitx} $out
+  '';
+
+  meta = with stdenv.lib; {
+    isFcitxEngine = true;
+    homepage      = "https://github.com/fcitx/fcitx-hangul";
+    downloadPage  = "http://download.fcitx-im.org/fcitx-hangul/";
+    description   = "Fcitx Wrapper for hangul";
+    license       = licenses.gpl2;
+    platforms     = platforms.linux;
+    maintainers   = with maintainers; [ ericsagnes ];
+  };
+}
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix
new file mode 100644
index 00000000000..ff42bbbbcc8
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, cmake, fcitx, gettext, m17n_lib, m17n_db, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "fcitx-m17n-${version}";
+  version = "0.2.3";
+
+  src = fetchurl {
+    url = "http://download.fcitx-im.org/fcitx-m17n/${name}.tar.xz";
+    sha256 = "0ffyhsg7bc6525k94kfhnja1h6ajlfprq72d286dp54cksnakyc4";
+  };
+
+  buildInputs = [ cmake fcitx gettext m17n_lib m17n_db pkgconfig ];
+
+  preInstall = ''
+    substituteInPlace im/cmake_install.cmake \
+    --replace ${fcitx} $out
+    '';
+
+  meta = with stdenv.lib; {
+    isFcitxEngine = true;
+    homepage      = "https://github.com/fcitx/fcitx-m17n";
+    downloadPage  = "http://download.fcitx-im.org/fcitx-table-other/";
+    description   = "Fcitx wrapper for m17n";
+    license       = licenses.gpl3Plus;
+    platforms     = platforms.linux;
+    maintainers   = with maintainers; [ ericsagnes ];
+  };
+
+}
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix
new file mode 100644
index 00000000000..5366fe55877
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix
@@ -0,0 +1,117 @@
+{ clangStdenv, fetchFromGitHub, fetchurl, fetchpatch, fetchsvn, gyp, which, ninja, 
+  python, pkgconfig, protobuf, gtk, zinnia, qt4, libxcb, tegaki-zinnia-japanese,
+  fcitx, gettext }:
+let
+  japanese_usage_dictionary = fetchsvn {
+    url    = "http://japanese-usage-dictionary.googlecode.com/svn/trunk";
+    rev    = "10";
+    sha256 = "0pyrpz9c8nxccwpgyr36w314mi8h132cis8ijvlqmmhqxwsi30hm";
+  };
+  icons = fetchurl {
+    url    = "http://download.fcitx-im.org/fcitx-mozc/fcitx-mozc-icon.tar.gz";
+    sha256 = "10bdjn481jsh32vll7r756l392anz44h6207vjqwby3rplk31np1";
+  };
+in clangStdenv.mkDerivation rec {
+  name    = "fcitx-mozc-${version}";
+  version = "2.17.2313.102";
+
+  src = fetchFromGitHub {
+    owner  = "google";
+    repo   = "mozc";
+    rev    = "3306d3314499a54a4064b8b80bbc1bce3f6cfac4";
+    sha256 = "0l7mjlnbm6i1ipni8pg9ym5bjg3rzkaxi9xwmsz2lddv348sqii2";
+  };
+
+  nativeBuildInputs = [ gyp which ninja python pkgconfig ];
+  buildInputs = [ protobuf gtk zinnia qt4 libxcb fcitx gettext ];
+
+  postUnpack = ''
+    rmdir $sourceRoot/src/third_party/japanese_usage_dictionary/
+    ln -s ${japanese_usage_dictionary} $sourceRoot/src/third_party/japanese_usage_dictionary
+    tar -xzf ${icons} -C $sourceRoot
+  '';
+
+  patch_version = "2.17.2313.102.1";
+  patches = [ 
+    (fetchpatch rec {
+      name   = "fcitx-mozc-${patch_version}.patch";
+      url    = "https://download.fcitx-im.org/fcitx-mozc/${name}";
+      sha256 = "172c34jkppibvwr9qf9xwgh2hdrmmhyx7nsdj49krxbfdlsy3yy0";
+     })
+  ];
+
+  postPatch = ''
+    substituteInPlace src/unix/fcitx/mozc.conf \
+      --replace "/usr/share/fcitx/mozc/icon/mozc.png" "mozc" 
+  '';
+
+  configurePhase = ''
+    export GYP_DEFINES="document_dir=$out/share/doc/mozc use_libzinnia=1 use_libprotobuf=1"
+    python src/build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc \
+    python src/unix/fcitx/fcitx.gyp gyp --gypdir=${gyp}/bin
+  '';
+
+  preBuildPhase = ''
+    head -n 29 src/server/mozc_server.cc > LICENSE
+  '';
+
+  buildPhase = ''
+    python src/build_mozc.py build -c Release \
+      unix/fcitx/fcitx.gyp:fcitx-mozc \
+      server/server.gyp:mozc_server \
+      gui/gui.gyp:mozc_tool
+  '';
+
+  checkPhase = ''
+    python src/build_mozc.py runtests -c Release
+  '';
+
+  installPhase = ''
+    install -d        $out/share/licenses/fcitx-mozc/
+    install -m 644    LICENSE src/data/installer/*.html     $out/share/licenses/fcitx-mozc/
+
+    install -d        $out/share/doc/mozc
+    install -m    644 src/data/installer/*.html             $out/share/doc/mozc/
+
+    install -D -m 755 src/out_linux/Release/mozc_server     $out/lib/mozc/mozc_server
+    install    -m 755 src/out_linux/Release/mozc_tool       $out/lib/mozc/mozc_tool
+
+    install -D -m 755 src/out_linux/Release/fcitx-mozc.so   $out/lib/fcitx/fcitx-mozc.so
+    install -D -m 644 src/unix/fcitx/fcitx-mozc.conf        $out/share/fcitx/addon/fcitx-mozc.conf
+    install -D -m 644 src/unix/fcitx/mozc.conf              $out/share/fcitx/inputmethod/mozc.conf
+
+    install -d        $out/share/doc/mozc
+
+    for mofile in src/out_linux/Release/gen/unix/fcitx/po/*.mo
+    do
+      filename=`basename $mofile`
+      lang=$filename.mo
+      install -D -m 644 "$mofile" "$out/share/locale/$lang/LC_MESSAGES/fcitx-mozc.mo"
+    done
+
+    install -d        $out/share/fcitx/imicon
+    install    -m 644 fcitx-mozc-icons/mozc.png                 $out/share/fcitx/imicon/mozc.png
+    install -d        $out/share/fcitx/mozc/icon
+    install    -m 644 fcitx-mozc-icons/mozc.png                 $out/share/fcitx/mozc/icon/mozc.png
+    install    -m 644 fcitx-mozc-icons/mozc-alpha_full.png      $out/share/fcitx/mozc/icon/mozc-alpha_full.png
+    install    -m 644 fcitx-mozc-icons/mozc-alpha_half.png      $out/share/fcitx/mozc/icon/mozc-alpha_half.png
+    install    -m 644 fcitx-mozc-icons/mozc-direct.png          $out/share/fcitx/mozc/icon/mozc-direct.png
+    install    -m 644 fcitx-mozc-icons/mozc-hiragana.png        $out/share/fcitx/mozc/icon/mozc-hiragana.png
+    install    -m 644 fcitx-mozc-icons/mozc-katakana_full.png   $out/share/fcitx/mozc/icon/mozc-katakana_full.png
+    install    -m 644 fcitx-mozc-icons/mozc-katakana_half.png   $out/share/fcitx/mozc/icon/mozc-katakana_half.png
+    install    -m 644 fcitx-mozc-icons/mozc-dictionary.png      $out/share/fcitx/mozc/icon/mozc-dictionary.png
+    install    -m 644 fcitx-mozc-icons/mozc-properties.png      $out/share/fcitx/mozc/icon/mozc-properties.png
+    install    -m 644 fcitx-mozc-icons/mozc-tool.png            $out/share/fcitx/mozc/icon/mozc-tool.png
+  '';
+
+  meta = with clangStdenv.lib; {
+    isFcitxEngine = true;
+    description   = "Fcitx engine for Google japanese input method";
+    homepage      = http://code.google.com/p/mozc/;
+    downloadPage  = "http://download.fcitx-im.org/fcitx-mozc/";
+    license       = licenses.free;
+    platforms     = platforms.linux;
+    maintainers   = [ maintainers.ericsagnes ];
+  };
+
+}
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix
new file mode 100644
index 00000000000..40ef0b33aea
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, cmake, fcitx, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "fcitx-table-other-${version}";
+  version = "0.2.3";
+
+  src = fetchurl {
+    url = "http://download.fcitx-im.org/fcitx-table-other/${name}.tar.xz";
+    sha256 = "12fqbsjrpx5pndx2jf7fksrlp01a4yxz62h2vpxrbkpk73ljly4v";
+  };
+
+  buildInputs = [ cmake fcitx gettext ];
+
+  preInstall = ''
+   substituteInPlace tables/cmake_install.cmake \
+      --replace ${fcitx} $out
+  '';
+
+  meta = with stdenv.lib; {
+    isFcitxEngine = true;
+    homepage      = "https://github.com/fcitx/fcitx-table-other";
+    downloadPage  = "http://download.fcitx-im.org/fcitx-table-other/";
+    description   = "Provides some other tables for Fcitx";
+    license       = licenses.gpl3Plus;
+    platforms     = platforms.linux;
+    maintainers   = with maintainers; [ ericsagnes ];
+  };
+
+}
diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix b/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix
deleted file mode 100644
index 2099220f2a1..00000000000
--- a/pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, cmake, fcitx, anthy }:
-
-stdenv.mkDerivation rec {
-  name = "fcitx-anthy-0.2.1";
-
-  meta = with stdenv.lib; {
-    description = "Fcitx Wrapper for anthy";
-    license     = licenses.gpl2Plus;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ iyzsong ];
-  };
-
-  src = fetchurl {
-    url = "http://download.fcitx-im.org/fcitx-anthy/${name}.tar.xz";
-    sha256 = "13fpfhhxkzbq53h10i3hifa37nngm47jq361i70z22bgcrs8887x";
-  };
-
-  buildInputs = [ cmake fcitx anthy ];
-
-  preInstall = ''
-    substituteInPlace src/cmake_install.cmake \
-      --replace ${fcitx} $out
-  '';
-}
diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix b/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix
index fad7862cf3b..428e96e8674 100644
--- a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix
+++ b/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "fcitx-qt5-${version}";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx-qt5/${name}.tar.xz";
-    sha256 = "070dlmwkim7sg0xwxfcbb46li1jk8yd3rmj0j5fkmgyr12044aml";
+    sha256 = "1pj1b04n8r4kl7jh1qdv0xshgzb3zrmizfa3g5h3yk589h191vwc";
   };
 
   buildInputs = [ cmake fcitx extra-cmake-modules qtbase ];
diff --git a/pkgs/tools/inputmethods/fcitx/wrapper.nix b/pkgs/tools/inputmethods/fcitx/wrapper.nix
index d4efb332696..a0ae2618954 100644
--- a/pkgs/tools/inputmethods/fcitx/wrapper.nix
+++ b/pkgs/tools/inputmethods/fcitx/wrapper.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildEnv, fcitx, makeWrapper, plugins }:
+{ stdenv, buildEnv, fcitx, fcitx-configtool, makeWrapper, plugins, kde5 }:
 
 # This is based on the pidgin-with-plugins package.
 # Users should be able to configure what plugins are used
@@ -16,7 +16,7 @@ let
 drv = buildEnv {
   name = "fcitx-with-plugins-" + (builtins.parseDrvName fcitx.name).version;
 
-  paths = [ fcitx ] ++ plugins;
+  paths = [ fcitx fcitx-configtool kde5.fcitx-qt5 ] ++ plugins;
 
   postBuild = ''
     # TODO: This could be avoided if buildEnv could be forced to create all directories
diff --git a/pkgs/tools/inputmethods/ibus-anthy/default.nix b/pkgs/tools/inputmethods/ibus-anthy/default.nix
deleted file mode 100644
index 0b2382315a5..00000000000
--- a/pkgs/tools/inputmethods/ibus-anthy/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, ibus, anthy, intltool, pkgconfig, glib, gobjectIntrospection, python, pythonPackages }:
-
-stdenv.mkDerivation rec {
-  name = "ibus-anthy-${version}";
-  version = "1.5.7";
-
-  meta = with stdenv.lib; {
-    description = "IBus interface to the anthy input method";
-    homepage    = http://wiki.github.com/fujiwarat/ibus-anthy;
-    license     = licenses.gpl2Plus;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ gebner ];
-  };
-
-  configureFlags = "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t";
-
-  buildInputs = [ makeWrapper ibus anthy intltool pkgconfig glib gobjectIntrospection python pythonPackages.pygobject3 ];
-
-  postFixup = ''
-    substituteInPlace $out/share/ibus/component/anthy.xml --replace \$\{exec_prefix\} $out
-    for file in "$out"/libexec/*; do
-      wrapProgram "$file" \
-        --prefix PYTHONPATH : $PYTHONPATH \
-        --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH:$out/lib/girepository-1.0
-    done
-  '';
-
-  src = fetchurl {
-    url = "https://github.com/ibus/ibus-anthy/releases/download/${version}/${name}.tar.gz";
-    sha256 = "00sjrfhghrgkqm72mf39f8sz6wr4fwvvs9mn2alaldhgr5v0c861";
-  };
-}
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
new file mode 100644
index 00000000000..89039745fd9
--- /dev/null
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, makeWrapper, ibus, anthy, intltool, pkgconfig, glib, gobjectIntrospection,
+  python, pythonPackages, gtk3, libtool, automake, autoconf }:
+
+stdenv.mkDerivation rec {
+  name = "ibus-anthy-${version}";
+  version = "1.5.8";
+
+  meta = with stdenv.lib; {
+    isIbusEngine = true;
+    description  = "IBus interface to the anthy input method";
+    homepage     = http://wiki.github.com/fujiwarat/ibus-anthy;
+    license      = licenses.gpl2Plus;
+    platforms    = platforms.linux;
+    maintainers  = with maintainers; [ gebner ericsagnes ];
+  };
+
+  preConfigure = "./autogen.sh --prefix=$out";
+
+  configureFlags = "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t";
+
+  buildInputs = [ makeWrapper ibus anthy intltool pkgconfig glib gobjectIntrospection
+    python pythonPackages.pygobject3 gtk3 libtool automake autoconf ];
+
+  postFixup = ''
+    substituteInPlace $out/share/ibus/component/anthy.xml --replace \$\{exec_prefix\} $out
+    for file in "$out"/libexec/*; do
+      wrapProgram "$file" \
+        --prefix PYTHONPATH : $PYTHONPATH \
+        --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH:$out/lib/girepository-1.0
+    done
+  '';
+
+  src = fetchFromGitHub {
+    owner  = "ibus";
+    repo   = "ibus-anthy";
+    rev    = version;
+    sha256 = "1laxwpnhgihv4dz5cgcz6d0a0880r93n7039ciz1m53hdzapwi4a";
+  };
+}
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
new file mode 100644
index 00000000000..b682196d5d0
--- /dev/null
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, gnome, fetchFromGitHub, ibus, libhangul, autoconf, automake, gettext, libtool, librsvg,
+  intltool, pkgconfig, pythonPackages, makeWrapper, gtk3, python }:
+
+stdenv.mkDerivation rec {
+  name = "ibus-hangul-${version}";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner  = "choehwanjin";
+    repo   = "ibus-hangul";
+    rev    = version;
+    sha256 = "12l2spr32biqdbz01bzkamgq5gskbi6cd7ai343wqyy1ibjlkmp8";
+  };
+
+  buildInputs = [ ibus libhangul autoconf gettext automake libtool
+    intltool pkgconfig python pythonPackages.pygobject3 gtk3 makeWrapper ];
+
+  preConfigure = ''
+    autoreconf --verbose --force --install
+    intltoolize --automake --force --copy
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/ibus-setup-hangul \
+      --prefix PYTHONPATH : $PYTHONPATH \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix GDK_PIXBUF_MODULE_FILE : ${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache \
+      --prefix LD_LIBRARY_PATH : ${libhangul}/lib
+  '';
+
+  meta = with stdenv.lib; {
+    isIbusEngine = true;
+    description  = "Ibus Hangul engine.";
+    homepage     = https://github.com/choehwanjin/ibus-hangul;
+    license      = licenses.gpl2;
+    platforms    = platforms.linux;
+    maintainers  = with maintainers; [ ericsagnes ];
+  };
+}
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
new file mode 100644
index 00000000000..30329c4306f
--- /dev/null
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, ibus, m17n_lib, m17n_db, automake, autoconf,
+  gettext, libtool, pkgconfig, python, pythonPackages }:
+
+stdenv.mkDerivation rec {
+  name = "ibus-m17n-${version}";
+  version = "1.3.4";
+
+  src = fetchFromGitHub {
+    owner  = "ibus";
+    repo   = "ibus-m17n";
+    rev    = version;
+    sha256 = "1n0bvgc4jyksgvzrw5zs2pxcpxcn3gcc0j2kasbznm34fpv3frsr";
+  };
+
+  buildInputs = [ 
+    ibus m17n_lib m17n_db automake autoconf gettext 
+    libtool pkgconfig python pythonPackages.pygobject3 
+  ];
+
+  preConfigure = ''
+    autoreconf --verbose --force --install
+  '';
+
+  meta = with stdenv.lib; {
+    isIbusEngine = true;
+    description  = "m17n engine for ibus.";
+    homepage     = https://github.com.com/ibus/ibus-m17n;
+    license      = licenses.gpl2;
+    platforms    = platforms.linux;
+    maintainers  = with maintainers; [ ericsagnes ];
+  };
+}
diff --git a/pkgs/tools/inputmethods/mozc/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
index 20789a33a0c..e06d2b004ee 100644
--- a/pkgs/tools/inputmethods/mozc/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
@@ -7,33 +7,41 @@ let
     sha256 = "0pyrpz9c8nxccwpgyr36w314mi8h132cis8ijvlqmmhqxwsi30hm";
   };
 in clangStdenv.mkDerivation rec {
-  name = "mozc-${version}";
-  version = "2015-05-02";
+  name = "ibus-mozc-${version}";
+  version = "2.17.2313.102";
 
   meta = with clangStdenv.lib; {
-    description = "Japanese input method from Google";
-    homepage = http://code.google.com/p/mozc/;
-    license = licenses.bsd3;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.gebner ];
+    isIbusEngine = true;
+    description  = "Japanese input method from Google";
+    homepage     = http://code.google.com/p/mozc/;
+    license      = licenses.free;
+    platforms    = platforms.linux;
+    maintainers  = with maintainers; [ gebner ericsagnes ];
   };
 
   nativeBuildInputs = [ gyp which ninja python pkgconfig ];
   buildInputs = [ protobuf ibus gtk zinnia qt4 libxcb ];
 
   src = fetchFromGitHub {
-    owner = "google";
-    repo = "mozc";
-    rev = "d9783737ecfcb68c3d98d84e7052d716f4d0e0cb";
-    sha256 = "52a83658e2e4a7b38e31a4085682be24c9c5f4c51a01578598a30b9833827b72";
+    owner  = "google";
+    repo   = "mozc";
+    rev    = "3306d3314499a54a4064b8b80bbc1bce3f6cfac4";
+    sha256 = "0l7mjlnbm6i1ipni8pg9ym5bjg3rzkaxi9xwmsz2lddv348sqii2";
   };
+
   postUnpack = ''
+    rmdir $sourceRoot/src/third_party/japanese_usage_dictionary/
     ln -s ${japanese_usage_dictionary} $sourceRoot/src/third_party/japanese_usage_dictionary
   '';
 
   configurePhase = ''
-    export GYP_DEFINES="ibus_mozc_path=$out/lib/ibus-mozc/ibus-engine-mozc ibus_mozc_icon_path=$out/share/ibus-mozc/product_icon.png document_dir=$out/share/doc/mozc zinnia_model_file=${tegaki-zinnia-japanese}/share/tegaki/models/zinnia/handwriting-ja.model use_libprotobuf=1"
-    python src/build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc
+    export GYP_DEFINES="document_dir=$out/share/doc/mozc use_libzinnia=1 use_libprotobuf=1 ibus_mozc_path=$out/lib/ibus-mozc/ibus-engine-mozc"
+    python src/build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc \
+    python src/unix/fcitx/fcitx.gyp gyp --gypdir=${gyp}/bin
+  '';
+
+  preBuildPhase = ''
+    head -n 29 src/server/mozc_server.cc > LICENSE
   '';
 
   buildPhase = ''
@@ -50,6 +58,9 @@ in clangStdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    install -d        $out/share/licenses/mozc/
+    install -m 644    LICENSE src/data/installer/*.html     $out/share/licenses/mozc/
+
     install -D -m 755 src/out_linux/Release/mozc_server $out/lib/mozc/mozc_server
     install    -m 755 src/out_linux/Release/mozc_tool   $out/lib/mozc/mozc_tool
 
diff --git a/pkgs/tools/inputmethods/ibus-table-others/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
index f356bcdee85..f3e3973a2c3 100644
--- a/pkgs/tools/inputmethods/ibus-table-others/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
@@ -12,18 +12,19 @@ stdenv.mkDerivation rec {
   buildInputs = [ ibus ibus-table pkgconfig python3 ];
 
   preBuild = ''
-    export HOME=/tmp/ibus-table-others
+    export HOME=$(mktemp -d)/ibus-table-others
   '';
 
   postFixup = ''
-    rm -rf /tmp/ibus-table-others
+    rm -rf $HOME
   '';
 
   meta = with stdenv.lib; {
-    description = "Various table-based input methods for IBus";
-    homepage    = https://github.com/moebiuscurve/ibus-table-others;
-    license     = licenses.gpl3;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ mudri ];
+    isIbusEngine = true;
+    description  = "Various table-based input methods for IBus";
+    homepage     = https://github.com/moebiuscurve/ibus-table-others;
+    license      = licenses.gpl3;
+    platforms    = platforms.linux;
+    maintainers  = with maintainers; [ mudri ];
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index 58b890b0c92..244169cf46b 100644
--- a/pkgs/tools/inputmethods/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -12,10 +12,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ ibus pkgconfig python3 pythonPackages.pygobject3 ];
 
   meta = with stdenv.lib; {
-    description = "An IBus framework for table-based input methods";
-    homepage    = https://github.com/kaio/ibus-table/wiki;
-    license     = licenses.lgpl21;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ mudri ];
+    isIbusEngine = true;
+    description  = "An IBus framework for table-based input methods";
+    homepage     = https://github.com/kaio/ibus-table/wiki;
+    license      = licenses.lgpl21;
+    platforms    = platforms.linux;
+    maintainers  = with maintainers; [ mudri ];
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-qt/default.nix b/pkgs/tools/inputmethods/ibus/ibus-qt.nix
index 95c32532e40..95c32532e40 100644
--- a/pkgs/tools/inputmethods/ibus-qt/default.nix
+++ b/pkgs/tools/inputmethods/ibus/ibus-qt.nix
diff --git a/pkgs/tools/inputmethods/ibus/wrapper.nix b/pkgs/tools/inputmethods/ibus/wrapper.nix
new file mode 100644
index 00000000000..270a2db7412
--- /dev/null
+++ b/pkgs/tools/inputmethods/ibus/wrapper.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildEnv, ibus, makeWrapper, plugins, hicolor_icon_theme }:
+
+let
+drv = buildEnv {
+  name = "ibus-with-plugins-" + (builtins.parseDrvName ibus.name).version;
+
+  paths = [ ibus hicolor_icon_theme ] ++ plugins;
+
+  postBuild = ''
+    # 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 ]; })
diff --git a/pkgs/tools/inputmethods/uim/data-hook.patch b/pkgs/tools/inputmethods/uim/data-hook.patch
new file mode 100644
index 00000000000..07fdf873316
--- /dev/null
+++ b/pkgs/tools/inputmethods/uim/data-hook.patch
@@ -0,0 +1,39 @@
+--- a/gtk2/immodule/Makefile.in	2015-11-24 16:21:08.967087208 +0900
++++ b/gtk2/immodule/Makefile.in	2015-11-24 16:22:53.316095150 +0900
+@@ -806,7 +806,6 @@
+ 
+ install-data-am: install-moduleLTLIBRARIES
+ 	@$(NORMAL_INSTALL)
+-	$(MAKE) $(AM_MAKEFLAGS) install-data-hook
+ install-dvi: install-dvi-am
+ 
+ install-dvi-am:
+@@ -861,7 +860,7 @@
+ 	ctags distclean distclean-compile distclean-generic \
+ 	distclean-libtool distclean-tags distdir dvi dvi-am html \
+ 	html-am info info-am install install-am install-data \
+-	install-data-am install-data-hook install-dvi install-dvi-am \
++	install-data-am install-dvi install-dvi-am \
+ 	install-exec install-exec-am install-html install-html-am \
+ 	install-info install-info-am install-man \
+ 	install-moduleLTLIBRARIES install-pdf install-pdf-am \
+
+--- a/gtk3/immodule/Makefile.in	2015-11-24 16:21:08.971087209 +0900
++++ b/gtk3/immodule/Makefile.in	2015-11-24 16:23:28.251097832 +0900
+@@ -824,7 +824,6 @@
+ 
+ install-data-am: install-moduleLTLIBRARIES
+ 	@$(NORMAL_INSTALL)
+-	$(MAKE) $(AM_MAKEFLAGS) install-data-hook
+ install-dvi: install-dvi-am
+ 
+ install-dvi-am:
+@@ -879,7 +878,7 @@
+ 	ctags distclean distclean-compile distclean-generic \
+ 	distclean-libtool distclean-tags distdir dvi dvi-am html \
+ 	html-am info info-am install install-am install-data \
+-	install-data-am install-data-hook install-dvi install-dvi-am \
++	install-data-am install-dvi install-dvi-am \
+ 	install-exec install-exec-am install-html install-html-am \
+ 	install-info install-info-am install-man \
+ 	install-moduleLTLIBRARIES install-pdf install-pdf-am 
diff --git a/pkgs/tools/inputmethods/uim/default.nix b/pkgs/tools/inputmethods/uim/default.nix
index 19de302e7b1..99a415407c1 100644
--- a/pkgs/tools/inputmethods/uim/default.nix
+++ b/pkgs/tools/inputmethods/uim/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     m17n_db
   ];
 
-  patches = [ ./immodules_cache.patch ];
+  patches = [ ./data-hook.patch ];
 
   configureFlags = [
     "--with-gtk2"
@@ -41,10 +41,11 @@ stdenv.mkDerivation rec {
     sha1 = "43b9dbdead6797880e6cfc9c032ecb2d37d42777";
   };
 
-  meta = {
-    homepage = "http://code.google.com/p/uim/";
+  meta = with stdenv.lib; {
+    homepage    = "http://code.google.com/p/uim/";
     description = "A multilingual input method framework";
-    license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.linux;
+    license     = stdenv.lib.licenses.bsd3;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ ericsagnes ];
   };
 }
diff --git a/pkgs/tools/inputmethods/uim/immodules_cache.patch b/pkgs/tools/inputmethods/uim/immodules_cache.patch
deleted file mode 100644
index c2d08b661e3..00000000000
--- a/pkgs/tools/inputmethods/uim/immodules_cache.patch
+++ /dev/null
@@ -1,231 +0,0 @@
-diff -ru -x '*~' uim-1.8.6.orig/gtk2/immodule/Makefile.am uim-1.8.6/gtk2/immodule/Makefile.am
---- uim-1.8.6.orig/gtk2/immodule/Makefile.am	2013-06-30 13:26:09.000000000 +0900
-+++ uim-1.8.6/gtk2/immodule/Makefile.am	2014-07-13 21:51:26.538400004 +0900
-@@ -1,5 +1,5 @@
- uim_gtk_im_module_path = $(libdir)/gtk-2.0
--uim_gtk_im_module_file = $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules
-+uim_gtk_im_module_file = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules.cache
- 
- moduledir = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules
- 
-@@ -38,48 +38,12 @@
- 
- install-data-hook: gtk-rc-get-immodule-file
- 	if test -z $(DESTDIR); then \
--	  if test $(libdir) = $(GTK_LIBDIR); then \
--	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
--	      $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \
--	      echo "*** \"`$(GTK_RC_GET_IMMODULE_FILE)`\" is updated. ***";  \
--	    else \
--	      echo "********************** Warning ***********************"; \
--	      echo " $(QUERY_COMMAND) not found"; \
--	      echo " Please make sure to update"; \
--	      echo " \"`$(GTK_RC_GET_IMMODULE_FILE)`\""; \
--	      echo " manually."; \
--	      echo "******************************************************"; \
--	    fi \
--	  else \
--	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
--	      $(mkinstalldirs) $(sysconfdir)/gtk-2.0; \
--	      GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
--	      echo "******************************************************"; \
--	      echo " You need to set"; \
--	      echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \
--	      echo " environment variable to use this module."; \
--	      echo "******************************************************"; \
--	    else \
--	      echo "********************** Warning ***********************"; \
--	      echo " $(QUERY_COMMAND) not found"; \
--	      echo " Please make sure to update"; \
--	      echo " \"$(uim_gtk_im_module_file)\""; \
--	      echo " manually, and set"; \
--	      echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \
--	      echo " environment variable to use this module."; \
--	      echo "******************************************************"; \
--	    fi \
--	  fi \
-+	  $(mkinstalldirs) $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@; \
-+	  GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
- 	fi
- uninstall-hook:
- 	if test -z $(DESTDIR); then \
--	  if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
--	    if test $(libdir) = $(GTK_LIBDIR); then \
--	      $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \
--	    else \
--	      GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
--	    fi \
--	  fi \
-+	  GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
- 	fi
- else
- install-data-hook:
-diff -ru -x '*~' uim-1.8.6.orig/gtk2/immodule/Makefile.in uim-1.8.6/gtk2/immodule/Makefile.in
---- uim-1.8.6.orig/gtk2/immodule/Makefile.in	2013-06-30 13:27:08.000000000 +0900
-+++ uim-1.8.6/gtk2/immodule/Makefile.in	2014-07-13 22:12:27.947595507 +0900
-@@ -434,7 +434,7 @@
- top_srcdir = @top_srcdir@
- uim_pixmapsdir = @uim_pixmapsdir@
- uim_gtk_im_module_path = $(libdir)/gtk-2.0
--uim_gtk_im_module_file = $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules
-+uim_gtk_im_module_file = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules.cache
- moduledir = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules
- @GTK2_TRUE@im_uim_la = im-uim.la
- @GTK2_TRUE@im_uim_la_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir)
-@@ -875,48 +875,12 @@
- 
- @GTK2_TRUE@install-data-hook: gtk-rc-get-immodule-file
- @GTK2_TRUE@	if test -z $(DESTDIR); then \
--@GTK2_TRUE@	  if test $(libdir) = $(GTK_LIBDIR); then \
--@GTK2_TRUE@	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
--@GTK2_TRUE@	      $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \
--@GTK2_TRUE@	      echo "*** \"`$(GTK_RC_GET_IMMODULE_FILE)`\" is updated. ***";  \
--@GTK2_TRUE@	    else \
--@GTK2_TRUE@	      echo "********************** Warning ***********************"; \
--@GTK2_TRUE@	      echo " $(QUERY_COMMAND) not found"; \
--@GTK2_TRUE@	      echo " Please make sure to update"; \
--@GTK2_TRUE@	      echo " \"`$(GTK_RC_GET_IMMODULE_FILE)`\""; \
--@GTK2_TRUE@	      echo " manually."; \
--@GTK2_TRUE@	      echo "******************************************************"; \
--@GTK2_TRUE@	    fi \
--@GTK2_TRUE@	  else \
--@GTK2_TRUE@	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
--@GTK2_TRUE@	      $(mkinstalldirs) $(sysconfdir)/gtk-2.0; \
--@GTK2_TRUE@	      GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
--@GTK2_TRUE@	      echo "******************************************************"; \
--@GTK2_TRUE@	      echo " You need to set"; \
--@GTK2_TRUE@	      echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \
--@GTK2_TRUE@	      echo " environment variable to use this module."; \
--@GTK2_TRUE@	      echo "******************************************************"; \
--@GTK2_TRUE@	    else \
--@GTK2_TRUE@	      echo "********************** Warning ***********************"; \
--@GTK2_TRUE@	      echo " $(QUERY_COMMAND) not found"; \
--@GTK2_TRUE@	      echo " Please make sure to update"; \
--@GTK2_TRUE@	      echo " \"$(uim_gtk_im_module_file)\""; \
--@GTK2_TRUE@	      echo " manually, and set"; \
--@GTK2_TRUE@	      echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \
--@GTK2_TRUE@	      echo " environment variable to use this module."; \
--@GTK2_TRUE@	      echo "******************************************************"; \
--@GTK2_TRUE@	    fi \
--@GTK2_TRUE@	  fi \
-+@GTK2_TRUE@	  $(mkinstalldirs) $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@; \
-+@GTK2_TRUE@	  GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
- @GTK2_TRUE@	fi
- @GTK2_TRUE@uninstall-hook:
- @GTK2_TRUE@	if test -z $(DESTDIR); then \
--@GTK2_TRUE@	  if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
--@GTK2_TRUE@	    if test $(libdir) = $(GTK_LIBDIR); then \
--@GTK2_TRUE@	      $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \
--@GTK2_TRUE@	    else \
--@GTK2_TRUE@	      GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
--@GTK2_TRUE@	    fi \
--@GTK2_TRUE@	  fi \
-+@GTK2_TRUE@	  GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \
- @GTK2_TRUE@	fi
- @GTK2_FALSE@install-data-hook:
- 
-diff -ru -x '*~' uim-1.8.6.orig/gtk3/immodule/Makefile.am uim-1.8.6/gtk3/immodule/Makefile.am
---- uim-1.8.6.orig/gtk3/immodule/Makefile.am	2013-06-30 13:26:20.000000000 +0900
-+++ uim-1.8.6/gtk3/immodule/Makefile.am	2014-07-13 21:55:38.114246503 +0900
-@@ -45,42 +45,11 @@
- 
- install-data-hook: gtk3-rc-get-immodule-file
- 	if test -z $(DESTDIR); then \
--	  if test $(libdir) = $(GTK3_LIBDIR); then \
--	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
--	      $(QUERY_COMMAND) --update-cache; \
--	      echo "*** \"`$(GTK3_RC_GET_IMMODULE_FILE)`\" is updated. ***";  \
--	    else \
--	      echo "********************** Warning ***********************"; \
--	      echo " $(QUERY_COMMAND) not found"; \
--	      echo " Please make sure to update"; \
--	      echo " \"`$(GTK3_RC_GET_IMMODULE_FILE)`\""; \
--	      echo " manually."; \
--	      echo "******************************************************"; \
--	    fi \
--	  else \
--	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
--	      GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \
--	    else \
--	      echo "********************** Warning ***********************"; \
--	      echo " $(QUERY_COMMAND) not found"; \
--	      echo " Please make sure to update"; \
--	      echo " immodules.cache"; \
--	      echo " manually, and set"; \
--	      echo " GTK_IM_MODULE_FILE=PATH_TO/immodule.cache"; \
--	      echo " environment variable to use this module."; \
--	      echo "******************************************************"; \
--	    fi \
--	  fi \
-+	  GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \
- 	fi
- uninstall-hook:
- 	if test -z $(DESTDIR); then \
--	  if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
--	    if test $(libdir) = $(GTK3_LIBDIR); then \
--	      $(QUERY_COMMAND) --update-cache; \
--	    else \
--	      GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \
--	    fi \
--	  fi \
-+	  GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \
- 	fi
- else
- install-data-hook:
-diff -ru -x '*~' uim-1.8.6.orig/gtk3/immodule/Makefile.in uim-1.8.6/gtk3/immodule/Makefile.in
---- uim-1.8.6.orig/gtk3/immodule/Makefile.in	2013-06-30 13:27:08.000000000 +0900
-+++ uim-1.8.6/gtk3/immodule/Makefile.in	2014-07-13 21:56:11.531225832 +0900
-@@ -893,42 +893,11 @@
- 
- @GTK3_TRUE@install-data-hook: gtk3-rc-get-immodule-file
- @GTK3_TRUE@	if test -z $(DESTDIR); then \
--@GTK3_TRUE@	  if test $(libdir) = $(GTK3_LIBDIR); then \
--@GTK3_TRUE@	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
--@GTK3_TRUE@	      $(QUERY_COMMAND) --update-cache; \
--@GTK3_TRUE@	      echo "*** \"`$(GTK3_RC_GET_IMMODULE_FILE)`\" is updated. ***";  \
--@GTK3_TRUE@	    else \
--@GTK3_TRUE@	      echo "********************** Warning ***********************"; \
--@GTK3_TRUE@	      echo " $(QUERY_COMMAND) not found"; \
--@GTK3_TRUE@	      echo " Please make sure to update"; \
--@GTK3_TRUE@	      echo " \"`$(GTK3_RC_GET_IMMODULE_FILE)`\""; \
--@GTK3_TRUE@	      echo " manually."; \
--@GTK3_TRUE@	      echo "******************************************************"; \
--@GTK3_TRUE@	    fi \
--@GTK3_TRUE@	  else \
--@GTK3_TRUE@	    if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
--@GTK3_TRUE@	      GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \
--@GTK3_TRUE@	    else \
--@GTK3_TRUE@	      echo "********************** Warning ***********************"; \
--@GTK3_TRUE@	      echo " $(QUERY_COMMAND) not found"; \
--@GTK3_TRUE@	      echo " Please make sure to update"; \
--@GTK3_TRUE@	      echo " immodules.cache"; \
--@GTK3_TRUE@	      echo " manually, and set"; \
--@GTK3_TRUE@	      echo " GTK_IM_MODULE_FILE=PATH_TO/immodule.cache"; \
--@GTK3_TRUE@	      echo " environment variable to use this module."; \
--@GTK3_TRUE@	      echo "******************************************************"; \
--@GTK3_TRUE@	    fi \
--@GTK3_TRUE@	  fi \
-+@GTK3_TRUE@	  GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \
- @GTK3_TRUE@	fi
- @GTK3_TRUE@uninstall-hook:
- @GTK3_TRUE@	if test -z $(DESTDIR); then \
--@GTK3_TRUE@	  if type $(QUERY_COMMAND) > /dev/null 2>&1; then \
--@GTK3_TRUE@	    if test $(libdir) = $(GTK3_LIBDIR); then \
--@GTK3_TRUE@	      $(QUERY_COMMAND) --update-cache; \
--@GTK3_TRUE@	    else \
--@GTK3_TRUE@	      GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \
--@GTK3_TRUE@	    fi \
--@GTK3_TRUE@	  fi \
-+@GTK3_TRUE@	  GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \
- @GTK3_TRUE@	fi
- @GTK3_FALSE@install-data-hook:
- 
-diff -ru -x '*~' uim-1.8.6.orig/qt4/immodule/quiminputcontextplugin.pro.in uim-1.8.6/qt4/immodule/quiminputcontextplugin.pro.in
---- uim-1.8.6.orig/qt4/immodule/quiminputcontextplugin.pro.in	2013-06-30 13:26:20.000000000 +0900
-+++ uim-1.8.6/qt4/immodule/quiminputcontextplugin.pro.in	2014-03-09 11:31:19.388085048 +0900
-@@ -35,4 +35,4 @@
- 
- TARGET = uiminputcontextplugin
- 
--target.path += @DESTDIR@$$[QT_INSTALL_PLUGINS]/inputmethods
-+target.path += @DESTDIR@@exec_prefix@/lib/qt4/plugins/inputmethods