Github messages for voidlinux
 help / color / mirror / Atom feed
From: sgn <sgn@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated]  fcitx5
Date: Thu, 01 Apr 2021 02:09:04 +0200	[thread overview]
Message-ID: <20210401000904.JCMgQdR1zZjV_L3_DXDQsqcvF_OP9K-Cabk67DKbln8@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-29664@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 1580 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages fcitx5
https://github.com/void-linux/void-packages/pull/29664

 fcitx5
Close #29499 
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/29664.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-fcitx5-29664.patch --]
[-- Type: text/x-diff, Size: 93186 bytes --]

From 22e39debb899cbc7297a95edaf3a6fcba9b8387f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sun, 21 Mar 2021 20:05:16 +0700
Subject: [PATCH 01/29] New package: xcb-imdkit-1.0.2

---
 common/shlibs               |  1 +
 srcpkgs/xcb-imdkit-devel    |  1 +
 srcpkgs/xcb-imdkit/template | 29 +++++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/xcb-imdkit-devel
 create mode 100644 srcpkgs/xcb-imdkit/template

diff --git a/common/shlibs b/common/shlibs
index 4a81ffd64e21..d02191d49eb1 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -256,6 +256,7 @@ libxcb-xkb.so.1 libxcb-1.10_1
 libxcb-xinput.so.0 libxcb-1.10_1
 libxcb-dri3.so.0 libxcb-1.10_1
 libxcb-present.so.0 libxcb-1.10_1
+libxcb-imdkit.so.1 xcb-imdkit-1.0.2_1
 libXdmcp.so.6 libXdmcp-1.0.2_1
 libpolkit-gobject-1.so.0 polkit-0.99_1
 libpolkit-agent-1.so.0 polkit-0.99_1
diff --git a/srcpkgs/xcb-imdkit-devel b/srcpkgs/xcb-imdkit-devel
new file mode 120000
index 000000000000..0044a6a371b3
--- /dev/null
+++ b/srcpkgs/xcb-imdkit-devel
@@ -0,0 +1 @@
+xcb-imdkit
\ No newline at end of file
diff --git a/srcpkgs/xcb-imdkit/template b/srcpkgs/xcb-imdkit/template
new file mode 100644
index 000000000000..3f1a99e9d3ce
--- /dev/null
+++ b/srcpkgs/xcb-imdkit/template
@@ -0,0 +1,29 @@
+# Template file for 'xcb-imdkit'
+pkgname=xcb-imdkit
+version=1.0.2
+revision=1
+build_style=cmake
+hostmakedepends="pkg-config extra-cmake-modules"
+makedepends="xcb-util-keysyms-devel xcb-util-devel uthash"
+short_desc="Implementation of xim protocol in xcb"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-only"
+homepage="https://github.com/fcitx/xcb-imdkit"
+distfiles="https://download.fcitx-im.org/fcitx5/xcb-imdkit/xcb-imdkit-${version}.tar.xz"
+checksum=801f9da5adc286fb42e43931ed5a2cf67dfe067c40da8d0fa599a29c6d93c799
+
+post_install() {
+	sed -i '/prefix=/!s,/usr,${exec_prefix},' \
+		"${DESTDIR}/usr/lib/pkgconfig"/*.pc
+}
+
+xcb-imdkit-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/cmake
+		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.so"
+	}
+}

From 49eb6252cfa5a6ad63415a1b5418cb61691886ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sun, 21 Mar 2021 22:12:45 +0700
Subject: [PATCH 02/29] New package: fcitx5-5.0.6

---
 common/shlibs                                 |   3 +
 srcpkgs/fcitx5-icons                          |   1 +
 .../patches/cross-config-template.patch       |  45 ++++
 srcpkgs/fcitx5/patches/no-which.patch         | 194 ++++++++++++++++++
 srcpkgs/fcitx5/template                       |  69 +++++++
 srcpkgs/libfcitx5                             |   1 +
 srcpkgs/libfcitx5-devel                       |   1 +
 7 files changed, 314 insertions(+)
 create mode 120000 srcpkgs/fcitx5-icons
 create mode 100644 srcpkgs/fcitx5/patches/cross-config-template.patch
 create mode 100644 srcpkgs/fcitx5/patches/no-which.patch
 create mode 100644 srcpkgs/fcitx5/template
 create mode 120000 srcpkgs/libfcitx5
 create mode 120000 srcpkgs/libfcitx5-devel

diff --git a/common/shlibs b/common/shlibs
index d02191d49eb1..5d182ca1fe65 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2121,6 +2121,9 @@ libfcitx-config.so.4 libfcitx-4.2.8_1
 libFcitxQt5DBusAddons.so.1 libfcitx-qt5-1.2.1_1
 libFcitxQt5WidgetsAddons.so.1 libfcitx-qt5-1.2.1_1
 libfcitx-qt5.so.0 libfcitx-qt5-0.1.3_1
+libFcitx5Utils.so.2 libfcitx5-5.0.5_1
+libFcitx5Core.so.7 libfcitx5-5.0.5_1
+libFcitx5Config.so.6 libfcitx5-5.0.5_1
 libdruntime-ldc-debug-shared.so.94 ldc-runtime-1.24.0_1
 libdruntime-ldc-shared.so.94 ldc-runtime-1.24.0_1
 libphobos2-ldc-shared.so.94 ldc-runtime-1.24.0_1
diff --git a/srcpkgs/fcitx5-icons b/srcpkgs/fcitx5-icons
new file mode 120000
index 000000000000..99ac64afc615
--- /dev/null
+++ b/srcpkgs/fcitx5-icons
@@ -0,0 +1 @@
+fcitx5
\ No newline at end of file
diff --git a/srcpkgs/fcitx5/patches/cross-config-template.patch b/srcpkgs/fcitx5/patches/cross-config-template.patch
new file mode 100644
index 000000000000..69a988f3c877
--- /dev/null
+++ b/srcpkgs/fcitx5/patches/cross-config-template.patch
@@ -0,0 +1,45 @@
+Index: fcitx5-5.0.6/src/lib/fcitx-utils/Fcitx5ModuleTemplate.cmake.in
+===================================================================
+--- fcitx5-5.0.6.orig/src/lib/fcitx-utils/Fcitx5ModuleTemplate.cmake.in
++++ fcitx5-5.0.6/src/lib/fcitx-utils/Fcitx5ModuleTemplate.cmake.in
+@@ -2,6 +2,16 @@ if (TARGET Fcitx5::Module::@FEM_EXPORTNA
+     return()
+ endif()
+ 
++# Compute the installation prefix relative to this file.
++get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
++get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
++get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
++get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
++if(_IMPORT_PREFIX STREQUAL "/")
++  set(_IMPORT_PREFIX "")
++endif()
++
+ add_library(@FEM_TARGET@-interface INTERFACE)
+ add_library(Fcitx5::Module::@FEM_EXPORTNAME@ ALIAS @FEM_TARGET@-interface)
+-set_target_properties(@FEM_TARGET@-interface PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "@_MODULE_HEADER_DIR@")
++set_target_properties(@FEM_TARGET@-interface PROPERTIES
++	INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../@_MODULE_HEADER_DIR@")
+Index: fcitx5-5.0.6/src/lib/fcitx-utils/Fcitx5UtilsConfig.cmake.in
+===================================================================
+--- fcitx5-5.0.6.orig/src/lib/fcitx-utils/Fcitx5UtilsConfig.cmake.in
++++ fcitx5-5.0.6/src/lib/fcitx-utils/Fcitx5UtilsConfig.cmake.in
+@@ -3,8 +3,17 @@
+ include("${CMAKE_CURRENT_LIST_DIR}/Fcitx5UtilsTargets.cmake")
+ include("${CMAKE_CURRENT_LIST_DIR}/Fcitx5Macros.cmake")
+ 
++# Compute the installation prefix relative to this file.
++get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
++get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
++get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
++get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
++if(_IMPORT_PREFIX STREQUAL "/")
++  set(_IMPORT_PREFIX "")
++endif()
++
+ set(FCITX_SYS_INSTALL_PREFIX "@FCITX_INSTALL_PREFIX@")
+-set(FCITX_INSTALL_CMAKECONFIG_DIR "@FCITX_INSTALL_CMAKECONFIG_DIR@")
++set(FCITX_INSTALL_CMAKECONFIG_DIR "${_IMPORT_PREFIX}/../@FCITX_INSTALL_CMAKECONFIG_DIR@")
+ 
+ set(_default_FCITX_INSTALL_USE_FCITX_SYS_PATHS Off)
+ if (NOT DEFINED FCITX_INSTALL_USE_FCITX_SYS_PATHS)
diff --git a/srcpkgs/fcitx5/patches/no-which.patch b/srcpkgs/fcitx5/patches/no-which.patch
new file mode 100644
index 000000000000..ae553dd1535c
--- /dev/null
+++ b/srcpkgs/fcitx5/patches/no-which.patch
@@ -0,0 +1,194 @@
+Index: fcitx5-5.0.6/data/fcitx5-configtool.sh
+===================================================================
+--- fcitx5-5.0.6.orig/data/fcitx5-configtool.sh
++++ fcitx5-5.0.6/data/fcitx5-configtool.sh
+@@ -5,14 +5,14 @@
+ 
+ export TEXTDOMAIN=fcitx5
+ 
+-if which kdialog > /dev/null 2>&1; then
++if command -v kdialog > /dev/null 2>&1; then
+     message() {
+         kdialog --msgbox "$1"
+     }
+     error() {
+         kdialog --error "$1"
+     }
+-elif which zenity > /dev/null 2>&1; then
++elif command -v zenity > /dev/null 2>&1; then
+     message() {
+         zenity --info --text="$1"
+     }
+@@ -28,7 +28,7 @@ else
+     }
+ fi
+ 
+-if which gettext > /dev/null 2>&1; then
++if command -v gettext > /dev/null 2>&1; then
+     _() {
+         gettext "$@"
+     }
+@@ -101,7 +101,7 @@ detectDE() {
+     if [ x"$DE" = x"gnome" ]; then
+       # gnome-default-applications-properties is only available in GNOME 2.x
+       # but not in GNOME 3.x
+-      which gnome-default-applications-properties > /dev/null 2>&1  || DE="gnome3"
++      command -v gnome-default-applications-properties > /dev/null 2>&1  || DE="gnome3"
+     fi
+ }
+ 
+@@ -116,7 +116,7 @@ run_kde() {
+ }
+ 
+ run_qt() {
+-    if which fcitx5-config-qt > /dev/null 2>&1; then
++    if command -v fcitx5-config-qt > /dev/null 2>&1; then
+         exec fcitx5-config-qt "$1"
+     fi
+     return 1
+@@ -132,13 +132,13 @@ run_xdg() {
+             ;;
+     esac
+ 
+-    if command="$(which xdg-open 2>/dev/null)"; then
++    if command="$(command -v xdg-open 2>/dev/null)"; then
+         exec "$command" "$HOME/.config/fcitx5"
+     fi
+ }
+ 
+ _which_cmdline() {
+-    cmd="$(which "$1")" || return 1
++    cmd="$(command -v "$1")" || return 1
+     shift
+     echo "$cmd $*"
+ }
+Index: fcitx5-5.0.6/data/fcitx5-diagnose.sh
+===================================================================
+--- fcitx5-5.0.6.orig/data/fcitx5-diagnose.sh
++++ fcitx5-5.0.6/data/fcitx5-diagnose.sh
+@@ -123,7 +123,7 @@ __get_pretty_name() {
+     fi
+ }
+ 
+-fcitx_exe="$(which fcitx5 2> /dev/null)"
++fcitx_exe="$(command -v fcitx5 2> /dev/null)"
+ 
+ __conf_dir_init() {
+     # Don't do any fancy check here, it's the user's fault, which we should detect
+@@ -208,9 +208,9 @@ if type dbus-send &> /dev/null; then
+             "string:$1" 2> /dev/null) || return 1
+         echo -n "${pid##* }"
+     }
+-elif qdbus_exe=$(which qdbus 2> /dev/null) || \
+-        qdbus_exe=$(which qdbus-qt4 2> /dev/null) || \
+-        qdbus_exe=$(which qdbus-qt5 2> /dev/null); then
++elif qdbus_exe=$(command -v qdbus 2> /dev/null) || \
++        qdbus_exe=$(command -v qdbus-qt4 2> /dev/null) || \
++        qdbus_exe=$(command -v qdbus-qt5 2> /dev/null); then
+     dbus_exe=${qdbus_exe}
+     dbus_get_name_owner() {
+         "${qdbus_exe}" org.freedesktop.DBus /org/freedesktop/DBus \
+@@ -324,15 +324,15 @@ detectDE() {
+     if [ x"$DE" = x"gnome" ]; then
+         # gnome-default-applications-properties is only available in GNOME 2.x
+         # but not in GNOME 3.x
+-        which gnome-default-applications-properties > /dev/null 2>&1 || \
++        command -v gnome-default-applications-properties > /dev/null 2>&1 || \
+             DE="gnome3"
+-        which gnome-shell &> /dev/null && DE="gnome3"
++        command -v gnome-shell &> /dev/null && DE="gnome3"
+     fi
+ }
+ 
+ maybe_gnome3() {
+     [[ $DE = gnome3 ]] && return 0
+-    [[ $DE = generic ]] && which gnome-shell &> /dev/null && return 0
++    [[ $DE = generic ]] && command -v gnome-shell &> /dev/null && return 0
+     return 1
+ }
+ 
+@@ -341,7 +341,7 @@ detectDE
+ # user and uid
+ 
+ detect_user() {
+-    if which id &> /dev/null; then
++    if command -v id &> /dev/null; then
+         cur_user=$(id -un)
+         cur_uid=$(id -u)
+     else
+@@ -352,7 +352,7 @@ detect_user() {
+         else
+             cur_uid=""
+         fi
+-        if which whoami &> /dev/null; then
++        if command -v whoami &> /dev/null; then
+             cur_user=$(whoami)
+         elif [[ -d /proc/$$/ ]]; then
+             cur_user=$(stat -c %U /proc/$$/)
+@@ -374,7 +374,7 @@ _check_open_root() {
+     for f in /proc/1/environ /proc/1/mem /proc/kcore /proc/kmem; do
+         try_open "$f" && return 0
+     done
+-    if which readlink &> /dev/null; then
++    if command -v readlink &> /dev/null; then
+         for f in /proc/1/exe /proc/1/cwd /proc/1/root; do
+             readlink "$f" &> /dev/null && return 0
+         done
+@@ -966,7 +966,7 @@ _find_config_gtk() {
+         return 0
+     }
+     local config_gtk
+-    config_gtk="$(which "fcitx5-config-gtk" 2> /dev/null)" || return 1
++    config_gtk="$(command -v "fcitx5-config-gtk" 2> /dev/null)" || return 1
+     echo "${config_gtk}"
+     _config_tool_gtk_exe="${config_gtk}"
+ }
+@@ -993,7 +993,7 @@ _check_config_gtk() {
+     local version=$1
+     local config_gtk config_gtk_name
+     write_order_list_eval "$(_ 'Config GUI for gtk${1}:')" "${version}"
+-    if ! config_gtk="$(which "fcitx5-config-gtk${version}" 2> /dev/null)"; then
++    if ! config_gtk="$(command -v "fcitx5-config-gtk${version}" 2> /dev/null)"; then
+         if ! _check_config_gtk_version "${version}"; then
+             write_error_eval \
+                 "$(_ 'Config GUI for gtk${1} not found.')" "${version}"
+@@ -1014,7 +1014,7 @@ _check_config_qt() {
+     local config_qt config_qt_name
+     config_qt_name="fcitx5-config-qt"
+     write_order_list_eval "$(_ 'Config GUI for qt:')" "${version}"
+-    if ! config_qt="$(which "${config_qt_name}" 2> /dev/null)"; then
++    if ! config_qt="$(command -v "${config_qt_name}" 2> /dev/null)"; then
+         write_error "$(_ 'Config GUI for qt not found.')"
+         return 1
+     fi
+@@ -1027,7 +1027,7 @@ _check_config_kcm() {
+     local version=$1
+     local kcm_shell config_kcm
+     write_order_list "$(_ 'Config GUI for kde:')"
+-    if ! kcm_shell="$(which "kcmshell${version}" 2> /dev/null)"; then
++    if ! kcm_shell="$(command -v "kcmshell${version}" 2> /dev/null)"; then
+         write_error "$(print_not_found "kcmshell${version}")"
+         return 1
+     fi
+@@ -1043,7 +1043,7 @@ check_config_ui() {
+     local IFS=$'\n'
+     write_title 1 "$(_ 'Fcitx Configure UI:')"
+     write_order_list "$(_ 'Config Tool Wrapper:')"
+-    if ! fcitx_configtool="$(which fcitx5-configtool 2> /dev/null)"; then
++    if ! fcitx_configtool="$(command -v fcitx5-configtool 2> /dev/null)"; then
+         write_error_eval "$(_ 'Cannot find ${1} executable!')" fcitx5-configtool
+     else
+         write_eval "$(_ 'Found ${1} at ${2}.')" \
+Index: fcitx5-5.0.6/test/xvfb_wrapper.sh
+===================================================================
+--- fcitx5-5.0.6.orig/test/xvfb_wrapper.sh
++++ fcitx5-5.0.6/test/xvfb_wrapper.sh
+@@ -20,7 +20,7 @@ finish()
+ 
+ trap finish EXIT
+ 
+-if which xprop >/dev/null 2>&1; then
++if command -v xprop >/dev/null 2>&1; then
+     i=1
+     while [ "$i" -lt 5 ]; do
+         if xprop -root >/dev/null 2>&1; then
diff --git a/srcpkgs/fcitx5/template b/srcpkgs/fcitx5/template
new file mode 100644
index 000000000000..8263e9be3f18
--- /dev/null
+++ b/srcpkgs/fcitx5/template
@@ -0,0 +1,69 @@
+# Template file for 'fcitx5'
+pkgname=fcitx5
+version=5.0.6
+revision=1
+build_style=cmake
+build_helper=qemu
+configure_args="
+ -DCMAKE_INSTALL_LIBDATADIR=/usr/lib${XBPS_TARGET_WORDSIZE}
+ -DUSE_SYSTEMD=OFF"
+hostmakedepends="cldr-emoji-annotation pkg-config gettext doxygen
+ extra-cmake-modules xkeyboard-config wayland-devel"
+makedepends="fmt-devel expat-devel iso-codes enchant2-devel libxkbfile-devel
+ dbus-devel pango-devel glib-devel libevent-devel xcb-util-wm-devel
+ xcb-util-keysyms-devel xcb-util-devel xcb-imdkit-devel libxkbcommon-devel
+ wayland-devel wayland-protocols gdk-pixbuf-devel json-c-devel"
+depends="fcitx5-icons"
+short_desc="Flexible Context-aware Input Tool with eXtension - v5"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+_en_dict_ver=20121020
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-${version}.tar.xz
+ https://download.fcitx-im.org/data/en_dict-${_en_dict_ver}.tar.gz"
+checksum="47a454da8b7a2b6c983a69e2f501f402eb54a732a01b17ff6f49b915c7d20b9f
+ c44a5d7847925eea9e4d2d04748d442cd28dd9299a0b572ef7d91eac4f5a6ceb"
+patch_args=-Np1
+skip_extraction=en_dict-${_en_dict_ver}.tar.gz
+lib32disabled=yes
+
+# Warning: do NOT enable backtrace for musl, do NOT add libexecinfo-devel
+
+post_extract() {
+	local _distdir=${XBPS_SRCDISTDIR}/${pkgname}-${version}
+	cp ${_distdir}/en_dict-${_en_dict_ver}.tar.gz src/modules/spell/dict
+}
+
+post_install() {
+	sed -i '/prefix=/!s,/usr,${exec_prefix},' \
+		"${DESTDIR}/usr/lib/pkgconfig"/*.pc
+	sed -i '/INTERFACE_INCLUDE_DIRECTORIES/s,"/usr,"${_IMPORT_PREFIX},' \
+		"${DESTDIR}/usr/lib/cmake"/*/*Targets.cmake
+}
+
+fcitx5-icons_package() {
+	short_desc+=" - icons"
+	conflicts="fcitx<=4.2.9.8_3"
+	pkg_install() {
+		vmove usr/share/icons
+	}
+}
+
+libfcitx5_package() {
+	short_desc+=" - libraries"
+	lib32disabled=yes
+	pkg_install() {
+		vmove "usr/lib/*.so.*"
+	}
+}
+
+libfcitx5-devel_package() {
+	depends="libfcitx5>=${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/cmake
+		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/libfcitx5 b/srcpkgs/libfcitx5
new file mode 120000
index 000000000000..99ac64afc615
--- /dev/null
+++ b/srcpkgs/libfcitx5
@@ -0,0 +1 @@
+fcitx5
\ No newline at end of file
diff --git a/srcpkgs/libfcitx5-devel b/srcpkgs/libfcitx5-devel
new file mode 120000
index 000000000000..99ac64afc615
--- /dev/null
+++ b/srcpkgs/libfcitx5-devel
@@ -0,0 +1 @@
+fcitx5
\ No newline at end of file

From f1c15a8c266aff93c7c248aed8d5644549db195c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 22 Mar 2021 00:21:37 +0700
Subject: [PATCH 03/29] New package: fcitx5-gtk-5.0.5

---
 common/shlibs               |  1 +
 srcpkgs/fcitx5-gtk+2        |  1 +
 srcpkgs/fcitx5-gtk+3        |  1 +
 srcpkgs/fcitx5-gtk-devel    |  1 +
 srcpkgs/fcitx5-gtk/template | 71 +++++++++++++++++++++++++++++++++++++
 srcpkgs/fcitx5-gtk4         |  1 +
 6 files changed, 76 insertions(+)
 create mode 120000 srcpkgs/fcitx5-gtk+2
 create mode 120000 srcpkgs/fcitx5-gtk+3
 create mode 120000 srcpkgs/fcitx5-gtk-devel
 create mode 100644 srcpkgs/fcitx5-gtk/template
 create mode 120000 srcpkgs/fcitx5-gtk4

diff --git a/common/shlibs b/common/shlibs
index 5d182ca1fe65..11ed5622a2fa 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2124,6 +2124,7 @@ libfcitx-qt5.so.0 libfcitx-qt5-0.1.3_1
 libFcitx5Utils.so.2 libfcitx5-5.0.5_1
 libFcitx5Core.so.7 libfcitx5-5.0.5_1
 libFcitx5Config.so.6 libfcitx5-5.0.5_1
+libFcitx5GClient.so.2 fcitx5-gtk-5.0.4_1
 libdruntime-ldc-debug-shared.so.94 ldc-runtime-1.24.0_1
 libdruntime-ldc-shared.so.94 ldc-runtime-1.24.0_1
 libphobos2-ldc-shared.so.94 ldc-runtime-1.24.0_1
diff --git a/srcpkgs/fcitx5-gtk+2 b/srcpkgs/fcitx5-gtk+2
new file mode 120000
index 000000000000..de83ca580801
--- /dev/null
+++ b/srcpkgs/fcitx5-gtk+2
@@ -0,0 +1 @@
+fcitx5-gtk
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-gtk+3 b/srcpkgs/fcitx5-gtk+3
new file mode 120000
index 000000000000..de83ca580801
--- /dev/null
+++ b/srcpkgs/fcitx5-gtk+3
@@ -0,0 +1 @@
+fcitx5-gtk
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-gtk-devel b/srcpkgs/fcitx5-gtk-devel
new file mode 120000
index 000000000000..de83ca580801
--- /dev/null
+++ b/srcpkgs/fcitx5-gtk-devel
@@ -0,0 +1 @@
+fcitx5-gtk
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-gtk/template b/srcpkgs/fcitx5-gtk/template
new file mode 100644
index 000000000000..06a54a221d65
--- /dev/null
+++ b/srcpkgs/fcitx5-gtk/template
@@ -0,0 +1,71 @@
+# Template file for 'fcitx5-gtk'
+pkgname=fcitx5-gtk
+version=5.0.5
+revision=1
+build_style=cmake
+build_helper=gir
+configure_args="$(vopt_bool gir ENABLE_GIR)"
+hostmakedepends="cldr-emoji-annotation pkg-config gettext doxygen
+ extra-cmake-modules glib-devel"
+makedepends="libfcitx5-devel libglib-devel fmt-devel
+ gtk+-devel gtk+3-devel gtk4-devel"
+short_desc="Fcitx v5 - GTK common"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-gtk/fcitx5-gtk-${version}.tar.xz"
+checksum=bf30f91db0c3809a0354b5cdf0be46ad5da9dc06e2c72e2cc24c4b180dc1f162
+lib32disabled=yes
+
+build_options="gir"
+build_options_default="gir"
+
+post_configure() {
+	find build -name cmake_install.cmake -exec \
+		sed -i -e 's,"//\+usr,"/usr,' {} +
+}
+
+post_install() {
+	sed -i '/prefix=/!s,/usr,${exec_prefix},' \
+		"${DESTDIR}/usr/lib/pkgconfig"/*.pc
+	sed -i '/INTERFACE_INCLUDE_DIRECTORIES/s,/usr,${_IMPORT_PREFIX},g' \
+		"${DESTDIR}/usr/lib/cmake"/*/*Targets.cmake
+}
+
+fcitx5-gtk+2_package() {
+	short_desc="${short_desc/common/+2 IM Modules}"
+	lib32disabled=yes
+	pkg_install() {
+		vmove usr/lib/gtk-2.0
+	}
+}
+
+fcitx5-gtk+3_package() {
+	short_desc="${short_desc/common/+3 IM Modules}"
+	lib32disabled=yes
+	pkg_install() {
+		vmove usr/lib/gtk-3.0
+	}
+}
+
+fcitx5-gtk4_package() {
+	short_desc="${short_desc/common/4 IM Modules}"
+	lib32disabled=yes
+	pkg_install() {
+		vmove usr/lib/gtk-4.0
+	}
+}
+
+fcitx5-gtk-devel_package() {
+	short_desc+=" - development files"
+	depends="fcitx5-gtk>=${version}_${revision} libglib-devel"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/cmake
+		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.so"
+		if [ "$build_option_gir" ]; then
+			vmove usr/share/gir-1.0
+		fi
+	}
+}
diff --git a/srcpkgs/fcitx5-gtk4 b/srcpkgs/fcitx5-gtk4
new file mode 120000
index 000000000000..de83ca580801
--- /dev/null
+++ b/srcpkgs/fcitx5-gtk4
@@ -0,0 +1 @@
+fcitx5-gtk
\ No newline at end of file

