net-im/wemeet: add 3.19.2.400

only support amd64, feel free to add other ARCH

Signed-off-by: Yixun Lan <dlan@gentoo.org>
This commit is contained in:
Yixun Lan 2024-08-29 14:26:18 +00:00
parent 2a02260630
commit 8a16e7cc20
2 changed files with 152 additions and 0 deletions

View File

@ -3,3 +3,4 @@ DIST wemeet-3.19.1.400_arm64.deb 145309964 BLAKE2B f073543b3c9ef27504a2ac27ae578
DIST wemeet-3.19.1.400_loongarch64.deb 136599460 BLAKE2B 8a7e82d857aca00fe04938912f513221dac6816213751563b78b80997721c8bd20520be782cf44f802818f6f3dc62de214887c2e73cecb748b509ae37f192350 SHA512 70c0ff0d4bed129cb1b825f17064e8740cdc87578e12d63e945552640d4837bc876da55be5cc0dfe94efe3c37d514ba6575edee42bffb94855a567e163d8428d
DIST wemeet-3.19.1.401_arm64.deb 144209660 BLAKE2B 99f54e392b8b980d00d938653fa36fa763f2f0053d562301b52a865cd3f68492944c0d637a156267761ba8232f1afeed544964bd3f68e4daa5f6804a82306c6b SHA512 d84bb40617edf1a97d0fd3b6674df050d62c7ce19e8aff1230a42d47d1887ca641aec20d732fc1bbdecc233781db0be0c9ce8a412fdb68d28eec59d09228f638
DIST wemeet-3.19.1.401_loongarch64.deb 135845236 BLAKE2B cf46cac208e1204b19dfad0dcde3ce86ac941b88153a067687de8c46c185d32ad4c5dc3fde249f81e3925b0b2282709e64b870cbaeef9ff0fdf298d96fa5518a SHA512 e90dd876be5c2f217c543f3e4c0f149cb43e96d8de968a8dfffb55af6959bb1fc5f307dececf32abdb9b24fff4e90660be5031bdba96d7cae00df74d75a3e725
DIST wemeet-3.19.2.400_amd64.deb 161224156 BLAKE2B 26a9e001ccf28c789d0e6aeab25fc1a342b61d2cb5d2bb7920d00471565ee81ebcf72da3b08c7413744402088234c4fbdf2fba027578f28fbb50c25a45646194 SHA512 175a92d412ee3359f93ad84e9344d4317f04e396e40586cfa1f3a7798adbe69e3f2991a5af5163cd99fbb3ad1b3e6e7c5b016d17d022f86b7c3f54a1274b8238

View File

