Merge pull request #220776 from Vonfry/deprecated/fcitx4
fcitx: remove version 4
This commit is contained in:
commit
851cd65a21
35 changed files with 105 additions and 937 deletions
|
@ -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.
|
||||
|
|
|
@ -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}
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
];
|
||||
}
|
||||
|
|
|
@ -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; };
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
[Hotkey]
|
||||
SwitchKey=Disabled
|
||||
IMSwitchHotkey=ALT_SHIFT
|
||||
TimeInterval=240
|
||||
|
||||
[Program]
|
||||
DelayStart=5
|
||||
|
||||
[Output]
|
||||
|
||||
[Appearance]
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[Profile]
|
||||
IMName=zhengma-large
|
||||
EnabledIMList=fcitx-keyboard-us:True,zhengma-large:True,m17n_sa_harvard-kyoto:True
|
||||
PreeditStringInClientWindow=False
|
11
nixos/tests/fcitx5/config
Normal file
11
nixos/tests/fcitx5/config
Normal file
|
@ -0,0 +1,11 @@
|
|||
[Hotkey]
|
||||
EnumerateSkipFirst=False
|
||||
|
||||
[Hotkey/TriggerKeys]
|
||||
0=Control+space
|
||||
|
||||
[Hotkey/EnumerateForwardKeys]
|
||||
0=Alt+Shift_L
|
||||
|
||||
[Hotkey/EnumerateBackwardKeys]
|
||||
0=Alt+Shift_R
|
|
@ -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"
|
||||
''
|
||||
;
|
||||
}
|
||||
)
|
||||
;
|
||||
})
|
15
nixos/tests/fcitx5/profile
Normal file
15
nixos/tests/fcitx5/profile
Normal file
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 {
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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
|
|
@ -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";
|
||||
'';
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 <stdlib.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
- #include <enchant/enchant.h>
|
||||
+ #include <enchant-2/enchant.h>
|
||||
|
||||
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)
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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/"
|
||||
'';
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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 { };
|
||||
|
|
|
@ -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 { };
|
||||
|
|
Loading…
Reference in a new issue