From e0c728f12bb7bdd7642e4b994cd4d3c1885a0103 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 22 Mar 2021 01:00:18 +0700
Subject: [PATCH 04/29] New package: fcitx5-qt5-5.0.4

---
 common/shlibs               |  2 ++
 srcpkgs/fcitx5-qt5-devel    |  1 +
 srcpkgs/fcitx5-qt5/template | 33 +++++++++++++++++++++++++++++++++
 srcpkgs/fcitx5-qt5/update   |  1 +
 4 files changed, 37 insertions(+)
 create mode 120000 srcpkgs/fcitx5-qt5-devel
 create mode 100644 srcpkgs/fcitx5-qt5/template
 create mode 100644 srcpkgs/fcitx5-qt5/update

diff --git a/common/shlibs b/common/shlibs
index 11ed5622a2fa..40921762bcee 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2125,6 +2125,8 @@ libFcitx5Utils.so.2 libfcitx5-5.0.5_1
 libFcitx5Core.so.7 libfcitx5-5.0.5_1
 libFcitx5Config.so.6 libfcitx5-5.0.5_1
 libFcitx5GClient.so.2 fcitx5-gtk-5.0.4_1
+libFcitx5Qt5DBusAddons.so.1 fcitx5-qt5-5.0.3_1
+libFcitx5Qt5WidgetsAddons.so.2 fcitx5-qt5-5.0.3_1
 libdruntime-ldc-debug-shared.so.94 ldc-runtime-1.24.0_1
 libdruntime-ldc-shared.so.94 ldc-runtime-1.24.0_1
 libphobos2-ldc-shared.so.94 ldc-runtime-1.24.0_1
