blob: 3a5a943f48707442093f92a928f7f9ed323af222 (
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
147
148
149
|
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop linux-info readme.gentoo-r1 xdg-utils
DESCRIPTION="Video conferencing and web conferencing service"
HOMEPAGE="https://www.zoom.com/"
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="opencl pulseaudio wayland +zoom-symlink"
RESTRICT="mirror bindist strip"
RDEPEND="zoom-symlink? ( !games-engines/zoom )
>=app-accessibility/at-spi2-core-2.46.0:2
app-crypt/mit-krb5
dev-libs/expat
dev-libs/glib:2
dev-libs/icu
dev-libs/nspr
dev-libs/nss
dev-libs/quazip
dev-qt/qt5compat:6[qml]
dev-qt/qtbase:6[opengl]
dev-qt/qtdeclarative:6[opengl]
dev-qt/qtsvg:6
media-libs/alsa-lib
media-libs/fdk-aac:0/2
media-libs/fontconfig
media-libs/freetype
media-libs/mesa[gbm(+)]
media-sound/mpg123
net-print/cups
sys-apps/dbus
sys-apps/util-linux
sys-libs/glibc
virtual/glu
virtual/libudev
virtual/opengl
virtual/zlib:=
x11-libs/cairo
x11-libs/libdrm
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon[X]
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libxshmfence
x11-libs/libXtst
x11-libs/pango
x11-libs/xcb-util-cursor
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-renderutil
x11-libs/xcb-util-wm
opencl? (
sys-devel/gcc:*[openmp]
virtual/opencl
)
pulseaudio? ( media-libs/libpulse )
wayland? ( dev-libs/wayland )"
BDEPEND="dev-util/bbe"
CONFIG_CHECK="~USER_NS ~PID_NS ~NET_NS ~SECCOMP_FILTER"
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" height="32"/:/<\x2fsvg>\n/' -e 'J 1;D' zoom \
>videoconference-zoom.svg && [[ -s videoconference-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 calendar cef diagnostic email imjs js json ringtone sip \
timezones translations
doins *.pcm Embedded.properties version.txt unifywebview_config.zip
doexe zoom zopen ZoomClips ZoomLauncher ZoomWebviewHost *.sh \
aomhost cpthost libaomagent.so libcml.so libdvf.so libmkldnn.so \
libavcodec.so* libavformat.so* libavutil.so* libswresample.so*
fperms a+x /opt/zoom/cef/chrome_sandbox
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-qt6.so" /opt/zoom/libquazip.so
if use opencl; then
doexe libclDNN64.so
dosym -r {"/usr/$(get_libdir)",/opt/zoom}/libOpenCL.so.1
fi
if ! use wayland; then
# Soname dependency on libwayland-client.so.0
rm "${ED}"/opt/zoom/cef/libGLESv2.so || die
fi
use zoom-symlink && dosym -r /opt/zoom/ZoomLauncher /usr/bin/zoom
make_desktop_entry "${EPREFIX}/opt/zoom/ZoomLauncher %U" Zoom \
videoconference-zoom "Network;VideoConference;" \
"MimeType=$(printf '%s;' \
x-scheme-handler/zoommtg \
x-scheme-handler/zoomus \
application/x-zoom)"
doicon videoconference-zoom.svg
doicon -s scalable videoconference-zoom.svg
local DOC_CONTENTS="Some of Zoom's screen share features (e.g.
the whiteboard) require display compositing. If you encounter
a black window when sharing the screen, then one of the following
actions should help:
\\n- Enable compositing in your window manager if it is supported
\\n- Alternatively, run the xcompmgr command (from x11-misc/xcompmgr)"
readme.gentoo_create_doc
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
readme.gentoo_print_elog
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}
|