summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2015-05-20 22:20:32 +0300
committerNikolay Amiantov <ab@fmap.me>2015-05-20 22:20:32 +0300
commitdbcfd854c863861e05f9f0bb5bab8d8f9a021029 (patch)
tree6deafbbe90272904e4a7d27ab21f71be739dbc3e /pkgs/tools
parent2043857a7331f927c78f920be55ba0d36c6438c5 (diff)
parent64ecc21b9a5e49fa894b21ae260d19a34c87e5f0 (diff)
downloadnixlib-dbcfd854c863861e05f9f0bb5bab8d8f9a021029.tar
nixlib-dbcfd854c863861e05f9f0bb5bab8d8f9a021029.tar.gz
nixlib-dbcfd854c863861e05f9f0bb5bab8d8f9a021029.tar.bz2
nixlib-dbcfd854c863861e05f9f0bb5bab8d8f9a021029.tar.lz
nixlib-dbcfd854c863861e05f9f0bb5bab8d8f9a021029.tar.xz
nixlib-dbcfd854c863861e05f9f0bb5bab8d8f9a021029.tar.zst
nixlib-dbcfd854c863861e05f9f0bb5bab8d8f9a021029.zip
Merge pull request #7104 from gebner/mozc
Add mozc, a Japanese input method from Google.
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/inputmethods/mozc/default.nix73
-rw-r--r--pkgs/tools/inputmethods/tegaki-zinnia-japanese/default.nix23
-rw-r--r--pkgs/tools/inputmethods/zinnia/default.nix23
3 files changed, 119 insertions, 0 deletions
diff --git a/pkgs/tools/inputmethods/mozc/default.nix b/pkgs/tools/inputmethods/mozc/default.nix
new file mode 100644
index 000000000000..20789a33a0c0
--- /dev/null
+++ b/pkgs/tools/inputmethods/mozc/default.nix
@@ -0,0 +1,73 @@
+{ clangStdenv, fetchFromGitHub, fetchsvn, gyp, which, ninja, python, pkgconfig, protobuf, ibus, gtk, zinnia, qt4, libxcb, tegaki-zinnia-japanese }:
+
+let
+  japanese_usage_dictionary = fetchsvn {
+    url = "http://japanese-usage-dictionary.googlecode.com/svn/trunk";
+    rev = "10";
+    sha256 = "0pyrpz9c8nxccwpgyr36w314mi8h132cis8ijvlqmmhqxwsi30hm";
+  };
+in clangStdenv.mkDerivation rec {
+  name = "mozc-${version}";
+  version = "2015-05-02";
+
+  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 ];
+  };
+
+  nativeBuildInputs = [ gyp which ninja python pkgconfig ];
+  buildInputs = [ protobuf ibus gtk zinnia qt4 libxcb ];
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "mozc";
+    rev = "d9783737ecfcb68c3d98d84e7052d716f4d0e0cb";
+    sha256 = "52a83658e2e4a7b38e31a4085682be24c9c5f4c51a01578598a30b9833827b72";
+  };
+  postUnpack = ''
+    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
+  '';
+
+  buildPhase = ''
+    python src/build_mozc.py build -c Release \
+      unix/ibus/ibus.gyp:ibus_mozc \
+      unix/emacs/emacs.gyp:mozc_emacs_helper \
+      server/server.gyp:mozc_server \
+      gui/gui.gyp:mozc_tool \
+      renderer/renderer.gyp:mozc_renderer
+  '';
+
+  checkPhase = ''
+    python src/build_mozc.py runtests -c Release
+  '';
+
+  installPhase = ''
+    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 $out/share/doc/mozc
+    install -m 644 src/data/installer/*.html $out/share/doc/mozc/
+
+    install -D -m 755 src/out_linux/Release/ibus_mozc       $out/lib/ibus-mozc/ibus-engine-mozc
+    install -D -m 644 src/out_linux/Release/gen/unix/ibus/mozc.xml $out/share/ibus/component/mozc.xml
+    install -D -m 644 src/data/images/unix/ime_product_icon_opensource-32.png $out/share/ibus-mozc/product_icon.png
+    install    -m 644 src/data/images/unix/ui-tool.png          $out/share/ibus-mozc/tool.png
+    install    -m 644 src/data/images/unix/ui-properties.png    $out/share/ibus-mozc/properties.png
+    install    -m 644 src/data/images/unix/ui-dictionary.png    $out/share/ibus-mozc/dictionary.png
+    install    -m 644 src/data/images/unix/ui-direct.png        $out/share/ibus-mozc/direct.png
+    install    -m 644 src/data/images/unix/ui-hiragana.png      $out/share/ibus-mozc/hiragana.png
+    install    -m 644 src/data/images/unix/ui-katakana_half.png $out/share/ibus-mozc/katakana_half.png
+    install    -m 644 src/data/images/unix/ui-katakana_full.png $out/share/ibus-mozc/katakana_full.png
+    install    -m 644 src/data/images/unix/ui-alpha_half.png    $out/share/ibus-mozc/alpha_half.png
+    install    -m 644 src/data/images/unix/ui-alpha_full.png    $out/share/ibus-mozc/alpha_full.png
+    install -D -m 755 src/out_linux/Release/mozc_renderer $out/lib/mozc/mozc_renderer
+  '';
+}
diff --git a/pkgs/tools/inputmethods/tegaki-zinnia-japanese/default.nix b/pkgs/tools/inputmethods/tegaki-zinnia-japanese/default.nix
new file mode 100644
index 000000000000..55cf09455823
--- /dev/null
+++ b/pkgs/tools/inputmethods/tegaki-zinnia-japanese/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "tegaki-zinnia-japanese-${version}";
+  version = "0.3";
+
+  src = fetchurl {
+    url = "http://www.tegaki.org/releases/0.3/models/tegaki-zinnia-japanese-0.3.zip";
+    sha256 = "1nmg9acxhcqly9gwkyb9m0hpy76fll91ywk4b1q4xms0ajxip1h7";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Japanese handwriting model for the Zinnia engine";
+    homepage = http://tegaki.org/;
+    license = licenses.lgpl21;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.gebner ];
+  };
+
+  buildInputs = [ unzip ];
+
+  makeFlags = [ "installpath=$(out)/share/tegaki/models/zinnia/" ];
+}
diff --git a/pkgs/tools/inputmethods/zinnia/default.nix b/pkgs/tools/inputmethods/zinnia/default.nix
new file mode 100644
index 000000000000..fd8c9bd7c79d
--- /dev/null
+++ b/pkgs/tools/inputmethods/zinnia/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "zinnia-${version}";
+  version = "2015-03-15";
+
+  src = fetchFromGitHub {
+    owner = "taku910";
+    repo = "zinnia";
+    rev = "d8de1180d5175d7579e6c41b000f1ab4dd9cd697";
+    sha256 = "ac09a16c04c5ef9b46626984e627250dc717d85711d14f1bbfa7f1ca0ca713dc";
+  };
+
+  setSourceRoot = "export sourceRoot=$(echo zinnia-*/zinnia/)";
+
+  meta = with stdenv.lib; {
+    description = "Online hand recognition system with machine learning";
+    homepage = "http://taku910.github.io/zinnia/";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.gebner ];
+  };
+}