diff --git a/srcpkgs/fcitx5-qt5-devel b/srcpkgs/fcitx5-qt5-devel
new file mode 120000
index 000000000000..b06bf33725d5
--- /dev/null
+++ b/srcpkgs/fcitx5-qt5-devel
@@ -0,0 +1 @@
+fcitx5-qt5
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-qt5/template b/srcpkgs/fcitx5-qt5/template
new file mode 100644
index 000000000000..79da6b401796
--- /dev/null
+++ b/srcpkgs/fcitx5-qt5/template
@@ -0,0 +1,33 @@
+# Template file for 'fcitx5-qt5'
+pkgname=fcitx5-qt5
+version=5.0.4
+revision=1
+wrksrc=fcitx5-qt-$version
+build_style=cmake
+configure_args="-DENABLE_QT4=OFF -DENABLE_QT5=ON -DENABLE_QT6=OFF"
+hostmakedepends="cldr-emoji-annotation pkg-config gettext doxygen
+ extra-cmake-modules qt5-qmake qt5-host-tools"
+makedepends="libfcitx5-devel fmt-devel qt5-devel libxkbcommon-devel"
+short_desc="Flexible Context-aware Input Tool with eXtension v5 - Qt5"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later, BSD-3-Clause"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-qt/fcitx5-qt-${version}.tar.xz"
+checksum=1686d3508b21bb38133ff3a8528652d75c3fe4bd8eb1dbe5df573ed78038a021
+lib32disabled=yes
+
+post_install() {
+	sed -e 's/<year.*owner>/2012-2021 CSSlayer <wengxt@gmail.com>/' \
+		LICENSES/BSD-3-Clause.txt >LICENSE
+	vlicense LICENSE
+}
+
+fcitx5-qt5-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision} qt5-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/cmake
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/fcitx5-qt5/update b/srcpkgs/fcitx5-qt5/update
new file mode 100644
index 000000000000..92b65ebc90e4
--- /dev/null
+++ b/srcpkgs/fcitx5-qt5/update
@@ -0,0 +1 @@
+pkgname=fcitx5-qt

From 4ab8016eedd0e269826caade56955c0371f6b922 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 22 Mar 2021 09:18:21 +0700
Subject: [PATCH 05/29] New package: fcitx5-rime-5.0.5

---
 srcpkgs/fcitx5-rime-icons    |  1 +
 srcpkgs/fcitx5-rime/template | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+)
 create mode 120000 srcpkgs/fcitx5-rime-icons
 create mode 100644 srcpkgs/fcitx5-rime/template

diff --git a/srcpkgs/fcitx5-rime-icons b/srcpkgs/fcitx5-rime-icons
new file mode 120000
index 000000000000..2de077b5f2e3
--- /dev/null
+++ b/srcpkgs/fcitx5-rime-icons
@@ -0,0 +1 @@
+fcitx5-rime
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-rime/template b/srcpkgs/fcitx5-rime/template
new file mode 100644
index 000000000000..216df93b017e
--- /dev/null
+++ b/srcpkgs/fcitx5-rime/template
@@ -0,0 +1,24 @@
+# Template file for 'fcitx5-rime'
+pkgname=fcitx5-rime
+version=5.0.5
+revision=1
+build_style=cmake
+configure_args="-DRIME_DATA_DIR=/usr/share/rime-data"
+hostmakedepends="cldr-emoji-annotation pkg-config gettext doxygen
+ extra-cmake-modules"
+makedepends="libfcitx5-devel fmt-devel librime-devel"
+depends="brise fcitx5-rime-icons"
+short_desc="Fcitx v5 - RIME engine"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-3.0-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-rime/fcitx5-rime-${version}.tar.xz"
+checksum=7845893c572bfe0e3f19df91a8f25cfcc733990e6da7609850f89bc02907220a
+lib32disabled=yes
+
+fcitx5-rime-icons_package() {
+	short_desc+=" - icons"
+	pkg_install() {
+		vmove usr/share/icons
+	}
+}

From 41ae31b291d15294cf0d6b6b3ac1a1f4f28f646b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 22 Mar 2021 09:31:33 +0700
Subject: [PATCH 06/29] New package: fcitx5-lua-5.0.4

---
 srcpkgs/fcitx5-lua-devel    |  1 +
 srcpkgs/fcitx5-lua/template | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/fcitx5-lua-devel
 create mode 100644 srcpkgs/fcitx5-lua/template

diff --git a/srcpkgs/fcitx5-lua-devel b/srcpkgs/fcitx5-lua-devel
new file mode 120000
index 000000000000..afec5c01e1e0
--- /dev/null
+++ b/srcpkgs/fcitx5-lua-devel
@@ -0,0 +1 @@
+fcitx5-lua
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-lua/template b/srcpkgs/fcitx5-lua/template
new file mode 100644
index 000000000000..30f51aa1c42e
--- /dev/null
+++ b/srcpkgs/fcitx5-lua/template
@@ -0,0 +1,33 @@
+# Template file for 'fcitx5-lua'
+pkgname=fcitx5-lua
+version=5.0.4
+revision=1
+build_style=cmake
+hostmakedepends="cldr-emoji-annotation pkg-config gettext doxygen
+ extra-cmake-modules"
+makedepends="libfcitx5-devel fmt-devel lua53-devel"
+depends="fcitx5"
+checkdepends="fcitx5"
+short_desc="Lua scripting support for fcitx5"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://github.com/fcitx/fcitx5-lua"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-lua/fcitx5-lua-${version}.tar.xz"
+checksum=7c8899cb6f05074263e66b95a8717594f9d5c5c1e693bfe9cf4660bbba1f9336
+lib32disabled=yes
+
+pre_build() {
+	mkdir -p native
+	$CXX_FOR_BUILD $CXXFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD \
+		-o native/file2cstring src/file2cstring/file2cstring.cpp
+	PATH="${wrksrc}/native:$PATH"
+}
+
+fcitx5-lua-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/cmake
+	}
+}

From a25d4dd803e9c83ae5cbd1c46eb6d621306a4037 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 22 Mar 2021 22:02:20 +0700
Subject: [PATCH 07/29] New package: fcitx5-configtool-5.0.4

---
 srcpkgs/fcitx5-configtool/template | 30 ++++++++++++++++++++++++++++++
 srcpkgs/fcitx5-migrator            |  1 +
 2 files changed, 31 insertions(+)
 create mode 100644 srcpkgs/fcitx5-configtool/template
 create mode 120000 srcpkgs/fcitx5-migrator

diff --git a/srcpkgs/fcitx5-configtool/template b/srcpkgs/fcitx5-configtool/template
new file mode 100644
index 000000000000..15507872e601
--- /dev/null
+++ b/srcpkgs/fcitx5-configtool/template
@@ -0,0 +1,30 @@
+# Template file for 'fcitx5-configtool'
+pkgname=fcitx5-configtool
+version=5.0.4
+revision=1
+build_style=cmake
+hostmakedepends="cldr-emoji-annotation pkg-config gettext doxygen
+ extra-cmake-modules glib-devel qt5-qmake qt5-host-tools xkeyboard-config
+ AppStream kcoreaddons"
+makedepends="libfcitx5-devel fcitx5-gtk-devel fcitx5-qt5-devel
+ libglib-devel qt5-devel qt5-x11extras-devel kitemviews-devel
+ qt5-quickcontrols2-devel qt5-declarative-devel kcoreaddons-devel
+ ki18n-devel kpackage-devel kdeclarative-devel kirigami2-devel
+ libxkbcommon-devel iso-codes libX11-devel libxkbfile-devel"
+short_desc="Fcitx v5 - config tool"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-configtool/fcitx5-configtool-${version}.tar.xz"
+checksum=1c835e236d013e84c88ff442332003fc69531191d4b3cbf54e85e29fc57d9d11
+lib32disabled=yes
+
+fcitx5-migrator_package() {
+	short_desc="${short_desc/config/migration}"
+	lib32disabled=yes
+	pkg_install() {
+		vmove usr/bin/fcitx5-migrator
+		vmove "usr/lib/libFcitx5Migrator.so*"
+		vmove usr/share/applications/org.fcitx.fcitx5-migrator.desktop
+	}
+}
diff --git a/srcpkgs/fcitx5-migrator b/srcpkgs/fcitx5-migrator
new file mode 120000
index 000000000000..e54fa5c62107
--- /dev/null
+++ b/srcpkgs/fcitx5-migrator
@@ -0,0 +1 @@
+fcitx5-configtool
\ No newline at end of file

From 8b44fd21bc2f9dabbbc4f75d259d0ce16a967c11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 22 Mar 2021 22:25:14 +0700
Subject: [PATCH 08/29] New package: fcitx5-m17n-5.0.4

---
 srcpkgs/fcitx5-m17n/template | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 srcpkgs/fcitx5-m17n/template

diff --git a/srcpkgs/fcitx5-m17n/template b/srcpkgs/fcitx5-m17n/template
new file mode 100644
index 000000000000..597d193e3e00
--- /dev/null
+++ b/srcpkgs/fcitx5-m17n/template
@@ -0,0 +1,16 @@
+# Template file for 'fcitx5-m17n'
+pkgname=fcitx5-m17n
+version=5.0.4
+revision=1
+build_style=cmake
+hostmakedepends="pkg-config gettext doxygen extra-cmake-modules"
+makedepends="libfcitx5-devel fmt-devel m17n-lib-devel"
+depends="m17n-db fcitx5"
+checkdepends="$depends"
+short_desc="Fcitx v5 - m17n engine"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-m17n/fcitx5-m17n-${version}.tar.xz"
+checksum=f687f3f398e5d4be34e3ec70962f009ad6b9eb9b1dc33f7c2a868aca6ba3c3c2
+lib32disabled=yes

From c9c37f57166387d45117df2a0021f2ee636f8044 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 23 Mar 2021 18:02:57 +0700
Subject: [PATCH 09/29] New package: fcitx5-chewing-5.0.5

---
 srcpkgs/fcitx5-chewing-icons    |  1 +
 srcpkgs/fcitx5-chewing/template | 22 ++++++++++++++++++++++
 2 files changed, 23 insertions(+)
 create mode 120000 srcpkgs/fcitx5-chewing-icons
 create mode 100644 srcpkgs/fcitx5-chewing/template

diff --git a/srcpkgs/fcitx5-chewing-icons b/srcpkgs/fcitx5-chewing-icons
new file mode 120000
index 000000000000..88c258a7ebb9
--- /dev/null
+++ b/srcpkgs/fcitx5-chewing-icons
@@ -0,0 +1 @@
+fcitx5-chewing
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-chewing/template b/srcpkgs/fcitx5-chewing/template
new file mode 100644
index 000000000000..83dadccc2b3a
--- /dev/null
+++ b/srcpkgs/fcitx5-chewing/template
@@ -0,0 +1,22 @@
+# Template file for 'fcitx5-chewing'
+pkgname=fcitx5-chewing
+version=5.0.5
+revision=1
+build_style=cmake
+hostmakedepends="pkg-config gettext doxygen extra-cmake-modules"
+makedepends="libfcitx5-devel fmt-devel libchewing-devel"
+short_desc="Fcitx5 - chewing engine"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-3.0-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-chewing/fcitx5-chewing-${version}.tar.xz"
+checksum=9c2f208796198daa6c37d9918929f0301792c1611afbc14155ef4dd69d699163
+lib32disabled=yes
+
+fcitx5-chewing-icons_package() {
+	short_desc+=" - icons"
+	conflicts="fcitx-chewing<=0.2.3_1"
+	pkg_install() {
+		vmove usr/share/icons
+	}
+}

From 7e9ed63229c12f13907ae3beb2a2e736c1bf2f8b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 23 Mar 2021 22:46:14 +0700
Subject: [PATCH 10/29] New package: libime-1.0.5

---
 common/shlibs            |  3 ++
 srcpkgs/libime-devel     |  1 +
 srcpkgs/libime-migration |  1 +
 srcpkgs/libime-utils     |  1 +
 srcpkgs/libime/template  | 64 ++++++++++++++++++++++++++++++++++++++++
 5 files changed, 70 insertions(+)
 create mode 120000 srcpkgs/libime-devel
 create mode 120000 srcpkgs/libime-migration
 create mode 120000 srcpkgs/libime-utils
 create mode 100644 srcpkgs/libime/template

diff --git a/common/shlibs b/common/shlibs
index 40921762bcee..dca48b891a03 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3111,6 +3111,9 @@ libi2c.so.0 i2c-tools-4.0_1
 libmarisa.so.0 marisa-0.2.5_1
 libopencc.so.1.1 opencc-1.1.1_1
 librime.so.1 librime-1.2.9_1
+libIMECore.so.0 libime-1.0.5_1
+libIMEPinyin.so.0 libime-1.0.5_1
+libIMETable.so.0 libime-1.0.5_1
 libairspy.so.0 libairspy-1.0.9_1
 libKF5KDcraw.so.5 libkdcraw5-17.04.3_1
 libKF5Kipi.so.32.0.0 libkipi5-17.04.3_1
