summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-im/discord-bin')
-rw-r--r--net-im/discord-bin/discord-bin-0.0.21-r1.ebuild (renamed from net-im/discord-bin/discord-bin-0.0.21.ebuild)67
-rw-r--r--net-im/discord-bin/metadata.xml4
2 files changed, 47 insertions, 24 deletions
diff --git a/net-im/discord-bin/discord-bin-0.0.21.ebuild b/net-im/discord-bin/discord-bin-0.0.21-r1.ebuild
index 58ed3ccea6ef..e006e6ca8030 100644
--- a/net-im/discord-bin/discord-bin-0.0.21.ebuild
+++ b/net-im/discord-bin/discord-bin-0.0.21-r1.ebuild
@@ -3,8 +3,8 @@
EAPI=8
-MY_PN="${PN/-bin}"
-MY_PV="${PV/-r*}"
+MY_PN="${PN/-bin/}"
+MY_PV="${PV/-r*/}"
CHROMIUM_LANGS="
am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
@@ -21,23 +21,28 @@ SRC_URI="https://dl.discordapp.net/apps/linux/${MY_PV}/${MY_PN}-${MY_PV}.tar.gz"
LICENSE="all-rights-reserved"
SLOT="0"
KEYWORDS="amd64"
+RESTRICT="bindist mirror strip test"
+IUSE="+seccomp system-ffmpeg"
-# libXScrnSaver is used through dlopen (bug #825370)
RDEPEND="
- || (
- >=app-accessibility/at-spi2-core-2.46.0:2
- ( app-accessibility/at-spi2-atk dev-libs/atk )
- )
+ || (
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ ( app-accessibility/at-spi2-atk dev-libs/atk )
+ )
+ app-crypt/libsecret
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
+ media-libs/fontconfig
media-libs/mesa[gbm(+)]
net-print/cups
sys-apps/dbus
+ sys-apps/util-linux
sys-libs/glibc
x11-libs/cairo
+ x11-libs/libdrm
x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3
x11-libs/libX11
@@ -47,15 +52,13 @@ RDEPEND="
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrandr
- x11-libs/libdrm
x11-libs/libxcb
x11-libs/libxkbcommon
x11-libs/libxshmfence
x11-libs/pango
+ system-ffmpeg? ( media-video/ffmpeg[chromium] )
"
-RESTRICT="bindist mirror strip test"
-
DESTDIR="/opt/${MY_PN}"
QA_PREBUILT="
@@ -76,18 +79,13 @@ CONFIG_CHECK="~USER_NS"
S="${WORKDIR}/${MY_PN^}"
-pkg_pretend() {
- chromium_suid_sandbox_check_kernel_config
-}
-
src_unpack() {
unpack ${MY_PN}-${MY_PV}.tar.gz
}
src_configure() {
- chromium_suid_sandbox_check_kernel_config
-
default
+ chromium_suid_sandbox_check_kernel_config
}
src_prepare() {
@@ -95,21 +93,41 @@ src_prepare() {
# remove post-install script
rm postinst.sh || die "the removal of the unneeded post-install script failed"
# cleanup languages
- pushd "locales/" || die "location change for language cleanup failed"
+ pushd "locales/" >/dev/null || die "location change for language cleanup failed"
chromium_remove_language_paks
- popd || die "location reset for language cleanup failed"
+ popd >/dev/null || die "location reset for language cleanup failed"
# fix .desktop exec location
- sed -i -e "s:/usr/share/discord/Discord:${DESTDIR}/${MY_PN^}:" ${MY_PN}.desktop || die "fixing of exec location on .desktop failed"
+ sed -i "/Exec/s:/usr/share/discord/Discord:${DESTDIR}/${MY_PN^}:" \
+ "${MY_PN}.desktop" ||
+ die "fixing of exec location on .desktop failed"
+ # USE seccomp
+ if ! use seccomp; then
+ sed -i '/Exec/s/Discord/Discord --disable-seccomp-filter-sandbox/' \
+ "${MY_PN}.desktop" ||
+ die "sed failed for seccomp"
+ fi
+ # USE system-ffmpeg
+ if use system-ffmpeg; then
+ rm libffmpeg.so || die
+ elog "Using system ffmpeg. This is experimental and may lead to crashes."
+ fi
}
src_install() {
- doicon -s 256 ${MY_PN}.png
+ doicon -s 256 "${MY_PN}.png"
# install .desktop file
- domenu ${MY_PN}.desktop
+ domenu "${MY_PN}.desktop"
exeinto "${DESTDIR}"
- doexe ${MY_PN^} chrome-sandbox libEGL.so libffmpeg.so libGLESv2.so libvk_swiftshader.so
+
+ doexe "${MY_PN^}" chrome-sandbox libEGL.so libGLESv2.so libvk_swiftshader.so
+
+ if use system-ffmpeg; then
+ dosym "../../usr/$(get_libdir)/chromium/libffmpeg.so" "${DESTDIR}/libffmpeg.so" || die
+ else
+ doexe libffmpeg.so
+ fi
insinto "${DESTDIR}"
doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin
@@ -118,9 +136,10 @@ src_install() {
# Chrome-sandbox requires the setuid bit to be specifically set.
# see https://github.com/electron/electron/issues/17972
- fperms 4755 "${DESTDIR}"/chrome-sandbox
+ fowners root "${DESTDIR}/chrome-sandbox"
+ fperms 4711 "${DESTDIR}/chrome-sandbox"
- dosym "${DESTDIR}"/${MY_PN^} /usr/bin/${MY_PN}
+ dosym "${DESTDIR}/${MY_PN^}" "/usr/bin/${MY_PN}"
}
pkg_postinst() {
diff --git a/net-im/discord-bin/metadata.xml b/net-im/discord-bin/metadata.xml
index f485c452f77f..058ce7688080 100644
--- a/net-im/discord-bin/metadata.xml
+++ b/net-im/discord-bin/metadata.xml
@@ -9,4 +9,8 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <use>
+ <flag name="swiftshader">Install SwiftShader OpenGL libaries</flag>
+ <flag name="system-ffmpeg">Use the system-wide <pkg>media-video/ffmpeg</pkg> instead of bundled</flag>
+ </use>
</pkgmetadata>