From 3c9892d4d4a1049071629a269e0c7ce7a0eb0a4b Mon Sep 17 00:00:00 2001 From: Eric Sagnes Date: Wed, 10 Feb 2016 11:41:51 +0900 Subject: ibus: group engines --- pkgs/tools/inputmethods/ibus-anthy/default.nix | 32 ---------- .../ibus-engines/ibus-anthy/default.nix | 32 ++++++++++ .../ibus-engines/ibus-mozc/default.nix | 73 ++++++++++++++++++++++ .../ibus-engines/ibus-table-others/default.nix | 29 +++++++++ .../ibus-engines/ibus-table/default.nix | 21 +++++++ pkgs/tools/inputmethods/ibus-qt/default.nix | 25 -------- .../inputmethods/ibus-table-others/default.nix | 29 --------- pkgs/tools/inputmethods/ibus-table/default.nix | 21 ------- pkgs/tools/inputmethods/ibus/ibus-qt.nix | 25 ++++++++ pkgs/tools/inputmethods/mozc/default.nix | 73 ---------------------- pkgs/top-level/all-packages.nix | 20 +++--- 11 files changed, 192 insertions(+), 188 deletions(-) delete mode 100644 pkgs/tools/inputmethods/ibus-anthy/default.nix create mode 100644 pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix create mode 100644 pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix create mode 100644 pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix create mode 100644 pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix delete mode 100644 pkgs/tools/inputmethods/ibus-qt/default.nix delete mode 100644 pkgs/tools/inputmethods/ibus-table-others/default.nix delete mode 100644 pkgs/tools/inputmethods/ibus-table/default.nix create mode 100644 pkgs/tools/inputmethods/ibus/ibus-qt.nix delete mode 100644 pkgs/tools/inputmethods/mozc/default.nix 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..0b2382315a5 --- /dev/null +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix @@ -0,0 +1,32 @@ +{ 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-mozc/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix new file mode 100644 index 00000000000..20789a33a0c --- /dev/null +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-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/ibus-engines/ibus-table-others/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix new file mode 100644 index 00000000000..f356bcdee85 --- /dev/null +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, ibus, ibus-table, pkgconfig, python3 }: + +stdenv.mkDerivation rec { + name = "ibus-table-others-${version}"; + version = "1.3.7"; + + src = fetchurl { + url = "https://github.com/moebiuscurve/ibus-table-others/releases/download/${version}/${name}.tar.gz"; + sha256 = "0vmz82il796062jbla5pawsr5dqyhs7ald7xjp84zfccc09dg9kx"; + }; + + buildInputs = [ ibus ibus-table pkgconfig python3 ]; + + preBuild = '' + export HOME=/tmp/ibus-table-others + ''; + + postFixup = '' + rm -rf /tmp/ibus-table-others + ''; + + 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 ]; + }; +} diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix new file mode 100644 index 00000000000..58b890b0c92 --- /dev/null +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, ibus, pkgconfig, python3, pythonPackages }: + +stdenv.mkDerivation rec { + name = "ibus-table-${version}"; + version = "1.9.6"; + + src = fetchurl { + url = "https://github.com/kaio/ibus-table/releases/download/${version}/${name}.tar.gz"; + sha256 = "0xygfscmsx0x80c4d4v40k9bc7831kgdsc74mc84ljxbjg9p9lcf"; + }; + + 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 ]; + }; +} diff --git a/pkgs/tools/inputmethods/ibus-qt/default.nix b/pkgs/tools/inputmethods/ibus-qt/default.nix deleted file mode 100644 index 95c32532e40..00000000000 --- a/pkgs/tools/inputmethods/ibus-qt/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ stdenv, fetchurl, ibus, cmake, pkgconfig, qt4, icu, doxygen }: - -stdenv.mkDerivation rec { - name = "ibus-qt-${version}"; - version = "1.3.3"; - - src = fetchurl { - url = "https://github.com/ibus/ibus-qt/releases/download/${version}/${name}-Source.tar.gz"; - sha256 = "1q9g7qghpcf07valc2ni7yf994xqx2pmdffknj7scxfidav6p19g"; - }; - - buildInputs = [ - ibus cmake pkgconfig qt4 icu doxygen - ]; - - cmakeFlags = [ "-DQT_PLUGINS_DIR=lib/qt4/plugins" ]; - - meta = with stdenv.lib; { - homepage = https://github.com/ibus/ibus-qt/; - description = "Qt4 interface to the ibus input method"; - platforms = platforms.linux; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ gebner ]; - }; -} diff --git a/pkgs/tools/inputmethods/ibus-table-others/default.nix b/pkgs/tools/inputmethods/ibus-table-others/default.nix deleted file mode 100644 index f356bcdee85..00000000000 --- a/pkgs/tools/inputmethods/ibus-table-others/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, fetchurl, ibus, ibus-table, pkgconfig, python3 }: - -stdenv.mkDerivation rec { - name = "ibus-table-others-${version}"; - version = "1.3.7"; - - src = fetchurl { - url = "https://github.com/moebiuscurve/ibus-table-others/releases/download/${version}/${name}.tar.gz"; - sha256 = "0vmz82il796062jbla5pawsr5dqyhs7ald7xjp84zfccc09dg9kx"; - }; - - buildInputs = [ ibus ibus-table pkgconfig python3 ]; - - preBuild = '' - export HOME=/tmp/ibus-table-others - ''; - - postFixup = '' - rm -rf /tmp/ibus-table-others - ''; - - 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 ]; - }; -} diff --git a/pkgs/tools/inputmethods/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-table/default.nix deleted file mode 100644 index 58b890b0c92..00000000000 --- a/pkgs/tools/inputmethods/ibus-table/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ stdenv, fetchurl, ibus, pkgconfig, python3, pythonPackages }: - -stdenv.mkDerivation rec { - name = "ibus-table-${version}"; - version = "1.9.6"; - - src = fetchurl { - url = "https://github.com/kaio/ibus-table/releases/download/${version}/${name}.tar.gz"; - sha256 = "0xygfscmsx0x80c4d4v40k9bc7831kgdsc74mc84ljxbjg9p9lcf"; - }; - - 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 ]; - }; -} diff --git a/pkgs/tools/inputmethods/ibus/ibus-qt.nix b/pkgs/tools/inputmethods/ibus/ibus-qt.nix new file mode 100644 index 00000000000..95c32532e40 --- /dev/null +++ b/pkgs/tools/inputmethods/ibus/ibus-qt.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, ibus, cmake, pkgconfig, qt4, icu, doxygen }: + +stdenv.mkDerivation rec { + name = "ibus-qt-${version}"; + version = "1.3.3"; + + src = fetchurl { + url = "https://github.com/ibus/ibus-qt/releases/download/${version}/${name}-Source.tar.gz"; + sha256 = "1q9g7qghpcf07valc2ni7yf994xqx2pmdffknj7scxfidav6p19g"; + }; + + buildInputs = [ + ibus cmake pkgconfig qt4 icu doxygen + ]; + + cmakeFlags = [ "-DQT_PLUGINS_DIR=lib/qt4/plugins" ]; + + meta = with stdenv.lib; { + homepage = https://github.com/ibus/ibus-qt/; + description = "Qt4 interface to the ibus input method"; + platforms = platforms.linux; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ gebner ]; + }; +} diff --git a/pkgs/tools/inputmethods/mozc/default.nix b/pkgs/tools/inputmethods/mozc/default.nix deleted file mode 100644 index 20789a33a0c..00000000000 --- a/pkgs/tools/inputmethods/mozc/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d2e26707c45..f6eac612375 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1170,19 +1170,23 @@ let m17n_lib = callPackage ../tools/inputmethods/m17n-lib { }; - mozc = callPackage ../tools/inputmethods/mozc { - inherit (pythonPackages) gyp; - }; - ibus = callPackage ../tools/inputmethods/ibus { }; - ibus-qt = callPackage ../tools/inputmethods/ibus-qt { }; + ibus-qt = callPackage ../tools/inputmethods/ibus/ibus-qt.nix { }; - ibus-anthy = callPackage ../tools/inputmethods/ibus-anthy { }; + ibus-engines = { - ibus-table = callPackage ../tools/inputmethods/ibus-table { }; + anthy = callPackage ../tools/inputmethods/ibus-engines/ibus-anthy { }; - ibus-table-others = callPackage ../tools/inputmethods/ibus-table-others { }; + mozc = callPackage ../tools/inputmethods/ibus-engines/mozc { + inherit (pythonPackages) gyp; + }; + + table = callPackage ../tools/inputmethods/ibus-engines/ibus-table { }; + + table-others = callPackage ../tools/inputmethods/ibus-engines/ibus-table-others { }; + + }; brotli = callPackage ../tools/compression/brotli { }; -- cgit 1.4.1