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
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.