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
+}