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}`.
|
- 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`.
|
- 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.
|
- 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:
|
The following input methods are available in NixOS:
|
||||||
|
|
||||||
- IBus: The intelligent input bus.
|
- 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.
|
- Nabi: A Korean input method based on XIM.
|
||||||
- Uim: The universal input method, is a library with a XIM bridge.
|
- Uim: The universal input method, is a library with a XIM bridge.
|
||||||
- Hime: An extremely easy-to-use input method framework.
|
- 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
|
match exactly. If they do not, uninstalling and reinstalling the
|
||||||
application is a likely fix.
|
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.
|
built-in Input Method Engine, Pinyin, QuWei and Table-based input methods.
|
||||||
|
|
||||||
The following snippet can be used to configure Fcitx:
|
The following snippet can be used to configure Fcitx:
|
||||||
|
|
||||||
```
|
```
|
||||||
i18n.inputMethod = {
|
i18n.inputMethod = {
|
||||||
enabled = "fcitx";
|
enabled = "fcitx5";
|
||||||
fcitx.engines = with pkgs.fcitx-engines; [ mozc hangul m17n ];
|
fcitx5.addons = with pkgs; [ fcitx5-mozc fcitx5-hangul fcitx5-m17n ];
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
`i18n.inputMethod.fcitx.engines` is optional and can be
|
`i18n.inputMethod.fcitx5.addons` is optional and can be
|
||||||
used to add extra Fcitx engines.
|
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.
|
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
|
intelligent Zhuyin input method. It is one of the most popular input
|
||||||
methods among Traditional Chinese Unix users.
|
methods among Traditional Chinese Unix users.
|
||||||
- Hangul (`fcitx-engines.hangul`): Korean input method.
|
- Hangul (`fcitx5-hangul`): Korean input method.
|
||||||
- Unikey (`fcitx-engines.unikey`): Vietnamese input method.
|
- Unikey (`fcitx5-unikey`): Vietnamese input method.
|
||||||
- m17n (`fcitx-engines.m17n`): m17n is an input method that
|
- m17n (`fcitx5-m17n`): m17n is an input method that
|
||||||
uses input methods and corresponding icons in the m17n database.
|
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.
|
Google.
|
||||||
- table-others (`fcitx-engines.table-others`): Various
|
- table-others (`fcitx5-table-other`): Various
|
||||||
table-based input methods.
|
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}
|
## Nabi {#module-services-input-methods-nabi}
|
||||||
|
|
||||||
|
|
|
@ -29,9 +29,9 @@ in
|
||||||
options.i18n = {
|
options.i18n = {
|
||||||
inputMethod = {
|
inputMethod = {
|
||||||
enabled = mkOption {
|
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;
|
default = null;
|
||||||
example = "fcitx";
|
example = "fcitx5";
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
Select the enabled input method. Input methods is a software to input symbols that are not available on standard input devices.
|
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:
|
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`.
|
- 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`.
|
- 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.
|
- 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.
|
- 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/xone.nix
|
||||||
./hardware/xpadneo.nix
|
./hardware/xpadneo.nix
|
||||||
./i18n/input-method/default.nix
|
./i18n/input-method/default.nix
|
||||||
./i18n/input-method/fcitx.nix
|
|
||||||
./i18n/input-method/fcitx5.nix
|
./i18n/input-method/fcitx5.nix
|
||||||
./i18n/input-method/hime.nix
|
./i18n/input-method/hime.nix
|
||||||
./i18n/input-method/ibus.nix
|
./i18n/input-method/ibus.nix
|
||||||
|
|
|
@ -107,6 +107,8 @@ with lib;
|
||||||
(mkRemovedOptionModule [ "services" "riak" ] "The corresponding package was removed from nixpkgs.")
|
(mkRemovedOptionModule [ "services" "riak" ] "The corresponding package was removed from nixpkgs.")
|
||||||
(mkRemovedOptionModule [ "services" "cryptpad" ] "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
|
# 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 {};
|
extra-python-packages = handleTest ./extra-python-packages.nix {};
|
||||||
evcc = handleTest ./evcc.nix {};
|
evcc = handleTest ./evcc.nix {};
|
||||||
fancontrol = handleTest ./fancontrol.nix {};
|
fancontrol = handleTest ./fancontrol.nix {};
|
||||||
fcitx = handleTest ./fcitx {};
|
fcitx5 = handleTest ./fcitx5 {};
|
||||||
fenics = handleTest ./fenics.nix {};
|
fenics = handleTest ./fenics.nix {};
|
||||||
ferm = handleTest ./ferm.nix {};
|
ferm = handleTest ./ferm.nix {};
|
||||||
firefox = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox; };
|
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, ...
|
imports = [
|
||||||
}:
|
../common/user-account.nix
|
||||||
# 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 = [
|
environment.systemPackages = [
|
||||||
../common/user-account.nix
|
# To avoid clashing with xfce4-terminal
|
||||||
];
|
pkgs.alacritty
|
||||||
|
];
|
||||||
|
|
||||||
environment.systemPackages = [
|
services.xserver = {
|
||||||
# To avoid clashing with xfce4-terminal
|
enable = true;
|
||||||
pkgs.alacritty
|
|
||||||
];
|
|
||||||
|
|
||||||
|
displayManager = {
|
||||||
|
lightdm.enable = true;
|
||||||
|
autoLogin = {
|
||||||
|
enable = true;
|
||||||
|
user = "alice";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.xserver =
|
desktopManager.xfce.enable = true;
|
||||||
{
|
};
|
||||||
enable = true;
|
|
||||||
|
|
||||||
displayManager = {
|
i18n.inputMethod = {
|
||||||
lightdm.enable = true;
|
enabled = "fcitx5";
|
||||||
autoLogin = {
|
fcitx5.addons = [
|
||||||
enable = true;
|
pkgs.fcitx5-m17n
|
||||||
user = "alice";
|
pkgs.fcitx5-chinese-addons
|
||||||
};
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
desktopManager.xfce.enable = true;
|
testScript = { nodes, ... }:
|
||||||
};
|
let
|
||||||
|
user = nodes.machine.users.users.alice;
|
||||||
i18n = {
|
xauth = "${user.home}/.Xauthority";
|
||||||
inputMethod = {
|
fcitx_confdir = "${user.home}/.config/fcitx5";
|
||||||
enabled = "fcitx";
|
in
|
||||||
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
|
|
||||||
''
|
|
||||||
# We need config files before login session
|
# We need config files before login session
|
||||||
# So copy first thing
|
# So copy first thing
|
||||||
|
|
||||||
|
@ -75,13 +59,13 @@ import ../make-test-python.nix (
|
||||||
|
|
||||||
start_all()
|
start_all()
|
||||||
|
|
||||||
machine.wait_for_file("${xauth}")
|
machine.wait_for_file("${xauth}}")
|
||||||
machine.succeed("xauth merge ${xauth}")
|
machine.succeed("xauth merge ${xauth}")
|
||||||
|
|
||||||
machine.sleep(5)
|
machine.sleep(5)
|
||||||
|
|
||||||
machine.succeed("su - ${userName} -c 'alacritty&'")
|
machine.succeed("su - ${user.name} -c 'alacritty&'")
|
||||||
machine.succeed("su - ${userName} -c 'fcitx&'")
|
machine.succeed("su - ${user.name} -c 'fcitx5&'")
|
||||||
machine.sleep(10)
|
machine.sleep(10)
|
||||||
|
|
||||||
### Type on terminal
|
### Type on terminal
|
||||||
|
@ -109,8 +93,10 @@ import ../make-test-python.nix (
|
||||||
machine.send_key("ctrl-spc")
|
machine.send_key("ctrl-spc")
|
||||||
machine.sleep(1)
|
machine.sleep(1)
|
||||||
|
|
||||||
### Default zhengma, enter 一下
|
### Default wubi, enter 一下
|
||||||
machine.send_chars("a2")
|
machine.send_chars("gggh")
|
||||||
|
machine.sleep(1)
|
||||||
|
machine.send_key("\n")
|
||||||
machine.sleep(1)
|
machine.sleep(1)
|
||||||
|
|
||||||
### Switch to Harvard Kyoto
|
### Switch to Harvard Kyoto
|
||||||
|
@ -134,9 +120,8 @@ import ../make-test-python.nix (
|
||||||
machine.screenshot("terminal_chars")
|
machine.screenshot("terminal_chars")
|
||||||
|
|
||||||
### Verify that file contents are as expected
|
### 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"
|
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
|
, harfbuzz #substituting glyphs with opentype fonts
|
||||||
, fribidi, m17n_lib #bidi and encoding
|
, fribidi, m17n_lib #bidi and encoding
|
||||||
, openssl, libssh2 #build-in ssh
|
, openssl, libssh2 #build-in ssh
|
||||||
, fcitx, ibus, uim #IME
|
, fcitx5, fcitx5-gtk, ibus, uim #IME
|
||||||
, wrapGAppsHook #color picker in mlconfig
|
, wrapGAppsHook #color picker in mlconfig
|
||||||
, Cocoa #Darwin
|
, Cocoa #Darwin
|
||||||
}:
|
}:
|
||||||
|
@ -37,7 +37,8 @@ stdenv.mkDerivation rec {
|
||||||
vte
|
vte
|
||||||
m17n_lib
|
m17n_lib
|
||||||
|
|
||||||
fcitx
|
fcitx5
|
||||||
|
fcitx5-gtk
|
||||||
ibus
|
ibus
|
||||||
] ++ lib.optionals (stdenv.system != "aarch64-linux") [
|
] ++ lib.optionals (stdenv.system != "aarch64-linux") [
|
||||||
# FIXME Currently broken on 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.
|
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
|
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 ###
|
### G ###
|
||||||
|
|
||||||
g4py = python3Packages.geant4; # Added 2020-06-06
|
g4py = python3Packages.geant4; # Added 2020-06-06
|
||||||
|
|
|
@ -7298,43 +7298,6 @@ with pkgs;
|
||||||
|
|
||||||
fatsort = callPackage ../tools/filesystems/fatsort { };
|
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 { };
|
chewing-editor = libsForQt5.callPackage ../applications/misc/chewing-editor { };
|
||||||
|
|
||||||
fcitx5 = libsForQt5.callPackage ../tools/inputmethods/fcitx5 { };
|
fcitx5 = libsForQt5.callPackage ../tools/inputmethods/fcitx5 { };
|
||||||
|
|
|
@ -80,8 +80,6 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
|
||||||
|
|
||||||
drumstick = callPackage ../development/libraries/drumstick { };
|
drumstick = callPackage ../development/libraries/drumstick { };
|
||||||
|
|
||||||
fcitx-qt5 = callPackage ../tools/inputmethods/fcitx/fcitx-qt5.nix { };
|
|
||||||
|
|
||||||
fcitx5-qt = callPackage ../tools/inputmethods/fcitx5/fcitx5-qt.nix { };
|
fcitx5-qt = callPackage ../tools/inputmethods/fcitx5/fcitx5-qt.nix { };
|
||||||
|
|
||||||
qgpgme = callPackage ../development/libraries/gpgme { };
|
qgpgme = callPackage ../development/libraries/gpgme { };
|
||||||
|
|
Loading…
Reference in a new issue