summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Lisov <dennis.lissov@gmail.com>2019-04-09 00:27:09 +0300
committerMichał Górny <mgorny@gentoo.org>2019-04-30 18:49:35 +0200
commit378f1d8be411fc8f8a6dba202813c8f565a9dca0 (patch)
treef9b6c1c1874739a0f22cefe756ddccbbbe9acf87 /media-sound/teamspeak-client/teamspeak-client-3.2.3-r2.ebuild
parentmedia-sound/umurmur: Fixed build with USE="libressl" (diff)
downloadgentoo-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.ebuild102
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
+}