diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index c79647962b9..e0eff137873 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -156,6 +156,8 @@ In addition to numerous new and upgraded packages, this release has the followin - Nebula now runs as a system user and group created for each nebula network, using the `CAP_NET_ADMIN` ambient capability on launch rather than starting as root. Ensure that any files each Nebula instance needs to access are owned by the correct user and group, by default `nebula-${networkName}`. +- The `i18n.inputMethod.fcitx` option has been replaced with `i18n.inputMethod.fcitx5` because fcitx 4 `pkgs.fcitx` has been removed. + - In `mastodon` it is now necessary to specify location of file with `PostgreSQL` database password. In `services.mastodon.database.passwordFile` parameter default value `/var/lib/mastodon/secrets/db-password` has been changed to `null`. - The `--target-host` and `--build-host` options of `nixos-rebuild` no longer treat the `localhost` value specially – to build on/deploy to local machine, omit the relevant flag. diff --git a/nixos/modules/i18n/input-method/default.md b/nixos/modules/i18n/input-method/default.md index 05ae12065c3..42cb8a8d7b6 100644 --- a/nixos/modules/i18n/input-method/default.md +++ b/nixos/modules/i18n/input-method/default.md @@ -9,7 +9,7 @@ than there are keys on the keyboard. The following input methods are available in NixOS: - IBus: The intelligent input bus. - - Fcitx: A customizable lightweight input method. + - Fcitx5: The next generation of fcitx, addons (including engines, dictionaries, skins) can be added using `i18n.inputMethod.fcitx5.addons`. - Nabi: A Korean input method based on XIM. - Uim: The universal input method, is a library with a XIM bridge. - Hime: An extremely easy-to-use input method framework. @@ -67,38 +67,40 @@ application in the Nix store. The `glib` packages must match exactly. If they do not, uninstalling and reinstalling the application is a likely fix. -## Fcitx {#module-services-input-methods-fcitx} +## Fcitx5 {#module-services-input-methods-fcitx} -Fcitx is an input method framework with extension support. It has three +Fcitx5 is an input method framework with extension support. It has three built-in Input Method Engine, Pinyin, QuWei and Table-based input methods. The following snippet can be used to configure Fcitx: ``` i18n.inputMethod = { - enabled = "fcitx"; - fcitx.engines = with pkgs.fcitx-engines; [ mozc hangul m17n ]; + enabled = "fcitx5"; + fcitx5.addons = with pkgs; [ fcitx5-mozc fcitx5-hangul fcitx5-m17n ]; }; ``` -`i18n.inputMethod.fcitx.engines` is optional and can be -used to add extra Fcitx engines. +`i18n.inputMethod.fcitx5.addons` is optional and can be +used to add extra Fcitx5 addons. -Available extra Fcitx engines are: +Available extra Fcitx5 addons are: - - Anthy (`fcitx-engines.anthy`): Anthy is a system for + - Anthy (`fcitx5-anthy`): Anthy is a system for Japanese input method. It converts Hiragana text to Kana Kanji mixed text. - - Chewing (`fcitx-engines.chewing`): Chewing is an + - Chewing (`fcitx5-chewing`): Chewing is an intelligent Zhuyin input method. It is one of the most popular input methods among Traditional Chinese Unix users. - - Hangul (`fcitx-engines.hangul`): Korean input method. - - Unikey (`fcitx-engines.unikey`): Vietnamese input method. - - m17n (`fcitx-engines.m17n`): m17n is an input method that + - Hangul (`fcitx5-hangul`): Korean input method. + - Unikey (`fcitx5-unikey`): Vietnamese input method. + - m17n (`fcitx5-m17n`): m17n is an input method that uses input methods and corresponding icons in the m17n database. - - mozc (`fcitx-engines.mozc`): A Japanese input method from + - mozc (`fcitx5-mozc`): A Japanese input method from Google. - - table-others (`fcitx-engines.table-others`): Various + - table-others (`fcitx5-table-other`): Various table-based input methods. + - chinese-addons (`fcitx5-chinese-addons`): Various chinese input methods. + - rime (`fcitx5-rime`): RIME support for fcitx5. ## Nabi {#module-services-input-methods-nabi} diff --git a/nixos/modules/i18n/input-method/default.nix b/nixos/modules/i18n/input-method/default.nix index 5f803b4f2ee..d967d4335c7 100644 --- a/nixos/modules/i18n/input-method/default.nix +++ b/nixos/modules/i18n/input-method/default.nix @@ -29,9 +29,9 @@ in options.i18n = { inputMethod = { enabled = mkOption { - type = types.nullOr (types.enum [ "ibus" "fcitx" "fcitx5" "nabi" "uim" "hime" "kime" ]); + type = types.nullOr (types.enum [ "ibus" "fcitx5" "nabi" "uim" "hime" "kime" ]); default = null; - example = "fcitx"; + example = "fcitx5"; description = lib.mdDoc '' Select the enabled input method. Input methods is a software to input symbols that are not available on standard input devices. @@ -40,7 +40,6 @@ in Currently the following input methods are available in NixOS: - ibus: The intelligent input bus, extra input engines can be added using `i18n.inputMethod.ibus.engines`. - - fcitx: A customizable lightweight input method, extra input engines can be added using `i18n.inputMethod.fcitx.engines`. - fcitx5: The next generation of fcitx, addons (including engines, dictionaries, skins) can be added using `i18n.inputMethod.fcitx5.addons`. - nabi: A Korean input method based on XIM. Nabi doesn't support Qt 5. - uim: The universal input method, is a library with a XIM bridge. uim mainly support Chinese, Japanese and Korean. diff --git a/nixos/modules/i18n/input-method/fcitx.nix b/nixos/modules/i18n/input-method/fcitx.nix deleted file mode 100644 index 043ec3d55c1..00000000000 --- a/nixos/modules/i18n/input-method/fcitx.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ config, pkgs, lib, ... }: - -with lib; - -let - cfg = config.i18n.inputMethod.fcitx; - fcitxPackage = pkgs.fcitx.override { plugins = cfg.engines; }; - fcitxEngine = types.package // { - name = "fcitx-engine"; - check = x: (lib.types.package.check x) && (attrByPath ["meta" "isFcitxEngine"] false x); - }; -in -{ - options = { - - i18n.inputMethod.fcitx = { - engines = mkOption { - type = with types; listOf fcitxEngine; - default = []; - example = literalExpression "with pkgs.fcitx-engines; [ mozc hangul ]"; - description = - let - enginesDrv = filterAttrs (const isDerivation) pkgs.fcitx-engines; - engines = concatStringsSep ", " - (map (name: "`${name}`") (attrNames enginesDrv)); - in - lib.mdDoc "Enabled Fcitx engines. Available engines are: ${engines}."; - }; - }; - - }; - - config = mkIf (config.i18n.inputMethod.enabled == "fcitx") { - i18n.inputMethod.package = fcitxPackage; - - environment.variables = { - GTK_IM_MODULE = "fcitx"; - QT_IM_MODULE = "fcitx"; - XMODIFIERS = "@im=fcitx"; - }; - services.xserver.displayManager.sessionCommands = "${fcitxPackage}/bin/fcitx"; - }; - - # uses attributes of the linked package - meta.buildDocsInSandbox = false; -} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 945b053f7cd..70be24a754d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -103,7 +103,6 @@ ./hardware/xone.nix ./hardware/xpadneo.nix ./i18n/input-method/default.nix - ./i18n/input-method/fcitx.nix ./i18n/input-method/fcitx5.nix ./i18n/input-method/hime.nix ./i18n/input-method/ibus.nix diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 2849b23fa2c..158c7934195 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -107,6 +107,8 @@ with lib; (mkRemovedOptionModule [ "services" "riak" ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "services" "cryptpad" ] "The corresponding package was removed from nixpkgs.") + (mkRemovedOptionModule [ "i18n" "inputMethod" "fcitx" ] "The fcitx module has been removed. Plesae use fcitx5 instead") + # Do NOT add any option renames here, see top of the file ]; } diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 7fa1dcbdcdb..cdd9e00d258 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -218,7 +218,7 @@ in { extra-python-packages = handleTest ./extra-python-packages.nix {}; evcc = handleTest ./evcc.nix {}; fancontrol = handleTest ./fancontrol.nix {}; - fcitx = handleTest ./fcitx {}; + fcitx5 = handleTest ./fcitx5 {}; fenics = handleTest ./fenics.nix {}; ferm = handleTest ./ferm.nix {}; firefox = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox; }; diff --git a/nixos/tests/fcitx/config b/nixos/tests/fcitx/config deleted file mode 100644 index 169768994e2..00000000000 --- a/nixos/tests/fcitx/config +++ /dev/null @@ -1,12 +0,0 @@ -[Hotkey] -SwitchKey=Disabled -IMSwitchHotkey=ALT_SHIFT -TimeInterval=240 - -[Program] -DelayStart=5 - -[Output] - -[Appearance] - diff --git a/nixos/tests/fcitx/profile b/nixos/tests/fcitx/profile deleted file mode 100644 index 77497a1496b..00000000000 --- a/nixos/tests/fcitx/profile +++ /dev/null @@ -1,4 +0,0 @@ -[Profile] -IMName=zhengma-large -EnabledIMList=fcitx-keyboard-us:True,zhengma-large:True,m17n_sa_harvard-kyoto:True -PreeditStringInClientWindow=False diff --git a/nixos/tests/fcitx5/config b/nixos/tests/fcitx5/config new file mode 100644 index 00000000000..cf4334639f1 --- /dev/null +++ b/nixos/tests/fcitx5/config @@ -0,0 +1,11 @@ +[Hotkey] +EnumerateSkipFirst=False + +[Hotkey/TriggerKeys] +0=Control+space + +[Hotkey/EnumerateForwardKeys] +0=Alt+Shift_L + +[Hotkey/EnumerateBackwardKeys] +0=Alt+Shift_R diff --git a/nixos/tests/fcitx/default.nix b/nixos/tests/fcitx5/default.nix similarity index 52% rename from nixos/tests/fcitx/default.nix rename to nixos/tests/fcitx5/default.nix index c132249fcb2..261a5f1f45c 100644 --- a/nixos/tests/fcitx/default.nix +++ b/nixos/tests/fcitx5/default.nix @@ -1,64 +1,48 @@ -import ../make-test-python.nix ( +import ../make-test-python.nix ({ pkgs, ... }: +# copy_from_host works only for store paths +rec { + name = "fcitx5"; + nodes.machine = { pkgs, ... }: { - pkgs, ... - }: - # copy_from_host works only for store paths - rec { - name = "fcitx"; - meta.broken = true; # takes hours to time out since October 2021 - nodes.machine = - { - pkgs, - ... - }: - { + imports = [ + ../common/user-account.nix + ]; - imports = [ - ../common/user-account.nix - ]; + environment.systemPackages = [ + # To avoid clashing with xfce4-terminal + pkgs.alacritty + ]; - environment.systemPackages = [ - # To avoid clashing with xfce4-terminal - pkgs.alacritty - ]; + services.xserver = { + enable = true; + displayManager = { + lightdm.enable = true; + autoLogin = { + enable = true; + user = "alice"; + }; + }; - services.xserver = - { - enable = true; + desktopManager.xfce.enable = true; + }; - displayManager = { - lightdm.enable = true; - autoLogin = { - enable = true; - user = "alice"; - }; - }; + i18n.inputMethod = { + enabled = "fcitx5"; + fcitx5.addons = [ + pkgs.fcitx5-m17n + pkgs.fcitx5-chinese-addons + ]; + }; + }; - desktopManager.xfce.enable = true; - }; - - i18n = { - inputMethod = { - enabled = "fcitx"; - fcitx.engines = [ - pkgs.fcitx-engines.m17n - pkgs.fcitx-engines.table-extra - ]; - }; - }; - } - ; - - testScript = { nodes, ... }: - let - user = nodes.machine.config.users.users.alice; - userName = user.name; - userHome = user.home; - xauth = "${userHome}/.Xauthority"; - fcitx_confdir = "${userHome}/.config/fcitx"; - in - '' + testScript = { nodes, ... }: + let + user = nodes.machine.users.users.alice; + xauth = "${user.home}/.Xauthority"; + fcitx_confdir = "${user.home}/.config/fcitx5"; + in + '' # We need config files before login session # So copy first thing @@ -75,13 +59,13 @@ import ../make-test-python.nix ( start_all() - machine.wait_for_file("${xauth}") + machine.wait_for_file("${xauth}}") machine.succeed("xauth merge ${xauth}") machine.sleep(5) - machine.succeed("su - ${userName} -c 'alacritty&'") - machine.succeed("su - ${userName} -c 'fcitx&'") + machine.succeed("su - ${user.name} -c 'alacritty&'") + machine.succeed("su - ${user.name} -c 'fcitx5&'") machine.sleep(10) ### Type on terminal @@ -109,8 +93,10 @@ import ../make-test-python.nix ( machine.send_key("ctrl-spc") machine.sleep(1) - ### Default zhengma, enter 一下 - machine.send_chars("a2") + ### Default wubi, enter 一下 + machine.send_chars("gggh") + machine.sleep(1) + machine.send_key("\n") machine.sleep(1) ### Switch to Harvard Kyoto @@ -134,9 +120,8 @@ import ../make-test-python.nix ( machine.screenshot("terminal_chars") ### Verify that file contents are as expected - file_content = machine.succeed("cat ${userHome}/fcitx_test.out") + file_content = machine.succeed("cat ${user.home}/fcitx_test.out") assert file_content == "☺一下क\n" '' - ; - } -) + ; +}) diff --git a/nixos/tests/fcitx5/profile b/nixos/tests/fcitx5/profile new file mode 100644 index 00000000000..55e7b7b459f --- /dev/null +++ b/nixos/tests/fcitx5/profile @@ -0,0 +1,15 @@ +[Groups/0] +Name=NixOS_test +Default Layout=us +DefaultIM=wbx + +[Groups/0/Items/0] +Name=wbx +Layout=us + +[Groups/0/Items/1] +Name=m17n_sa_harvard-kyoto +Layout=us + +[GroupOrder] +0=NixOS_test diff --git a/pkgs/applications/terminal-emulators/mlterm/default.nix b/pkgs/applications/terminal-emulators/mlterm/default.nix index 817042a7bcf..d27e5bec1ac 100644 --- a/pkgs/applications/terminal-emulators/mlterm/default.nix +++ b/pkgs/applications/terminal-emulators/mlterm/default.nix @@ -3,7 +3,7 @@ , harfbuzz #substituting glyphs with opentype fonts , fribidi, m17n_lib #bidi and encoding , openssl, libssh2 #build-in ssh -, fcitx, ibus, uim #IME +, fcitx5, fcitx5-gtk, ibus, uim #IME , wrapGAppsHook #color picker in mlconfig , Cocoa #Darwin }: @@ -37,7 +37,8 @@ stdenv.mkDerivation rec { vte m17n_lib - fcitx + fcitx5 + fcitx5-gtk ibus ] ++ lib.optionals (stdenv.system != "aarch64-linux") [ # FIXME Currently broken on aarch64-linux diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix deleted file mode 100644 index 74553dcebbb..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-anthy/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, fcitx, anthy, gettext, pkg-config }: - -stdenv.mkDerivation rec { - pname = "fcitx-anthy"; - version = "0.2.4"; - - src = fetchurl { - url = "http://download.fcitx-im.org/fcitx-anthy/${pname}-${version}.tar.xz"; - sha256 = "sha256-Hxhs2RXuFf/bhczcQ3+Zj+gI3+Z4BEfIzMIfUOUNX7M="; - }; - - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ fcitx anthy gettext ]; - - preInstall = '' - substituteInPlace src/cmake_install.cmake \ - --replace ${fcitx} $out - ''; - - meta = with lib; { - isFcitxEngine = true; - description = "Fcitx Wrapper for anthy"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ ericsagnes ]; - }; - -} diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix deleted file mode 100644 index defbe616ab2..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-chewing/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, fcitx, gettext, libchewing, pkg-config }: - -stdenv.mkDerivation rec { - pname = "fcitx-chewing"; - version = "0.2.3"; - - src = fetchurl { - url = "http://download.fcitx-im.org/fcitx-chewing/${pname}-${version}.tar.xz"; - sha256 = "1w5smp5zvjx681cp1znjypyr9sw5x6v0wnsk8a7ncwxi9q9wf4xk"; - }; - - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ fcitx gettext libchewing ]; - - preInstall = '' - substituteInPlace src/cmake_install.cmake \ - --replace ${fcitx} $out - substituteInPlace data/cmake_install.cmake \ - --replace ${fcitx} $out - ''; - - meta = with 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-cloudpinyin/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix deleted file mode 100644 index d84407e982b..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, fcitx, gettext, curl }: - -stdenv.mkDerivation rec { - pname = "fcitx-cloudpinyin"; - version = "0.3.7"; - - src = fetchurl { - url = "http://download.fcitx-im.org/fcitx-cloudpinyin/${pname}-${version}.tar.xz"; - sha256 = "0ai347wv3qdjzcbh0j9hdjpzwvh2kk57324xbxq37nzagrdgg5x0"; - }; - - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ fcitx gettext curl ]; - - preInstall = '' - substituteInPlace src/cmake_install.cmake \ - --replace ${fcitx} $out - substituteInPlace po/cmake_install.cmake \ - --replace ${fcitx} $out - ''; - - meta = with lib; { - isFcitxEngine = true; - description = "A standalone module for fcitx that uses web API to provide better pinyin result"; - homepage = "https://github.com/fcitx/fcitx-cloudpinyin"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix deleted file mode 100644 index d99a0228e22..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-hangul/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, fcitx, libhangul, gettext, pkg-config }: - -stdenv.mkDerivation rec { - pname = "fcitx-hangul"; - version = "0.3.1"; - - src = fetchurl { - url = "http://download.fcitx-im.org/fcitx-hangul/${pname}-${version}.tar.xz"; - sha256 = "0ds4071ljq620w7vnprm2jl8zqqkw7qsxvzbjapqak4jarczvmbd"; - }; - - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ fcitx libhangul gettext ]; - - preInstall = '' - substituteInPlace src/cmake_install.cmake \ - --replace ${fcitx} $out - substituteInPlace data/cmake_install.cmake \ - --replace ${fcitx} $out - ''; - - meta = with 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-libpinyin/datapath.patch b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/datapath.patch deleted file mode 100644 index 84dd5fc8f46..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/datapath.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/src/utils.cpp -+++ b/src/utils.cpp -@@ -9,12 +9,7 @@ char* FcitxLibPinyinGetSysPath(LIBPINYIN_LANGUAGE_TYPE type) - #ifdef LIBPINYIN_TOOLS_FOUND - if (type == LPLT_Simplified) { - #endif -- /* portable detect here */ -- if (getenv("FCITXDIR")) { -- syspath = fcitx_utils_get_fcitx_path_with_filename("datadir", "libpinyin/data"); -- } else { -- syspath = strdup(LIBPINYIN_PKGDATADIR "/data"); -- } -+ syspath = strdup(LIBPINYIN_PKGDATADIR "/data"); - #ifdef LIBPINYIN_TOOLS_FOUND - } - else { diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix deleted file mode 100644 index 422b1148d05..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, fcitx, gettext, libpinyin, glib, pcre, dbus, qtwebengine, qtbase, fcitx-qt5 }: - -stdenv.mkDerivation rec { - pname = "fcitx-libpinyin"; - version = "0.5.4"; - - src = fetchurl { - url = "http://download.fcitx-im.org/fcitx-libpinyin/${pname}-${version}.tar.xz"; - sha256 = "1wvsc21imbgq3chlxfw4aycmkb2vi1bkjj9frvhga2m5b5pq82k5"; - }; - - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ fcitx-qt5 qtbase qtwebengine.dev fcitx gettext libpinyin glib pcre dbus ]; - - # With a typical installation via NixOS option i18n.inputMethod.fcitx.engines, - # the FCITXDIR environment variable is set to $out of fcitx-with-plugins, - # which leads to an incorrect path for pinyin data. - # - # It is impossible or difficult to fix this issue without patching. We want - # FCITXDIR to point into libpinyin, which is currently not symlinked within - # fcitx-with-plugins (only fcitx-libpinyin is symlinked). Also, FCITXDIR - # doesn't accept multiple directories. - patches = [ ./datapath.patch ]; - - preInstall = '' - substituteInPlace src/cmake_install.cmake \ - --replace ${fcitx} $out - substituteInPlace data/cmake_install.cmake \ - --replace ${fcitx} $out - substituteInPlace dictmanager/cmake_install.cmake \ - --replace ${fcitx} $out - ''; - - preBuild = let - ZHUYIN_DATA_FILE_NAME = "model.text.20161206.tar.gz"; - store_path = fetchurl { - url = "https://download.fcitx-im.org/data/${ZHUYIN_DATA_FILE_NAME}"; - sha256 = "017p11si1b7bkwx36xaybq5a9icq1pd7x1jbymqw92akfgjj8w2w"; - }; - in - '' - cp -rv ${store_path} $NIX_BUILD_TOP/$name/data/${ZHUYIN_DATA_FILE_NAME} - ''; - - dontWrapQtApps = true; - - meta = with lib; { - isFcitxEngine = true; - description = "Fcitx Wrapper for libpinyin, Library to deal with pinyin"; - homepage = "https://github.com/fcitx/fcitx-libpinyin"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ ericsagnes ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix deleted file mode 100644 index 31a73555988..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-m17n/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, fcitx, gettext, m17n_lib, m17n_db, pkg-config }: - -stdenv.mkDerivation rec { - pname = "fcitx-m17n"; - version = "0.2.4"; - - src = fetchurl { - url = "http://download.fcitx-im.org/fcitx-m17n/${pname}-${version}.tar.xz"; - sha256 = "15s52h979xz967f8lm0r0qkplig2w3wjck1ymndbg9kvj25ib0ng"; - }; - - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ fcitx gettext m17n_lib m17n_db ]; - - preInstall = '' - substituteInPlace im/cmake_install.cmake \ - --replace ${fcitx} $out - ''; - - meta = with 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 deleted file mode 100644 index 269611f4bd7..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix +++ /dev/null @@ -1,113 +0,0 @@ -{ lib, clangStdenv, fetchFromGitHub, fetchurl, fetchpatch, gyp, which, ninja, - python, pkg-config, protobuf, gtk2, zinnia, qt5, libxcb, tegaki-zinnia-japanese, - fcitx, gettext }: -let - japanese_usage_dictionary = fetchFromGitHub { - owner = "hiroyuki-komatsu"; - repo = "japanese-usage-dictionary"; - rev = "e5b3425575734c323e1d947009dd74709437b684"; - sha256 = "0pyrpz9c8nxccwpgyr36w314mi8h132cis8ijvlqmmhqxwsi30hm"; - }; - icons = fetchurl { - url = "http://download.fcitx-im.org/fcitx-mozc/fcitx-mozc-icon.tar.gz"; - sha256 = "10bdjn481jsh32vll7r756l392anz44h6207vjqwby3rplk31np1"; - }; -in clangStdenv.mkDerivation rec { - pname = "fcitx-mozc"; - version = "2.23.2815.102"; - - src = fetchFromGitHub { - owner = "google"; - repo = "mozc"; - rev = "afb03ddfe72dde4cf2409863a3bfea160f7a66d8"; - sha256 = "0w2dy2j9x5nc7x3g95j17r3m60vbfyn5j617h7js9xryv33yzpgx"; - }; - - nativeBuildInputs = [ gyp which ninja python pkg-config qt5.wrapQtAppsHook ]; - buildInputs = [ protobuf gtk2 zinnia qt5.qtbase 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/src - ''; - - patch_version = "${version}.1"; - patches = [ - (fetchpatch rec { - name = "fcitx-mozc-${patch_version}.patch"; - url = "https://download.fcitx-im.org/fcitx-mozc/${name}"; - sha256 = "0a8q3vzcbai1ccdrl6qdb81gvbw8aby4lqkl6qs9hg68p6zg42hg"; - }) - # https://github.com/google/mozc/pull/444 - fix for gcc8 STL - (fetchpatch { - url = "https://github.com/google/mozc/commit/82d38f929882a9c62289b179c6fe41efed249987.patch"; - sha256 = "07cja1b7qfsd3i76nscf1zwiav74h7d6h2g9g2w4bs3h1mc9jwla"; - }) - # Support dates after 2019 - (fetchpatch { - url = "https://salsa.debian.org/debian/mozc/-/raw/master/debian/patches/add_support_new_japanese_era.patch"; - sha256 = "1dsiiglrmm8i8shn2hv0j2b8pv6miysjrimj4569h606j4lwmcw2"; - }) - ]; - - 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 use_fcitx5=0 zinnia_model_file=${tegaki-zinnia-japanese}/share/tegaki/models/zinnia/handwriting-ja.model" - cd src && python build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc - ''; - - buildPhase = '' - PYTHONPATH="$PWD:$PYTHONPATH" python build_mozc.py build -c Release \ - server/server.gyp:mozc_server \ - gui/gui.gyp:mozc_tool \ - unix/fcitx/fcitx.gyp:fcitx-mozc - ''; - - installPhase = '' - install -d $out/share/licenses/fcitx-mozc - head -n 29 server/mozc_server.cc > $out/share/licenses/fcitx-mozc/LICENSE - install -m 644 data/installer/*.html $out/share/licenses/fcitx-mozc/ - - install -d $out/share/doc/mozc - install -m 644 data/installer/*.html $out/share/doc/mozc/ - - install -D -m 755 out_linux/Release/mozc_server $out/lib/mozc/mozc_server - install -m 755 out_linux/Release/mozc_tool $out/lib/mozc/mozc_tool - - wrapQtApp $out/lib/mozc/mozc_tool - - install -D -m 755 out_linux/Release/fcitx-mozc.so $out/lib/fcitx/fcitx-mozc.so - install -D -m 644 unix/fcitx/fcitx-mozc.conf $out/share/fcitx/addon/fcitx-mozc.conf - install -D -m 644 unix/fcitx/mozc.conf $out/share/fcitx/inputmethod/mozc.conf - - install -d $out/share/doc/mozc - - for mofile in 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/*.png $out/share/fcitx/mozc/icon/ - ''; - - meta = with lib; { - isFcitxEngine = true; - description = "Fcitx engine for Google japanese input method"; - homepage = "https://github.com/google/mozc"; - downloadPage = "http://download.fcitx-im.org/fcitx-mozc/"; - license = licenses.free; - platforms = platforms.linux; - maintainers = with maintainers; [ gebner ericsagnes ]; - }; - -} diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-rime/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-rime/default.nix deleted file mode 100644 index 65363b26270..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-rime/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, fcitx, librime, brise, hicolor-icon-theme }: - -stdenv.mkDerivation rec { - pname = "fcitx-rime"; - version = "0.3.2"; - - src = fetchurl { - url = "https://download.fcitx-im.org/fcitx-rime/${pname}-${version}.tar.xz"; - sha256 = "0bd8snfa6jr8dhnm0s0z021iryh5pbaf7p15rhkgbigw2pssczpr"; - }; - - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ fcitx librime brise hicolor-icon-theme ]; - - # cmake cannont automatically find our nonstandard brise install location - cmakeFlags = [ "-DRIME_DATA_DIR=${brise}/share/rime-data" ]; - - preInstall = '' - substituteInPlace src/cmake_install.cmake \ - --replace ${fcitx} $out - substituteInPlace data/cmake_install.cmake \ - --replace ${fcitx} $out - ''; - - meta = with lib; { - isFcitxEngine = true; - homepage = "https://github.com/fcitx/fcitx-rime"; - downloadPage = "https://download.fcitx-im.org/fcitx-rime/"; - description = "Rime support for Fcitx"; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = with maintainers; [ sifmelcara ]; - # this package is deprecated, please use fcitx5 instead. - # and it cannot be built with the new version of librime - broken = true; - }; -} diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-skk/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-skk/default.nix deleted file mode 100644 index c1a1994a907..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-skk/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, fcitx, libskk, skk-dicts }: - -stdenv.mkDerivation { - pname = "fcitx-skk"; - version = "0.1.4"; - src = fetchFromGitHub { - owner = "fcitx"; - repo = "fcitx-skk"; - rev = "f66d0f56a40ff833edbfa68a4be4eaa2e93d0e3d"; - sha256 = "1yl2syqrk212h26vzzkwl19fyp71inqmsli9411h4n2hbcp6m916"; - }; - - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ fcitx libskk skk-dicts ]; - - cmakeFlags = [ "-DSKK_DEFAULT_PATH=${skk-dicts}/share/SKK-JISYO.combined" - "-DENABLE_QT=FALSE" - ]; - preInstall = '' - substituteInPlace src/cmake_install.cmake \ - --replace ${fcitx} $out - substituteInPlace po/cmake_install.cmake \ - --replace ${fcitx} $out - substituteInPlace data/cmake_install.cmake \ - --replace ${fcitx} $out - ''; - - meta = with lib; { - isFcitxEngine = true; - description = "A SKK style input method engine for fcitx"; - longDescription = '' - Fcitx-skk is an input method engine for fcitx. It is based on libskk and thus - provides basic features of SKK Japanese input method such as kana-to-kanji conversion, - new word registration, completion, numeric conversion, abbrev mode, kuten input, - hankaku-katakana input, and re-conversion. - ''; - license = licenses.gpl3Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ yuriaisaka ]; - }; - -} diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-extra/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-extra/default.nix deleted file mode 100644 index 399d426dc3e..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-extra/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, fcitx, gettext }: - -stdenv.mkDerivation rec { - pname = "fcitx-table-extra"; - version = "0.3.8"; - - src = fetchurl { - url = "http://download.fcitx-im.org/fcitx-table-extra/${pname}-${version}.tar.xz"; - sha256 = "c91bb19c1a7b53c5339bf2f75ae83839020d337990f237a8b9bc0f4416c120ef"; - }; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ fcitx gettext ]; - - preInstall = '' - substituteInPlace tables/cmake_install.cmake \ - --replace ${fcitx} $out - ''; - - meta = with lib; { - isFcitxEngine = true; - homepage = "https://github.com/fcitx/fcitx-table-extra"; - downloadPage = "http://download.fcitx-im.org/fcitx-table-extra/"; - description = "Provides extra table for Fcitx, including Boshiamy, Zhengma, Cangjie, and Quick"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ linc01n ]; - }; - -} diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix deleted file mode 100644 index 410569b7afb..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, fcitx, gettext }: - -stdenv.mkDerivation rec { - pname = "fcitx-table-other"; - version = "0.2.4"; - - src = fetchurl { - url = "http://download.fcitx-im.org/fcitx-table-other/${pname}-${version}.tar.xz"; - sha256 = "1di60lr6l5k2sdwi3yrc0hl89j2k0yipayrsn803vd040w1fgfhq"; - }; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ fcitx gettext ]; - - preInstall = '' - substituteInPlace tables/cmake_install.cmake \ - --replace ${fcitx} $out - ''; - - meta = with 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-engines/fcitx-unikey/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-unikey/default.nix deleted file mode 100644 index 5a5fb2da228..00000000000 --- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-unikey/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, fcitx, gettext, pkg-config }: - -stdenv.mkDerivation rec { - pname = "fcitx-unikey"; - version = "0.2.5"; - - src = fetchurl { - url = "http://download.fcitx-im.org/fcitx-unikey/${pname}-${version}.tar.xz"; - sha256 = "063vc29v7ycaai98v3z4q319sv9sm91my17pmhblw1vifxnw02wf"; - }; - - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ fcitx gettext ]; - - env.NIX_CFLAGS_COMPILE = "-Wno-narrowing"; - - preInstall = '' - substituteInPlace src/cmake_install.cmake \ - --replace ${fcitx} $out - substituteInPlace data/cmake_install.cmake \ - --replace ${fcitx} $out - ''; - - meta = with lib; { - isFcitxEngine = true; - homepage = "https://github.com/fcitx/fcitx-unikey"; - downloadPage = "http://download.fcitx-im.org/fcitx-table-other/"; - description = "Fcitx wrapper for unikey"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ ericsagnes ]; - }; - -} diff --git a/pkgs/tools/inputmethods/fcitx/default.nix b/pkgs/tools/inputmethods/fcitx/default.nix deleted file mode 100644 index fc28a08b4b7..00000000000 --- a/pkgs/tools/inputmethods/fcitx/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ callPackage, plugins ? [] }: - -let - unwrapped = callPackage ./unwrapped.nix { }; - wrapped = callPackage ./wrapper.nix { - plugins = plugins; - fcitx = unwrapped; - }; -in if plugins == [] - then unwrapped - else wrapped diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix b/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix deleted file mode 100644 index ccbec8209e9..00000000000 --- a/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, stdenv, fetchurl, makeWrapper, pkg-config, cmake, fcitx, gtk3, isocodes, gnome }: - -stdenv.mkDerivation rec { - pname = "fcitx-configtool"; - version = "0.4.10"; - - meta = with lib; { - description = "GTK-based config tool for Fcitx"; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = with maintainers; [ cdepillabout ]; - }; - - src = fetchurl { - url = "https://download.fcitx-im.org/fcitx-configtool/fcitx-configtool-${version}.tar.xz"; - sha256 = "1yyi9jhkwn49lx9a47k1zbvwgazv4y4z72gnqgzdpgdzfrlrgi5w"; - }; - - nativeBuildInputs = [ cmake pkg-config makeWrapper ]; - buildInputs = [ fcitx isocodes gtk3 gnome.adwaita-icon-theme ]; - - # Patch paths to `fcitx-remote` - prePatch = '' - for f in gtk{3,}/config_widget.c; do - substituteInPlace $f \ - --replace 'EXEC_PREFIX "/bin/fcitx-remote"' '"${fcitx}/bin/fcitx-remote"' - done - ''; - - preFixup = '' - wrapProgram $out/bin/fcitx-config-gtk3 \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"; - ''; -} diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix b/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix deleted file mode 100644 index 391c2c7add2..00000000000 --- a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib, mkDerivation, fetchFromGitLab -, cmake -, extra-cmake-modules -, fcitx -, pkg-config -, qtbase -}: - -mkDerivation rec { - pname = "fcitx-qt5"; - version = "1.2.3"; - - src = fetchFromGitLab { - owner = "fcitx"; - repo = pname; - rev = version; - sha256 = "0860v3rxsh054wkkbawvyin5mk0flp4cwfcpmcpq147lvdm5lq2i"; - }; - - nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ]; - - buildInputs = [ fcitx qtbase ]; - - preConfigure = '' - substituteInPlace platforminputcontext/CMakeLists.txt \ - --replace \$"{CMAKE_INSTALL_QTPLUGINDIR}" $out/${qtbase.qtPluginPrefix} - substituteInPlace quickphrase-editor/CMakeLists.txt \ - --replace \$"{FCITX4_ADDON_INSTALL_DIR}" $out/lib/fcitx - ''; - - meta = with lib; { - homepage = "https://gitlab.com/fcitx/fcitx-qt5"; - description = "Qt5 IM Module for Fcitx"; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = with maintainers; [ ericsagnes ]; - }; -} diff --git a/pkgs/tools/inputmethods/fcitx/find-enchant-lib.patch b/pkgs/tools/inputmethods/fcitx/find-enchant-lib.patch deleted file mode 100644 index 90c9c79aa73..00000000000 --- a/pkgs/tools/inputmethods/fcitx/find-enchant-lib.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/cmake/FindEnchant.cmake b/cmake/FindEnchant.cmake -index 7c182e6a..5537595e 100644 ---- a/cmake/FindEnchant.cmake -+++ b/cmake/FindEnchant.cmake -@@ -16,7 +16,7 @@ if(ENCHANT_INCLUDE_DIR AND ENCHANT_LIBRARIES) - endif(ENCHANT_INCLUDE_DIR AND ENCHANT_LIBRARIES) - - find_package(PkgConfig) --pkg_check_modules(PC_ENCHANT enchant) -+pkg_check_modules(PC_ENCHANT enchant-2) - - find_path(ENCHANT_INCLUDE_DIR - NAMES enchant.h -@@ -24,7 +24,7 @@ find_path(ENCHANT_INCLUDE_DIR - PATH_SUFFIXES "enchant") - - find_library(ENCHANT_LIBRARIES -- NAMES enchant -+ NAMES enchant-2 - HINTS ${PC_ENCHANT_LIBRARY_DIRS}) - - if(ENCHANT_INCLUDE_DIR AND ENCHANT_LIBRARIES) -@@ -39,7 +39,7 @@ if(ENCHANT_INCLUDE_DIR AND ENCHANT_LIBRARIES) - #include - #include - #include -- #include -+ #include - - EnchantBroker *enchant_broker_init(); - char **enchant_dict_suggest(EnchantDict *dict, const char *str, -@@ -78,6 +78,10 @@ if(ENCHANT_INCLUDE_DIR AND ENCHANT_LIBRARIES) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS_BACKUP}") - endif() - -+if(ENCHANT_API_COMPATIBLE) -+ set(ENCHANT_LIBRARY_FILENAME ${ENCHANT_LIBRARIES}) -+endif(ENCHANT_API_COMPATIBLE) -+ - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(Enchant DEFAULT_MSG ENCHANT_LIBRARIES - ENCHANT_INCLUDE_DIR ENCHANT_API_COMPATIBLE) diff --git a/pkgs/tools/inputmethods/fcitx/unwrapped.nix b/pkgs/tools/inputmethods/fcitx/unwrapped.nix deleted file mode 100644 index e9d7f0765b7..00000000000 --- a/pkgs/tools/inputmethods/fcitx/unwrapped.nix +++ /dev/null @@ -1,105 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, cmake, intltool, gettext -, libxml2, enchant2, isocodes, icu, libpthreadstubs -, pango, cairo, libxkbfile, libXau, libXdmcp, libxkbcommon -, dbus, gtk2, gtk3, qt4, extra-cmake-modules -, xkeyboard_config, pcre, libuuid, xorg, makeWrapper -, withPinyin ? true -, fetchFromGitLab -}: - -let - # releases at http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz - # contains all data but if we want to compile from source, we need to - # fetch them ourselves - # to update the urls and where to unpack these, look into the - # src/module/*/data/CMakeLists.txt files - # fcitx_download tgt_name url output) - dicts = let SPELL_EN_DICT_VER="20121020"; in fetchurl { - url = "http://download.fcitx-im.org/data/en_dict-${SPELL_EN_DICT_VER}.tar.gz"; - sha256 = "1svcb97sq7nrywp5f2ws57cqvlic8j6p811d9ngflplj8xw5sjn4"; - }; - table = fetchurl { - url = "http://download.fcitx-im.org/data/table.tar.gz"; - sha256 = "1dw7mgbaidv3vqy0sh8dbfv8631d2zwv5mlb7npf69a1f8y0b5k1"; - }; - pystroke-data = let PY_STROKE_VER="20121124"; in fetchurl { - url = "http://download.fcitx-im.org/data/py_stroke-${PY_STROKE_VER}.tar.gz"; - sha256 = "0j72ckmza5d671n2zg0psg7z9iils4gyxz7jgkk54fd4pyljiccf"; - }; - pytable-data = let PY_TABLE_VER="20121124"; in fetchurl { - url = "http://download.fcitx-im.org/data/py_table-${PY_TABLE_VER}.tar.gz"; - sha256 = "011cg7wssssm6hm564cwkrrnck2zj5rxi7p9z5akvhg6gp4nl522"; - }; - pinyin-data = fetchurl { - url = "http://download.fcitx-im.org/data/pinyin.tar.gz"; - sha256 = "1qfq5dy4czvd1lvdnxzyaiir9x8b1m46jjny11y0i33m9ar2jf2q"; - }; -in -stdenv.mkDerivation rec { - pname = "fcitx"; - version = "4.2.9.6"; - - src = fetchFromGitLab { - owner = "fcitx"; - repo = "fcitx"; - rev = version; - sha256 = "0j5vaf930lb21gx4h7z6mksh1fazqw32gajjjkyir94wbmml9n3s"; - }; - - # put data at the correct locations else cmake tries to fetch them, - # which fails in sandboxed mode - prePatch = '' - cp ${dicts} src/module/spell/dict/$(stripHash ${dicts}) - cp ${table} src/im/table/data/$(stripHash ${table}) - '' - + lib.optionalString withPinyin '' - cp ${pystroke-data} src/module/pinyin-enhance/data/$(stripHash ${pystroke-data}) - cp ${pytable-data} src/module/pinyin-enhance/data/$(stripHash ${pytable-data}) - cp ${pinyin-data} src/im/pinyin/data/$(stripHash ${pinyin-data}) - '' - ; - - patches = [ ./find-enchant-lib.patch ]; - - postPatch = '' - substituteInPlace src/frontend/qt/CMakeLists.txt \ - --replace $\{QT_PLUGINS_DIR} $out/lib/qt4/plugins - - patchShebangs cmake/ - ''; - - postInstall = '' - wrapProgram $out/bin/fcitx \ - --prefix PATH : "${xorg.xmodmap}/bin" - ''; - - nativeBuildInputs = [ cmake extra-cmake-modules intltool pkg-config pcre makeWrapper ]; - - buildInputs = [ - xkeyboard_config enchant2 gettext isocodes icu libpthreadstubs libXau libXdmcp libxkbfile - libxkbcommon libxml2 dbus cairo gtk2 gtk3 pango qt4 libuuid - ]; - - cmakeFlags = [ - "-DENABLE_QT_IM_MODULE=ON" - "-DENABLE_GTK2_IM_MODULE=ON" - "-DENABLE_GTK3_IM_MODULE=ON" - "-DENABLE_GIR=OFF" - "-DENABLE_OPENCC=OFF" - "-DENABLE_PRESAGE=OFF" - "-DENABLE_XDGAUTOSTART=OFF" - "-DENABLE_PINYIN=${if withPinyin then "ON" else "OFF"}" - "-DENABLE_TABLE=ON" - "-DENABLE_SPELL=ON" - "-DENABLE_QT_GUI=ON" - "-DXKB_RULES_XML_FILE='${xkeyboard_config}/share/X11/xkb/rules/evdev.xml'" - ]; - - meta = with lib; { - homepage = "https://github.com/fcitx/fcitx"; - description = "A Flexible Input Method Framework"; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = with maintainers; [ ericsagnes ]; - }; -} diff --git a/pkgs/tools/inputmethods/fcitx/wrapper.nix b/pkgs/tools/inputmethods/fcitx/wrapper.nix deleted file mode 100644 index 6e7e71c5713..00000000000 --- a/pkgs/tools/inputmethods/fcitx/wrapper.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ symlinkJoin, fcitx, fcitx-configtool, makeWrapper, plugins, libsForQt5 }: - -symlinkJoin { - name = "fcitx-with-plugins-${fcitx.version}"; - - paths = [ fcitx fcitx-configtool libsForQt5.fcitx-qt5 ] ++ plugins; - - nativeBuildInputs = [ makeWrapper ]; - - postBuild = '' - wrapProgram $out/bin/fcitx \ - --set FCITXDIR "$out/" - ''; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index bc364eac457..ad5b2967052 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -511,6 +511,10 @@ mapAliases ({ fuse2fs = if stdenv.isLinux then e2fsprogs.fuse2fs else null; # Added 2022-03-27 preserve, reason: convenience, arch has a package named fuse2fs too. fwupdate = throw "fwupdate was merged into fwupd"; # Added 2020-05-19 + fcitx = throw "fcitx4 is deprecated, please use fcitx5 instead."; # Added 2023-03-13 + fcitx-engines = throw "fcitx4 is deprecated, please use fcitx5 instead."; # Added 2023-03-13 + fcitx-configtools = throw "fcitx4 is deprecated, please use fcitx5 instead."; # Added 2023-03-13 + ### G ### g4py = python3Packages.geant4; # Added 2020-06-06 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 08f1a8ed479..957ee76bcdd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7298,43 +7298,6 @@ with pkgs; fatsort = callPackage ../tools/filesystems/fatsort { }; - fcitx = callPackage ../tools/inputmethods/fcitx { - plugins = []; - }; - - fcitx-engines = recurseIntoAttrs { - - anthy = callPackage ../tools/inputmethods/fcitx-engines/fcitx-anthy { }; - - chewing = callPackage ../tools/inputmethods/fcitx-engines/fcitx-chewing { }; - - hangul = callPackage ../tools/inputmethods/fcitx-engines/fcitx-hangul { }; - - unikey = callPackage ../tools/inputmethods/fcitx-engines/fcitx-unikey { }; - - rime = callPackage ../tools/inputmethods/fcitx-engines/fcitx-rime { }; - - m17n = callPackage ../tools/inputmethods/fcitx-engines/fcitx-m17n { }; - - mozc = callPackage ../tools/inputmethods/fcitx-engines/fcitx-mozc { - python = python2; - inherit (python2Packages) gyp; - protobuf = pkgs.protobuf3_8.overrideDerivation (_: { stdenv = clangStdenv; }); - }; - - table-extra = callPackage ../tools/inputmethods/fcitx-engines/fcitx-table-extra { }; - - table-other = callPackage ../tools/inputmethods/fcitx-engines/fcitx-table-other { }; - - cloudpinyin = callPackage ../tools/inputmethods/fcitx-engines/fcitx-cloudpinyin { }; - - libpinyin = libsForQt5.callPackage ../tools/inputmethods/fcitx-engines/fcitx-libpinyin { }; - - skk = callPackage ../tools/inputmethods/fcitx-engines/fcitx-skk { }; - }; - - fcitx-configtool = callPackage ../tools/inputmethods/fcitx/fcitx-configtool.nix { }; - chewing-editor = libsForQt5.callPackage ../applications/misc/chewing-editor { }; fcitx5 = libsForQt5.callPackage ../tools/inputmethods/fcitx5 { }; diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix index 9169940f8bd..567795e68f7 100644 --- a/pkgs/top-level/qt5-packages.nix +++ b/pkgs/top-level/qt5-packages.nix @@ -80,8 +80,6 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea drumstick = callPackage ../development/libraries/drumstick { }; - fcitx-qt5 = callPackage ../tools/inputmethods/fcitx/fcitx-qt5.nix { }; - fcitx5-qt = callPackage ../tools/inputmethods/fcitx5/fcitx5-qt.nix { }; qgpgme = callPackage ../development/libraries/gpgme { };