summaryrefslogtreecommitdiffstats
path: root/packages/net-im/discord
diff options
context:
space:
mode:
Diffstat (limited to 'packages/net-im/discord')
-rw-r--r--packages/net-im/discord/discord-1.0.161.exheres-0120
-rw-r--r--packages/net-im/discord/files/discord-launcher4
-rw-r--r--packages/net-im/discord/files/discord.desktop9
-rw-r--r--packages/net-im/discord/files/manifest.json11
4 files changed, 144 insertions, 0 deletions
diff --git a/packages/net-im/discord/discord-1.0.161.exheres-0 b/packages/net-im/discord/discord-1.0.161.exheres-0
new file mode 100644
index 0000000..403a5ca
--- /dev/null
+++ b/packages/net-im/discord/discord-1.0.161.exheres-0
@@ -0,0 +1,120 @@
+# Copyright 2026 Gurov <thuggerthugger1@duck.com>
+# Distributed under the terms of the GNU General Public License v2
+
+require freedesktop-desktop freedesktop-mime gtk-icon-cache
+
+SUMMARY="Voice, video, and text chat client"
+HOMEPAGE="https://discord.com/"
+
+DISCORD_BASE="https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/${PV}"
+UPDATE_DISABLER_COMMIT="2f26748a667045d26bc19841f1a731b4be7a7514"
+DISCORD_MODULES=(
+ discord_desktop_core discord_erlpack discord_spellcheck discord_utils
+ discord_voice discord_zstd discord_rpc discord_game_utils discord_krisp
+)
+
+DOWNLOADS="
+ ${DISCORD_BASE}/full.distro -> ${PNV}.distro
+ https://github.com/flathub/com.discordapp.Discord/raw/${UPDATE_DISABLER_COMMIT}/disable-breaking-updates.py
+ -> ${PN}-disable-breaking-updates-${UPDATE_DISABLER_COMMIT}.py
+"
+for module in "${DISCORD_MODULES[@]}"; do
+ DOWNLOADS+=" ${DISCORD_BASE}/${module}/1/full.distro -> ${PNV}-${module}.distro "
+done
+
+LICENCES="all-rights-reserved"
+SLOT="0"
+PLATFORMS="~amd64"
+RESTRICT="mirror strip test"
+
+DEPENDENCIES="
+ build:
+ app-arch/brotli
+ app-arch/zip
+
+ run:
+ dev-lang/python:*[>=3]
+ dev-libs/at-spi2-core
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/fontconfig
+ net-print/cups
+ sys-apps/dbus
+ sys-apps/util-linux
+ sys-libs/wayland
+ sys-sound/alsa-lib
+ x11-dri/libdrm
+ x11-dri/mesa
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2.0
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ 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
+"
+
+WORK="${WORKBASE}/discord"
+
+pkg_setup() {
+ exdirectory --allow /opt
+}
+
+src_unpack() {
+ edo mkdir -p "${WORK}"
+ edo brotli -d "${FETCHEDDIR}/${PNV}.distro" -o "${WORKBASE}/${PNV}.tar"
+ edo tar -xf "${WORKBASE}/${PNV}.tar" -C "${WORK}"
+ edo rm "${WORKBASE}/${PNV}.tar"
+
+ local module
+ for module in "${DISCORD_MODULES[@]}"; do
+ edo mkdir -p "${WORKBASE}/${module}"
+ edo brotli -d "${FETCHEDDIR}/${PNV}-${module}.distro" -o "${WORKBASE}/${module}.tar"
+ edo tar -xf "${WORKBASE}/${module}.tar" -C "${WORKBASE}/${module}"
+ edo pushd "${WORKBASE}/${module}/files"
+ edo zip -qr "${WORK}/files/resources/bootstrap/${module}.zip" .
+ edo popd
+ edo rm -r "${WORKBASE}/${module}" "${WORKBASE}/${module}.tar"
+ done
+}
+
+src_prepare() {
+ edo cp "${FILES}/manifest.json" "${WORK}/files/resources/bootstrap/manifest.json"
+}
+
+src_install() {
+ edo mkdir -p "${IMAGE}/opt/discord"
+ edo cp -r "${WORK}/files/." "${IMAGE}/opt/discord/"
+ edo chmod 4755 "${IMAGE}/opt/discord/chrome-sandbox"
+
+ insinto /opt/discord
+ newins "${FETCHEDDIR}/${PN}-disable-breaking-updates-${UPDATE_DISABLER_COMMIT}.py" disable-breaking-updates.py
+ edo chmod 755 "${IMAGE}/opt/discord/disable-breaking-updates.py"
+
+ insinto /usr/share/icons/hicolor/256x256/apps
+ newins "${WORK}/files/discord.png" discord.png
+ insinto /usr/share/applications
+ doins "${FILES}/discord.desktop"
+ exeinto /usr/$(exhost --target)/bin
+ newexe "${FILES}/discord-launcher" discord
+}
+
+pkg_postinst() {
+ freedesktop-mime_pkg_postinst
+ freedesktop-desktop_pkg_postinst
+ gtk-icon-cache_pkg_postinst
+}
+
+pkg_postrm() {
+ freedesktop-mime_pkg_postrm
+ freedesktop-desktop_pkg_postrm
+ gtk-icon-cache_pkg_postrm
+}
diff --git a/packages/net-im/discord/files/discord-launcher b/packages/net-im/discord/files/discord-launcher
new file mode 100644
index 0000000..4c7a969
--- /dev/null
+++ b/packages/net-im/discord/files/discord-launcher
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+/usr/bin/env python3 /opt/discord/disable-breaking-updates.py
+exec /opt/discord/Discord "$@"
diff --git a/packages/net-im/discord/files/discord.desktop b/packages/net-im/discord/files/discord.desktop
new file mode 100644
index 0000000..1418496
--- /dev/null
+++ b/packages/net-im/discord/files/discord.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Discord
+Comment=Voice, video, and text chat
+Exec=discord --url -- %u
+Icon=discord
+Type=Application
+Categories=Network;InstantMessaging;
+StartupWMClass=discord
+MimeType=x-scheme-handler/discord;
diff --git a/packages/net-im/discord/files/manifest.json b/packages/net-im/discord/files/manifest.json
new file mode 100644
index 0000000..1359c6e
--- /dev/null
+++ b/packages/net-im/discord/files/manifest.json
@@ -0,0 +1,11 @@
+{
+ "discord_desktop_core": 1,
+ "discord_erlpack": 1,
+ "discord_spellcheck": 1,
+ "discord_utils": 1,
+ "discord_voice": 1,
+ "discord_zstd": 1,
+ "discord_rpc": 1,
+ "discord_game_utils": 1,
+ "discord_krisp": 1
+}