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

"Nick Sarnie" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1786606424.9110a4f5ce7a1624b4addabe7c5242ab57fdf449.sarnex@gentoo>
commit:     9110a4f5ce7a1624b4addabe7c5242ab57fdf449
Author:     Nick Sarnie <sarnex <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 13 07:33:44 2026 +0000
Commit:     Nick Sarnie <sarnex <AT> gentoo <DOT> org>
CommitDate: Thu Aug 13 07:33:44 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9110a4f5

net-im/discord: add 1.0.153

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

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

diff --git a/net-im/discord/Manifest b/net-im/discord/Manifest
index 124fa5738865..7847e70f2a6c 100644
--- a/net-im/discord/Manifest
+++ b/net-im/discord/Manifest
@@ -18,4 +18,14 @@ DIST discord-1.0.152-discord_utils.distro 4598885 BLAKE2B 5f9daa03520137bb2490a7
 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-1.0.153-discord_desktop_core.distro 526887 BLAKE2B faf5fe334b7bf1ad60f938f3374449ff3fb3df79375047c3806fca54fee25a78cf579046683bbb9f7cbecf141848489ae7c35100e8d7072a415c8165e360d199 SHA512 798dd9e8c224c7891db660da06f55e9f6ce0697843befa635ee8cf7c133da38ffb1682f645072f25ed02e7d311355c26088097e9a0d3da60d4dda4c71f0b0447
+DIST discord-1.0.153-discord_erlpack.distro 2067986 BLAKE2B 8be3eb1ef88827f694c356b45b5fcc6bf6d4e31ac7cf658205d09c6fcbec3b4d21336265e49446852ce8b588214996d594105e02bc00d056fc2d4587d2d36a6c SHA512 20861bfdd2566f65cdfa0ddea559e2f33d592612256772c9d28b515ef5c0f144227689ca0f5bc31a3c9f744426d9cb475fb697552037931e0a7a6ca233b818c6
+DIST discord-1.0.153-discord_game_utils.distro 3173820 BLAKE2B 36611d847d877d205efee41c76a6048311eae116900da5786de57fdcdc16d16d63b0a29d80d898f98f1630f2ae54b8e46c08b65c1de4c4cde4ddfa1c44401ed9 SHA512 18cdde31f24c79eb73cd26dd08d6926062595da3e2f0bc65b60c32506725fcae1f416e84e5905e10a9494d81491e74fd0718a96902c09d6d9ca638577a89b94e
+DIST discord-1.0.153-discord_krisp.distro 36143425 BLAKE2B cd3dbd64fa5c4c670568368912856c3f69cd441e03b2d082e7cba81e95ee905bcfc5a2c40687c01ad323cd77df1b5a1155fbb8323d42ab2a4c648b7a49ecb5bd SHA512 2b8de3a2f83b9d290b6fea841371c4be1dbf76cf51d8316ad79e86d8de5710c8a62dad5367c831e005bdbfb85d9a03cb5d902e4ffd6e969d2e9bef456621e82a
+DIST discord-1.0.153-discord_rpc.distro 30366 BLAKE2B 05aaa4bb4fe857d3dda9319dce0717ad0954129ffb9be115917b8346cc7517083f1d2155e59278630dd769449eca8bb53af13da10a30e66a2fdd95535a7d5c25 SHA512 beb71f8fd2f03864f3d53e2e142e2f3d0f3f3aa54f95ef0a486e28a0bed1134789811f3243a55dfb72c5063d36ee30c9e617acb61d442bfb8c693615503d50ba
+DIST discord-1.0.153-discord_spellcheck.distro 9889982 BLAKE2B dff0ea45b99b55f57d49b704b33f5eaa74134bf0201c4a4d0a3da4831e0bbb2871c11c7c71c03219f745a7fc050c16c4a37c8aa982ff539ffab6ec1284e16b2c SHA512 5f8dd07c2e6982582f673bee94e3e8717167eb996768d0ee611eb4a1c9d8e2bd077ff91c414da8b14c754e8a5107232d334a0cecb11fb9daa7f5d902f8b11b63
+DIST discord-1.0.153-discord_utils.distro 4602447 BLAKE2B d9952756b9e0a03a49e49786f7a56c3a0e992ffc97e9bbdc74f79337f6c998a443bad3489199b6286e46b228ff48007a82b7b8d292a7b26e57e2d746e261ec3d SHA512 c4235fe1b0a3072386094bcd30abee81188fbbb1ed92640e67daacd4c521aa483b13193e9b57e1b1cf0fdbf9d16f9c63bba1ec4a7c4214e423632c49141c158f
+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-disable-breaking-updates-2f26748a667045d26bc19841f1a731b4be7a7514.py 1299 BLAKE2B b6c923c450a28405e2a439e0d1b8a83e01e0536c62095fafbae74612aa4e891df733aa13999ce6a8be3618fd14e154aec802aa4ee21aad1303b05626ffd23314 SHA512 a7ef493a216c71a5b02685cff6866bfc3940aaf9cdc73b58859c962d0d33b613349289ef7027359f184f42dddaed486b84f6d85b9023ab8530ab7ba66431c3c7

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