Merge pull request #11254 from ericsagnes/standardize-im

Improve and standardize input methods

+730 -380
+33
nixos/doc/manual/release-notes/rl-unstable.xml
··· 44 44 <listitem><para><literal>services/networking/pdnsd.nix</literal></para></listitem> 45 45 <listitem><para><literal>services/web-apps/pump.io.nix</literal></para></listitem> 46 46 <listitem><para><literal>services/security/haka.nix</literal></para></listitem> 47 + <listitem><para><literal>i18n/inputMethod/default.nix</literal></para></listitem> 47 48 </itemizedlist> 48 49 </para> 49 50 ··· 197 198 <literal>services.hardware.opengl.extraPackages{,32}</literal> instead. You can 198 199 also specify VDPAU drivers there.</para> 199 200 </listitem> 201 + 202 + <listitem> 203 + <para> 204 + <literal>programs.ibus</literal> moved to <literal>i18n.inputMethod.ibus</literal>. 205 + The option <literal>programs.ibus.plugins</literal> changed to <literal>i18n.inputMethod.ibus.engines</literal> 206 + and the option to enable ibus changed from <literal>programs.ibus.enable</literal> to 207 + <literal>i18n.inputMethod.enabled</literal>. 208 + <literal>i18n.inputMethod.enabled</literal> should be set to the used input method name, 209 + <literal>"ibus"</literal> for ibus. 210 + An example of the new style: 211 + 212 + <programlisting> 213 + i18n.inputMethod.enabled = "ibus"; 214 + i18n.inputMethod.ibus.engines = with pkgs.ibus-engines; [ anthy mozc ]; 215 + </programlisting> 216 + 217 + That is equivalent to the old version: 218 + 219 + <programlisting> 220 + programs.ibus.enable = true; 221 + programs.ibus.plugins = with pkgs; [ ibus-anthy mozc ]; 222 + </programlisting> 223 + 224 + </para> 225 + </listitem> 226 + 200 227 </itemizedlist> 201 228 202 229 ··· 213 240 <listitem> 214 241 <para><literal>ejabberd</literal> module is brought back and now works on 215 242 NixOS.</para> 243 + </listitem> 244 + 245 + <listitem> 246 + <para>Input method support was improved. New NixOS modules (fcitx, nabi and uim), 247 + fcitx engines (chewing, hangul, m17n, mozc and table-other) and ibus engines (hangul and m17n) 248 + have been added.</para> 216 249 </listitem> 217 250 218 251 </itemizedlist></para>
+29
nixos/modules/i18n/inputMethod/default.nix
··· 1 + { config, pkgs, lib, ... }: 2 + 3 + with lib; 4 + 5 + { 6 + options = { 7 + i18n.inputMethod = { 8 + enabled = mkOption { 9 + type = types.nullOr (types.enum [ "ibus" "fcitx" "nabi" "uim" ]); 10 + default = null; 11 + example = "fcitx"; 12 + description = '' 13 + Select the enabled input method. Input methods is a software to input symbols that are not available on standard input devices. 14 + 15 + Input methods are specially used to input Chinese, Japanese and Korean characters. 16 + 17 + Currently the following input methods are available in NixOS: 18 + 19 + <itemizedlist> 20 + <listitem><para>ibus: The intelligent input bus, extra input engines can be added using <literal>i18n.inputMethod.ibus.engines</literal>.</para></listitem> 21 + <listitem><para>fcitx: A customizable lightweight input method, extra input engines can be added using <literal>i18n.inputMethod.fcitx.engines</literal>.</para></listitem> 22 + <listitem><para>nabi: A Korean input method based on XIM. Nabi doesn't support Qt 5.</para></listitem> 23 + <listitem><para>uim: The universal input method, is a library with a XIM bridge. uim mainly support Chinese, Japanese and Korean.</para></listitem> 24 + </itemizedlist> 25 + ''; 26 + }; 27 + }; 28 + }; 29 + }
+42
nixos/modules/i18n/inputMethod/fcitx.nix
··· 1 + { config, pkgs, lib, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.i18n.inputMethod.fcitx; 7 + fcitxPackage = pkgs.fcitx-with-plugins.override { plugins = cfg.engines; }; 8 + fcitxEngine = types.package // { 9 + name = "fcitx-engine"; 10 + check = x: (lib.types.package.check x) && (attrByPath ["meta" "isFcitxEngine"] false x); 11 + }; 12 + in 13 + { 14 + options = { 15 + 16 + i18n.inputMethod.fcitx = { 17 + engines = mkOption { 18 + type = with types; listOf fcitxEngine; 19 + default = []; 20 + example = literalExample "with pkgs.fcitx-engines; [ mozc hangul ]"; 21 + description = '' 22 + Enabled Fcitx engines. 23 + Available engines can be found by running `nix-env "&lt;nixpkgs&gt;" . -qaP -A fcitx-engines`. 24 + ''; 25 + }; 26 + }; 27 + 28 + }; 29 + 30 + config = mkIf (config.i18n.inputMethod.enabled == "fcitx") { 31 + environment.systemPackages = [ fcitxPackage ]; 32 + gtkPlugins = [ fcitxPackage ]; 33 + qtPlugins = [ fcitxPackage ]; 34 + 35 + environment.variables = { 36 + GTK_IM_MODULE = "fcitx"; 37 + QT_IM_MODULE = "fcitx"; 38 + XMODIFIERS = "@im=fcitx"; 39 + }; 40 + services.xserver.displayManager.sessionCommands = "${fcitxPackage}/bin/fcitx"; 41 + }; 42 + }
+43
nixos/modules/i18n/inputMethod/ibus.nix
··· 1 + { config, pkgs, lib, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.i18n.inputMethod.ibus; 7 + ibusPackage = pkgs.ibus-with-plugins.override { plugins = cfg.engines; }; 8 + ibusEngine = types.package // { 9 + name = "ibus-engine"; 10 + check = x: (lib.types.package.check x) && (attrByPath ["meta" "isIbusEngine"] false x); 11 + }; 12 + in 13 + { 14 + options = { 15 + i18n.inputMethod.ibus = { 16 + engines = mkOption { 17 + type = with types; listOf ibusEngine; 18 + default = []; 19 + example = literalExample "with pkgs.ibus-engines; [ mozc hangul ]"; 20 + description = '' 21 + Enabled IBus engines. 22 + Available engines can be found by running `nix-env "&lt;nixpkgs&gt;" . -qaP -A ibus-engines`. 23 + ''; 24 + }; 25 + }; 26 + }; 27 + 28 + config = mkIf (config.i18n.inputMethod.enabled == "ibus") { 29 + # Without dconf enabled it is impossible to use IBus 30 + environment.systemPackages = [ ibusPackage pkgs.gnome3.dconf ]; 31 + 32 + gtkPlugins = [ pkgs.ibus ]; 33 + qtPlugins = [ pkgs.ibus-qt ]; 34 + 35 + environment.variables = { 36 + GTK_IM_MODULE = "ibus"; 37 + QT_IM_MODULE = "ibus"; 38 + XMODIFIERS = "@im=ibus"; 39 + }; 40 + 41 + services.xserver.displayManager.sessionCommands = "${ibusPackage}/bin/ibus-daemon --daemonize --xim --cache=none"; 42 + }; 43 + }
+17
nixos/modules/i18n/inputMethod/nabi.nix
··· 1 + { config, pkgs, lib, ... }: 2 + 3 + with lib; 4 + { 5 + config = mkIf (config.i18n.inputMethod.enabled == "nabi") { 6 + environment.systemPackages = [ pkgs.nabi ]; 7 + qtPlugins = [ pkgs.nabi ]; 8 + 9 + environment.variables = { 10 + GTK_IM_MODULE = "nabi"; 11 + QT_IM_MODULE = "nabi"; 12 + XMODIFIERS = "@im=nabi"; 13 + }; 14 + 15 + services.xserver.displayManager.sessionCommands = "${pkgs.nabi}/bin/nabi &"; 16 + }; 17 + }
+39
nixos/modules/i18n/inputMethod/uim.nix
··· 1 + { config, pkgs, lib, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.i18n.inputMethod.uim; 7 + in 8 + { 9 + options = { 10 + 11 + i18n.inputMethod.uim = { 12 + toolbar = mkOption { 13 + type = types.enum [ "gtk" "gtk3" "gtk-systray" "gtk3-systray" "qt4" ]; 14 + default = "gtk"; 15 + example = "gtk-systray"; 16 + description = '' 17 + selected UIM toolbar. 18 + ''; 19 + }; 20 + }; 21 + 22 + }; 23 + 24 + config = mkIf (config.i18n.inputMethod.enabled == "uim") { 25 + environment.systemPackages = [ pkgs.uim ]; 26 + gtkPlugins = [ pkgs.uim ]; 27 + qtPlugins = [ pkgs.uim ]; 28 + 29 + environment.variables = { 30 + GTK_IM_MODULE = "uim"; 31 + QT_IM_MODULE = "uim"; 32 + XMODIFIERS = "@im=uim"; 33 + }; 34 + services.xserver.displayManager.sessionCommands = '' 35 + ${pkgs.uim}/bin/uim-xim & 36 + ${pkgs.uim}/bin/uim-toolbar-${cfg.toolbar} & 37 + ''; 38 + }; 39 + }
+5 -1
nixos/modules/module-list.nix
··· 43 43 ./hardware/video/nvidia.nix 44 44 ./hardware/video/ati.nix 45 45 ./hardware/video/webcam/facetimehd.nix 46 + ./i18n/inputMethod/default.nix 47 + ./i18n/inputMethod/fcitx.nix 48 + ./i18n/inputMethod/ibus.nix 49 + ./i18n/inputMethod/nabi.nix 50 + ./i18n/inputMethod/uim.nix 46 51 ./installer/tools/auto-upgrade.nix 47 52 ./installer/tools/nixos-checkout.nix 48 53 ./installer/tools/tools.nix ··· 66 71 ./programs/environment.nix 67 72 ./programs/freetds.nix 68 73 ./programs/fish.nix 69 - ./programs/ibus.nix 70 74 ./programs/kbdlight.nix 71 75 ./programs/light.nix 72 76 ./programs/man.nix
-51
nixos/modules/programs/ibus.nix
··· 1 - { config, pkgs, lib, ... }: 2 - 3 - with lib; 4 - 5 - let 6 - cfg = config.programs.ibus; 7 - in 8 - { 9 - options = { 10 - 11 - programs.ibus = { 12 - enable = mkOption { 13 - type = types.bool; 14 - default = false; 15 - example = true; 16 - description = "Enable IBus input method"; 17 - }; 18 - plugins = mkOption { 19 - type = lib.types.listOf lib.types.path; 20 - default = []; 21 - description = '' 22 - IBus plugin packages 23 - ''; 24 - }; 25 - }; 26 - 27 - }; 28 - 29 - config = mkIf cfg.enable { 30 - environment.systemPackages = [ pkgs.ibus pkgs.gnome3.dconf ]; 31 - 32 - gtkPlugins = [ pkgs.ibus ]; 33 - qtPlugins = [ pkgs.ibus-qt ]; 34 - 35 - environment.variables = 36 - let 37 - env = pkgs.buildEnv { 38 - name = "ibus-env"; 39 - paths = [ pkgs.ibus ] ++ cfg.plugins; 40 - }; 41 - in { 42 - GTK_IM_MODULE = "ibus"; 43 - QT_IM_MODULE = "ibus"; 44 - XMODIFIERS = "@im=ibus"; 45 - 46 - IBUS_COMPONENT_PATH = "${env}/share/ibus/component"; 47 - }; 48 - 49 - services.xserver.displayManager.sessionCommands = "${pkgs.ibus}/bin/ibus-daemon --daemonize --xim --cache=none"; 50 - }; 51 - }
+3
nixos/modules/rename.nix
··· 59 59 # Tarsnap 60 60 (mkRenamedOptionModule [ "services" "tarsnap" "config" ] [ "services" "tarsnap" "archives" ]) 61 61 62 + # ibus 63 + (mkRenamedOptionModule [ "programs" "ibus" "plugins" ] [ "i18n" "inputMethod" "ibus" "engines" ]) 64 + 62 65 # proxy 63 66 (mkRenamedOptionModule [ "nix" "proxy" ] [ "networking" "proxy" "default" ]) 64 67
+27
pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix
··· 1 + { stdenv, fetchurl, cmake, fcitx, anthy, gettext, pkgconfig }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "fcitx-anthy-${version}"; 5 + version = "0.2.2"; 6 + 7 + src = fetchurl { 8 + url = "http://download.fcitx-im.org/fcitx-anthy/${name}.tar.xz"; 9 + sha256 = "0ayrzfx95670k86y19bzl6i6w98haaln3x8dxpb39a5dwgz59pf8"; 10 + }; 11 + 12 + buildInputs = [ cmake fcitx anthy gettext pkgconfig ]; 13 + 14 + preInstall = '' 15 + substituteInPlace src/cmake_install.cmake \ 16 + --replace ${fcitx} $out 17 + ''; 18 + 19 + meta = with stdenv.lib; { 20 + isFcitxEngine = true; 21 + description = "Fcitx Wrapper for anthy"; 22 + license = licenses.gpl2Plus; 23 + platforms = platforms.linux; 24 + maintainers = with maintainers; [ iyzsong ericsagnes ]; 25 + }; 26 + 27 + }
+31
pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix
··· 1 + { stdenv, fetchurl, cmake, fcitx, gettext, libchewing, pkgconfig }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "fcitx-chewing-${version}"; 5 + version = "0.2.2"; 6 + 7 + src = fetchurl { 8 + url = "http://download.fcitx-im.org/fcitx-chewing/${name}.tar.xz"; 9 + sha256 = "0l548xdx2fvjya1ixp37pn382yak0m4kwfh9lgh7l3y2sblqw9zs"; 10 + }; 11 + 12 + buildInputs = [ cmake fcitx gettext libchewing pkgconfig ]; 13 + 14 + preInstall = '' 15 + substituteInPlace src/cmake_install.cmake \ 16 + --replace ${fcitx} $out 17 + substituteInPlace data/cmake_install.cmake \ 18 + --replace ${fcitx} $out 19 + ''; 20 + 21 + meta = with stdenv.lib; { 22 + isFcitxEngine = true; 23 + homepage = "https://github.com/fcitx/fcitx-chewing"; 24 + downloadPage = "http://download.fcitx-im.org/fcitx-chewing/"; 25 + description = "Fcitx engine for chewing"; 26 + license = licenses.gpl2; 27 + platforms = platforms.linux; 28 + maintainers = with maintainers; [ ericsagnes ]; 29 + }; 30 + 31 + }
+30
pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix
··· 1 + { stdenv, fetchurl, cmake, fcitx, libhangul, gettext, pkgconfig }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "fcitx-hangul-${version}"; 5 + version = "0.3.0"; 6 + 7 + src = fetchurl { 8 + url = "http://download.fcitx-im.org/fcitx-hangul/${name}.tar.xz"; 9 + sha256 = "1jq78nczliw6pnhfac8hspffybrry6syk17y0wwcq05j3r3nd2lp"; 10 + }; 11 + 12 + buildInputs = [ cmake fcitx libhangul gettext pkgconfig ]; 13 + 14 + preInstall = '' 15 + substituteInPlace src/cmake_install.cmake \ 16 + --replace ${fcitx} $out 17 + substituteInPlace data/cmake_install.cmake \ 18 + --replace ${fcitx} $out 19 + ''; 20 + 21 + meta = with stdenv.lib; { 22 + isFcitxEngine = true; 23 + homepage = "https://github.com/fcitx/fcitx-hangul"; 24 + downloadPage = "http://download.fcitx-im.org/fcitx-hangul/"; 25 + description = "Fcitx Wrapper for hangul"; 26 + license = licenses.gpl2; 27 + platforms = platforms.linux; 28 + maintainers = with maintainers; [ ericsagnes ]; 29 + }; 30 + }
+29
pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix
··· 1 + { stdenv, fetchurl, cmake, fcitx, gettext, m17n_lib, m17n_db, pkgconfig }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "fcitx-m17n-${version}"; 5 + version = "0.2.3"; 6 + 7 + src = fetchurl { 8 + url = "http://download.fcitx-im.org/fcitx-m17n/${name}.tar.xz"; 9 + sha256 = "0ffyhsg7bc6525k94kfhnja1h6ajlfprq72d286dp54cksnakyc4"; 10 + }; 11 + 12 + buildInputs = [ cmake fcitx gettext m17n_lib m17n_db pkgconfig ]; 13 + 14 + preInstall = '' 15 + substituteInPlace im/cmake_install.cmake \ 16 + --replace ${fcitx} $out 17 + ''; 18 + 19 + meta = with stdenv.lib; { 20 + isFcitxEngine = true; 21 + homepage = "https://github.com/fcitx/fcitx-m17n"; 22 + downloadPage = "http://download.fcitx-im.org/fcitx-table-other/"; 23 + description = "Fcitx wrapper for m17n"; 24 + license = licenses.gpl3Plus; 25 + platforms = platforms.linux; 26 + maintainers = with maintainers; [ ericsagnes ]; 27 + }; 28 + 29 + }
+117
pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix
··· 1 + { clangStdenv, fetchFromGitHub, fetchurl, fetchpatch, fetchsvn, gyp, which, ninja, 2 + python, pkgconfig, protobuf, gtk, zinnia, qt4, libxcb, tegaki-zinnia-japanese, 3 + fcitx, gettext }: 4 + let 5 + japanese_usage_dictionary = fetchsvn { 6 + url = "http://japanese-usage-dictionary.googlecode.com/svn/trunk"; 7 + rev = "10"; 8 + sha256 = "0pyrpz9c8nxccwpgyr36w314mi8h132cis8ijvlqmmhqxwsi30hm"; 9 + }; 10 + icons = fetchurl { 11 + url = "http://download.fcitx-im.org/fcitx-mozc/fcitx-mozc-icon.tar.gz"; 12 + sha256 = "10bdjn481jsh32vll7r756l392anz44h6207vjqwby3rplk31np1"; 13 + }; 14 + in clangStdenv.mkDerivation rec { 15 + name = "fcitx-mozc-${version}"; 16 + version = "2.17.2313.102"; 17 + 18 + src = fetchFromGitHub { 19 + owner = "google"; 20 + repo = "mozc"; 21 + rev = "3306d3314499a54a4064b8b80bbc1bce3f6cfac4"; 22 + sha256 = "0l7mjlnbm6i1ipni8pg9ym5bjg3rzkaxi9xwmsz2lddv348sqii2"; 23 + }; 24 + 25 + nativeBuildInputs = [ gyp which ninja python pkgconfig ]; 26 + buildInputs = [ protobuf gtk zinnia qt4 libxcb fcitx gettext ]; 27 + 28 + postUnpack = '' 29 + rmdir $sourceRoot/src/third_party/japanese_usage_dictionary/ 30 + ln -s ${japanese_usage_dictionary} $sourceRoot/src/third_party/japanese_usage_dictionary 31 + tar -xzf ${icons} -C $sourceRoot 32 + ''; 33 + 34 + patch_version = "2.17.2313.102.1"; 35 + patches = [ 36 + (fetchpatch rec { 37 + name = "fcitx-mozc-${patch_version}.patch"; 38 + url = "https://download.fcitx-im.org/fcitx-mozc/${name}"; 39 + sha256 = "172c34jkppibvwr9qf9xwgh2hdrmmhyx7nsdj49krxbfdlsy3yy0"; 40 + }) 41 + ]; 42 + 43 + postPatch = '' 44 + substituteInPlace src/unix/fcitx/mozc.conf \ 45 + --replace "/usr/share/fcitx/mozc/icon/mozc.png" "mozc" 46 + ''; 47 + 48 + configurePhase = '' 49 + export GYP_DEFINES="document_dir=$out/share/doc/mozc use_libzinnia=1 use_libprotobuf=1" 50 + python src/build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc \ 51 + python src/unix/fcitx/fcitx.gyp gyp --gypdir=${gyp}/bin 52 + ''; 53 + 54 + preBuildPhase = '' 55 + head -n 29 src/server/mozc_server.cc > LICENSE 56 + ''; 57 + 58 + buildPhase = '' 59 + python src/build_mozc.py build -c Release \ 60 + unix/fcitx/fcitx.gyp:fcitx-mozc \ 61 + server/server.gyp:mozc_server \ 62 + gui/gui.gyp:mozc_tool 63 + ''; 64 + 65 + checkPhase = '' 66 + python src/build_mozc.py runtests -c Release 67 + ''; 68 + 69 + installPhase = '' 70 + install -d $out/share/licenses/fcitx-mozc/ 71 + install -m 644 LICENSE src/data/installer/*.html $out/share/licenses/fcitx-mozc/ 72 + 73 + install -d $out/share/doc/mozc 74 + install -m 644 src/data/installer/*.html $out/share/doc/mozc/ 75 + 76 + install -D -m 755 src/out_linux/Release/mozc_server $out/lib/mozc/mozc_server 77 + install -m 755 src/out_linux/Release/mozc_tool $out/lib/mozc/mozc_tool 78 + 79 + install -D -m 755 src/out_linux/Release/fcitx-mozc.so $out/lib/fcitx/fcitx-mozc.so 80 + install -D -m 644 src/unix/fcitx/fcitx-mozc.conf $out/share/fcitx/addon/fcitx-mozc.conf 81 + install -D -m 644 src/unix/fcitx/mozc.conf $out/share/fcitx/inputmethod/mozc.conf 82 + 83 + install -d $out/share/doc/mozc 84 + 85 + for mofile in src/out_linux/Release/gen/unix/fcitx/po/*.mo 86 + do 87 + filename=`basename $mofile` 88 + lang=$filename.mo 89 + install -D -m 644 "$mofile" "$out/share/locale/$lang/LC_MESSAGES/fcitx-mozc.mo" 90 + done 91 + 92 + install -d $out/share/fcitx/imicon 93 + install -m 644 fcitx-mozc-icons/mozc.png $out/share/fcitx/imicon/mozc.png 94 + install -d $out/share/fcitx/mozc/icon 95 + install -m 644 fcitx-mozc-icons/mozc.png $out/share/fcitx/mozc/icon/mozc.png 96 + install -m 644 fcitx-mozc-icons/mozc-alpha_full.png $out/share/fcitx/mozc/icon/mozc-alpha_full.png 97 + install -m 644 fcitx-mozc-icons/mozc-alpha_half.png $out/share/fcitx/mozc/icon/mozc-alpha_half.png 98 + install -m 644 fcitx-mozc-icons/mozc-direct.png $out/share/fcitx/mozc/icon/mozc-direct.png 99 + install -m 644 fcitx-mozc-icons/mozc-hiragana.png $out/share/fcitx/mozc/icon/mozc-hiragana.png 100 + install -m 644 fcitx-mozc-icons/mozc-katakana_full.png $out/share/fcitx/mozc/icon/mozc-katakana_full.png 101 + install -m 644 fcitx-mozc-icons/mozc-katakana_half.png $out/share/fcitx/mozc/icon/mozc-katakana_half.png 102 + install -m 644 fcitx-mozc-icons/mozc-dictionary.png $out/share/fcitx/mozc/icon/mozc-dictionary.png 103 + install -m 644 fcitx-mozc-icons/mozc-properties.png $out/share/fcitx/mozc/icon/mozc-properties.png 104 + install -m 644 fcitx-mozc-icons/mozc-tool.png $out/share/fcitx/mozc/icon/mozc-tool.png 105 + ''; 106 + 107 + meta = with clangStdenv.lib; { 108 + isFcitxEngine = true; 109 + description = "Fcitx engine for Google japanese input method"; 110 + homepage = http://code.google.com/p/mozc/; 111 + downloadPage = "http://download.fcitx-im.org/fcitx-mozc/"; 112 + license = licenses.free; 113 + platforms = platforms.linux; 114 + maintainers = [ maintainers.ericsagnes ]; 115 + }; 116 + 117 + }
+29
pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix
··· 1 + { stdenv, fetchurl, cmake, fcitx, gettext }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "fcitx-table-other-${version}"; 5 + version = "0.2.3"; 6 + 7 + src = fetchurl { 8 + url = "http://download.fcitx-im.org/fcitx-table-other/${name}.tar.xz"; 9 + sha256 = "12fqbsjrpx5pndx2jf7fksrlp01a4yxz62h2vpxrbkpk73ljly4v"; 10 + }; 11 + 12 + buildInputs = [ cmake fcitx gettext ]; 13 + 14 + preInstall = '' 15 + substituteInPlace tables/cmake_install.cmake \ 16 + --replace ${fcitx} $out 17 + ''; 18 + 19 + meta = with stdenv.lib; { 20 + isFcitxEngine = true; 21 + homepage = "https://github.com/fcitx/fcitx-table-other"; 22 + downloadPage = "http://download.fcitx-im.org/fcitx-table-other/"; 23 + description = "Provides some other tables for Fcitx"; 24 + license = licenses.gpl3Plus; 25 + platforms = platforms.linux; 26 + maintainers = with maintainers; [ ericsagnes ]; 27 + }; 28 + 29 + }
-24
pkgs/tools/inputmethods/fcitx/fcitx-anthy.nix
··· 1 - { stdenv, fetchurl, cmake, fcitx, anthy }: 2 - 3 - stdenv.mkDerivation rec { 4 - name = "fcitx-anthy-0.2.1"; 5 - 6 - meta = with stdenv.lib; { 7 - description = "Fcitx Wrapper for anthy"; 8 - license = licenses.gpl2Plus; 9 - platforms = platforms.linux; 10 - maintainers = with maintainers; [ iyzsong ]; 11 - }; 12 - 13 - src = fetchurl { 14 - url = "http://download.fcitx-im.org/fcitx-anthy/${name}.tar.xz"; 15 - sha256 = "13fpfhhxkzbq53h10i3hifa37nngm47jq361i70z22bgcrs8887x"; 16 - }; 17 - 18 - buildInputs = [ cmake fcitx anthy ]; 19 - 20 - preInstall = '' 21 - substituteInPlace src/cmake_install.cmake \ 22 - --replace ${fcitx} $out 23 - ''; 24 - }
+2 -2
pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "fcitx-qt5-${version}"; 5 - version = "1.0.4"; 5 + version = "1.0.5"; 6 6 7 7 src = fetchurl { 8 8 url = "http://download.fcitx-im.org/fcitx-qt5/${name}.tar.xz"; 9 - sha256 = "070dlmwkim7sg0xwxfcbb46li1jk8yd3rmj0j5fkmgyr12044aml"; 9 + sha256 = "1pj1b04n8r4kl7jh1qdv0xshgzb3zrmizfa3g5h3yk589h191vwc"; 10 10 }; 11 11 12 12 buildInputs = [ cmake fcitx extra-cmake-modules qtbase ];
+2 -2
pkgs/tools/inputmethods/fcitx/wrapper.nix
··· 1 - { stdenv, buildEnv, fcitx, makeWrapper, plugins }: 1 + { stdenv, buildEnv, fcitx, fcitx-configtool, makeWrapper, plugins, kde5 }: 2 2 3 3 # This is based on the pidgin-with-plugins package. 4 4 # Users should be able to configure what plugins are used ··· 16 16 drv = buildEnv { 17 17 name = "fcitx-with-plugins-" + (builtins.parseDrvName fcitx.name).version; 18 18 19 - paths = [ fcitx ] ++ plugins; 19 + paths = [ fcitx fcitx-configtool kde5.fcitx-qt5 ] ++ plugins; 20 20 21 21 postBuild = '' 22 22 # TODO: This could be avoided if buildEnv could be forced to create all directories
-32
pkgs/tools/inputmethods/ibus-anthy/default.nix
··· 1 - { stdenv, fetchurl, makeWrapper, ibus, anthy, intltool, pkgconfig, glib, gobjectIntrospection, python, pythonPackages }: 2 - 3 - stdenv.mkDerivation rec { 4 - name = "ibus-anthy-${version}"; 5 - version = "1.5.7"; 6 - 7 - meta = with stdenv.lib; { 8 - description = "IBus interface to the anthy input method"; 9 - homepage = http://wiki.github.com/fujiwarat/ibus-anthy; 10 - license = licenses.gpl2Plus; 11 - platforms = platforms.linux; 12 - maintainers = with maintainers; [ gebner ]; 13 - }; 14 - 15 - configureFlags = "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t"; 16 - 17 - buildInputs = [ makeWrapper ibus anthy intltool pkgconfig glib gobjectIntrospection python pythonPackages.pygobject3 ]; 18 - 19 - postFixup = '' 20 - substituteInPlace $out/share/ibus/component/anthy.xml --replace \$\{exec_prefix\} $out 21 - for file in "$out"/libexec/*; do 22 - wrapProgram "$file" \ 23 - --prefix PYTHONPATH : $PYTHONPATH \ 24 - --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH:$out/lib/girepository-1.0 25 - done 26 - ''; 27 - 28 - src = fetchurl { 29 - url = "https://github.com/ibus/ibus-anthy/releases/download/${version}/${name}.tar.gz"; 30 - sha256 = "00sjrfhghrgkqm72mf39f8sz6wr4fwvvs9mn2alaldhgr5v0c861"; 31 - }; 32 - }
+39
pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
··· 1 + { stdenv, fetchFromGitHub, makeWrapper, ibus, anthy, intltool, pkgconfig, glib, gobjectIntrospection, 2 + python, pythonPackages, gtk3, libtool, automake, autoconf }: 3 + 4 + stdenv.mkDerivation rec { 5 + name = "ibus-anthy-${version}"; 6 + version = "1.5.8"; 7 + 8 + meta = with stdenv.lib; { 9 + isIbusEngine = true; 10 + description = "IBus interface to the anthy input method"; 11 + homepage = http://wiki.github.com/fujiwarat/ibus-anthy; 12 + license = licenses.gpl2Plus; 13 + platforms = platforms.linux; 14 + maintainers = with maintainers; [ gebner ericsagnes ]; 15 + }; 16 + 17 + preConfigure = "./autogen.sh --prefix=$out"; 18 + 19 + configureFlags = "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t"; 20 + 21 + buildInputs = [ makeWrapper ibus anthy intltool pkgconfig glib gobjectIntrospection 22 + python pythonPackages.pygobject3 gtk3 libtool automake autoconf ]; 23 + 24 + postFixup = '' 25 + substituteInPlace $out/share/ibus/component/anthy.xml --replace \$\{exec_prefix\} $out 26 + for file in "$out"/libexec/*; do 27 + wrapProgram "$file" \ 28 + --prefix PYTHONPATH : $PYTHONPATH \ 29 + --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH:$out/lib/girepository-1.0 30 + done 31 + ''; 32 + 33 + src = fetchFromGitHub { 34 + owner = "ibus"; 35 + repo = "ibus-anthy"; 36 + rev = version; 37 + sha256 = "1laxwpnhgihv4dz5cgcz6d0a0880r93n7039ciz1m53hdzapwi4a"; 38 + }; 39 + }
+39
pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
··· 1 + { stdenv, gnome, fetchFromGitHub, ibus, libhangul, autoconf, automake, gettext, libtool, librsvg, 2 + intltool, pkgconfig, pythonPackages, makeWrapper, gtk3, python }: 3 + 4 + stdenv.mkDerivation rec { 5 + name = "ibus-hangul-${version}"; 6 + version = "1.5.0"; 7 + 8 + src = fetchFromGitHub { 9 + owner = "choehwanjin"; 10 + repo = "ibus-hangul"; 11 + rev = version; 12 + sha256 = "12l2spr32biqdbz01bzkamgq5gskbi6cd7ai343wqyy1ibjlkmp8"; 13 + }; 14 + 15 + buildInputs = [ ibus libhangul autoconf gettext automake libtool 16 + intltool pkgconfig python pythonPackages.pygobject3 gtk3 makeWrapper ]; 17 + 18 + preConfigure = '' 19 + autoreconf --verbose --force --install 20 + intltoolize --automake --force --copy 21 + ''; 22 + 23 + postInstall = '' 24 + wrapProgram $out/bin/ibus-setup-hangul \ 25 + --prefix PYTHONPATH : $PYTHONPATH \ 26 + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ 27 + --prefix GDK_PIXBUF_MODULE_FILE : ${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache \ 28 + --prefix LD_LIBRARY_PATH : ${libhangul}/lib 29 + ''; 30 + 31 + meta = with stdenv.lib; { 32 + isIbusEngine = true; 33 + description = "Ibus Hangul engine."; 34 + homepage = https://github.com/choehwanjin/ibus-hangul; 35 + license = licenses.gpl2; 36 + platforms = platforms.linux; 37 + maintainers = with maintainers; [ ericsagnes ]; 38 + }; 39 + }
+32
pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
··· 1 + { stdenv, fetchFromGitHub, ibus, m17n_lib, m17n_db, automake, autoconf, 2 + gettext, libtool, pkgconfig, python, pythonPackages }: 3 + 4 + stdenv.mkDerivation rec { 5 + name = "ibus-m17n-${version}"; 6 + version = "1.3.4"; 7 + 8 + src = fetchFromGitHub { 9 + owner = "ibus"; 10 + repo = "ibus-m17n"; 11 + rev = version; 12 + sha256 = "1n0bvgc4jyksgvzrw5zs2pxcpxcn3gcc0j2kasbznm34fpv3frsr"; 13 + }; 14 + 15 + buildInputs = [ 16 + ibus m17n_lib m17n_db automake autoconf gettext 17 + libtool pkgconfig python pythonPackages.pygobject3 18 + ]; 19 + 20 + preConfigure = '' 21 + autoreconf --verbose --force --install 22 + ''; 23 + 24 + meta = with stdenv.lib; { 25 + isIbusEngine = true; 26 + description = "m17n engine for ibus."; 27 + homepage = https://github.com.com/ibus/ibus-m17n; 28 + license = licenses.gpl2; 29 + platforms = platforms.linux; 30 + maintainers = with maintainers; [ ericsagnes ]; 31 + }; 32 + }
pkgs/tools/inputmethods/ibus-qt/default.nix pkgs/tools/inputmethods/ibus/ibus-qt.nix
+6 -5
pkgs/tools/inputmethods/ibus-table-others/default.nix pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
··· 20 20 ''; 21 21 22 22 meta = with stdenv.lib; { 23 - description = "Various table-based input methods for IBus"; 24 - homepage = https://github.com/moebiuscurve/ibus-table-others; 25 - license = licenses.gpl3; 26 - platforms = platforms.linux; 27 - maintainers = with maintainers; [ mudri ]; 23 + isIbusEngine = true; 24 + description = "Various table-based input methods for IBus"; 25 + homepage = https://github.com/moebiuscurve/ibus-table-others; 26 + license = licenses.gpl3; 27 + platforms = platforms.linux; 28 + maintainers = with maintainers; [ mudri ]; 28 29 }; 29 30 }
+6 -5
pkgs/tools/inputmethods/ibus-table/default.nix pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
··· 12 12 buildInputs = [ ibus pkgconfig python3 pythonPackages.pygobject3 ]; 13 13 14 14 meta = with stdenv.lib; { 15 - description = "An IBus framework for table-based input methods"; 16 - homepage = https://github.com/kaio/ibus-table/wiki; 17 - license = licenses.lgpl21; 18 - platforms = platforms.linux; 19 - maintainers = with maintainers; [ mudri ]; 15 + isIbusEngine = true; 16 + description = "An IBus framework for table-based input methods"; 17 + homepage = https://github.com/kaio/ibus-table/wiki; 18 + license = licenses.lgpl21; 19 + platforms = platforms.linux; 20 + maintainers = with maintainers; [ mudri ]; 20 21 }; 21 22 }
+24
pkgs/tools/inputmethods/ibus/wrapper.nix
··· 1 + { stdenv, buildEnv, ibus, makeWrapper, plugins, hicolor_icon_theme }: 2 + 3 + let 4 + drv = buildEnv { 5 + name = "ibus-with-plugins-" + (builtins.parseDrvName ibus.name).version; 6 + 7 + paths = [ ibus hicolor_icon_theme ] ++ plugins; 8 + 9 + postBuild = '' 10 + # TODO: This could be avoided if buildEnv could be forced to create all directories 11 + if [ -L $out/bin ]; then 12 + rm $out/bin 13 + mkdir $out/bin 14 + for i in ${ibus}/bin/*; do 15 + ln -s $i $out/bin 16 + done 17 + fi 18 + wrapProgram $out/bin/ibus \ 19 + --set IBUS_COMPONENT_PATH "$out/share/ibus/component/" 20 + wrapProgram $out/bin/ibus-daemon \ 21 + --set IBUS_COMPONENT_PATH "$out/share/ibus/component/" 22 + ''; 23 + }; 24 + in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
+24 -13
pkgs/tools/inputmethods/mozc/default.nix pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
··· 7 7 sha256 = "0pyrpz9c8nxccwpgyr36w314mi8h132cis8ijvlqmmhqxwsi30hm"; 8 8 }; 9 9 in clangStdenv.mkDerivation rec { 10 - name = "mozc-${version}"; 11 - version = "2015-05-02"; 10 + name = "ibus-mozc-${version}"; 11 + version = "2.17.2313.102"; 12 12 13 13 meta = with clangStdenv.lib; { 14 - description = "Japanese input method from Google"; 15 - homepage = http://code.google.com/p/mozc/; 16 - license = licenses.bsd3; 17 - platforms = platforms.linux; 18 - maintainers = [ maintainers.gebner ]; 14 + isIbusEngine = true; 15 + description = "Japanese input method from Google"; 16 + homepage = http://code.google.com/p/mozc/; 17 + license = licenses.free; 18 + platforms = platforms.linux; 19 + maintainers = with maintainers; [ gebner ericsagnes ]; 19 20 }; 20 21 21 22 nativeBuildInputs = [ gyp which ninja python pkgconfig ]; 22 23 buildInputs = [ protobuf ibus gtk zinnia qt4 libxcb ]; 23 24 24 25 src = fetchFromGitHub { 25 - owner = "google"; 26 - repo = "mozc"; 27 - rev = "d9783737ecfcb68c3d98d84e7052d716f4d0e0cb"; 28 - sha256 = "52a83658e2e4a7b38e31a4085682be24c9c5f4c51a01578598a30b9833827b72"; 26 + owner = "google"; 27 + repo = "mozc"; 28 + rev = "3306d3314499a54a4064b8b80bbc1bce3f6cfac4"; 29 + sha256 = "0l7mjlnbm6i1ipni8pg9ym5bjg3rzkaxi9xwmsz2lddv348sqii2"; 29 30 }; 31 + 30 32 postUnpack = '' 33 + rmdir $sourceRoot/src/third_party/japanese_usage_dictionary/ 31 34 ln -s ${japanese_usage_dictionary} $sourceRoot/src/third_party/japanese_usage_dictionary 32 35 ''; 33 36 34 37 configurePhase = '' 35 - 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" 36 - python src/build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc 38 + 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" 39 + python src/build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc \ 40 + python src/unix/fcitx/fcitx.gyp gyp --gypdir=${gyp}/bin 41 + ''; 42 + 43 + preBuildPhase = '' 44 + head -n 29 src/server/mozc_server.cc > LICENSE 37 45 ''; 38 46 39 47 buildPhase = '' ··· 50 58 ''; 51 59 52 60 installPhase = '' 61 + install -d $out/share/licenses/mozc/ 62 + install -m 644 LICENSE src/data/installer/*.html $out/share/licenses/mozc/ 63 + 53 64 install -D -m 755 src/out_linux/Release/mozc_server $out/lib/mozc/mozc_server 54 65 install -m 755 src/out_linux/Release/mozc_tool $out/lib/mozc/mozc_tool 55 66
+39
pkgs/tools/inputmethods/uim/data-hook.patch
··· 1 + --- a/gtk2/immodule/Makefile.in 2015-11-24 16:21:08.967087208 +0900 2 + +++ b/gtk2/immodule/Makefile.in 2015-11-24 16:22:53.316095150 +0900 3 + @@ -806,7 +806,6 @@ 4 + 5 + install-data-am: install-moduleLTLIBRARIES 6 + @$(NORMAL_INSTALL) 7 + - $(MAKE) $(AM_MAKEFLAGS) install-data-hook 8 + install-dvi: install-dvi-am 9 + 10 + install-dvi-am: 11 + @@ -861,7 +860,7 @@ 12 + ctags distclean distclean-compile distclean-generic \ 13 + distclean-libtool distclean-tags distdir dvi dvi-am html \ 14 + html-am info info-am install install-am install-data \ 15 + - install-data-am install-data-hook install-dvi install-dvi-am \ 16 + + install-data-am install-dvi install-dvi-am \ 17 + install-exec install-exec-am install-html install-html-am \ 18 + install-info install-info-am install-man \ 19 + install-moduleLTLIBRARIES install-pdf install-pdf-am \ 20 + 21 + --- a/gtk3/immodule/Makefile.in 2015-11-24 16:21:08.971087209 +0900 22 + +++ b/gtk3/immodule/Makefile.in 2015-11-24 16:23:28.251097832 +0900 23 + @@ -824,7 +824,6 @@ 24 + 25 + install-data-am: install-moduleLTLIBRARIES 26 + @$(NORMAL_INSTALL) 27 + - $(MAKE) $(AM_MAKEFLAGS) install-data-hook 28 + install-dvi: install-dvi-am 29 + 30 + install-dvi-am: 31 + @@ -879,7 +878,7 @@ 32 + ctags distclean distclean-compile distclean-generic \ 33 + distclean-libtool distclean-tags distdir dvi dvi-am html \ 34 + html-am info info-am install install-am install-data \ 35 + - install-data-am install-data-hook install-dvi install-dvi-am \ 36 + + install-data-am install-dvi install-dvi-am \ 37 + install-exec install-exec-am install-html install-html-am \ 38 + install-info install-info-am install-man \ 39 + install-moduleLTLIBRARIES install-pdf install-pdf-am
+6 -5
pkgs/tools/inputmethods/uim/default.nix
··· 19 19 m17n_db 20 20 ]; 21 21 22 - patches = [ ./immodules_cache.patch ]; 22 + patches = [ ./data-hook.patch ]; 23 23 24 24 configureFlags = [ 25 25 "--with-gtk2" ··· 41 41 sha1 = "43b9dbdead6797880e6cfc9c032ecb2d37d42777"; 42 42 }; 43 43 44 - meta = { 45 - homepage = "http://code.google.com/p/uim/"; 44 + meta = with stdenv.lib; { 45 + homepage = "http://code.google.com/p/uim/"; 46 46 description = "A multilingual input method framework"; 47 - license = stdenv.lib.licenses.bsd3; 48 - platforms = stdenv.lib.platforms.linux; 47 + license = stdenv.lib.licenses.bsd3; 48 + platforms = stdenv.lib.platforms.linux; 49 + maintainers = with maintainers; [ ericsagnes ]; 49 50 }; 50 51 }
-231
pkgs/tools/inputmethods/uim/immodules_cache.patch
··· 1 - diff -ru -x '*~' uim-1.8.6.orig/gtk2/immodule/Makefile.am uim-1.8.6/gtk2/immodule/Makefile.am 2 - --- uim-1.8.6.orig/gtk2/immodule/Makefile.am 2013-06-30 13:26:09.000000000 +0900 3 - +++ uim-1.8.6/gtk2/immodule/Makefile.am 2014-07-13 21:51:26.538400004 +0900 4 - @@ -1,5 +1,5 @@ 5 - uim_gtk_im_module_path = $(libdir)/gtk-2.0 6 - -uim_gtk_im_module_file = $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules 7 - +uim_gtk_im_module_file = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules.cache 8 - 9 - moduledir = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules 10 - 11 - @@ -38,48 +38,12 @@ 12 - 13 - install-data-hook: gtk-rc-get-immodule-file 14 - if test -z $(DESTDIR); then \ 15 - - if test $(libdir) = $(GTK_LIBDIR); then \ 16 - - if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ 17 - - $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \ 18 - - echo "*** \"`$(GTK_RC_GET_IMMODULE_FILE)`\" is updated. ***"; \ 19 - - else \ 20 - - echo "********************** Warning ***********************"; \ 21 - - echo " $(QUERY_COMMAND) not found"; \ 22 - - echo " Please make sure to update"; \ 23 - - echo " \"`$(GTK_RC_GET_IMMODULE_FILE)`\""; \ 24 - - echo " manually."; \ 25 - - echo "******************************************************"; \ 26 - - fi \ 27 - - else \ 28 - - if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ 29 - - $(mkinstalldirs) $(sysconfdir)/gtk-2.0; \ 30 - - GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ 31 - - echo "******************************************************"; \ 32 - - echo " You need to set"; \ 33 - - echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \ 34 - - echo " environment variable to use this module."; \ 35 - - echo "******************************************************"; \ 36 - - else \ 37 - - echo "********************** Warning ***********************"; \ 38 - - echo " $(QUERY_COMMAND) not found"; \ 39 - - echo " Please make sure to update"; \ 40 - - echo " \"$(uim_gtk_im_module_file)\""; \ 41 - - echo " manually, and set"; \ 42 - - echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \ 43 - - echo " environment variable to use this module."; \ 44 - - echo "******************************************************"; \ 45 - - fi \ 46 - - fi \ 47 - + $(mkinstalldirs) $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@; \ 48 - + GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ 49 - fi 50 - uninstall-hook: 51 - if test -z $(DESTDIR); then \ 52 - - if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ 53 - - if test $(libdir) = $(GTK_LIBDIR); then \ 54 - - $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \ 55 - - else \ 56 - - GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ 57 - - fi \ 58 - - fi \ 59 - + GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ 60 - fi 61 - else 62 - install-data-hook: 63 - diff -ru -x '*~' uim-1.8.6.orig/gtk2/immodule/Makefile.in uim-1.8.6/gtk2/immodule/Makefile.in 64 - --- uim-1.8.6.orig/gtk2/immodule/Makefile.in 2013-06-30 13:27:08.000000000 +0900 65 - +++ uim-1.8.6/gtk2/immodule/Makefile.in 2014-07-13 22:12:27.947595507 +0900 66 - @@ -434,7 +434,7 @@ 67 - top_srcdir = @top_srcdir@ 68 - uim_pixmapsdir = @uim_pixmapsdir@ 69 - uim_gtk_im_module_path = $(libdir)/gtk-2.0 70 - -uim_gtk_im_module_file = $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules 71 - +uim_gtk_im_module_file = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules.cache 72 - moduledir = $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@/immodules 73 - @GTK2_TRUE@im_uim_la = im-uim.la 74 - @GTK2_TRUE@im_uim_la_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) 75 - @@ -875,48 +875,12 @@ 76 - 77 - @GTK2_TRUE@install-data-hook: gtk-rc-get-immodule-file 78 - @GTK2_TRUE@ if test -z $(DESTDIR); then \ 79 - -@GTK2_TRUE@ if test $(libdir) = $(GTK_LIBDIR); then \ 80 - -@GTK2_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ 81 - -@GTK2_TRUE@ $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \ 82 - -@GTK2_TRUE@ echo "*** \"`$(GTK_RC_GET_IMMODULE_FILE)`\" is updated. ***"; \ 83 - -@GTK2_TRUE@ else \ 84 - -@GTK2_TRUE@ echo "********************** Warning ***********************"; \ 85 - -@GTK2_TRUE@ echo " $(QUERY_COMMAND) not found"; \ 86 - -@GTK2_TRUE@ echo " Please make sure to update"; \ 87 - -@GTK2_TRUE@ echo " \"`$(GTK_RC_GET_IMMODULE_FILE)`\""; \ 88 - -@GTK2_TRUE@ echo " manually."; \ 89 - -@GTK2_TRUE@ echo "******************************************************"; \ 90 - -@GTK2_TRUE@ fi \ 91 - -@GTK2_TRUE@ else \ 92 - -@GTK2_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ 93 - -@GTK2_TRUE@ $(mkinstalldirs) $(sysconfdir)/gtk-2.0; \ 94 - -@GTK2_TRUE@ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ 95 - -@GTK2_TRUE@ echo "******************************************************"; \ 96 - -@GTK2_TRUE@ echo " You need to set"; \ 97 - -@GTK2_TRUE@ echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \ 98 - -@GTK2_TRUE@ echo " environment variable to use this module."; \ 99 - -@GTK2_TRUE@ echo "******************************************************"; \ 100 - -@GTK2_TRUE@ else \ 101 - -@GTK2_TRUE@ echo "********************** Warning ***********************"; \ 102 - -@GTK2_TRUE@ echo " $(QUERY_COMMAND) not found"; \ 103 - -@GTK2_TRUE@ echo " Please make sure to update"; \ 104 - -@GTK2_TRUE@ echo " \"$(uim_gtk_im_module_file)\""; \ 105 - -@GTK2_TRUE@ echo " manually, and set"; \ 106 - -@GTK2_TRUE@ echo " GTK_IM_MODULE_FILE=$(uim_gtk_im_module_file)"; \ 107 - -@GTK2_TRUE@ echo " environment variable to use this module."; \ 108 - -@GTK2_TRUE@ echo "******************************************************"; \ 109 - -@GTK2_TRUE@ fi \ 110 - -@GTK2_TRUE@ fi \ 111 - +@GTK2_TRUE@ $(mkinstalldirs) $(uim_gtk_im_module_path)/@GTK_BINARY_VERSION@; \ 112 - +@GTK2_TRUE@ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ 113 - @GTK2_TRUE@ fi 114 - @GTK2_TRUE@uninstall-hook: 115 - @GTK2_TRUE@ if test -z $(DESTDIR); then \ 116 - -@GTK2_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ 117 - -@GTK2_TRUE@ if test $(libdir) = $(GTK_LIBDIR); then \ 118 - -@GTK2_TRUE@ $(QUERY_COMMAND) > `$(GTK_RC_GET_IMMODULE_FILE)`; \ 119 - -@GTK2_TRUE@ else \ 120 - -@GTK2_TRUE@ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ 121 - -@GTK2_TRUE@ fi \ 122 - -@GTK2_TRUE@ fi \ 123 - +@GTK2_TRUE@ GTK_PATH=$(uim_gtk_im_module_path) $(QUERY_COMMAND) > $(uim_gtk_im_module_file); \ 124 - @GTK2_TRUE@ fi 125 - @GTK2_FALSE@install-data-hook: 126 - 127 - diff -ru -x '*~' uim-1.8.6.orig/gtk3/immodule/Makefile.am uim-1.8.6/gtk3/immodule/Makefile.am 128 - --- uim-1.8.6.orig/gtk3/immodule/Makefile.am 2013-06-30 13:26:20.000000000 +0900 129 - +++ uim-1.8.6/gtk3/immodule/Makefile.am 2014-07-13 21:55:38.114246503 +0900 130 - @@ -45,42 +45,11 @@ 131 - 132 - install-data-hook: gtk3-rc-get-immodule-file 133 - if test -z $(DESTDIR); then \ 134 - - if test $(libdir) = $(GTK3_LIBDIR); then \ 135 - - if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ 136 - - $(QUERY_COMMAND) --update-cache; \ 137 - - echo "*** \"`$(GTK3_RC_GET_IMMODULE_FILE)`\" is updated. ***"; \ 138 - - else \ 139 - - echo "********************** Warning ***********************"; \ 140 - - echo " $(QUERY_COMMAND) not found"; \ 141 - - echo " Please make sure to update"; \ 142 - - echo " \"`$(GTK3_RC_GET_IMMODULE_FILE)`\""; \ 143 - - echo " manually."; \ 144 - - echo "******************************************************"; \ 145 - - fi \ 146 - - else \ 147 - - if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ 148 - - GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \ 149 - - else \ 150 - - echo "********************** Warning ***********************"; \ 151 - - echo " $(QUERY_COMMAND) not found"; \ 152 - - echo " Please make sure to update"; \ 153 - - echo " immodules.cache"; \ 154 - - echo " manually, and set"; \ 155 - - echo " GTK_IM_MODULE_FILE=PATH_TO/immodule.cache"; \ 156 - - echo " environment variable to use this module."; \ 157 - - echo "******************************************************"; \ 158 - - fi \ 159 - - fi \ 160 - + GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \ 161 - fi 162 - uninstall-hook: 163 - if test -z $(DESTDIR); then \ 164 - - if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ 165 - - if test $(libdir) = $(GTK3_LIBDIR); then \ 166 - - $(QUERY_COMMAND) --update-cache; \ 167 - - else \ 168 - - GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \ 169 - - fi \ 170 - - fi \ 171 - + GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \ 172 - fi 173 - else 174 - install-data-hook: 175 - diff -ru -x '*~' uim-1.8.6.orig/gtk3/immodule/Makefile.in uim-1.8.6/gtk3/immodule/Makefile.in 176 - --- uim-1.8.6.orig/gtk3/immodule/Makefile.in 2013-06-30 13:27:08.000000000 +0900 177 - +++ uim-1.8.6/gtk3/immodule/Makefile.in 2014-07-13 21:56:11.531225832 +0900 178 - @@ -893,42 +893,11 @@ 179 - 180 - @GTK3_TRUE@install-data-hook: gtk3-rc-get-immodule-file 181 - @GTK3_TRUE@ if test -z $(DESTDIR); then \ 182 - -@GTK3_TRUE@ if test $(libdir) = $(GTK3_LIBDIR); then \ 183 - -@GTK3_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ 184 - -@GTK3_TRUE@ $(QUERY_COMMAND) --update-cache; \ 185 - -@GTK3_TRUE@ echo "*** \"`$(GTK3_RC_GET_IMMODULE_FILE)`\" is updated. ***"; \ 186 - -@GTK3_TRUE@ else \ 187 - -@GTK3_TRUE@ echo "********************** Warning ***********************"; \ 188 - -@GTK3_TRUE@ echo " $(QUERY_COMMAND) not found"; \ 189 - -@GTK3_TRUE@ echo " Please make sure to update"; \ 190 - -@GTK3_TRUE@ echo " \"`$(GTK3_RC_GET_IMMODULE_FILE)`\""; \ 191 - -@GTK3_TRUE@ echo " manually."; \ 192 - -@GTK3_TRUE@ echo "******************************************************"; \ 193 - -@GTK3_TRUE@ fi \ 194 - -@GTK3_TRUE@ else \ 195 - -@GTK3_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ 196 - -@GTK3_TRUE@ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \ 197 - -@GTK3_TRUE@ else \ 198 - -@GTK3_TRUE@ echo "********************** Warning ***********************"; \ 199 - -@GTK3_TRUE@ echo " $(QUERY_COMMAND) not found"; \ 200 - -@GTK3_TRUE@ echo " Please make sure to update"; \ 201 - -@GTK3_TRUE@ echo " immodules.cache"; \ 202 - -@GTK3_TRUE@ echo " manually, and set"; \ 203 - -@GTK3_TRUE@ echo " GTK_IM_MODULE_FILE=PATH_TO/immodule.cache"; \ 204 - -@GTK3_TRUE@ echo " environment variable to use this module."; \ 205 - -@GTK3_TRUE@ echo "******************************************************"; \ 206 - -@GTK3_TRUE@ fi \ 207 - -@GTK3_TRUE@ fi \ 208 - +@GTK3_TRUE@ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \ 209 - @GTK3_TRUE@ fi 210 - @GTK3_TRUE@uninstall-hook: 211 - @GTK3_TRUE@ if test -z $(DESTDIR); then \ 212 - -@GTK3_TRUE@ if type $(QUERY_COMMAND) > /dev/null 2>&1; then \ 213 - -@GTK3_TRUE@ if test $(libdir) = $(GTK3_LIBDIR); then \ 214 - -@GTK3_TRUE@ $(QUERY_COMMAND) --update-cache; \ 215 - -@GTK3_TRUE@ else \ 216 - -@GTK3_TRUE@ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) --update-cache; \ 217 - -@GTK3_TRUE@ fi \ 218 - -@GTK3_TRUE@ fi \ 219 - +@GTK3_TRUE@ GTK_PATH=$(uim_gtk3_im_module_path) $(QUERY_COMMAND) > $(uim_gtk3_im_module_path)/@GTK3_BINARY_VERSION@/immodules.cache ; \ 220 - @GTK3_TRUE@ fi 221 - @GTK3_FALSE@install-data-hook: 222 - 223 - diff -ru -x '*~' uim-1.8.6.orig/qt4/immodule/quiminputcontextplugin.pro.in uim-1.8.6/qt4/immodule/quiminputcontextplugin.pro.in 224 - --- uim-1.8.6.orig/qt4/immodule/quiminputcontextplugin.pro.in 2013-06-30 13:26:20.000000000 +0900 225 - +++ uim-1.8.6/qt4/immodule/quiminputcontextplugin.pro.in 2014-03-09 11:31:19.388085048 +0900 226 - @@ -35,4 +35,4 @@ 227 - 228 - TARGET = uiminputcontextplugin 229 - 230 - -target.path += @DESTDIR@$$[QT_INSTALL_PLUGINS]/inputmethods 231 - +target.path += @DESTDIR@@exec_prefix@/lib/qt4/plugins/inputmethods
+37 -9
pkgs/top-level/all-packages.nix
··· 1172 1172 1173 1173 m17n_lib = callPackage ../tools/inputmethods/m17n-lib { }; 1174 1174 1175 - mozc = callPackage ../tools/inputmethods/mozc { 1176 - inherit (pythonPackages) gyp; 1177 - }; 1178 - 1179 1175 ibus = callPackage ../tools/inputmethods/ibus { }; 1180 1176 1181 - ibus-qt = callPackage ../tools/inputmethods/ibus-qt { }; 1177 + ibus-qt = callPackage ../tools/inputmethods/ibus/ibus-qt.nix { }; 1182 1178 1183 - ibus-anthy = callPackage ../tools/inputmethods/ibus-anthy { }; 1179 + ibus-engines = { 1184 1180 1185 - ibus-table = callPackage ../tools/inputmethods/ibus-table { }; 1181 + anthy = callPackage ../tools/inputmethods/ibus-engines/ibus-anthy { }; 1182 + 1183 + hangul = callPackage ../tools/inputmethods/ibus-engines/ibus-hangul { }; 1186 1184 1187 - ibus-table-others = callPackage ../tools/inputmethods/ibus-table-others { }; 1185 + m17n = callPackage ../tools/inputmethods/ibus-engines/ibus-m17n { }; 1186 + 1187 + mozc = callPackage ../tools/inputmethods/ibus-engines/ibus-mozc { 1188 + inherit (pythonPackages) gyp; 1189 + }; 1190 + 1191 + table = callPackage ../tools/inputmethods/ibus-engines/ibus-table { }; 1192 + 1193 + table-others = callPackage ../tools/inputmethods/ibus-engines/ibus-table-others { }; 1194 + 1195 + }; 1196 + 1197 + ibus-with-plugins = callPackage ../tools/inputmethods/ibus/wrapper.nix { 1198 + plugins = [ ]; 1199 + }; 1188 1200 1189 1201 brotli = callPackage ../tools/compression/brotli { }; 1190 1202 ··· 1513 1525 1514 1526 fcitx = callPackage ../tools/inputmethods/fcitx { }; 1515 1527 1516 - fcitx-anthy = callPackage ../tools/inputmethods/fcitx/fcitx-anthy.nix { }; 1528 + fcitx-engines = { 1529 + 1530 + anthy = callPackage ../tools/inputmethods/fcitx-engines/fcitx-anthy { }; 1531 + 1532 + chewing = callPackage ../tools/inputmethods/fcitx-engines/fcitx-chewing { }; 1533 + 1534 + hangul = callPackage ../tools/inputmethods/fcitx-engines/fcitx-hangul { }; 1535 + 1536 + m17n = callPackage ../tools/inputmethods/fcitx-engines/fcitx-m17n { }; 1537 + 1538 + mozc = callPackage ../tools/inputmethods/fcitx-engines/fcitx-mozc { 1539 + inherit (pythonPackages) gyp; 1540 + }; 1541 + 1542 + table-other = callPackage ../tools/inputmethods/fcitx-engines/fcitx-table-other { }; 1543 + 1544 + }; 1517 1545 1518 1546 fcitx-configtool = callPackage ../tools/inputmethods/fcitx/fcitx-configtool.nix { }; 1519 1547