diff --git a/srcpkgs/libime-devel b/srcpkgs/libime-devel
new file mode 120000
index 000000000000..0e6317ec164c
--- /dev/null
+++ b/srcpkgs/libime-devel
@@ -0,0 +1 @@
+libime
\ No newline at end of file
diff --git a/srcpkgs/libime-migration b/srcpkgs/libime-migration
new file mode 120000
index 000000000000..0e6317ec164c
--- /dev/null
+++ b/srcpkgs/libime-migration
@@ -0,0 +1 @@
+libime
\ No newline at end of file
diff --git a/srcpkgs/libime-utils b/srcpkgs/libime-utils
new file mode 120000
index 000000000000..0e6317ec164c
--- /dev/null
+++ b/srcpkgs/libime-utils
@@ -0,0 +1 @@
+libime
\ No newline at end of file
diff --git a/srcpkgs/libime/template b/srcpkgs/libime/template
new file mode 100644
index 000000000000..dbc2fd35c7b2
--- /dev/null
+++ b/srcpkgs/libime/template
@@ -0,0 +1,64 @@
+# Template file for 'libime'
+pkgname=libime
+version=1.0.5
+revision=1
+build_style=cmake
+build_helper=qemu
+hostmakedepends="pkg-config gettext extra-cmake-modules python3"
+makedepends="libfcitx5-devel boost-devel"
+short_desc="Library to support generic input method implementation"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+_lm_sc_version=20140820
+_dict_version=20210302
+distfiles="https://download.fcitx-im.org/fcitx5/libime/libime-${version}.tar.xz
+ https://download.fcitx-im.org/data/lm_sc.3gm.arpa-${_lm_sc_version}.tar.bz2
+ https://download.fcitx-im.org/data/dict.utf8-${_dict_version}.tar.xz
+ https://download.fcitx-im.org/data/table.tar.gz"
+checksum="212ea28dbca96372e67a31e4b70eb6c98528dcfd64d8b581074005d94fe5b254
+ 751bab7c55ea93a2cedfb0fbb7eb09f67d4da9c2c55496e5f31eb8580f1d1e2f
+ cd43f97749f38e65fc1f706b981a3c1991599770268932dbb11b2ab90c087646
+ 6196053c724125e3ae3d8bd6b2f9172d0c83b65b0d410d3cde63b7a8d6ab87b7"
+skip_extraction="
+ lm_sc.3gm.arpa-${_lm_sc_version}.tar.bz2
+ dict.utf8-${_dict_version}.tar.xz
+ table.tar.gz"
+
+post_extract() {
+	local _srcdistdir=${XBPS_SRCDISTDIR}/${pkgname}-${version}
+	local _file
+	for _file in ${skip_extraction}; do
+		cp ${_srcdistdir}/${_file} data
+	done
+}
+
+post_install() {
+	sed -i '/INTERFACE_INCLUDE_DIRECTORIES/s,"/usr,"${_IMPORT_PREFIX},' \
+		"${DESTDIR}/usr/lib/cmake"/*/*Targets.cmake
+}
+
+libime-migration_package() {
+	short_desc+=" - migration tools"
+	pkg_install() {
+		vmove "usr/bin/libime_migrate_*"
+	}
+}
+
+libime-utils_package() {
+	short_desc+=" - utilities"
+	pkg_install() {
+		vmove usr/bin
+	}
+}
+
+libime-devel_package() {
+	short_desc+=" - development files"
+	depends="boost-devel libime-utils>=${version}_${revision}
+	 libime>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/cmake
+		vmove "usr/lib/*.so"
+	}
+}

From 32ef064b6c45f35fb94796bf5b4b3d494f608466 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 25 Mar 2021 18:17:34 +0700
Subject: [PATCH 11/29] fcitx-chewing: use shared icons with fcitx5

---
 srcpkgs/fcitx-chewing/template | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/fcitx-chewing/template b/srcpkgs/fcitx-chewing/template
index 65c99624edfc..8f2c9c4ce432 100644
--- a/srcpkgs/fcitx-chewing/template
+++ b/srcpkgs/fcitx-chewing/template
@@ -1,13 +1,18 @@
 # Template file for 'fcitx-chewing'
 pkgname=fcitx-chewing
 version=0.2.3
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config"
 makedepends="fcitx-devel libchewing-devel"
+depends="fcitx5-chewing-icons"
 short_desc="Fcitx wrapper for Chewing IM engine"
 maintainer="Robert Stancil <robert.stancil@mavs.uta.edu>"
 license="GPL-2.0-only"
 homepage="https://www.fcitx-im.org/wiki/Chewing"
 distfiles="https://github.com/fcitx/fcitx-chewing/archive/${version}.tar.gz"
 checksum=ad20eb7b4911cdfb88224f4883d1778253e30180a84898dfcbf8ece36b1182fc
+
+post_install() {
+	rm -rf ${DESTDIR}/usr/share/icons
+}

From d0f9d92dd01a8c647590f51daff1400027966946 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 25 Mar 2021 18:32:12 +0700
Subject: [PATCH 12/29] New package: fcitx5-chinese-addons-5.0.5

---
 srcpkgs/fcitx5-chinese-addons-devel           |  1 +
 srcpkgs/fcitx5-chinese-addons-icons           |  1 +
 .../fcitx5-chinese-addons-pinyin-dict-manager |  1 +
 srcpkgs/fcitx5-chinese-addons/template        | 58 +++++++++++++++++++
 4 files changed, 61 insertions(+)
 create mode 120000 srcpkgs/fcitx5-chinese-addons-devel
 create mode 120000 srcpkgs/fcitx5-chinese-addons-icons
 create mode 120000 srcpkgs/fcitx5-chinese-addons-pinyin-dict-manager
 create mode 100644 srcpkgs/fcitx5-chinese-addons/template

diff --git a/srcpkgs/fcitx5-chinese-addons-devel b/srcpkgs/fcitx5-chinese-addons-devel
new file mode 120000
index 000000000000..20d63bef8026
--- /dev/null
+++ b/srcpkgs/fcitx5-chinese-addons-devel
@@ -0,0 +1 @@
+fcitx5-chinese-addons
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-chinese-addons-icons b/srcpkgs/fcitx5-chinese-addons-icons
new file mode 120000
index 000000000000..20d63bef8026
--- /dev/null
+++ b/srcpkgs/fcitx5-chinese-addons-icons
@@ -0,0 +1 @@
+fcitx5-chinese-addons
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-chinese-addons-pinyin-dict-manager b/srcpkgs/fcitx5-chinese-addons-pinyin-dict-manager
new file mode 120000
index 000000000000..20d63bef8026
--- /dev/null
+++ b/srcpkgs/fcitx5-chinese-addons-pinyin-dict-manager
@@ -0,0 +1 @@
+fcitx5-chinese-addons
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-chinese-addons/template b/srcpkgs/fcitx5-chinese-addons/template
new file mode 100644
index 000000000000..a37a025d7af0
--- /dev/null
+++ b/srcpkgs/fcitx5-chinese-addons/template
@@ -0,0 +1,58 @@
+# Template file for 'fcitx5-chinese-addons'
+pkgname=fcitx5-chinese-addons
+version=5.0.5
+revision=1
+build_style=cmake
+hostmakedepends="pkg-config gettext doxygen extra-cmake-modules qt5-qmake
+ qt5-host-tools libime-utils"
+makedepends="libfcitx5-devel fmt-devel opencc-devel fcitx5-lua-devel
+ libcurl-devel qt5-webkit-devel boost-devel libime-devel fcitx5-qt5-devel"
+depends="fcitx5-chinese-addons-icons"
+short_desc="Fcitx5 - Chinese related addon"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-2.0-or-later, LGPL-2.1-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+_pytable_version=20121124
+_pystroke_version=20121124
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-chinese-addons/fcitx5-chinese-addons-${version}.tar.xz
+ http://download.fcitx-im.org/data/py_table-${_pytable_version}.tar.gz
+ http://download.fcitx-im.org/data/py_stroke-${_pystroke_version}.tar.gz"
+checksum="7917c29643d0bfe489cda2f75201059b8e52cc3c06f86b3059ee0844b33a2048
+ 42146ac97de6c13d55f9e99ed873915f4c66739e9c11532a34556badf9792c04
+ 8eb128a9bfa43952e67cf2fcee1fd134c6f4cfd317bc2f6c38a615f5eb64e248"
+skip_extraction="
+ py_table-${_pytable_version}.tar.gz
+ py_stroke-${_pystroke_version}.tar.gz"
+lib32disabled=yes
+
+post_extract() {
+	local _srcdistdir=${XBPS_SRCDISTDIR}/${pkgname}-${version}
+	local _file
+	for _file in ${skip_extraction}; do
+		cp ${_srcdistdir}/$_file modules/pinyinhelper
+	done
+}
+
+fcitx5-chinese-addons-icons_package() {
+	short_desc+=" - icons"
+	pkg_install() {
+		vmove usr/share/icons
+	}
+}
+
+fcitx5-chinese-addons-pinyin-dict-manager_package() {
+	short_desc+=" - Pinyin Dictionaries Manager"
+	depends="fcitx5-chinese-addons>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/lib/fcitx5/qt5
+	}
+}
+
+fcitx5-chinese-addons-devel_package() {
+	short_desc+=" - development files"
+	depends="fcitx5-chinese-addons>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/cmake
+	}
+}

From 19d31ffb819e7deaf9217c5979c2490a4295c39f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 25 Mar 2021 18:21:50 +0700
Subject: [PATCH 13/29] fcitx: use shared icons with fcitx5

---
 srcpkgs/fcitx/template | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fcitx/template b/srcpkgs/fcitx/template
index 8163dee0ca5e..00675b1fedc0 100644
--- a/srcpkgs/fcitx/template
+++ b/srcpkgs/fcitx/template
@@ -1,7 +1,7 @@
 # Template file for 'fcitx'
 pkgname=fcitx
 version=4.2.9.8
-revision=3
+revision=4
 build_style=cmake
 build_helper=gir
 short_desc="Flexible Context-aware Input Tool with eXtension"
@@ -15,6 +15,7 @@ hostmakedepends="pkg-config doxygen extra-cmake-modules glib-devel"
 makedepends="iso-codes gettext-devel enchant-devel libxml2-devel
  json-c-devel opencc-devel
  libxkbfile-devel icu-devel dbus-devel gtk+-devel gtk+3-devel"
+depends="fcitx5-icons fcitx5-chinese-addons-icons"
 lib32disabled=yes
 configure_args="-DCMAKE_BUILD_TYPE=None
  -DSYSCONFDIR=/etc -DFORCE_OPENCC=OFF -DFORCE_PRESAGE=OFF
@@ -54,6 +55,14 @@ pre_build() {
 	LDFLAGS+=" -Wl,--rpath-link=$wrksrc/build/src/lib/fcitx-utils"
 }
 
+post_install() {
+	find $DESTDIR/usr/share/icons -depth \
+		-name 'fcitx-kbd.*' -prune -o \
+		-name 'fcitx-vk-active.*' -prune -o \
+		-name 'fcitx-vk-inactive.*' -prune -o \
+		-type f -delete
+}
+
 libfcitx_package() {
 	short_desc+=" - shared libraries"
 	pkg_install() {
@@ -68,7 +77,7 @@ libfcitx_package() {
 	}
 }
 fcitx-devel_package() {
-	depends="libfcitx-${version}_${revision} glib-devel"
+	depends="libfcitx>=${version}_${revision} glib-devel"
 	short_desc+=" - development files"
 	pkg_install() {
 		vmove usr/bin/fcitx4-config

From e2cf2dbcded2d775e60f4fd4659f3afb6f4a3801 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 25 Mar 2021 19:41:51 +0700
Subject: [PATCH 14/29] New package: libime-jyutping-1.0.2

---
 common/shlibs                    |  1 +
 srcpkgs/libime-jyutping-devel    |  1 +
 srcpkgs/libime-jyutping-tools    |  1 +
 srcpkgs/libime-jyutping/template | 47 ++++++++++++++++++++++++++++++++
 4 files changed, 50 insertions(+)
 create mode 120000 srcpkgs/libime-jyutping-devel
 create mode 120000 srcpkgs/libime-jyutping-tools
 create mode 100644 srcpkgs/libime-jyutping/template

diff --git a/common/shlibs b/common/shlibs
index dca48b891a03..3506746e83c8 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3114,6 +3114,7 @@ librime.so.1 librime-1.2.9_1
 libIMECore.so.0 libime-1.0.5_1
 libIMEPinyin.so.0 libime-1.0.5_1
 libIMETable.so.0 libime-1.0.5_1
+libIMEJyutping.so.1 libime-jyutping-1.0.2_1
 libairspy.so.0 libairspy-1.0.9_1
 libKF5KDcraw.so.5 libkdcraw5-17.04.3_1
 libKF5Kipi.so.32.0.0 libkipi5-17.04.3_1
diff --git a/srcpkgs/libime-jyutping-devel b/srcpkgs/libime-jyutping-devel
new file mode 120000
index 000000000000..6f00a5aa5460
--- /dev/null
+++ b/srcpkgs/libime-jyutping-devel
@@ -0,0 +1 @@
+libime-jyutping
\ No newline at end of file
diff --git a/srcpkgs/libime-jyutping-tools b/srcpkgs/libime-jyutping-tools
new file mode 120000
index 000000000000..6f00a5aa5460
--- /dev/null
+++ b/srcpkgs/libime-jyutping-tools
@@ -0,0 +1 @@
+libime-jyutping
\ No newline at end of file
diff --git a/srcpkgs/libime-jyutping/template b/srcpkgs/libime-jyutping/template
new file mode 100644
index 000000000000..46a5ad944e88
--- /dev/null
+++ b/srcpkgs/libime-jyutping/template
@@ -0,0 +1,47 @@
+# Template file for 'libime-jyutping'
+pkgname=libime-jyutping
+version=1.0.2
+revision=1
+build_style=cmake
+build_helper=qemu
+hostmakedepends="pkg-config gettext extra-cmake-modules python3 libime-utils"
+makedepends="libfcitx5-devel boost-devel libime-devel
+ fcitx5-chinese-addons-devel fmt-devel"
+short_desc="Libraries for jyutping 粵拼 by libime"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.1-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+_dict_version=20180104
+_model_version=20180103
+distfiles="https://download.fcitx-im.org/fcitx5/libime-jyutping/libime-jyutping-${version}.tar.xz
+ https://download.fcitx-im.org/data/jyutping-dict-${_dict_version}.tar.xz
+ https://download.fcitx-im.org/data/jyutping-model-${_model_version}.tar.xz"
+checksum="8e948b4d1a1c1586c7e7c2b61e2d4d3d4e83996a791ef685388bed6f681433b3
+ e3a5b13edb8efa2f764245a3232f99ba7e7670e22b8cbe666a4fffa84b35f35b
+ 4f07229e2080f0ee30ce51b016409f260af82a58dd406a01ea5981b59ca87071"
+skip_extraction="jyutping-dict-${_dict_version}.tar.xz
+ jyutping-model-${_model_version}.tar.xz"
+
+post_extract() {
+	local _srcdistdir=${XBPS_SRCDISTDIR}/${pkgname}-${version}
+	local _file
+	for _file in ${skip_extraction}; do
+		cp ${_srcdistdir}/$_file data
+	done
+}
+
+libime-jyutping-tools_package() {
+	short_desc+=" - tools"
+	pkg_install() {
+		vmove usr/bin
+	}
+}
+
+libime-jyutping-devel_package() {
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.so"
+		vmove usr/lib/cmake
+	}
+}

From 19caf98404c47ce3f428d9f4d7117f427f158604 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 25 Mar 2021 20:18:25 +0700
Subject: [PATCH 15/29] libpinyin: split libzhuyin

---
 common/shlibs                  |  1 +
 srcpkgs/libpinyin-common       |  1 +
 srcpkgs/libpinyin-common-devel |  1 +
 srcpkgs/libpinyin-utils        |  1 +
 srcpkgs/libpinyin/template     | 58 ++++++++++++++++++++++++++++++----
 srcpkgs/libzhuyin              |  1 +
 srcpkgs/libzhuyin-devel        |  1 +
 7 files changed, 57 insertions(+), 7 deletions(-)
 create mode 120000 srcpkgs/libpinyin-common
 create mode 120000 srcpkgs/libpinyin-common-devel
 create mode 120000 srcpkgs/libpinyin-utils
 create mode 120000 srcpkgs/libzhuyin
 create mode 120000 srcpkgs/libzhuyin-devel

diff --git a/common/shlibs b/common/shlibs
index 3506746e83c8..b040daaaff37 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3549,6 +3549,7 @@ libcaf_openssl.so.0.18.0 zeek-4.0.0_1
 libbinpac.so.0 zeek-3.2.4_2
 libllhttp.so.1 llhttp-1.0.1_1
 libpinyin.so.13 libpinyin-2.2.1_1
+libzhuyin.so.13 libzhuyin-2.6.0_3
 libuhd.so.4.0.0 uhd-4.0.0.0_1
 libeditline.so.1 editline-1.16.0_1
 libgnuradio-rds.so.1 gnuradio-rds-3.8.0_1
diff --git a/srcpkgs/libpinyin-common b/srcpkgs/libpinyin-common
new file mode 120000
index 000000000000..b9910dce3c19
--- /dev/null
+++ b/srcpkgs/libpinyin-common
@@ -0,0 +1 @@
+libpinyin
\ No newline at end of file
diff --git a/srcpkgs/libpinyin-common-devel b/srcpkgs/libpinyin-common-devel
new file mode 120000
index 000000000000..b9910dce3c19
--- /dev/null
+++ b/srcpkgs/libpinyin-common-devel
@@ -0,0 +1 @@
+libpinyin
\ No newline at end of file
diff --git a/srcpkgs/libpinyin-utils b/srcpkgs/libpinyin-utils
new file mode 120000
index 000000000000..b9910dce3c19
--- /dev/null
+++ b/srcpkgs/libpinyin-utils
@@ -0,0 +1 @@
+libpinyin
\ No newline at end of file
diff --git a/srcpkgs/libpinyin/template b/srcpkgs/libpinyin/template
index 7d141b6a086b..31811cac10f6 100644
--- a/srcpkgs/libpinyin/template
+++ b/srcpkgs/libpinyin/template
@@ -1,12 +1,13 @@
 # Template file for 'libpinyin'
 pkgname=libpinyin
 version=2.6.0
-revision=2
+revision=3
 build_style=gnu-configure
 configure_args="--enable-libzhuyin"
 hostmakedepends="intltool libtool pkg-config autoconf-archive autoconf automake"
 makedepends="db-devel libglib-devel"
-short_desc="Support library for PinYin and ZhuYin (Bopofomo)"
+depends="libpinyin-common>=${version}_${revision}"
+short_desc="Support library for PinYin"
 maintainer="Ben Sung Hsu <pobetiger+github@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/libpinyin/libpinyin"
@@ -26,13 +27,56 @@ pre_configure() {
 	NOCONFIGURE=1 ./autogen.sh
 }
 
+libpinyin-common_package() {
+	short_desc="Common files for libpinyin and libzhuyin"
+	pkg_install() {
+		vmove usr/lib/libpinyin
+	}
+}
+
+libzhuyin_package() {
+	short_desc="${short_desc/PinYin/ZhuYin}"
+	depends="libpinyin-common>=${version}_${revision}"
+	pkg_install() {
+		vmove "usr/lib/libzhuyin.so.*"
+	}
+}
+
+libpinyin-utils_package() {
+	short_desc="Support utilities for libpinyin and libzhuyin"
+	pkg_install() {
+		vmove usr/bin
+		vmove usr/share/man/man1
+	}
+}
+
+libpinyin-common-devel_package() {
+	short_desc="Common files for libpinyin and libzhuyin"
+	pkg_install() {
+		vmove "usr/include/libpinyin-2.6.0/novel*"
+	}
+}
+
 libpinyin-devel_package() {
-	depends="libglib-devel libpinyin-${version}_${revision}"
+	depends="libglib-devel libpinyin-${version}_${revision}
+	 libpinyin-common-devel-${version}_${revision}"
 	short_desc+=" - development files"
 	pkg_install() {
-		vmove usr/include
-		vmove usr/lib/pkgconfig
-		vmove "usr/lib/*.so"
-		vmove "usr/lib/*.a"
+		vmove "usr/include/libpinyin-2.6.0/pinyin*"
+		vmove usr/lib/pkgconfig/libpinyin.pc
+		vmove "usr/lib/libpinyin.so"
+		vmove "usr/lib/libpinyin.a"
+	}
+}
+
+libzhuyin-devel_package() {
+	depends="libglib-devel libzhuyin-${version}_${revision}
+	 libpinyin-devel-${version}_${revision}"
+	short_desc="${short_desc/PinYin/ZhuYin} - development files"
+	pkg_install() {
+		vmove "usr/include/libpinyin-2.6.0/zhuyin*"
+		vmove usr/lib/pkgconfig/libzhuyin.pc
+		vmove usr/lib/libzhuyin.a
+		vmove usr/lib/libzhuyin.so
 	}
 }
diff --git a/srcpkgs/libzhuyin b/srcpkgs/libzhuyin
new file mode 120000
index 000000000000..b9910dce3c19
--- /dev/null
+++ b/srcpkgs/libzhuyin
@@ -0,0 +1 @@
+libpinyin
\ No newline at end of file
diff --git a/srcpkgs/libzhuyin-devel b/srcpkgs/libzhuyin-devel
new file mode 120000
index 000000000000..b9910dce3c19
--- /dev/null
+++ b/srcpkgs/libzhuyin-devel
@@ -0,0 +1 @@
+libpinyin
\ No newline at end of file

From c766680984fe682003818d2dfc3aa6ab4e9ff010 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 25 Mar 2021 22:34:18 +0700
Subject: [PATCH 16/29] New package: fcitx5-zhuyin-5.0.4

---
 srcpkgs/fcitx5-zhuyin/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 srcpkgs/fcitx5-zhuyin/template

diff --git a/srcpkgs/fcitx5-zhuyin/template b/srcpkgs/fcitx5-zhuyin/template
new file mode 100644
index 000000000000..4e55fb1bec5d
--- /dev/null
+++ b/srcpkgs/fcitx5-zhuyin/template
@@ -0,0 +1,24 @@
+# Template file for 'fcitx5-zhuyin'
+pkgname=fcitx5-zhuyin
+version=5.0.4
+revision=1
+build_style=cmake
+hostmakedepends="pkg-config gettext doxygen extra-cmake-modules libzhuyin"
+makedepends="libfcitx5-devel fmt-devel opencc-devel fcitx5-lua-devel
+ libzhuyin-devel libpinyin-utils"
+short_desc="Fcitx5 - zhuyin IME"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-3.0-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+_model_version=20161206
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-zhuyin/fcitx5-zhuyin-${version}.tar.xz
+ https://download.fcitx-im.org/data/model.text.${_model_version}.tar.gz"
+checksum="3b692408bcbd816fec84c7ad73ec4e4816b686a072eb9d671aaa8be079fc3728
+ 5c7024e5735389c471f54b867eda0d98c5a40a5e5e75333a9febac107508f704"
+skip_extraction="model.text.${_model_version}.tar.gz"
+lib32disabled=yes
+
+post_extract() {
+	local _srcdistdir=${XBPS_SRCDISTDIR}/${pkgname}-${version}
+	cp ${_srcdistdir}/$skip_extraction data
+}

From adccd14f474c94846168823aa42f18dcd157c201 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 26 Mar 2021 18:19:17 +0700
Subject: [PATCH 17/29] New package: fcitx5-table-extra-5.0.3

---
 srcpkgs/fcitx5-table-extra/template | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 srcpkgs/fcitx5-table-extra/template

diff --git a/srcpkgs/fcitx5-table-extra/template b/srcpkgs/fcitx5-table-extra/template
new file mode 100644
index 000000000000..200b8eec5d5c
--- /dev/null
+++ b/srcpkgs/fcitx5-table-extra/template
@@ -0,0 +1,14 @@
+# Template file for 'fcitx5-table-extra'
+pkgname=fcitx5-table-extra
+version=5.0.3
+revision=1
+build_style=cmake
+hostmakedepends="gettext libime-utils extra-cmake-modules"
+makedepends="libfcitx5-devel libime-devel"
+depends="fcitx5"
+short_desc="Fcitx5 - Boshiamy, Zhengma, Cangjie, and Quick table"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="Public Domain"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-table-extra/fcitx5-table-extra-${version}.tar.xz"
+checksum=2cecbd235623cb803befb3550d5b520f972f5b3ea8044c27d3786e5d59e3fb5d

From 666e207f3134ade322ab2ccfceffc514807d9f80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 26 Mar 2021 18:31:31 +0700
Subject: [PATCH 18/29] New package: fcitx5-table-other-5.0.4

---
 srcpkgs/fcitx5-table-other/template | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 srcpkgs/fcitx5-table-other/template

diff --git a/srcpkgs/fcitx5-table-other/template b/srcpkgs/fcitx5-table-other/template
new file mode 100644
index 000000000000..6ba05d834a23
--- /dev/null
+++ b/srcpkgs/fcitx5-table-other/template
@@ -0,0 +1,14 @@
+# Template file for 'fcitx5-table-other'
+pkgname=fcitx5-table-other
+version=5.0.4
+revision=1
+build_style=cmake
+hostmakedepends="gettext libime-utils extra-cmake-modules"
+makedepends="libfcitx5-devel libime-devel"
+depends="fcitx5"
+short_desc="Fcitx5 - non-Chinese table"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-3.0-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-table-other/fcitx5-table-other-${version}.tar.xz"
+checksum=a0f6747ad78cd5d113cdcb14d56d11579ba1b425741a532a6b904042be176b41

From f09c05b02f6ff2f42276942658a3efffdf9fe6e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 26 Mar 2021 18:39:14 +0700
Subject: [PATCH 19/29] New package: fcitx5-hangul-5.0.3

---
 srcpkgs/fcitx5-hangul-icons    |  1 +
 srcpkgs/fcitx5-hangul/template | 23 +++++++++++++++++++++++
 2 files changed, 24 insertions(+)
 create mode 120000 srcpkgs/fcitx5-hangul-icons
 create mode 100644 srcpkgs/fcitx5-hangul/template

diff --git a/srcpkgs/fcitx5-hangul-icons b/srcpkgs/fcitx5-hangul-icons
new file mode 120000
index 000000000000..aeca5d0f662c
--- /dev/null
+++ b/srcpkgs/fcitx5-hangul-icons
@@ -0,0 +1 @@
+fcitx5-hangul
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-hangul/template b/srcpkgs/fcitx5-hangul/template
new file mode 100644
index 000000000000..0e8116ae535d
--- /dev/null
+++ b/srcpkgs/fcitx5-hangul/template
@@ -0,0 +1,23 @@
+# Template file for 'fcitx5-hangul'
+pkgname=fcitx5-hangul
+version=5.0.3
+revision=1
+build_style=cmake
+hostmakedepends="pkg-config gettext extra-cmake-modules"
+makedepends="libhangul-devel libfcitx5-devel"
+depends="fcitx5-hangul-icons"
+short_desc="Fcitx5 - Hangul support"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-3.0-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-hangul/fcitx5-hangul-${version}.tar.xz"
+checksum=e02d3d59e22a60e65099eaa0e5e394481a770a401c83b9979f754678c100f1e6
+lib32disabled=yes
+
+fcitx5-hangul-icons_package() {
+	short_desc+=" - icons"
+	conflicts="fcitx-hangul<=0.3.1_1"
+	pkg_install() {
+		vmove usr/share/icons
+	}
+}

From a8e74d7b13d3543856664e6a5c9dd6f29c4816eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Fri, 26 Mar 2021 18:39:25 +0700
Subject: [PATCH 20/29] fcitx-hangul: use shared icons with fcitx5

---
 srcpkgs/fcitx-hangul/template | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/fcitx-hangul/template b/srcpkgs/fcitx-hangul/template
index 3c65ec6a5f4e..d1b50e2d6237 100644
--- a/srcpkgs/fcitx-hangul/template
+++ b/srcpkgs/fcitx-hangul/template
@@ -1,15 +1,20 @@
 # Template file for 'fcitx-hangul'
 pkgname=fcitx-hangul
 version=0.3.1
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="intltool pkg-config libfcitx"
 makedepends="libhangul-devel fcitx-devel"
-depends="fcitx>=4.2.9"
+depends="fcitx>=4.2.9 fcitx5-hangul-icons"
 short_desc="Hangul (Korean) support for fcitx"
-homepage="https://github.com/fcitx/fcitx-hangul"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-only"
+homepage="https://github.com/fcitx/fcitx-hangul"
 distfiles="https://download.fcitx-im.org/fcitx-hangul/fcitx-hangul-${version}.tar.xz"
 checksum=6dd5fd5956924c85af92ebefaef1e113e38fa814355fbb0f07c26049c3014437
 
 CXXFLAGS='-D_GNU_SOURCE'
+
+post_install() {
+	rm -rf ${DESTDIR}/usr/share/icons
+}

From 44939308ae5d6ee3c4fa8508454857ed8187f391 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sun, 28 Mar 2021 18:42:50 +0700
Subject: [PATCH 21/29] New package: anthy-unicode-1.0.0.20201109

---
 common/shlibs                  |  3 +++
 srcpkgs/anthy-unicode-devel    |  1 +
 srcpkgs/anthy-unicode/template | 37 ++++++++++++++++++++++++++++++++++
 srcpkgs/libanthy-unicode       |  1 +
 4 files changed, 42 insertions(+)
 create mode 120000 srcpkgs/anthy-unicode-devel
 create mode 100644 srcpkgs/anthy-unicode/template
 create mode 120000 srcpkgs/libanthy-unicode

diff --git a/common/shlibs b/common/shlibs
index b040daaaff37..9049007d1ac2 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2335,6 +2335,9 @@ liboath.so.0 oath-toolkit-2.6.0_2
 libanthy.so.1 libanthy-0.4_1
 libanthydic.so.1 libanthy-0.4_1
 libanthyinput.so.0 libanthy-0.4_1
+libanthy-unicode.so.0 libanthy-unicode-1.0.0.20201109_1
+libanthydic-unicode.so.0 libanthy-unicode-1.0.0.20201109_1
+libanthyinput-unicode.so.0 libanthy-unicode-1.0.0.20201109_1
 libanthygobject-1.0.so.5 ibus-anthy-1.5.6_1
 libtbbmalloc_proxy_debug.so.2 tbb-4.3_1
 libtbbmalloc_proxy.so.2 tbb-4.3_1
diff --git a/srcpkgs/anthy-unicode-devel b/srcpkgs/anthy-unicode-devel
new file mode 120000
index 000000000000..db3b51372104
--- /dev/null
+++ b/srcpkgs/anthy-unicode-devel
@@ -0,0 +1 @@
+anthy-unicode
\ No newline at end of file
diff --git a/srcpkgs/anthy-unicode/template b/srcpkgs/anthy-unicode/template
new file mode 100644
index 000000000000..f7c4ae32a5bb
--- /dev/null
+++ b/srcpkgs/anthy-unicode/template
@@ -0,0 +1,37 @@
+# Template file for 'anthy-unicode'
+pkgname=anthy-unicode
+version=1.0.0.20201109
+revision=1
+build_style=gnu-configure
+configure_args="--disable-static"
+short_desc="Japanese character set input library for Unicode"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="LGPL-2.0-or-later, GPL-2.0-only, Public Domain"
+homepage="https://github.com/fujiwarat/anthy-unicode/wiki"
+distfiles="https://github.com/fujiwarat/anthy-unicode/releases/download/${version}/${pkgname}-${version}.tar.gz"
+checksum=7d595bd422222bd67d7944f0c29f7d739fe677e4b885de3d4f0dae417b674381
+nocross='execute lt-mkdepgraph'
+
+post_install() {
+	rm ${DESTDIR}/usr/lib/*.la
+}
+
+libanthy-unicode_package() {
+	short_desc+=" - libraries"
+	conf_files="/etc/anthy-unicode.conf"
+	pkg_install() {
+		vmove etc/anthy-unicode.conf
+		vmove "usr/lib/*.so.*"
+		vmove usr/share
+	}
+}
+
+anthy-unicode-devel_package() {
+	short_desc+=" - development files"
+	depends="libanthy-unicode-${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/libanthy-unicode b/srcpkgs/libanthy-unicode
new file mode 120000
index 000000000000..db3b51372104
--- /dev/null
+++ b/srcpkgs/libanthy-unicode
@@ -0,0 +1 @@
+anthy-unicode
\ No newline at end of file

From 658a64dbf76bac4d3ebf9b4945396c2286bdc4f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sun, 28 Mar 2021 20:03:38 +0700
Subject: [PATCH 22/29] New package: fcitx5-anthy-5.0.4

---
 srcpkgs/fcitx5-anthy-icons                    |  1 +
 .../fcitx5-anthy/patches/fix-build-musl.patch | 18 +++++++++++++++
 srcpkgs/fcitx5-anthy/template                 | 23 +++++++++++++++++++
 3 files changed, 42 insertions(+)
 create mode 120000 srcpkgs/fcitx5-anthy-icons
 create mode 100644 srcpkgs/fcitx5-anthy/patches/fix-build-musl.patch
 create mode 100644 srcpkgs/fcitx5-anthy/template

diff --git a/srcpkgs/fcitx5-anthy-icons b/srcpkgs/fcitx5-anthy-icons
new file mode 120000
index 000000000000..6fee45a4d396
--- /dev/null
+++ b/srcpkgs/fcitx5-anthy-icons
@@ -0,0 +1 @@
+fcitx5-anthy
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-anthy/patches/fix-build-musl.patch b/srcpkgs/fcitx5-anthy/patches/fix-build-musl.patch
new file mode 100644
index 000000000000..bc19b7c5c406
--- /dev/null
+++ b/srcpkgs/fcitx5-anthy/patches/fix-build-musl.patch
@@ -0,0 +1,18 @@
+Index: fcitx5-anthy-5.0.4/src/utils.h
+===================================================================
+--- fcitx5-anthy-5.0.4.orig/src/utils.h
++++ fcitx5-anthy-5.0.4/src/utils.h
+@@ -28,11 +28,11 @@ bool key_is_keypad(const fcitx::Key &key
+ std::string keypad_to_string(const fcitx::KeyEvent &key);
+ void launch_program(std::string command);
+ 
+-bool surrounding_get_safe_delta(uint from, uint to, int32_t *delta);
++bool surrounding_get_safe_delta(unsigned from, unsigned to, int32_t *delta);
+ 
+ bool surrounding_get_anchor_pos_from_selection(
+     const std::string &surrounding_text, const std::string &selected_text,
+-    uint cursor_pos, uint *anchor_pos);
++    unsigned cursor_pos, unsigned *anchor_pos);
+ 
+ inline char get_ascii_code(const fcitx::Key &key) {
+     auto chr = fcitx::Key::keySymToUnicode(key.sym());
diff --git a/srcpkgs/fcitx5-anthy/template b/srcpkgs/fcitx5-anthy/template
new file mode 100644
index 000000000000..a2bec24b3080
--- /dev/null
+++ b/srcpkgs/fcitx5-anthy/template
@@ -0,0 +1,23 @@
+# Template file for 'fcitx5-anthy'
+pkgname=fcitx5-anthy
+version=5.0.4
+revision=1
+build_style=cmake
+hostmakedepends="pkg-config gettext extra-cmake-modules"
+makedepends="anthy-unicode-devel libfcitx5-devel"
+depends="fcitx5"
+short_desc="Fcitx5 - Anthy engine"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-anthy/fcitx5-anthy-${version}.tar.xz"
+checksum=6e15c0e32508db3e6b233efb99677a7b4b4478950a57bb76bd509355276b9636
+patch_args=-Np1
+
+fcitx5-anthy-icons_package() {
+	short_desc+=" - icons"
+	conflicts="fcitx-anthy<=0.2.3_2"
+	pkg_install() {
+		vmove usr/share/icons
+	}
+}

From 79a64ecbd6a9a39924428a5d60bb9440bc6689c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sun, 28 Mar 2021 20:03:31 +0700
Subject: [PATCH 23/29] fcitx-anthy: use shared icons with fcitx5

---
 srcpkgs/fcitx-anthy/template | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fcitx-anthy/template b/srcpkgs/fcitx-anthy/template
index d03499e83c3e..053db036dec4 100644
--- a/srcpkgs/fcitx-anthy/template
+++ b/srcpkgs/fcitx-anthy/template
@@ -1,10 +1,10 @@
 # Template file for 'fcitx-anthy'
 pkgname=fcitx-anthy
 version=0.2.3
-revision=2
+revision=3
 build_style=cmake
 makedepends="anthy-devel fcitx-devel"
-depends="fcitx>=4.2.9"
+depends="fcitx>=4.2.9 fcitx5-anthy-icons"
 short_desc="Fcitx wrapper for Anthy IM engine"
 maintainer="Matthias von Faber <mvf@gmx.eu>"
 license="GPL-2.0-or-later"
@@ -13,3 +13,7 @@ distfiles="https://github.com/fcitx/fcitx-anthy/archive/${version}.tar.gz"
 checksum=31826a49a7ff743f830e1279527301abce9e669bc176934c76775999299421a8
 
 CXXFLAGS='-D_GNU_SOURCE'
+
+post_install() {
+	rm -rf ${DESTDIR}/usr/share/icons
+}

From c4d0d6dcf4b46cee3b98c18b79be9365686a47e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Sun, 28 Mar 2021 22:03:06 +0700
Subject: [PATCH 24/29] marisa: build python3 bindings

---
 srcpkgs/marisa/template | 41 +++++++++++++++++++++++++++++++++++++++--
 srcpkgs/python3-marisa  |  1 +
 2 files changed, 40 insertions(+), 2 deletions(-)
 create mode 120000 srcpkgs/python3-marisa

diff --git a/srcpkgs/marisa/template b/srcpkgs/marisa/template
index 2aebc8712f5b..95e0403a7fef 100644
--- a/srcpkgs/marisa/template
+++ b/srcpkgs/marisa/template
@@ -1,10 +1,11 @@
 # Template file for 'marisa'
 pkgname=marisa
 version=0.2.6
-revision=1
+revision=2
 wrksrc="${pkgname}-trie-$version"
 build_style=gnu-configure
-hostmakedepends="autoconf automake libtool"
+hostmakedepends="autoconf automake libtool python3-setuptools swig"
+makedepends="python3-devel"
 short_desc="Matching Algorithm with Recursively Implemented StorAge"
 maintainer="Yuxuan Shui <yshuiv7@gmail.com>"
 license="BSD-2-Clause, LGPL-2.1-or-later"
@@ -16,14 +17,50 @@ case "$XBPS_TARGET_MACHINE" in
 	x86_64*) configure_args+=" --enable-popcnt --enable-sse2";;
 esac
 
+CFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc}"
+CXXFLAGS="$CFLAGS"
+LDFLAGS="-L${XBPS_CROSS_BASE}/${py3_lib}"
+
+_python_env() {
+	local f
+	CFLAGS+=" -I${wrksrc}/include"
+	LDFLAGS+=" -L${wrksrc}/lib/marisa/.libs"
+	export PYPREFIX="${XBPS_CROSS_BASE}"
+	export LDSHARED="${CXX} -shared ${LDFLAGS}"
+	export PYTHONPATH=${XBPS_CROSS_BASE}/${py3_lib}
+	for f in ${XBPS_CROSS_BASE}/${py3_lib}/_sysconfigdata_*; do
+		f=${f##*/}
+		export _PYTHON_SYSCONFIGDATA_NAME=${f%.py}
+	done
+}
+
 pre_configure() {
 	autoreconf -fi
 }
 