@ -0,0 +1,151 @@
# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop unpacker xdg
DESCRIPTION="Wemeet - Tencent Video Conferencing"
HOMEPAGE="https://wemeet.qq.com"
SRC_URI="
amd64? ( https://updatecdn.meeting.qq.com/cos/\
fb7464ffb18b94a06868265bed984007/TencentMeeting_0300000000_3.19.2.400_x86_64_default.publish.officialwebsite.deb -> ${P}_amd64.deb )
"
S="${WORKDIR}"
LICENSE="wemeet_license"
SLOT="0"
KEYWORDS="-* ~amd64"
RESTRICT="bindist test mirror"
# ~loong TODO:
#
# * qtwebengine sandbox crashes on statx (may have to somehow port qtwebengine:5)
# * provide libcurl-gnutls.so.4 compat symlink
RDEPEND="
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
dev-libs/wayland
media-libs/alsa-lib
media-libs/fontconfig
media-libs/freetype
media-libs/harfbuzz
media-libs/libglvnd
media-libs/libpulse
sys-apps/dbus
sys-libs/zlib
virtual/udev
x11-libs/libdrm
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXinerama
x11-libs/libxkbcommon
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libXtst
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-renderutil
x11-libs/xcb-util-wm
loong? (
net-misc/curl[gnutls]
virtual/loong-ow-compat
)
"
BDEPEND="dev-util/patchelf"
QA_PREBUILT="opt/${PN}/*"
src_prepare() {
local f
einfo "Unbundling libraries"
pushd opt/${PN}/lib > /dev/null
for f in lib*; do
case "${f#lib}" in
desktop*|ImSDK*|nxui*|qt*|service_manager*|tms*|ui*|wemeet*|xcast*|xnn*|yuv*|TencentSM*)
# keep components of $PN itself
continue
;;
icu*|jpeg.so.8*)
# * the bundled icu ABI is too old (soname is 60) for us to source
# from system
# * jpeg-compat is not packaged in ::gentoo (it is in ::steam-overlay
# but we shouldn't force users to pull in other overlays anyway)
continue
;;
Qt5*)
# we have to keep the entirety of Qt, because of an alarming error
# seen with libQt5Widgets.so.5 unbundled:
#
# /opt/wemeet/bin/wemeetapp: symbol lookup error: /opt/wemeet/lib/libwemeet_framework.so: undefined symbol: _ZN7QWidget11eventFilterEP7QObjectP6QEvent, version Qt_5
#
# which means the Qt ABI is different in the Tencent build env than
# ours, and that it is unsafe for us to swap the libraries.
continue
;;
esac
einfo " $f"
rm "$f" || die
done
popd > /dev/null
einfo "Unbundling plugins to fix libqxcb-glx-integration SIGSEGV"
rm -r opt/wemeet/plugins/xcbglintegrations || die
default
}
src_install() {
# Fix RPATHs to ensure the libraries can be found
for f in $(find "opt/${PN}/bin" "opt/${PN}/plugins") ; do
[[ -f ${f} && $(od -t x1 -N 4 "${f}") == *"7f 45 4c 46"* ]] || continue
patchelf --set-rpath "/opt/${PN}/lib" ${f} || die "patchelf failed on ${f}"
done
for f in $(find "opt/${PN}/lib") ; do
[[ -f ${f} && $(od -t x1 -N 4 "${f}") == *"7f 45 4c 46"* ]] || continue
patchelf --set-rpath '$ORIGIN' ${f} || die "patchelf failed on ${f}"
done
insinto "/opt/${PN}"
exeinto "/opt/${PN}"
doins -r opt/"${PN}"/*
# Force X11
# If wayland is used, wemeet will just die:
# /opt/wemeet/bin/wemeetapp: symbol lookup error:
# /usr/lib64/libwayland-cursor.so.0: undefined symbol: wl_proxy_marshal_flags
# tested with 2.8.0.3 and dev-libs/wayland-1.20.0
newexe "${FILESDIR}/wemeetapp-1.sh" wemeetapp.sh
fperms +x "/opt/${PN}/bin/wemeetapp"
fperms +x "/opt/${PN}/bin/QtWebEngineProcess"
# put launcher into PATH
dosym "../../opt/${PN}/wemeetapp.sh" /usr/bin/wemeetapp
sed -i "s/^Icon=.*/Icon=wemeetapp/g" "usr/share/applications/wemeetapp.desktop" || die
sed -i "s/^Exec=.*/Exec=wemeetapp %u/g" "usr/share/applications/wemeetapp.desktop" || die
sed -i -e '$a Comment=Tencent Meeting Linux Client\n\' \
-e 'Comment[zh_CN]=腾讯会议Linux客户端\n\' \
-e 'Keywords=wemeet;tencent;meeting;\n' \
"usr/share/applications/wemeetapp.desktop" || die
domenu "usr/share/applications/wemeetapp.desktop"
newicon -s scalable "opt/${PN}/wemeet.svg" "wemeetapp.svg"
for i in 16 32 64 128 256; do
png_file="opt/${PN}/icons/hicolor/${i}x${i}/mimetypes/wemeetapp.png"
if [ -e "${png_file}" ]; then
newicon -s "${i}" -c mimetypes "${png_file}" "wemeetapp.png"
fi
done
}