commit:     233562d771e24e722fbef1e45711895efe58d4a4
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 10 20:35:04 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Dec 10 20:35:38 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=233562d7

net-im/zoom: Extract official icon from the binary.

Bug: https://bugs.gentoo.org/759253
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 net-im/zoom/zoom-5.4.56259.1207-r1.ebuild | 144 ++++++++++++++++++++++++++++++
 1 file changed, 144 insertions(+)

diff --git a/net-im/zoom/zoom-5.4.56259.1207-r1.ebuild 
b/net-im/zoom/zoom-5.4.56259.1207-r1.ebuild
new file mode 100644
index 00000000000..7387cd5dde5
--- /dev/null
+++ b/net-im/zoom/zoom-5.4.56259.1207-r1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop eapi8-dosym readme.gentoo-r1 wrapper xdg-utils
+
+DESCRIPTION="Video conferencing and web conferencing service"
+HOMEPAGE="https://zoom.us/";
+SRC_URI="https://zoom.us/client/${PV}/${PN}_x86_64.tar.xz -> 
${P}_x86_64.tar.xz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE="bundled-libjpeg-turbo +bundled-qt pulseaudio wayland"
+RESTRICT="mirror bindist strip"
+
+RDEPEND="!games-engines/zoom
+       dev-libs/glib:2
+       dev-libs/quazip
+       media-libs/fontconfig
+       media-libs/freetype
+       media-sound/mpg123
+       sys-apps/dbus
+       sys-apps/util-linux
+       virtual/opengl
+       x11-libs/libX11
+       x11-libs/libxcb
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libxkbcommon[X]
+       x11-libs/libXrender
+       x11-libs/libXtst
+       x11-libs/xcb-util-image
+       x11-libs/xcb-util-keysyms
+       pulseaudio? ( media-sound/pulseaudio )
+       !pulseaudio? ( media-libs/alsa-lib )
+       wayland? ( dev-libs/wayland )
+       !bundled-libjpeg-turbo? ( >=media-libs/libjpeg-turbo-2.0.5 )
+       !bundled-qt? (
+               dev-libs/icu
+               dev-qt/qtcore:5
+               dev-qt/qtdbus:5
+               dev-qt/qtdeclarative:5[widgets]
+               dev-qt/qtdiag:5
+               dev-qt/qtgraphicaleffects:5
+               dev-qt/qtgui:5
+               dev-qt/qtlocation:5
+               dev-qt/qtnetwork:5
+               dev-qt/qtquickcontrols:5[widgets]
+               dev-qt/qtquickcontrols2:5
+               dev-qt/qtscript:5
+               dev-qt/qtsvg:5
+               dev-qt/qtwidgets:5
+               wayland? ( dev-qt/qtwayland )
+       )"
+
+BDEPEND="dev-util/bbe"
+
+QA_PREBUILT="opt/zoom/*"
+
+src_prepare() {
+       default
+
+       # The tarball doesn't contain an icon, so extract it from the binary
+       bbe -s -b '/<svg width="32"/:/<\x2fsvg>\n/' -e 'J 1;D' zoom >zoom.svg \
+               && [[ -s zoom.svg ]] || die "Extraction of icon failed"
+
+       if ! use pulseaudio; then
+               # For some strange reason, zoom cannot use any ALSA sound 
devices if
+               # it finds libpulse. This causes breakage if 
media-sound/apulse[sdk]
+               # is installed. So, force zoom to ignore libpulse.
+               bbe -e 's/libpulse.so/IgNoRePuLsE/' zoom >zoom.tmp || die
+               mv zoom.tmp zoom || die
+       fi
+}
+
+src_install() {
+       insinto /opt/zoom
+       exeinto /opt/zoom
+       doins -r json ringtone sip timezones translations
+       doins *.pcm *.sh Embedded.properties version.txt
+       doexe zoom zoom.sh zopen ZoomLauncher
+       dosym8 -r {"/usr/$(get_libdir)",/opt/zoom}/libmpg123.so
+       dosym8 -r {"/usr/$(get_libdir)",/opt/zoom}/libquazip.so
+
+       if use bundled-libjpeg-turbo; then
+               doexe libturbojpeg.so
+       else
+               dosym8 -r {"/usr/$(get_libdir)",/opt/zoom}/libturbojpeg.so
+       fi
+
+       if use bundled-qt; then
+               doexe libicu*.so.56 libQt5*.so.5
+               doins qt.conf
+
+               local dirs="Qt* generic iconengines imageformats \
+                       platforminputcontexts platforms wayland* 
xcbglintegrations"
+               doins -r ${dirs}
+               find ${dirs} -type f '(' -name '*.so' -o -name '*.so.*' ')' \
+                       -printf '/opt/zoom/%p\0' | xargs -0 -r fperms 0755 || 
die
+
+               (       # Remove libs and plugins with unresolved soname 
dependencies
+                       cd "${ED}"/opt/zoom || die
+                       rm -r Qt/labs/location QtQml/RemoteObjects \
+                               QtQuick/LocalStorage QtQuick/Particles.2 
QtQuick/Scene2D \
+                               QtQuick/Scene3D QtQuick/Shapes 
QtQuick/XmlListModel \
+                               platforms/libqeglfs.so platforms/libqlinuxfb.so 
|| die
+                       use wayland || rm -r libQt5Wayland*.so* QtWayland 
wayland* \
+                               platforms/libqwayland*.so || die
+               )
+       fi
+
+       make_wrapper zoom /opt/zoom{/zoom,} $(usex bundled-qt /opt/zoom "")
+       make_desktop_entry "zoom %U" Zoom zoom "" \
+               "MimeType=x-scheme-handler/zoommtg;application/x-zoom;"
+       doicon zoom.svg
+       doicon -s scalable zoom.svg
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       xdg_desktop_database_update
+       xdg_icon_cache_update
+
+       local FORCE_PRINT_ELOG v
+       for v in ${REPLACING_VERSIONS}; do
+               ver_test ${v} -le 5.0.403652.0509 && FORCE_PRINT_ELOG=1
+       done
+       readme.gentoo_print_elog
+
+       if use bundled-libjpeg-turbo; then
+               ewarn "If the \"bundled-libjpeg-turbo\" flag is enabled, you 
may see a"
+               ewarn "QA notice about insecure RPATHs in the libturbojpeg.so 
library"
+               ewarn "bundled with the upstream package. Please report this 
problem"
+               ewarn "directly to Zoom upstream. Do *not* file a Gentoo bug 
for it."
+       fi
+}
+
+pkg_postrm() {
+       xdg_desktop_database_update
+       xdg_icon_cache_update
+}

Reply via email to