Install this version:
emerge -a =app-i18n/fcitx5-vinput-2.3.2
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =app-i18n/fcitx5-vinput-2.3.2
Or alternatively:
emerge --autounmask-write -a =app-i18n/fcitx5-vinput-2.3.2
# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake xdg
# Prebuilt sherpa-onnx runtime shared libraries bundled by upstream. The
# project links against these and installs them privately under
# /usr/lib*/fcitx5-vinput. Keep in sync with scripts/sherpa-onnx-vars.sh.
SHERPA_PV=1.13.3
DESCRIPTION="Voice input addon for Fcitx5 with local sherpa-onnx ASR and LLM postprocess"
HOMEPAGE="https://github.com/xifan2333/fcitx5-vinput"
SRC_URI="
https://github.com/xifan2333/fcitx5-vinput/archive/v${PV}/${P}.tar.gz
amd64? ( https://github.com/k2-fsa/sherpa-onnx/releases/download/v${SHERPA_PV}/sherpa-onnx-v${SHERPA_PV}-linux-x64-shared-no-tts.tar.bz2 )
arm64? ( https://github.com/k2-fsa/sherpa-onnx/releases/download/v${SHERPA_PV}/sherpa-onnx-v${SHERPA_PV}-linux-aarch64-shared-cpu.tar.bz2 )
"
# fcitx5-vinput: GPL-3; bundled sherpa-onnx: Apache-2.0; bundled onnxruntime
# and the silero VAD model (data/vad/silero_vad.onnx): MIT.
LICENSE="GPL-3 Apache-2.0 MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="systemd"
# Bundled prebuilt sherpa-onnx/onnxruntime shared libraries.
QA_PREBUILT="usr/lib*/fcitx5-vinput/*"
RESTRICT="strip"
# The daemon needs sd-bus. Build it against libsystemd on systemd systems
# and elogind's libelogind everywhere else, so the addon stays installable
# on OpenRC profiles too.
COMMON_DEPEND="
app-arch/libarchive:=
app-i18n/fcitx:5
dev-libs/openssl:=
dev-qt/qtbase:6[gui,network,widgets]
media-video/pipewire
net-misc/curl
systemd? ( sys-apps/systemd:= )
!systemd? ( sys-auth/elogind:= )
"
RDEPEND="${COMMON_DEPEND}"
DEPEND="
${COMMON_DEPEND}
dev-cpp/cli11
dev-cpp/nlohmann_json
"
BDEPEND="
dev-qt/qttools:6[linguist]
sys-devel/gettext
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${P}-sdbus-provider.patch
)
src_configure() {
local sherpa_dir
if use amd64; then
sherpa_dir="${WORKDIR}/sherpa-onnx-v${SHERPA_PV}-linux-x64-shared-no-tts"
elif use arm64; then
sherpa_dir="${WORKDIR}/sherpa-onnx-v${SHERPA_PV}-linux-aarch64-shared-cpu"
fi
# Without a systemd profile, build sd-bus against libelogind instead.
local sdbus_provider=libelogind
use systemd && sdbus_provider=libsystemd
local mycmakeargs=(
-DVINPUT_PROJECT_VERSION="${PV}"
-DVINPUT_PACKAGE_RELEASE="1"
-DVINPUT_PACKAGE_HOMEPAGE_URL="${HOMEPAGE}"
-DVINPUT_RUNTIME_MODE="bundled"
-DVINPUT_FETCH_CLI11="OFF"
-DVINPUT_SDBUS_PROVIDER="${sdbus_provider}"
-DCMAKE_PREFIX_PATH="${sherpa_dir}"
)
cmake_src_configure
}
Manage flags for this package:
euse -i <flag> -p app-i18n/fcitx5-vinput |
euse -E <flag> -p app-i18n/fcitx5-vinput |
euse -D <flag> -p app-i18n/fcitx5-vinput
app-arch/libarchive:= app-i18n/fcitx:5 dev-libs/openssl:= dev-qt/qtbase:6[gui,network,widgets] media-video/pipewire net-misc/curl systemd? ( sys-apps/systemd:= ) !systemd? ( sys-auth/elogind:= ) dev-cpp/cli11 dev-cpp/nlohmann_json
app-arch/libarchive:= app-i18n/fcitx:5 dev-libs/openssl:= dev-qt/qtbase:6[gui,network,widgets] media-video/pipewire net-misc/curl systemd? ( sys-apps/systemd:= ) !systemd? ( sys-auth/elogind:= )
dev-qt/qttools:6[linguist] sys-devel/gettext virtual/pkgconfig