repo/gentoo:master commit in: net-im/discord/

"Nick Sarnie" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1787037003.bed42ea5429e5f6e291c54ba13c24562003d33e2.sarnex@gentoo>
commit:     bed42ea5429e5f6e291c54ba13c24562003d33e2
Author:     Nick Sarnie <sarnex <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 18 07:10:03 2026 +0000
Commit:     Nick Sarnie <sarnex <AT> gentoo <DOT> org>
CommitDate: Tue Aug 18 07:10:03 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bed42ea5

net-im/discord: add 1.0.154

Signed-off-by: Nick Sarnie <sarnex <AT> gentoo.org>

 net-im/discord/Manifest               |  10 ++
 net-im/discord/discord-1.0.154.ebuild | 223 ++++++++++++++++++++++++++++++++++
 2 files changed, 233 insertions(+)

diff --git a/net-im/discord/Manifest b/net-im/discord/Manifest
index ef15217a1509..80405fd7b449 100644
--- a/net-im/discord/Manifest
+++ b/net-im/discord/Manifest
@@ -18,4 +18,14 @@ DIST discord-1.0.153-discord_utils.distro 4602447 BLAKE2B d9952756b9e0a03a49e497
 DIST discord-1.0.153-discord_voice.distro 32943662 BLAKE2B 8a7ec9da7e1324f21c902c2f20fad31fcc37bdcb7382dc6657d1932254bc8000f1dac705819bfe28c03e12801ea302156701184cb31095d512021450b4d1b220 SHA512 d5f8365dbfa29778ee44a181a0c04c757a27ba4b644bb1d9b8c1a27e20d9b6d1709dce978c3491d95b11c789054d0d9857956f894d7af517585b3e52c61e2a66
 DIST discord-1.0.153-discord_zstd.distro 328038 BLAKE2B d3646fd467196176732b7cf7897a8145a37eb7fb35288ed03c40ddae31f8d7499893190db39576be7640d9c6923f1a390bdb8923659e8eff4cca439b6b043f9d SHA512 4d083dbd969177af93c39255dcc31c5064f24cb28d0f5d5e298b5ccd2e65ec167ef123dbbc30d79cd373dbc488b09346c0310e73f8504573a2173b956c058b42
 DIST discord-1.0.153.distro 99523299 BLAKE2B a50eac27b358a43bf15942d6aaa1cfb68d48c55d9467b1ad9953396c0eda478490796d6a9130775e812c75879ffe49cd2cc1ba5a22f3969b622fd12af0cafe28 SHA512 f0361b667a29a2868ebb346c76b91e2be138375428521ab2e3df64e947cf239600acb3baae355bf72d3ff6a40f229c9216202c3a98846d273d3da7c3387f0a8d
