diff options
author | Conrad Kostecki <conikost@gentoo.org> | 2020-11-26 22:14:31 +0100 |
---|---|---|
committer | Conrad Kostecki <conikost@gentoo.org> | 2020-11-26 22:16:50 +0100 |
commit | a1ea0e2cdcca239c482e788f80091e2322dbece6 (patch) | |
tree | 45c5f90787af0202b375762a74445ca0b713ed3d /media-sound/teamspeak-client | |
parent | games-misc/opengfx: drop old versions (diff) | |
download | gentoo-a1ea0e2cdcca239c482e788f80091e2322dbece6.tar.gz gentoo-a1ea0e2cdcca239c482e788f80091e2322dbece6.tar.bz2 gentoo-a1ea0e2cdcca239c482e788f80091e2322dbece6.zip |
media-sound/teamspeak-client: add 'system-libcxx' use flag
There are users, where using systems libs of sys-libs/libcxx makes
media-sound/teamspeak-client segfaulting upon connecting to a server.
So, as for default, the ebuild will now install the shipped libs
instead. Since there are systems out there, where it does not segfault,
adding a choice selection via use flag.
Closes: https://bugs.gentoo.org/756148
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'media-sound/teamspeak-client')
3 files changed, 237 insertions, 0 deletions
diff --git a/media-sound/teamspeak-client/metadata.xml b/media-sound/teamspeak-client/metadata.xml index f16b483f34b4..80b2e8647557 100644 --- a/media-sound/teamspeak-client/metadata.xml +++ b/media-sound/teamspeak-client/metadata.xml @@ -12,4 +12,7 @@ The client software connects to a TeamSpeak server of the user's choice, from which the user may join chat channels. </longdescription> + <use> + <flag name="system-libcxx">Use <pkg>sys-libs/libcxx</pkg> instead of shipped libs.</flag> + </use> </pkgmetadata> diff --git a/media-sound/teamspeak-client/teamspeak-client-3.5.3-r1.ebuild b/media-sound/teamspeak-client/teamspeak-client-3.5.3-r1.ebuild new file mode 100644 index 000000000000..7a9b41fc5fc1 --- /dev/null +++ b/media-sound/teamspeak-client/teamspeak-client-3.5.3-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2020 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? ( https://files.teamspeak-services.com/releases/client/${PV}/TeamSpeak3-Client-linux_amd64-${MY_PV}.run ) + x86? ( https://files.teamspeak-services.com/releases/client/${PV}/TeamSpeak3-Client-linux_x86-${MY_PV}.run ) +" + +KEYWORDS="-* amd64 x86" +LICENSE="teamspeak3 || ( GPL-2 GPL-3 LGPL-3 )" +SLOT="3" +IUSE="+alsa pulseaudio system-libcxx" +REQUIRED_USE="|| ( alsa pulseaudio )" + +BDEPEND=">=dev-util/patchelf-0.10" + +RDEPEND=" + app-arch/snappy:0/1 + dev-libs/openssl:0 + dev-libs/quazip + dev-qt/qtcore:5 + || ( + dev-qt/qtgui:5[accessibility,dbus,X(-)] + 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/qtwebsockets:5 + dev-qt/qtwidgets:5 + net-libs/libsrtp:0 + sys-libs/zlib:0/1 + virtual/udev + alsa? ( media-libs/alsa-lib ) + pulseaudio? ( media-sound/pulseaudio ) + system-libcxx? ( sys-libs/libcxx[libcxxabi] ) +" + +RESTRICT="bindist mirror" + +S="${WORKDIR}" + +QA_PREBUILT=" + opt/teamspeak3-client/libc++.so.1 + opt/teamspeak3-client/libc++abi.so.1 + 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 +" + +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 + + # Fixes QA Notice: Unresolved soname dependencies. + # Since this is a binary only package, it must be patched. + local soname_files=( "error_report" "ts3client" ) + for soname_file in ${soname_files[@]}; do + patchelf --replace-needed libquazip.so libquazip5.so.1 "${soname_file}" || die + done + + tc-export CXX +} + +src_install() { + exeinto /opt/teamspeak3-client + doexe error_report package_inst ts3client update + newexe "${FILESDIR}"/ts3client-bin-r2 ts3client-bin + ! use system-libcxx && doexe libc++{,abi}.so.1 + + 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 +} diff --git a/media-sound/teamspeak-client/teamspeak-client-3.5.6-r1.ebuild b/media-sound/teamspeak-client/teamspeak-client-3.5.6-r1.ebuild new file mode 100644 index 000000000000..f85207cfb1aa --- /dev/null +++ b/media-sound/teamspeak-client/teamspeak-client-3.5.6-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2020 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? ( https://files.teamspeak-services.com/releases/client/${PV}/TeamSpeak3-Client-linux_amd64-${MY_PV}.run ) + x86? ( https://files.teamspeak-services.com/releases/client/${PV}/TeamSpeak3-Client-linux_x86-${MY_PV}.run ) +" + +KEYWORDS="-* ~amd64 ~x86" +LICENSE="teamspeak3 || ( GPL-2 GPL-3 LGPL-3 )" +SLOT="3" +IUSE="+alsa pulseaudio system-libcxx" +REQUIRED_USE="|| ( alsa pulseaudio )" + +BDEPEND=">=dev-util/patchelf-0.10" + +RDEPEND=" + app-arch/snappy:0/1 + dev-libs/openssl:0 + dev-libs/quazip + dev-qt/qtcore:5 + || ( + dev-qt/qtgui:5[accessibility,dbus,X(-)] + 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/qtwebsockets:5 + dev-qt/qtwidgets:5 + net-libs/libsrtp:0 + sys-libs/zlib:0/1 + virtual/udev + alsa? ( media-libs/alsa-lib ) + pulseaudio? ( media-sound/pulseaudio ) + system-libcxx? ( sys-libs/libcxx[libcxxabi] ) +" + +RESTRICT="bindist mirror" + +S="${WORKDIR}" + +QA_PREBUILT=" + opt/teamspeak3-client/libc++.so.1 + opt/teamspeak3-client/libc++abi.so.1 + 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 +" + +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 + + # Fixes QA Notice: Unresolved soname dependencies. + # Since this is a binary only package, it must be patched. + local soname_files=( "error_report" "ts3client" ) + for soname_file in ${soname_files[@]}; do + patchelf --replace-needed libquazip.so libquazip5.so.1 "${soname_file}" || die + done + + tc-export CXX +} + +src_install() { + exeinto /opt/teamspeak3-client + doexe error_report package_inst ts3client update + newexe "${FILESDIR}"/ts3client-bin-r2 ts3client-bin + ! use system-libcxx && doexe libc++{,abi}.so.1 + + 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 +} |