repo/gentoo:master commit in: net-im/discord/
"Nick Sarnie" <[email protected]>
| Newsgroups | gmane.linux.gentoo.cvs |
|---|---|
| Message-ID | <1786105478.35b9a7d4b3270c4c6b0da6fbd6995dd3fd05c4e7.sarnex@gentoo> |
commit: 35b9a7d4b3270c4c6b0da6fbd6995dd3fd05c4e7
Author: Nick Sarnie <sarnex <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 7 12:22:17 2026 +0000
Commit: Nick Sarnie <sarnex <AT> gentoo <DOT> org>
CommitDate: Fri Aug 7 12:24:38 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35b9a7d4
net-im/discord: add 1.0.152
Signed-off-by: Nick Sarnie <sarnex <AT> gentoo.org>
net-im/discord/Manifest | 10 ++
net-im/discord/discord-1.0.152.ebuild | 223 ++++++++++++++++++++++++++++++++++
2 files changed, 233 insertions(+)
diff --git a/net-im/discord/Manifest b/net-im/discord/Manifest
index ab0534afe42c..56c7f841f56f 100644
--- a/net-im/discord/Manifest
+++ b/net-im/discord/Manifest
@@ -18,4 +18,14 @@ DIST discord-1.0.150-discord_utils.distro 4597651 BLAKE2B f028824c2733562c5777bc
DIST discord-1.0.150-discord_voice.distro 32831145 BLAKE2B 027f04683a1b5b07cca78eb07a35a41ef6c9df43b6c5c673a8bb6e15f8d22b2e774c65ef4d49d0e10ed682df6c6a3834514aa3ad9f3d057174634c9825bdd04c SHA512 afa90192782ff0f7a03d9b0f0e3a53258ef7bb632ec991513c349d6b859cf26264f6cd1b9d54a96e9bc91afe1669bd849752aec22b5010c92cda0ef59e513ddd
DIST discord-1.0.150-discord_zstd.distro 328092 BLAKE2B 8c815df9894e10d2bd8ec7f4006a811d74fe863ffb02e2c5547e18d9fa1f47395b127ff5e1c9af81b384621459dcefb15eb0cab99671175e8ade9ff30a508b18 SHA512 a33345164429656bbcc28c48b6d82bf39ef622753686447199661ae2cb8a11780080db02a0a20d838a2dfb2625e4599478f8b16ea120c3ce250193f6133effd5
DIST discord-1.0.150.distro 91367262 BLAKE2B 41a49c6b3df582e290a73ac71b5869caf1a75c8f9d4ec0e70b09445217c1aecec0cbf32b7955d2e781f7e2040414bee61215e99038f8c8d25a89223222e8f0a3 SHA512 f0a322304334265bc3ee1485eec718df70320a089992ac8c4c2802ce418e8d58d5b1fcf700ab98216f81512f5aeb4e29fedbf4dbddcc465ee90c9b815d4bc1e7
+DIST discord-1.0.152-discord_desktop_core.distro 526839 BLAKE2B de3b3b6aabcfac47674e69eec0924347f17429ea0b9deba0c32e85425b3dfddcb90861d95d5b2eb1e176c87b603a1deb11982bf3246c8279428489a16c7e6d0a SHA512 ae1e026793f84299c37224b727c88afed9e53714bbe8c953343d0b3bdf5bf95f177d3a9e0d09fcca49726535902819b5dd9e2300f63464486e1a9bbeefbc5b0f
+DIST discord-1.0.152-discord_erlpack.distro 2065203 BLAKE2B f3292dd43fbee49a522ae5ef11b6f7b26b21172b35db03565945735fadcb532449c0fa18243e4ee28d93f61f11a5e22571bf6b5340639795d991be602c0de10f SHA512 7d3fb6e7449026adc0942453514360d9bf306abafc5477e4ffe8b706d86a1a45b7e35bc3b676b8724d1e0862d5a6b1ea300a455f4ca0c35f111021074d5209a6
+DIST discord-1.0.152-discord_game_utils.distro 3171639 BLAKE2B bd846848e7690e68b72aa96f1420e420db740119559a86490595017c220577b08fa85ddd6c3fb312baba589cdad678a1c6a680500b35b462e87b096c99d09be0 SHA512 f3cc9b2ba27a038e6da695a19002d1f9801784cfb839ffd6f6bcad45d6a277cfc9441f35c801771e62030440f7a0e57694dc6870ba97cd4f0d8406e69f31f8b1
+DIST discord-1.0.152-discord_krisp.distro 36148511 BLAKE2B 14a10c4abfb451ebd008d06a02b5e55d63dccd9ff6fc6c5d68c4ef200dc6984a7a369fb0c26686b52ca603ef0c70944551f84b7ec75edb6d84fb9f6effab39fe SHA512 d520100030065b716cbb2bb9f724f255234d0cc1be4b2bf32ebe44beb1beff3f4304a7cf60c1a9fd15c1ae4a6124c486f2c0826668ce9674cc4bce161199be9d
+DIST discord-1.0.152-discord_rpc.distro 30194 BLAKE2B cb0ec19d1d48b0f76fbad877e80c97170ba9bb15c22254307319c1d297a09d177a03297b100ac18fe8a653414ed6807ff7d028ea75a8ea04c2b73bd9e1d41a20 SHA512 285ee34f5d0ce1795e95fa2ad537a0836d22e1ce40e563bed2507c14e3412ed3e0e650260b0a9687732c6a09f5cdbdec674f6b7f42e8f9d5a47bfda44aed6df2
+DIST discord-1.0.152-discord_spellcheck.distro 9895605 BLAKE2B 73e03619d4774a13ab95ce8f7c6854610270b6e26e825515fc4fb434101fa0a1265a2cb5a9052296c12014e1abce1352eac5a6177609417e929dec65fc19fc96 SHA512 7e7bb7d933e8db27e837eb078104f2c69baaa647b0cbb75bbf385deeec8969355c9f0485edd8a5f3afcd130068406dd445b490a839c18069ee23685692a0d294
+DIST discord-1.0.152-discord_utils.distro 4598885 BLAKE2B 5f9daa03520137bb2490a795d7d5473b73c4b514d43e935e71072b75ea64416e5508a6b98e7392715d612035ce93807d157f1f72c8185490617649c148db087e SHA512 0cd598ed5f671a0e507a18de180a724f40d52f92e6b317b2320c53e7ed6e1b307bf316278ca75cd1d22514a54574070481a4aed0fba2adc9ef7a740c1232a925
+DIST discord-1.0.152-discord_voice.distro 32903456 BLAKE2B d3092a5c8791e49072416a107a85c4cc945729c2fcf573997a1bdc646dab9c783af3b67a524a8d3a8c6de7d4c3d0c2371adaed3d4f07183b84a3310f306d575b SHA512 776fccb559e6c9e108477b4cc46fff1e1312d78e209e600efc05dffb11bac8d3556f879c286e7cf40905488d05fec193e8a292bc77f4b7b29d4e37a2f0516cb8
+DIST discord-1.0.152-discord_zstd.distro 328046 BLAKE2B e3fc6821edc7950b4afb72a4460a643b0d23a069b7f84bc0b865a35f78bb68a0248ef378b08ef3a2b7d4bff6315c72f3d28c00022e1ea8d6f5ce66ae360973fc SHA512 48bf173cfdc3f90ade82021932aadd093e5e74244f2dadc08260ec8416fdb3cb35e4e6a8f72d5d4fefb39d1bf245e40a134f433e5561558af3f4f727938cdf05
+DIST discord-1.0.152.distro 99589763 BLAKE2B 737d336f96b149f45870ecaa7899b536b659defa07d2e07de57a96c7e39696c2cfc2f6cff1c703225a1b93eadd53f905a2a12bac39cdaa7172532232c1a1bfd4 SHA512 c34722855beeb7d9a8c46970c3bf9e902d3ab2bf1341260fa4a7b32c6a9bc9aea4f2850ff6c9b42d1908a69ae9b885c7d96560bf54e0a6474bbebb999ec8a873
DIST discord-disable-breaking-updates-2f26748a667045d26bc19841f1a731b4be7a7514.py 1299 BLAKE2B b6c923c450a28405e2a439e0d1b8a83e01e0536c62095fafbae74612aa4e891df733aa13999ce6a8be3618fd14e154aec802aa4ee21aad1303b05626ffd23314 SHA512 a7ef493a216c71a5b02685cff6866bfc3940aaf9cdc73b58859c962d0d33b613349289ef7027359f184f42dddaed486b84f6d85b9023ab8530ab7ba66431c3c7
diff --git a/net-im/discord/discord-1.0.152.ebuild b/net-im/discord/discord-1.0.152.ebuild
new file mode 100644
index 000000000000..a87d8bba19dd
--- /dev/null
+++ b/net-im/discord/discord-1.0.152.ebuild
@@ -0,0 +1,223 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN/-bin/}"
+MY_PV="${PV/-r*/}"
+
+CHROMIUM_LANGS="
+ af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+ hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+ sw ta te th tr uk ur vi zh-CN zh-TW
+"
+PYTHON_COMPAT=( python3_{11..15} )
+UPDATE_DISABLER_COMMIT="2f26748a667045d26bc19841f1a731b4be7a7514"
+
+inherit chromium-2 desktop linux-info optfeature python-single-r1 unpacker xdg
+
+DESCRIPTION="All-in-one voice and text chat for gamers"
+HOMEPAGE="https://discord.com/"
+
+SRC_URI="
+ https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/full.distro -> ${P}.distro
+ https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_desktop_core/1/full.distro
+ -> ${P}-${MY_PN}_desktop_core.distro
+ https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_erlpack/1/full.distro
+ -> ${P}-${MY_PN}_erlpack.distro
+ https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_spellcheck/1/full.distro
+ -> ${P}-${MY_PN}_spellcheck.distro
+ https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_utils/1/full.distro
+ -> ${P}-${MY_PN}_utils.distro
+ https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_voice/1/full.distro
+ -> ${P}-${MY_PN}_voice.distro
+ https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_zstd/1/full.distro
+ -> ${P}-${MY_PN}_zstd.distro
+ https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_rpc/1/full.distro
+ -> ${P}-${MY_PN}_rpc.distro
+ https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_game_utils/1/full.distro
+ -> ${P}-${MY_PN}_game_utils.distro
+ https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${MY_PV}/discord_krisp/1/full.distro
+ -> ${P}-${MY_PN}_krisp.distro
+ https://github.com/flathub/com.discordapp.Discord/raw/${UPDATE_DISABLER_COMMIT}/disable-breaking-updates.py
+ -> discord-disable-breaking-updates-${UPDATE_DISABLER_COMMIT}.py
+"
+S="${WORKDIR}/${MY_PN^}"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="amd64"
+
+IUSE="appindicator +seccomp wayland"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="bindist mirror strip test"
+BDEPEND="app-arch/brotli
+ app-arch/zip"
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/wayland
+ 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
+ x11-libs/libXScrnSaver
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/libxshmfence
+ x11-libs/pango
+ appindicator? ( dev-libs/libayatana-appindicator )
+"
+
+DESTDIR="/opt/${MY_PN}"
+
+QA_PREBUILT="*"
+
+CONFIG_CHECK="~USER_NS"
+
+repackage_node_modules() {
+ brotli -d "${DISTDIR}/${P}"-$1.distro -o "${T}"/$1.tar 2>/dev/null || die
+ unpack "${T}"/$1.tar || die
+ pushd "${WORKDIR}"/files 2>/dev/null || die
+ zip -rq "${WORKDIR}"/$1.zip . || die
+ popd 2>/dev/null || die
+ mv $1.zip "${S}"/resources/bootstrap/ || die
+ rm -r "${WORKDIR}"/files || die
+}
+
+src_unpack() {
+ # Upstream now only ships an autoupdater, where the binaries downloaded from the
+ # upstream package do not contain the app, but instead contain software that
+ # downloads and installs the app. To work around this, we manually download
+ # the same Brotli-compressed tar archives that the autoupdater would, for both
+ # the base app itself and the required Node modules. The Node modules need to be
+ # unpacked and installed in ~/.config/discord/${PV}/modules, and luckily the base app
+ # can automatically do this for us on the first launch if we package the Node
+ # modules into a .zip and put them in <base app location>/resources/bootstrap.
+ # Some modules are installed at runtime, but we want to bootstrap those too,
+ # so we use a custom <base app location>/resources/bootstrap/manifest.json
+ # copied over from $FILESDIR.
+ brotli -d "${DISTDIR}/${P}".distro -o "${T}/${P}.tar" 2>/dev/null || die
+ unpack "${T}/${P}.tar"
+ mv "${WORKDIR}"/files "${S}" || die
+ rm "${T}/${P}.tar" || die
+ # For any new Node modules, add the Brotli-compressed archive to SRC_URI
+ # following the same pattern, and then add a corressponding call to
+ # repackage_node_modules here. You can find a list of required modules
+ # at <base app location>/resources/bootstrap/manifest.json, as well as
+ # running the application and looking for lines in the output about "modules".
+ # If checking manifest.json, make sure to check the one directly from upstream,
+ # as the one installed on the system is copied over from $FILESDIR.
+ repackage_node_modules "discord_desktop_core"
+ repackage_node_modules "discord_erlpack"
+ repackage_node_modules "discord_spellcheck"
+ repackage_node_modules "discord_utils"
+ repackage_node_modules "discord_voice"
+ repackage_node_modules "discord_zstd"
+ repackage_node_modules "discord_rpc"
+ repackage_node_modules "discord_game_utils"
+ repackage_node_modules "discord_krisp"
+}
+
+src_configure() {
+ default
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ default
+ # cleanup languages
+ pushd "locales/" >/dev/null || die "location change for language cleanup failed"
+ chromium_remove_language_paks
+ popd >/dev/null || die "location reset for language cleanup failed"
+
+ # Update exec location in launcher
+ sed --expression "s:@@DESTDIR@@:${DESTDIR}:" \
+ "${FILESDIR}/launcher-r1.sh" > "${T}/launcher.sh" || die "updating of exec location in launcher failed"
+
+ # USE seccomp in launcher
+ if use seccomp; then
+ sed --in-place --expression '/^EBUILD_SECCOMP=/s/false/true/' \
+ "${T}/launcher.sh" || die "sed failed for seccomp"
+ fi
+
+ # USE wayland in launcher
+ if use wayland; then
+ sed --in-place --expression '/^EBUILD_WAYLAND=/s/false/true/' \
+ "${T}/launcher.sh" || die "sed failed for wayland"
+ fi
+ cp "${FILESDIR}/manifest.json" resources/bootstrap/manifest.json || die "Failed copying manifest.json"
+}
+
+src_install() {
+ doicon -s 256 "${MY_PN}.png"
+
+ # install .desktop file
+ make_desktop_entry "${EPREFIX}/usr/bin/discord" Discord "${PN}" \
+ "Network;InstantMessaging;" \
+ "StartupWMClass=discord" \
+ "Path=${EPREFIX}/usr/bin"
+
+ exeinto "${DESTDIR}"
+
+ doexe "${MY_PN^}" chrome-sandbox libEGL.so libffmpeg.so libGLESv2.so libvk_swiftshader.so
+
+ insinto "${DESTDIR}"
+ doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin
+ insopts -m0755
+ doins -r locales resources
+
+ # Chrome-sandbox requires the setuid bit to be specifically set.
+ # see https://github.com/electron/electron/issues/17972
+ fowners root "${DESTDIR}/chrome-sandbox"
+ fperms 4711 "${DESTDIR}/chrome-sandbox"
+
+ # Crashpad is included in the package once in a while and when it does, it must be installed.
+ # See #903616 and #890595
+ [[ -x chrome_crashpad_handler ]] && doins chrome_crashpad_handler
+
+ # https://bugs.gentoo.org/905289
+ newins "${DISTDIR}/discord-disable-breaking-updates-${UPDATE_DISABLER_COMMIT}.py" disable-breaking-updates.py
+ python_fix_shebang "${ED}/${DESTDIR}/disable-breaking-updates.py"
+
+ exeinto "/usr/bin"
+ newexe "${T}/launcher.sh" "discord" || die "failing to install launcher"
+
+ # https://bugs.gentoo.org/898912
+ if use appindicator; then
+ dosym ../../usr/lib64/libayatana-appindicator3.so /opt/discord/libappindicator3.so
+ fi
+
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature_header "Install the following packages for additional support:"
+ optfeature "sound support" \
+ media-sound/pulseaudio media-sound/apulse[sdk] media-video/pipewire
+ optfeature "emoji support" media-fonts/noto-emoji
+ if has_version kde-plasma/kwin[-screencast] && use wayland; then
+ einfo " "
+ einfo "When using KWin on Wayland, the kde-plasma/kwin[screencast] USE flag"
+ einfo "must be enabled for screensharing."
+ einfo " "
+ fi
+}