blob: daee1ebe7d28cfbacef4c36a344876892b07467e (
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
121
122
123
124
125
126
127
128
129
130
131
132
133
|
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit unpacker desktop xdg
MY_PN="Legcord"
DESCRIPTION="Legcord is a custom client designed to enhance your Discord experience"
HOMEPAGE="https://legcord.app/"
SRC_URI="
amd64? ( https://github.com/Legcord/Legcord/releases/download/v${PV}/Legcord-${PV}-linux-amd64.deb -> ${P}-amd64.deb )
arm64? ( https://github.com/Legcord/Legcord/releases/download/v${PV}/Legcord-${PV}-linux-arm64.deb -> ${P}-arm64.deb )
"
# metainfo
SRC_URI+=" https://github.com/Legcord/Legcord/releases/download/v${PV}/app.legcord.Legcord.metainfo.xml -> ${P}.metainfo.xml"
S="${WORKDIR}"
LICENSE="MIT BSD OSL-3.0"
SLOT="0"
KEYWORDS="-* ~amd64 ~arm64"
RESTRICT="bindist mirror test strip"
RDEPEND="
app-accessibility/at-spi2-core:2
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/mesa
net-print/cups
sys-apps/dbus
x11-libs/cairo
x11-libs/gtk+:3
x11-libs/libdrm
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon
x11-libs/libXrandr
x11-libs/pango
"
QA_PREBUILT="*"
src_unpack() {
use amd64 && unpack_deb "${P}-amd64.deb"
use arm64 && unpack_deb "${P}-arm64.deb"
}
src_prepare() {
default
# match with syslink
sed -i "s|^Exec=.*|Exec=/usr/bin/legcord-bin %U|" \
"usr/share/applications/${MY_PN}.desktop" || die
# rm binary libraries for unsupported architectures
local libdir="opt/${MY_PN}/resources/app.asar.unpacked/node_modules"
local targets=(
darwin_arm64
darwin_x64
freebsd_arm64
freebsd_ia32
freebsd_x64
linux_armhf
linux_ia32
linux_loong64
linux_riscv64d
musl_arm64
musl_x64
openbsd_ia32
openbsd_x64
win32_arm64
win32_ia32
win32_x64
)
if use amd64; then
rm "${libdir}/@vencord/venmic/prebuilds/venmic-addon-linux-arm64/node-napi-v7.node" || die
targets+=( linux_arm64 )
fi
if use arm64; then
rm "${libdir}/@vencord/venmic/prebuilds/venmic-addon-linux-x64/node-napi-v7.node" || die
targets+=( linux_x64 )
fi
local t
for t in "${targets[@]}"; do
rm -r "${libdir}/koffi/build/koffi/${t}" || die
done
}
src_install() {
local destdir="/opt/${PN}"
exeinto "${destdir}"
doexe "opt/${MY_PN}/${MY_PN}"
doexe "opt/${MY_PN}/chrome-sandbox"
doexe "opt/${MY_PN}/chrome_crashpad_handler"
insinto "${destdir}"
doins opt/"${MY_PN}"/*.bin
doins opt/"${MY_PN}"/*.pak
doins opt/"${MY_PN}"/*.so
doins "opt/${MY_PN}/icudtl.dat"
doins -r "opt/${MY_PN}/locales"
doins -r "opt/${MY_PN}/resources"
dosym ../../opt/"${PN}"/"${MY_PN}" /usr/bin/"${PN}"
local x
for x in 16 32 64 128 256 512; do
doicon -s ${x} usr/share/icons/hicolor/${x}*/*
done
domenu "usr/share/applications/${MY_PN}.desktop"
insinto /usr/share/metainfo
newins "${DISTDIR}/${P}.metainfo.xml" app.legcord.${MY_PN}.metainfo.xml
}
|