Install this version:
emerge -a =net-im/wechat-4.1.1.8-r3
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =net-im/wechat-4.1.1.8-r3
Or alternatively:
emerge --autounmask-write -a =net-im/wechat-4.1.1.8-r3
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 4.1.1.8-r3 | 8 | -* ~amd64 | 0 |
# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit unpacker desktop xdg
DESCRIPTION="Weixin for Linux"
HOMEPAGE="https://linux.weixin.qq.com"
SRC_URI="https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_x86_64.deb -> wechat-${PV}_x86_64.deb"
S=${WORKDIR}
LICENSE="all-rights-reserved"
SLOT="0"
KEYWORDS="-* ~amd64"
IUSE="bwrap +fcitx ibus"
REQUIRED_USE="^^ ( fcitx ibus )"
RESTRICT="strip mirror bindist"
BDEPEND="
dev-util/patchelf
"
RDEPEND="
app-accessibility/at-spi2-core
virtual/krb5
dev-libs/nss
media-libs/libpulse
media-libs/mesa
net-print/cups
virtual/jack
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libxkbcommon[X]
x11-libs/libXrandr
x11-libs/pango
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-renderutil
x11-libs/xcb-util-wm
bwrap? (
sys-apps/bubblewrap
x11-misc/xdg-utils
)
"
QA_PREBUILT="*"
src_prepare() {
default
# add any QA scanelf alert files here.
local so_files=(
"RadiumWMPF/runtime/libilink2.so"
"RadiumWMPF/runtime/libilink_network.so"
"libilink2.so"
"libilink_network.so"
"libconfService.so"
"libvoipChannel.so"
"libvoipCodec.so"
)
for file in "${so_files[@]}"; do
patchelf --set-rpath '$ORIGIN' "opt/wechat/${file}" || die
done
}
src_install() {
insinto /opt/wechat
doins -r opt/wechat/* || die
# doins doesn't set +x on executables
exeinto /opt/wechat
doexe opt/wechat/wechat opt/wechat/wxutility opt/wechat/wxplayer \
opt/wechat/wxocr opt/wechat/crashpad_handler
exeinto /opt/wechat/RadiumWMPF/runtime
doexe opt/wechat/RadiumWMPF/runtime/WeChatAppEx \
opt/wechat/RadiumWMPF/runtime/crashpad_handler
if use bwrap; then
newbin "${FILESDIR}/bwrap.sh" wechat
exeinto /opt/wechat
doexe "${FILESDIR}/xdg-open.sh"
else
newbin "${FILESDIR}/wechat.sh" wechat
fi
local ime_envs=""
if use fcitx; then
ime_envs=" XMODIFIERS=\"@im=fcitx\" GTK_IM_MODULE=\"fcitx\" QT_IM_MODULE=\"${QT_IM_MODULE:-fcitx}\""
elif use ibus; then
ime_envs=" XMODIFIERS=\"@im=ibus\" GTK_IM_MODULE=\"ibus\" QT_IM_MODULE=\"ibus\""
fi
local exec_cmd="Exec=env QT_AUTO_SCREEN_SCALE_FACTOR=1 QT_QPA_PLATFORM=\"wayland;xcb\""
exec_cmd+="${ime_envs}"
exec_cmd+=" /usr/bin/wechat %U"
sed -i \
-e "s|^Icon=.*|Icon=wechat|" \
-e "s|^Categories=.*|Categories=Network;InstantMessaging;Chat;|" \
-e "s|^Exec=.*|${exec_cmd}|" \
usr/share/applications/wechat.desktop || die
domenu usr/share/applications/wechat.desktop
for size in 16 32 48 64 128 256; do
doicon -s "${size}" usr/share/icons/hicolor/"${size}"x"${size}"/apps/wechat.png
done
}
pkg_postinst() {
xdg_pkg_postinst
elog "Input method defaults to fcitx. Use USE=-fcitx ibus for ibus,"
elog "or USE=-fcitx to disable IME variables entirely."
if use bwrap; then
elog "Enabled Bubblewrap support."
elog "WeChat can only access its own sandbox home and XDG Downloads directory by default."
elog "To send files, put them under your XDG Downloads directory first, then drag"
elog "them into WeChat or select them from WeChat's file chooser."
elog "Advanced users can extend the sandbox using ~/.config/wechat-bwrap-flags.conf."
fi
}
Manage flags for this package:
euse -i <flag> -p net-im/wechat |
euse -E <flag> -p net-im/wechat |
euse -D <flag> -p net-im/wechat
app-accessibility/at-spi2-core virtual/krb5 dev-libs/nss media-libs/libpulse media-libs/mesa net-print/cups virtual/jack x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libxkbcommon[X] x11-libs/libXrandr x11-libs/pango x11-libs/xcb-util-image x11-libs/xcb-util-keysyms x11-libs/xcb-util-renderutil x11-libs/xcb-util-wm bwrap? ( sys-apps/bubblewrap x11-misc/xdg-utils )
dev-util/patchelf