summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-im/teams-insiders/teams-insiders-1.4.00.4855-r1.ebuild')
-rw-r--r--net-im/teams-insiders/teams-insiders-1.4.00.4855-r1.ebuild132
1 files changed, 132 insertions, 0 deletions
diff --git a/net-im/teams-insiders/teams-insiders-1.4.00.4855-r1.ebuild b/net-im/teams-insiders/teams-insiders-1.4.00.4855-r1.ebuild
new file mode 100644
index 0000000..3121f54
--- /dev/null
+++ b/net-im/teams-insiders/teams-insiders-1.4.00.4855-r1.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit chromium-2 desktop unpacker xdg-utils
+
+DESCRIPTION="Microsoft Teams Linux Client (Insiders Build)"
+HOMEPAGE="https://teams.microsoft.com/"
+SRC_URI="https://packages.microsoft.com/repos/ms-teams/pool/main/t/${PN}/${PN}_${PV}_amd64.deb"
+
+LICENSE="ms-teams-pre"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+RESTRICT="bindist mirror splitdebug test"
+IUSE="system-ffmpeg system-mesa"
+
+QA_PREBUILT="*"
+
+RDEPEND="
+ !net-im/teams
+ app-accessibility/at-spi2-atk
+ app-crypt/libsecret
+ dev-libs/atk
+ dev-libs/expat
+ dev-libs/glib
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ net-print/cups
+ sys-apps/dbus
+ sys-apps/util-linux
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXScrnSaver
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libxcb
+ x11-libs/libxkbfile
+ x11-libs/pango
+ system-ffmpeg? ( <media-video/ffmpeg-4.3[chromium] )
+ system-mesa? ( media-libs/mesa[egl,gles2] )
+"
+
+S="${WORKDIR}"
+
+pkg_pretend() {
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_configure() {
+ chromium_suid_sandbox_check_kernel_config
+ default
+}
+
+src_install() {
+ local dest=/usr
+
+ # Remove keytar3, it needs libgnome-keyring. keytar4 uses libsecret and is used instead
+ rm -rf "${WORKDIR}/usr/share/teams-insiders/resources/app.asar.unpacked/node_modules/keytar3" || die
+
+ insinto ${dest}/share
+ doins -r "${S}"${dest}/share/applications
+ doins -r "${S}"${dest}/share/pixmaps
+ doins -r "${S}"${dest}/share/${PN}
+
+ exeinto ${dest}/bin
+ doexe "${S}"${dest}/bin/${PN}
+
+ exeinto ${dest}/share/${PN}
+ doexe "${S}"${dest}/share/${PN}/${PN}
+ doexe "${S}"${dest}/share/${PN}/chrome-sandbox
+ doexe "${S}"${dest}/share/${PN}/crashpad_handler
+
+ # Use system ffmpeg, if wanted. Might crash MS Teams!
+ if use system-ffmpeg; then
+ rm -f "${D}"/${dest}/share/${PN}/libffmpeg.so
+ dosym "${dest}/$(get_libdir)/chromium/libffmpeg.so" "${dest}/share/${PN}/libffmpeg.so"
+ elog "Using system ffmpeg. This is experimental and may lead to crashes."
+ else
+ # Otherwise keep the executable bit on the bundled lib
+ doexe "${S}"${dest}/share/${PN}/libffmpeg.so
+ fi
+
+ # Use system mesa, if wanted. Might Crash MS Teams!
+ if use system-mesa; then
+ rm -f "${D}"/${dest}/share/${PN}/libEGL.so
+ rm -f "${D}"/${dest}/share/${PN}/libGLESv2.so
+ elog "Using system mesa. This is experimental and may lead to crashes."
+ else
+ # Otherwise keep original executable flag
+ doexe "${S}"/${dest}/share/${PN}/libEGL.so
+ doexe "${S}"/${dest}/share/${PN}/libGLESv2.so
+ fi
+
+ # Keep swiftshader, used in GPU-/Head-less systems
+ exeinto ${dest}/share/${PN}/swiftshader
+ doexe "${S}"/${dest}/share/${PN}/swiftshader/libEGL.so
+ doexe "${S}"/${dest}/share/${PN}/swiftshader/libGLESv2.so
+
+ # The overlay handler seems to need executable bits
+ # See: https://microsoftteams.uservoice.com/forums/908686-bug-reports/suggestions/40805257-screen-sharing-broken-on-linux-with-1-3-00-16851#comments
+ exeinto ${dest}/share/${PN}/resources/app.asar.unpacked/node_modules/slimcore/bin
+ doexe "${S}"/${dest}/share/${PN}/resources/app.asar.unpacked/node_modules/slimcore/bin/platform.node
+ doexe "${S}"/${dest}/share/${PN}/resources/app.asar.unpacked/node_modules/slimcore/bin/rect-overlay
+ doexe "${S}"/${dest}/share/${PN}/resources/app.asar.unpacked/node_modules/slimcore/bin/sharing-indicator.node
+ doexe "${S}"/${dest}/share/${PN}/resources/app.asar.unpacked/node_modules/slimcore/bin/slimcore.node
+ doexe "${S}"/${dest}/share/${PN}/resources/app.asar.unpacked/node_modules/slimcore/bin/trouter-client.node
+
+ sed -i '/OnlyShowIn=/d' "${S}"${dest}/share/applications/${PN}.desktop
+ domenu "${S}"${dest}/share/applications/${PN}.desktop
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}