blob: 403a5caf5f2798e2991000c329931c66b20a1db6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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
}
|