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/default.nix3
-rw-r--r--pkgs/tools/inputmethods/fcitx/wrapper.nix35
-rw-r--r--pkgs/tools/inputmethods/uim/default.nix4
3 files changed, 40 insertions, 2 deletions
diff --git a/pkgs/tools/inputmethods/fcitx/default.nix b/pkgs/tools/inputmethods/fcitx/default.nix
index 28f6c97949b5..a8b3089c58ac 100644
--- a/pkgs/tools/inputmethods/fcitx/default.nix
+++ b/pkgs/tools/inputmethods/fcitx/default.nix
@@ -5,7 +5,8 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "fcitx-4.2.8.5";
+  name = "fcitx-${version}";
+  version = "4.2.8.5";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz";
diff --git a/pkgs/tools/inputmethods/fcitx/wrapper.nix b/pkgs/tools/inputmethods/fcitx/wrapper.nix
new file mode 100644
index 000000000000..d4efb3326969
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx/wrapper.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildEnv, fcitx, makeWrapper, plugins }:
+
+# This is based on the pidgin-with-plugins package.
+# Users should be able to configure what plugins are used
+# by putting the following in their /etc/nixos/configuration.nix:
+# environment.systemPackages = with pkgs; [
+#     (fcitx-with-plugins.override { plugins = [ fcitx-anthy ]; })
+# ]
+# Or, a normal user could use it by putting the following in his
+# ~/.nixpkgs/config.nix:
+# packageOverrides = pkgs: with pkgs; rec {
+#     (fcitx-with-plugins.override { plugins = [ fcitx-anthy ]; })
+# }
+
+let
+drv = buildEnv {
+  name = "fcitx-with-plugins-" + (builtins.parseDrvName fcitx.name).version;
+
+  paths = [ fcitx ] ++ 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 ${fcitx}/bin/*; do
+        ln -s $i $out/bin
+      done
+    fi
+    wrapProgram $out/bin/fcitx \
+      --set FCITXDIR "$out/"
+  '';
+  };
+in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
+
diff --git a/pkgs/tools/inputmethods/uim/default.nix b/pkgs/tools/inputmethods/uim/default.nix
index b8ee95fae92c..1da552a46e2c 100644
--- a/pkgs/tools/inputmethods/uim/default.nix
+++ b/pkgs/tools/inputmethods/uim/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, intltool, pkgconfig, qt4, gtk2, gtk3, kdelibs, cmake, ... }:
+{stdenv, fetchurl, intltool, pkgconfig, qt4, gtk2, gtk3, kdelibs, cmake, anthy, ... }:
 
 stdenv.mkDerivation rec {
   version = "1.8.6";
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
     gtk3
     kdelibs
     cmake
+    anthy
   ];
 
   patches = [ ./immodules_cache.patch ];
@@ -26,6 +27,7 @@ stdenv.mkDerivation rec {
     "--with-qt4-immodule"
     "--with-skk"
     "--with-x"
+    "--with-anthy-utf8"
   ];
 
   dontUseCmakeConfigure = true;