+post_build() {
+	make -C bindings
+	cd ${wrksrc}/bindings/python
+	_python_env
+	python3 setup.py build
+	cd ${wrksrc}
+}
+
 post_install() {
 	vlicense COPYING.md
 }
 
+python3-marisa_package() {
+	short_desc+=" - Python 3 bindings"
+	depends="python3"
+	pkg_install() {
+		cd ${wrksrc}/bindings/python
+		_python_env
+		python3 setup.py install --root=${PKGDESTDIR} --prefix=/usr
+		cd ${wrksrc}
+	}
+}
+
 marisa-devel_package() {
 	depends="marisa-${version}_${revision}"
 	short_desc+=" - development files"
diff --git a/srcpkgs/python3-marisa b/srcpkgs/python3-marisa
new file mode 120000
index 000000000000..4ebb55bc8b9f
--- /dev/null
+++ b/srcpkgs/python3-marisa
@@ -0,0 +1 @@
+marisa
\ No newline at end of file

From 758d94d3757bf5357453edd93103c26bf828a50f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 30 Mar 2021 21:49:25 +0700
Subject: [PATCH 25/29] New package: libkkc-data-0.2.7

---
 srcpkgs/libkkc-data/patches/python3.patch | 138 ++++++++++++++++++++++
 srcpkgs/libkkc-data/template              |  14 +++
 2 files changed, 152 insertions(+)
 create mode 100644 srcpkgs/libkkc-data/patches/python3.patch
 create mode 100644 srcpkgs/libkkc-data/template

diff --git a/srcpkgs/libkkc-data/patches/python3.patch b/srcpkgs/libkkc-data/patches/python3.patch
new file mode 100644
index 000000000000..70bfdcc0d372
--- /dev/null
+++ b/srcpkgs/libkkc-data/patches/python3.patch
@@ -0,0 +1,138 @@
+From ba1c1bd3eb86d887fc3689c3142732658071b5f7 Mon Sep 17 00:00:00 2001
+From: Takao Fujiwara <tfujiwar@redhat.com>
+Date: Mon, 30 Jul 2018 15:26:37 +0900
+Subject: [PATCH] build: Enable python3
+
+---
+ taken from libkkc
+ data/templates/libkkc-data/tools/genfilter.py | 18 +++++++--------
+ data/templates/libkkc-data/tools/sortlm.py    | 23 ++++++++-----------
+ 2 files changed, 19 insertions(+), 22 deletions(-)
+
+diff --git a/tools/genfilter.py b/tools/genfilter.py
+index 5ffab32..0c5f75a 100644
+--- a/tools/genfilter.py
++++ b/tools/genfilter.py
+@@ -84,24 +84,24 @@ def __init__(self, infile, outfile, record_size):
+ 
+     def generate(self):
+         size = os.fstat(self.infile.fileno()).st_size
+-        n = size / self.record_size
++        n = size // self.record_size
+         m = int(math.ceil(-n*math.log10(ERROR_RATE) /
+                           math.pow(math.log10(2), 2)))
+-        m = (m/8 + 1)*8
++        m = (m//8 + 1)*8
+         inmem = mmap.mmap(self.infile.fileno(),
+                           size,
+                           access=mmap.ACCESS_READ)
+-        outmem = bytearray(m/8)
+-        for i in xrange(0, n):
++        outmem = bytearray(m//8)
++        for i in range(0, n):
+             offset = i*self.record_size
+             b0, b1 = struct.unpack("=LL", inmem[offset:offset+8])
+-            for k in xrange(0, 4):
++            for k in range(0, 4):
+                 h = murmur_hash3_32(b0, b1, k)
+                 h = int(h * (m / float(0xFFFFFFFF)))
+-                outmem[h/8] |= (1 << (h%8))
++                outmem[h//8] |= (1 << (h%8))
+         inmem.close()
+-        # Convert bytearray to str, for Python 2.6 compatibility.
+-        self.outfile.write(str(outmem))
++        # Convert bytearray to bytes, for Python 3 compatibility.
++        self.outfile.write(bytes(outmem))
+ 
+ if __name__ == '__main__':
+     import sys
+@@ -110,7 +110,7 @@ def generate(self):
+     parser = argparse.ArgumentParser(description='filter')
+     parser.add_argument('infile', type=argparse.FileType('r'),
+                         help='input file')
+-    parser.add_argument('outfile', type=argparse.FileType('w'),
++    parser.add_argument('outfile', type=argparse.FileType('wb'),
+                         help='output file')
+     parser.add_argument('record_size', type=int,
+                         help='record size')
+index a0dd8fe..40f0837 100644
+--- a/tools/sortlm.py
++++ b/tools/sortlm.py
+@@ -40,10 +40,10 @@ def __init__(self, infile, output_prefix):
+         self.__min_cost = 0.0
+ 
+     def read(self):
+-        print "reading N-grams"
++        print("reading N-grams")
+         self.__read_tries()
+         self.__read_ngrams()
+-        print "min cost = %lf" % self.__min_cost
++        print("min cost = %lf" % self.__min_cost)
+ 
+     def __read_tries(self):
+         while True:
+@@ -58,7 +58,7 @@ def __read_tries(self):
+             line = self.__infile.readline()
+             if line == "":
+                 break
+-            line = line.strip()
++            line = line.strip('\n')
+             if line == "":
+                 break
+             match = self.__ngram_line_regex.match(line)
+@@ -89,7 +89,7 @@ def __read_ngrams(self):
+                 line = self.__infile.readline()
+                 if line == "":
+                     break
+-                line = line.strip()
++                line = line.strip('\n')
+                 if line == "":
+                     break
+                 match = self.__ngram_line_regex.match(line)
+@@ -125,14 +125,11 @@ def __write_ngrams(self):
+         def quantize(cost, min_cost):
+             return max(0, min(65535, int(cost * 65535 / min_cost)))
+ 
+-        def cmp_header(a, b):
+-            return cmp(a[0], b[0])
+-
+-        print "writing 1-gram file"
++        print("writing 1-gram file")
+         unigram_offsets = {}
+         unigram_file = open("%s.1gram" % self.__output_prefix, "wb")
+         offset = 0
+-        for ids, value in sorted(self.__ngram_entries[0].iteritems()):
++        for ids, value in sorted(self.__ngram_entries[0].items()):
+             unigram_offsets[ids[0]] = offset
+             s = struct.pack("=HHH",
+                             quantize(value[0], self.__min_cost),
+@@ -143,13 +140,13 @@ def cmp_header(a, b):
+             offset += 1
+         unigram_file.close()
+ 
+-        print "writing 2-gram file"
++        print("writing 2-gram file")
+         bigram_offsets = {}
+         bigram_file = open("%s.2gram" % self.__output_prefix, "wb")
+         keys = self.__ngram_entries[1].keys()
+         items = [(struct.pack("=LL", ids[1], unigram_offsets[ids[0]]), ids) for ids in keys]
+         offset = 0
+-        for header, ids in sorted(items, cmp=cmp_header):
++        for header, ids in sorted(items, key=lambda x: x[0]):
+             value = self.__ngram_entries[1][ids]
+             bigram_offsets[ids] = offset
+             s = struct.pack("=HH",
+@@ -160,11 +157,11 @@ def cmp_header(a, b):
+         bigram_file.close()
+ 
+         if len(self.__ngram_entries[2]) > 0:
+-            print "writing 3-gram file"
++            print("writing 3-gram file")
+             trigram_file = open("%s.3gram" % self.__output_prefix, "wb")
+             keys = self.__ngram_entries[2].keys()
+             items = [(struct.pack("=LL", ids[2], bigram_offsets[(ids[0], ids[1])]), ids) for ids in keys]
+-            for header, ids in sorted(items, cmp=cmp_header):
++            for header, ids in sorted(items, key=lambda x: x[0]):
+                 value = self.__ngram_entries[2][ids]
+                 s = struct.pack("=H",
+                                 quantize(value[0], self.__min_cost))
diff --git a/srcpkgs/libkkc-data/template b/srcpkgs/libkkc-data/template
new file mode 100644
index 000000000000..ffbfa76c4247
--- /dev/null
+++ b/srcpkgs/libkkc-data/template
@@ -0,0 +1,14 @@
+# Template file for 'libkkc-data'
+pkgname=libkkc-data
+_libkkc_version=0.3.5
+version=0.2.7
+revision=1
+build_style=gnu-configure
+hostmakedepends="python3-marisa"
+short_desc="Japanese Kana Kanji conversion input method library - data"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/ueno/libkkc"
+distfiles="https://github.com/ueno/libkkc/releases/download/v${_libkkc_version}/libkkc-data-${version}.tar.xz"
+checksum=9e678755a030043da68e37a4049aa296c296869ff1fb9e6c70026b2541595b99
+patch_args=-Np1

From 773e3e2e244d1da0eb1cb62c126a5fa4684299c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 30 Mar 2021 21:24:13 +0700
Subject: [PATCH 26/29] New package: libkkc-0.3.5

---
 common/shlibs                              |   1 +
 srcpkgs/libkkc-devel                       |   1 +
 srcpkgs/libkkc-utils                       |   1 +
 srcpkgs/libkkc/patches/musl-locale.patch   |  13 ++
 srcpkgs/libkkc/patches/no-ssp-static.patch |  13 ++
 srcpkgs/libkkc/patches/python3.patch       | 138 +++++++++++++++++++++
 srcpkgs/libkkc/template                    |  46 +++++++
 7 files changed, 213 insertions(+)
 create mode 120000 srcpkgs/libkkc-devel
 create mode 120000 srcpkgs/libkkc-utils
 create mode 100644 srcpkgs/libkkc/patches/musl-locale.patch
 create mode 100644 srcpkgs/libkkc/patches/no-ssp-static.patch
 create mode 100644 srcpkgs/libkkc/patches/python3.patch
 create mode 100644 srcpkgs/libkkc/template

diff --git a/common/shlibs b/common/shlibs
index 9049007d1ac2..7e6f687f7f32 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3112,6 +3112,7 @@ libopenglrecorder.so.0 libopenglrecorder-0.1.0_1
 libgpod.so.4 libgpod-0.8.3_1
 libi2c.so.0 i2c-tools-4.0_1
 libmarisa.so.0 marisa-0.2.5_1
+libkkc.so.2 libkkc-0.3.5_1
 libopencc.so.1.1 opencc-1.1.1_1
 librime.so.1 librime-1.2.9_1
 libIMECore.so.0 libime-1.0.5_1
diff --git a/srcpkgs/libkkc-devel b/srcpkgs/libkkc-devel
new file mode 120000
index 000000000000..9ea4317c5dca
--- /dev/null
+++ b/srcpkgs/libkkc-devel
@@ -0,0 +1 @@
+libkkc
\ No newline at end of file
diff --git a/srcpkgs/libkkc-utils b/srcpkgs/libkkc-utils
new file mode 120000
index 000000000000..9ea4317c5dca
--- /dev/null
+++ b/srcpkgs/libkkc-utils
@@ -0,0 +1 @@
+libkkc
\ No newline at end of file
diff --git a/srcpkgs/libkkc/patches/musl-locale.patch b/srcpkgs/libkkc/patches/musl-locale.patch
new file mode 100644
index 000000000000..5ae9e6eb2c7e
--- /dev/null
+++ b/srcpkgs/libkkc/patches/musl-locale.patch
@@ -0,0 +1,13 @@
+Index: libkkc-0.3.5/configure
+===================================================================
+--- libkkc-0.3.5.orig/configure
++++ libkkc-0.3.5/configure
+@@ -6710,7 +6710,7 @@ fi
+ 
+     ;;
+     *)
+-    DATADIRNAME=lib
++    DATADIRNAME=share
+     ;;
+     esac
+ fi
diff --git a/srcpkgs/libkkc/patches/no-ssp-static.patch b/srcpkgs/libkkc/patches/no-ssp-static.patch
new file mode 100644
index 000000000000..ea5013582061
--- /dev/null
+++ b/srcpkgs/libkkc/patches/no-ssp-static.patch
@@ -0,0 +1,13 @@
+Index: libkkc-0.3.5/configure
+===================================================================
+--- libkkc-0.3.5.orig/configure
++++ libkkc-0.3.5/configure
+@@ -18480,7 +18480,7 @@ $as_echo "yes" >&6; }
+ fi
+ 
+ # libstdc++ needs to be linked with libmarisa-glib.a
+-MARISA_GLIB_STATIC_DEPENDENCIES="$postdeps_CXX"
++MARISA_GLIB_STATIC_DEPENDENCIES="-lstdc++"
+ 
+ 
+ LIBKKC_CFLAGS="$GIO_CFLAGS $GEE_CFLAGS $JSON_GLIB_CFLAGS"
diff --git a/srcpkgs/libkkc/patches/python3.patch b/srcpkgs/libkkc/patches/python3.patch
new file mode 100644
index 000000000000..91d3f6956e88
--- /dev/null
+++ b/srcpkgs/libkkc/patches/python3.patch
@@ -0,0 +1,138 @@
+From ba1c1bd3eb86d887fc3689c3142732658071b5f7 Mon Sep 17 00:00:00 2001
+From: Takao Fujiwara <tfujiwar@redhat.com>
+Date: Mon, 30 Jul 2018 15:26:37 +0900
+Subject: [PATCH] build: Enable python3
+
+---
+ data/templates/libkkc-data/tools/genfilter.py | 18 +++++++--------
+ data/templates/libkkc-data/tools/sortlm.py    | 23 ++++++++-----------
+ 2 files changed, 19 insertions(+), 22 deletions(-)
+
+diff --git a/data/templates/libkkc-data/tools/genfilter.py b/data/templates/libkkc-data/tools/genfilter.py
+index 5ffab32..0c5f75a 100644
+--- a/data/templates/libkkc-data/tools/genfilter.py
++++ b/data/templates/libkkc-data/tools/genfilter.py
+@@ -84,24 +84,24 @@ def __init__(self, infile, outfile, record_size):
+ 
+     def generate(self):
+         size = os.fstat(self.infile.fileno()).st_size
+-        n = size / self.record_size
++        n = size // self.record_size
+         m = int(math.ceil(-n*math.log10(ERROR_RATE) /
+                           math.pow(math.log10(2), 2)))
+-        m = (m/8 + 1)*8
++        m = (m//8 + 1)*8
+         inmem = mmap.mmap(self.infile.fileno(),
+                           size,
+                           access=mmap.ACCESS_READ)
+-        outmem = bytearray(m/8)
+-        for i in xrange(0, n):
++        outmem = bytearray(m//8)
++        for i in range(0, n):
+             offset = i*self.record_size
+             b0, b1 = struct.unpack("=LL", inmem[offset:offset+8])
+-            for k in xrange(0, 4):
++            for k in range(0, 4):
+                 h = murmur_hash3_32(b0, b1, k)
+                 h = int(h * (m / float(0xFFFFFFFF)))
+-                outmem[h/8] |= (1 << (h%8))
++                outmem[h//8] |= (1 << (h%8))
+         inmem.close()
+-        # Convert bytearray to str, for Python 2.6 compatibility.
+-        self.outfile.write(str(outmem))
++        # Convert bytearray to bytes, for Python 3 compatibility.
++        self.outfile.write(bytes(outmem))
+ 
+ if __name__ == '__main__':
+     import sys
+@@ -110,7 +110,7 @@ def generate(self):
+     parser = argparse.ArgumentParser(description='filter')
+     parser.add_argument('infile', type=argparse.FileType('r'),
+                         help='input file')
+-    parser.add_argument('outfile', type=argparse.FileType('w'),
++    parser.add_argument('outfile', type=argparse.FileType('wb'),
+                         help='output file')
+     parser.add_argument('record_size', type=int,
+                         help='record size')
+diff --git a/data/templates/libkkc-data/tools/sortlm.py b/data/templates/libkkc-data/tools/sortlm.py
+index a0dd8fe..40f0837 100644
+--- a/data/templates/libkkc-data/tools/sortlm.py
++++ b/data/templates/libkkc-data/tools/sortlm.py
+@@ -40,10 +40,10 @@ def __init__(self, infile, output_prefix):
+         self.__min_cost = 0.0
+ 
+     def read(self):
+-        print "reading N-grams"
++        print("reading N-grams")
+         self.__read_tries()
+         self.__read_ngrams()
+-        print "min cost = %lf" % self.__min_cost
++        print("min cost = %lf" % self.__min_cost)
+ 
+     def __read_tries(self):
+         while True:
+@@ -58,7 +58,7 @@ def __read_tries(self):
+             line = self.__infile.readline()
+             if line == "":
+                 break
+-            line = line.strip()
++            line = line.strip('\n')
+             if line == "":
+                 break
+             match = self.__ngram_line_regex.match(line)
+@@ -89,7 +89,7 @@ def __read_ngrams(self):
+                 line = self.__infile.readline()
+                 if line == "":
+                     break
+-                line = line.strip()
++                line = line.strip('\n')
+                 if line == "":
+                     break
+                 match = self.__ngram_line_regex.match(line)
+@@ -125,14 +125,11 @@ def __write_ngrams(self):
+         def quantize(cost, min_cost):
+             return max(0, min(65535, int(cost * 65535 / min_cost)))
+ 
+-        def cmp_header(a, b):
+-            return cmp(a[0], b[0])
+-
+-        print "writing 1-gram file"
++        print("writing 1-gram file")
+         unigram_offsets = {}
+         unigram_file = open("%s.1gram" % self.__output_prefix, "wb")
+         offset = 0
+-        for ids, value in sorted(self.__ngram_entries[0].iteritems()):
++        for ids, value in sorted(self.__ngram_entries[0].items()):
+             unigram_offsets[ids[0]] = offset
+             s = struct.pack("=HHH",
+                             quantize(value[0], self.__min_cost),
+@@ -143,13 +140,13 @@ def cmp_header(a, b):
+             offset += 1
+         unigram_file.close()
+ 
+-        print "writing 2-gram file"
++        print("writing 2-gram file")
+         bigram_offsets = {}
+         bigram_file = open("%s.2gram" % self.__output_prefix, "wb")
+         keys = self.__ngram_entries[1].keys()
+         items = [(struct.pack("=LL", ids[1], unigram_offsets[ids[0]]), ids) for ids in keys]
+         offset = 0
+-        for header, ids in sorted(items, cmp=cmp_header):
++        for header, ids in sorted(items, key=lambda x: x[0]):
+             value = self.__ngram_entries[1][ids]
+             bigram_offsets[ids] = offset
+             s = struct.pack("=HH",
+@@ -160,11 +157,11 @@ def cmp_header(a, b):
+         bigram_file.close()
+ 
+         if len(self.__ngram_entries[2]) > 0:
+-            print "writing 3-gram file"
++            print("writing 3-gram file")
+             trigram_file = open("%s.3gram" % self.__output_prefix, "wb")
+             keys = self.__ngram_entries[2].keys()
+             items = [(struct.pack("=LL", ids[2], bigram_offsets[(ids[0], ids[1])]), ids) for ids in keys]
+-            for header, ids in sorted(items, cmp=cmp_header):
++            for header, ids in sorted(items, key=lambda x: x[0]):
+                 value = self.__ngram_entries[2][ids]
+                 s = struct.pack("=H",
+                                 quantize(value[0], self.__min_cost))
diff --git a/srcpkgs/libkkc/template b/srcpkgs/libkkc/template
new file mode 100644
index 000000000000..dc4d76a771ca
--- /dev/null
+++ b/srcpkgs/libkkc/template
@@ -0,0 +1,46 @@
+# Template file for 'libkkc'
+pkgname=libkkc
+version=0.3.5
+revision=1
+build_style=gnu-configure
+build_helper=gir
+configure_args="--disable-static --disable-silent-rules"
+make_build_args="V=1"
+hostmakedepends="pkg-config glib-devel gettext intltool python3-marisa
+ $(vopt_if gir vala)"
+makedepends="libglib-devel libgee08-devel json-glib-devel marisa-devel
+ $(vopt_if gir vala-devel)"
+depends="libkkc-data"
+short_desc="Japanese Kana Kanji conversion input method library"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/ueno/libkkc"
+distfiles="https://github.com/ueno/libkkc/releases/download/v${version}/libkkc-${version}.tar.gz"
+checksum=89b07b042dae5726d306aaa1296d1695cb75c4516f4b4879bc3781fe52f62aef
+patch_args=-Np1
+python_version=3
+
+build_options="gir"
+build_options_default="gir"
+
+libkkc-utils_package() {
+	short_desc+=" - utils"
+	pkg_install() {
+		vmove usr/bin
+		vmove usr/share/locale
+	}
+}
+
+libkkc-devel_package() {
+	depends="${sourcepkg}>=${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/*.so"
+		vmove usr/share/libkkc/templates
+		if [ "$build_option_gir" ]; then
+			vmove usr/share/gir-1.0
+			vmove usr/share/vala
+		fi
+	}
+}

From cac5d464247fb6459fd3528839ea77c9092dc2dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Wed, 31 Mar 2021 22:28:30 +0700
Subject: [PATCH 27/29] New package: skkdic-20210106

---
 srcpkgs/skkdic-extra                         |  1 +
 srcpkgs/skkdic/patches/010_assoc.patch       | 24 +++++++++++
 srcpkgs/skkdic/patches/dump-dict-lists.patch | 12 ++++++
 srcpkgs/skkdic/template                      | 45 ++++++++++++++++++++
 4 files changed, 82 insertions(+)
 create mode 120000 srcpkgs/skkdic-extra
 create mode 100644 srcpkgs/skkdic/patches/010_assoc.patch
 create mode 100644 srcpkgs/skkdic/patches/dump-dict-lists.patch
 create mode 100644 srcpkgs/skkdic/template

diff --git a/srcpkgs/skkdic-extra b/srcpkgs/skkdic-extra
new file mode 120000
index 000000000000..eb0ad40ae696
--- /dev/null
+++ b/srcpkgs/skkdic-extra
@@ -0,0 +1 @@
+skkdic
\ No newline at end of file
diff --git a/srcpkgs/skkdic/patches/010_assoc.patch b/srcpkgs/skkdic/patches/010_assoc.patch
new file mode 100644
index 000000000000..14ea32e8f534
--- /dev/null
+++ b/srcpkgs/skkdic/patches/010_assoc.patch
@@ -0,0 +1,24 @@
+Subject: assoc: fix incorrect words
+Origin: upstream, https://github.com/skk-dev/dict/commit/fcd7503d041b344014c226da078ccd14f8081233
+Bug: https://github.com/skk-dev/dict/pull/26
+
+--- a/SKK-JISYO.assoc
++++ b/SKK-JISYO.assoc
+@@ -573,7 +573,7 @@ $ /
+ 12¤­¤å¤¦ /½½ÆóµÜ/ÇòÍӵܡ¦¶âµíµÜ¡¦ÁлùµÜ¡¦µð³ªµÜ¡¦»â»ÒµÜ¡¦½è½÷µÜ¡¦Å·ÇéµÜ¡¦Å·éùµÜ¡¦¿ÍÇϵܡ¦Ëá滵ܡ¦ÊõÉӵܡ¦ÁеûµÜ/¤ª¤Ò¤Ä¤¸ºÂ¡¦¤ª¤¦¤·ºÂ¡¦¤Õ¤¿¤´ºÂ¡¦¤«¤ËºÂ¡¦¤·¤·ºÂ¡¦¤ª¤È¤áºÂ¡¦¤Æ¤ó¤Ó¤óºÂ¡¦¤µ¤½¤êºÂ¡¦¤¤¤ÆºÂ¡¦¤ä¤®ºÂ¡¦¤ß¤º¤¬¤áºÂ¡¦¤¦¤ªºÂ/
+ 12¤· /½½Æó»Ù/»Ò±¯ÆÒ±¬Ã¤Ì¦¸á̤¿½ÆÓØü°ç/
+ 13 /XIII;[¥í¡¼¥Þ¿ô»ú]/
+-14 /XVI;[¥í¡¼¥Þ¿ô»ú]/
++14 /XIV;[¥í¡¼¥Þ¿ô»ú]/
+ 15 /XV;[¥í¡¼¥Þ¿ô»ú]/
+ 16 /XVI;[¥í¡¼¥Þ¿ô»ú]/
+ 17 /XVII;[¥í¡¼¥Þ¿ô»ú]/
+@@ -593,7 +593,7 @@ $ /
+ 22 /XXII;[¥í¡¼¥Þ¿ô»ú]/
+ 226 /IM Used;[HTTP]/
+ 23 /XXIII;[¥í¡¼¥Þ¿ô»ú]/
+-24 /XXVI;[¥í¡¼¥Þ¿ô»ú]/
++24 /XXIV;[¥í¡¼¥Þ¿ô»ú]/
+ 24¤»¤Ã¤­ /Æó½½»ÍÀᵤ/¾®´¨¡¦Âç´¨¡¦Î©½Õ¡¦±«¿å¡¦·¼ê¯¡¦½Õʬ¡¦À¶ÌÀ¡¦¹ò±«¡¦Î©²Æ¡¦¾®Ëþ¡¦çê¼ï¡¦²Æ»ê¡¦¾®½ë¡¦Âç½ë¡¦Î©½©¡¦½è½ë¡¦ÇòϪ¡¦½©Ê¬¡¦´¨Ïª¡¦Áú¹ß¡¦Î©Åß¡¦¾®À㡦ÂçÀ㡦Åß»ê/
+ 25 /XXV;[¥í¡¼¥Þ¿ô»ú]/
+ 26 /XXVI;[¥í¡¼¥Þ¿ô»ú]/
diff --git a/srcpkgs/skkdic/patches/dump-dict-lists.patch b/srcpkgs/skkdic/patches/dump-dict-lists.patch
new file mode 100644
index 000000000000..c9d436218f2a
--- /dev/null
+++ b/srcpkgs/skkdic/patches/dump-dict-lists.patch
@@ -0,0 +1,12 @@
+Index: skk-dev-dict-7497806/Makefile
+===================================================================
+--- skk-dev-dict-7497806.orig/Makefile
++++ skk-dev-dict-7497806/Makefile
+@@ -231,4 +231,7 @@ IVD_Sequences.txt:
+ IVD_Collections.txt:
+ 	test -f IVD_Collections.txt || $(CURL) -o IVD_Collections.txt https://unicode.org/ivd/data/2017-12-12/IVD_Collections.txt
+ 
++xbps-list:
++	@echo $(SRCS)
++
+ # end of Makefile.
diff --git a/srcpkgs/skkdic/template b/srcpkgs/skkdic/template
new file mode 100644
index 000000000000..29089715e23b
--- /dev/null
+++ b/srcpkgs/skkdic/template
@@ -0,0 +1,45 @@
+# Template file for 'skkdic'
+pkgname=skkdic
+version=20210106
+revision=1
+create_wrksrc=yes
+short_desc="SKK dictionaries"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-2.0-or-later"
+homepage="http://openlab.ring.gr.jp/skk/dic.html"
+distfiles="${DEBIAN_SITE}/main/s/skkdic/skkdic_${version}.orig.tar.gz"
+checksum=625aef9ce0294e2ca8efcff3241bda9aa5103d2e387049b67de144c916556c73
+patch_args=-Np1
+
+do_extract() {
+	local _pkgver=${pkgname}-${version}
+	bsdtar --strip-components=1 \
+		-xf ${XBPS_SRCDISTDIR}/${_pkgver}/skkdic_${version}.orig.tar.gz
+}
+
+post_patch() {
+	_filelist="$(grep -El 'coding: euc-(jp|jis-2004)' $(make xbps-list))"
+	for _file in $_filelist
+	do
+		iconv -f euc-jp -t utf-8 "$_file" >"xbps-${_file}"
+		sed -E 's/coding: euc-(jp|jis-2004)/coding: utf-8/' \
+			"xbps-${_file}" >"${_file}"
+	done
+}
+
+
+do_install() {
+	vinstall SKK-JISYO.L 644 usr/share/skk
+}
+
+skkdic-extra_package() {
+	short_desc+=" - extra"
+	pkg_install() {
+		for _file in $(make xbps-list)
+		do
+			if [ "$_file" != SKK-JISYO.L ]; then
+				vinstall "$_file" 644 usr/share/skk
+			fi
+		done
+	}
+}

From f9a822f2fb92b56ed4c658d5f97b87ae048e5788 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Wed, 31 Mar 2021 23:02:28 +0700
Subject: [PATCH 28/29] New package: fcitx5-skk-5.0.5

---
 srcpkgs/fcitx5-skk-config   |  1 +
 srcpkgs/fcitx5-skk/template | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+)
 create mode 120000 srcpkgs/fcitx5-skk-config
 create mode 100644 srcpkgs/fcitx5-skk/template

diff --git a/srcpkgs/fcitx5-skk-config b/srcpkgs/fcitx5-skk-config
new file mode 120000
index 000000000000..aafbfd729aa8
--- /dev/null
+++ b/srcpkgs/fcitx5-skk-config
@@ -0,0 +1 @@
+fcitx5-skk
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-skk/template b/srcpkgs/fcitx5-skk/template
new file mode 100644
index 000000000000..4e857ba795da
--- /dev/null
+++ b/srcpkgs/fcitx5-skk/template
@@ -0,0 +1,24 @@
+# Template file for 'fcitx5-skk'
+pkgname=fcitx5-skk
+version=5.0.5
+revision=1
+build_style=cmake
+hostmakedepends="pkg-config gettext extra-cmake-modules qt5-qmake
+ qt5-host-tools"
+makedepends="libfcitx5-devel fcitx5-gtk-devel fcitx5-qt5-devel
+ libskk-devel libgee08-devel json-glib-devel"
+depends="fcitx5 skkdic"
+short_desc="Fcitx5 - SKK engine"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-3.0-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-skk/fcitx5-skk-${version}.tar.xz"
+checksum=53d60da0386c4f97f5aa094c80f763e39bcb13af30b338c564304cfe657b88cd
+
+fcitx5-skk-config_package() {
+	short_desc+=" - config"
+	depends="fcitx5-skk"
+	pkg_install() {
+		vmove usr/lib/fcitx5/qt5
+	}
+}

From d0d82e85f11077fe9689b59e02c205f66328475c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 30 Mar 2021 22:43:59 +0700
Subject: [PATCH 29/29] New package: fcitx5-kkc-5.0.5

---
 srcpkgs/fcitx5-kkc-config   |  1 +
 srcpkgs/fcitx5-kkc/template | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+)
 create mode 120000 srcpkgs/fcitx5-kkc-config
 create mode 100644 srcpkgs/fcitx5-kkc/template

diff --git a/srcpkgs/fcitx5-kkc-config b/srcpkgs/fcitx5-kkc-config
new file mode 120000
index 000000000000..4686c1fbe9b3
--- /dev/null
+++ b/srcpkgs/fcitx5-kkc-config
@@ -0,0 +1 @@
+fcitx5-kkc
\ No newline at end of file
diff --git a/srcpkgs/fcitx5-kkc/template b/srcpkgs/fcitx5-kkc/template
new file mode 100644
index 000000000000..36750cc55ccb
--- /dev/null
+++ b/srcpkgs/fcitx5-kkc/template
@@ -0,0 +1,24 @@
+# Template file for 'fcitx5-kkc'
+pkgname=fcitx5-kkc
+version=5.0.5
+revision=1
+build_style=cmake
+hostmakedepends="pkg-config gettext extra-cmake-modules qt5-qmake
+ qt5-host-tools"
+makedepends="libfcitx5-devel fcitx5-gtk-devel fcitx5-qt5-devel
+ libkkc-devel libgee08-devel json-glib-devel"
+depends="fcitx5 skkdic"
+short_desc="Fcitx5 - kkc engine"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-3.0-or-later"
+homepage="https://fcitx-im.org/wiki/Fcitx"
+distfiles="https://download.fcitx-im.org/fcitx5/fcitx5-kkc/fcitx5-kkc-${version}.tar.xz"
+checksum=0e5fc4a8cd3dce8fa3774e6f304013869709aaa7cda9d9420386841e6d850b92
+
+fcitx5-kkc-config_package() {
+	short_desc+=" - config"
+	depends="fcitx5-kkc>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/lib/fcitx5/qt5
+	}
+}

  parent reply	other threads:[~2021-04-01  0:09 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-21 18:04 [PR PATCH] WIP: fcitx5 sgn
2021-03-22 15:38 ` [PR PATCH] [Updated] " sgn
2021-03-22 15:38 ` sgn
2021-03-25 15:36 ` sgn
2021-03-26 11:42 ` sgn
2021-03-26 12:06 ` sgn
2021-03-26 12:07 ` sgn
2021-03-26 12:11 ` [PR PATCH] [Updated] " sgn
2021-03-26 12:15 ` sgn
2021-03-26 12:15 ` sgn
2021-03-26 13:59 ` [PR PATCH] [Updated] fcitx5 sgn
2021-03-26 15:11 ` sgn
2021-03-26 15:47 ` fcitx5 sgn
2021-03-27 20:18 ` fcitx5 noarchwastaken
2021-03-27 21:54 ` fcitx5 noarchwastaken
2021-03-27 22:05 ` fcitx5 noarchwastaken
2021-03-28  0:40 ` fcitx5 sgn
2021-03-28 16:27 ` fcitx5 noarchwastaken
2021-03-28 16:28 ` fcitx5 noarchwastaken
2021-03-28 17:00 ` fcitx5 noarchwastaken
2021-03-29  1:08 ` fcitx5 noarchwastaken
2021-03-30 15:44 ` [PR PATCH] [Updated] fcitx5 sgn
2021-03-30 15:46 ` sgn
2021-03-30 15:48 ` sgn
2021-03-31  0:40 ` sgn
2021-03-31 16:18 ` sgn
2021-04-01  0:09 ` sgn [this message]
2021-04-06 20:45 ` fcitx5 noarchwastaken
2021-04-07  0:11 ` fcitx5 sgn
2021-04-08  0:13 ` [PR PATCH] [Updated] fcitx5 sgn
2021-04-08 15:19 ` sgn
2021-04-08 21:44 ` fcitx5 noarchwastaken
2021-04-08 23:04 ` fcitx5 sgn
2021-04-18 23:58 ` [PR PATCH] [Updated] fcitx5 sgn
2021-04-21  3:02 ` sgn
2021-04-21  3:03 ` sgn
2021-04-21  9:20 ` [PR PATCH] [Merged]: fcitx5 sgn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210401000904.JCMgQdR1zZjV_L3_DXDQsqcvF_OP9K-Cabk67DKbln8@z \
    --to=sgn@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).