+DIST discord-1.0.154-discord_desktop_core.distro 526945 BLAKE2B e043e36f901023b81779edf59972202ef3178edf24b7ffe1caa02a6e8a8d9580532b3ffeb5b957d06ca305310bdb165432331d5195ee1c013fbfa11953d8b5de SHA512 6c66898bf08c8d482432a4a018b749c23bede5fc3f81b2d4bd392465cfa2f1036b04be8fca8f1cfd4179893a2a126d36bc27a439d0e4265888708ce6c375f223
+DIST discord-1.0.154-discord_erlpack.distro 2066686 BLAKE2B f22d432a29f3b386cd1388635b9783e59135567e4f7537e0dfbb3af412cafd57ad5076e38badee48a71e3baf1a8c04bae311b3139b4a4f499bd27ac318825670 SHA512 66006ffa68f48a69f3d9afcd796d28a30b94c507f52b3450722c47de2f5c5bea0217f69d7a637337a29ab878ff0466cbcb6f43c73f103e87c5846e6d3aebb1c5
+DIST discord-1.0.154-discord_game_utils.distro 3173202 BLAKE2B 542c7c67d96dbb7d35f4fafe13d8311492ecfc61169a54891cdb3d37a4c63d2a5878435876d315e4b69af70e221e9a6c4c95144bb914a8507ef0e1a3333ed083 SHA512 cb2bf555df79450ff46908a71cd92e27c2c52d015e80c3cebbe59bf61a40fa3fabaffb227759d0d6fc8cf267e686a5a2e3dee162aa3b78d68f7090d0a4c2982e
+DIST discord-1.0.154-discord_krisp.distro 36143404 BLAKE2B d9fca2742d7591e7b452a1996baddfb9b8501e5e526fbc21bfe3d28592bbd0bc7450525c8ba41f8b34b474706bc0ee936404920654aa99ffdb04254a9291f2a3 SHA512 5b5813e1a1f620945f89d7e2009be7d95b23f833d573fc8d232502ff06f634e4a25b4b969162f05416130728b71ae7b59ad7f3d80933e287891ac15f9af632ed
+DIST discord-1.0.154-discord_rpc.distro 30349 BLAKE2B 4a59de78bd291f480b0757e2eed60aa63ace13b8d348a4f02bf18f181b6019a3965df14c7acc4669d562b6d208b3b7b5bc96c2347d6840eafbc186fa46c28882 SHA512 ec37798e43b2737c516508ed17b683d54b635f84d2dafce87b0283081e49cf285b0500d0b4373ea9c53f5689f74b553aac852eff19ebed666e151f31fdcd6c48
+DIST discord-1.0.154-discord_spellcheck.distro 9889280 BLAKE2B 6572dd6f41649cf85f179a4bd770435c44f5702056bdfb2ca4e420dce75acfb5e3dd6d3974f9f21098de72bfc1a1677f3204353a143e6223bdfa86fb14cd5f39 SHA512 82dff6dc4af0443a07c7a0449a4e4b1f5ce4b4a59deb45266f1b7f8eb04de75b641925e7ddca193f6056912e093c7b71937fed5d156f8c306d82ba1aae61d1d9
+DIST discord-1.0.154-discord_utils.distro 4603144 BLAKE2B a03fdd76b67c2966db9c90ec0e82cd7749bf59a6bd3f17b80ce32efef1a67ffc6bb63d5c3889d63dce82bb32baae21254e1dfb035d8307cd1aed3e87e4cd0e6e SHA512 2018f433557b33107bf7bb26d92c3d283727b979968393a280082ba542325625a3331247025c6cd0609c1b28b75326015386049530c2dec64d024cedac0de2a9
+DIST discord-1.0.154-discord_voice.distro 33780368 BLAKE2B 89c44693b86d90de419f3fe65ffa9db24cb3eebe24f857207b5a8b54edcd944253d8a84f17eea989ccb56a50ac664cbf9cf5ca359a7467d819495c3b22616608 SHA512 ec8a315c432e815e24d54ad9d83bb5b238aad23308af764646e90d7334e1d77fcd2aaff7036ea1e0ae8c8fe4b1404e7f3fc27baaa4cd3a8061dc9118012e45e1
+DIST discord-1.0.154-discord_zstd.distro 328062 BLAKE2B 0862f9921aaadac7834faac860e2bb7ed2e199347751346adf8c8826cede8d0491e8158bffdcb6aba3ab0d39a3a466cffe5b6a697c40fa5bb550c30fe7fc3e06 SHA512 f2172daaab92665c9cab4d8aae9bce54c4a29b3cd11caa2a1fb0dfaa3c228943b49da7a7e0b2fdde36e17f0b9fd11aa19c3637aa47baa98de283c38a19dbc957
+DIST discord-1.0.154.distro 99544579 BLAKE2B c1bb7757e02a7d444029b8ca02e5bb1f18ae7a24f14a363cd6ddd402e441aa9835f52b24895787a44996b0a29e0eb3deaebf7982a4d6593c31d90a233a056278 SHA512 e2428972ea2d93de6b49773606d2168c5b185fdd47dcc272578c4dc8d786b5b7013e5ac66d14d9e9c26631301d2de0c1ee7564162b9cc2dfe5fbaebc2eb56a02
 DIST discord-disable-breaking-updates-2f26748a667045d26bc19841f1a731b4be7a7514.py 1299 BLAKE2B b6c923c450a28405e2a439e0d1b8a83e01e0536c62095fafbae74612aa4e891df733aa13999ce6a8be3618fd14e154aec802aa4ee21aad1303b05626ffd23314 SHA512 a7ef493a216c71a5b02685cff6866bfc3940aaf9cdc73b58859c962d0d33b613349289ef7027359f184f42dddaed486b84f6d85b9023ab8530ab7ba66431c3c7

diff --git a/net-im/discord/discord-1.0.154.ebuild b/net-im/discord/discord-1.0.154.ebuild
new file mode 100644
index 000000000000..a87d8bba19dd
--- /dev/null
+++ b/net-im/discord/discord-1.0.154.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.