diff options
author | Denis Lisov <dennis.lissov@gmail.com> | 2019-04-09 00:27:09 +0300 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2019-04-30 18:49:35 +0200 |
commit | 378f1d8be411fc8f8a6dba202813c8f565a9dca0 (patch) | |
tree | f9b6c1c1874739a0f22cefe756ddccbbbe9acf87 /media-sound/teamspeak-client/teamspeak-client-3.2.3-r2.ebuild | |
parent | media-sound/umurmur: Fixed build with USE="libressl" (diff) | |
download | gentoo-378f1d8be411fc8f8a6dba202813c8f565a9dca0.tar.gz gentoo-378f1d8be411fc8f8a6dba202813c8f565a9dca0.tar.bz2 gentoo-378f1d8be411fc8f8a6dba202813c8f565a9dca0.zip |
media-sound/teamspeak-client: add workaround for Qt 5.12
QtWebEngine versions before 5.12 used to reexport a few symbols like
calloc with version Qt_5 that were exported by mistake once. These are
no longer exported in 5.12 (probably a Qt bug), and teamspeak-client
does not officially support it (only the bundled QtWebEngine 5.6.1 is
supported).
Add a `overrides.so` shared library that reexports them by taking this
code from Qt under (L)GPL and preload it using LD_PRELOAD to make the
symbols available.
Closes: https://bugs.gentoo.org/675874
Signed-off-by: Denis Lisov <dennis.lissov@gmail.com>
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'media-sound/teamspeak-client/teamspeak-client-3.2.3-r2.ebuild')
-rw-r--r-- | media-sound/teamspeak-client/teamspeak-client-3.2.3-r2.ebuild | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/media-sound/teamspeak-client/teamspeak-client-3.2.3-r2.ebuild b/media-sound/teamspeak-client/teamspeak-client-3.2.3-r2.ebuild new file mode 100644 index 000000000000..17758f24d50c --- /dev/null +++ b/media-sound/teamspeak-client/teamspeak-client-3.2.3-r2.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit desktop toolchain-funcs unpacker xdg-utils + +MY_PV="${PV/_/-}" + +DESCRIPTION="A client software for quality voice communication via the internet" +HOMEPAGE="https://www.teamspeak.com/" +SRC_URI="amd64? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/TeamSpeak3-Client-linux_amd64-${MY_PV}.run ) + x86? ( http://ftp.4players.de/pub/hosted/ts3/releases/${PV}/TeamSpeak3-Client-linux_x86-${MY_PV}.run )" + +KEYWORDS="-* ~amd64 ~x86" +LICENSE="teamspeak3 || ( GPL-2 GPL-3 LGPL-3 )" +SLOT="0" +IUSE="alsa pulseaudio" +REQUIRED_USE="|| ( alsa pulseaudio )" + +RDEPEND=" + app-arch/snappy:0/1 + =dev-libs/openssl-1.0*:* + dev-libs/quazip + dev-qt/qtcore:5 + dev-qt/qtgui:5[accessibility,dbus,xcb] + dev-qt/qtnetwork:5 + dev-qt/qtsql:5[sqlite] + dev-qt/qtsvg:5 + dev-qt/qtwebchannel:5 + dev-qt/qtwebengine:5[geolocation,widgets] + dev-qt/qtwidgets:5 + net-libs/libsrtp:0 + sys-libs/libcxx[libcxxabi] + sys-libs/zlib:0/1 + virtual/udev + alsa? ( media-libs/alsa-lib ) + pulseaudio? ( media-sound/pulseaudio ) +" + +RESTRICT="mirror" + +S="${WORKDIR}" + +QA_PREBUILT=" + opt/teamspeak3-client/error_report + opt/teamspeak3-client/package_inst + opt/teamspeak3-client/soundbackends/libalsa_linux_*.so + opt/teamspeak3-client/soundbackends/libpulseaudio_linux_*.so + opt/teamspeak3-client/ts3client + opt/teamspeak3-client/update +" + +PATCHES=( + "${FILESDIR}/${P}-qt-5.12-symbol-reexports.patch" +) + +src_prepare() { + default + + if ! use alsa; then + rm -f soundbackends/libalsa_linux_*.so || die + fi + if ! use pulseaudio ; then + rm -f soundbackends/libpulseaudio_linux_*.so || die + fi + + mv ts3client_linux_* ts3client || die + + tc-export CXX +} + +src_install() { + exeinto /opt/teamspeak3-client + doexe error_report package_inst ts3client update overrides.so + newexe "${FILESDIR}"/ts3client-bin-r1 ts3client-bin + + exeinto /opt/teamspeak3-client/soundbackends + doexe soundbackends/*.so + + insinto /opt/teamspeak3-client + doins -r gfx html resources sound styles translations + + dosym ../../usr/$(get_libdir)/qt5/libexec/QtWebEngineProcess /opt/teamspeak3-client/QtWebEngineProcess + + dodir /opt/bin + dosym ../teamspeak3-client/ts3client-bin /opt/bin/ts3client + + make_desktop_entry /opt/bin/ts3client "Teamspeak 3 Client" /opt/teamspeak3-client/styles/default/logo-128x128.png "Audio;AudioVideo;Network" + + einstalldocs +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_mimeinfo_database_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_mimeinfo_database_update +} |