blob: ea68d8725e605d69e26befa6bfdbc15c1670531f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop 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-1.0:0=
media-libs/fdk-aac:0/2
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
bundled-libjpeg-turbo? ( dev-util/patchelf )"
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-icon.svg && [[ -s zoom-icon.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
if use bundled-libjpeg-turbo; then
# Remove insecure RPATH from bundled lib
patchelf --remove-rpath libturbojpeg.so || 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 zopen ZoomLauncher
dosym -r {"/usr/$(get_libdir)",/opt/zoom}/libmpg123.so
dosym -r "/usr/$(get_libdir)/libfdk-aac.so.2" /opt/zoom/libfdkaac2.so
dosym -r "/usr/$(get_libdir)/libquazip1-qt5.so" /opt/zoom/libquazip.so
if use bundled-libjpeg-turbo; then
doexe libturbojpeg.so
else
dosym -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* bearer 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/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,} $(usev bundled-qt /opt/zoom)
make_desktop_entry "zoom %U" Zoom zoom-icon "" \
"MimeType=x-scheme-handler/zoommtg;application/x-zoom;"
doicon zoom-icon.svg
doicon -s scalable zoom-icon.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} -lt 5.7.28852.0718 && use wayland && FORCE_PRINT_ELOG=1
done
readme.gentoo_print_elog
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}
|