Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-im/discord-bin/
Date: Thu, 19 May 2022 02:04:00
Message-Id: 1652925533.a310b92544e1e20dfd9b66626fa796c4d522c788.sam@gentoo
1 commit: a310b92544e1e20dfd9b66626fa796c4d522c788
2 Author: Randall T. Vasquez <ran.dall <AT> icloud <DOT> com>
3 AuthorDate: Tue May 17 22:59:20 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Thu May 19 01:58:53 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a310b925
7
8 net-im/discord-bin: refactor the Discord ebuild
9
10 This is a general refactor of the Discord ebuild. It cleans up several things and fixes permissions, mostly. It seems to improve performance greatly.
11
12 Closes: https://bugs.gentoo.org/845219
13 Signed-off-by: Randall T. Vasquez <ran.dall <AT> icloud.com>
14 Closes: https://github.com/gentoo/gentoo/pull/25542
15 Signed-off-by: Sam James <sam <AT> gentoo.org>
16
17 net-im/discord-bin/Manifest | 1 +
18 net-im/discord-bin/discord-bin-0.0.17-r1.ebuild | 145 ++++++++++++++++++++++++
19 2 files changed, 146 insertions(+)
20
21 diff --git a/net-im/discord-bin/Manifest b/net-im/discord-bin/Manifest
22 index b0968102aa90..83e85a4eaf0f 100644
23 --- a/net-im/discord-bin/Manifest
24 +++ b/net-im/discord-bin/Manifest
25 @@ -1 +1,2 @@
26 DIST discord-0.0.17.deb 77105376 BLAKE2B b11d9d6798beb3dbb36892c9c948535fee453c258a91f48b04a686813fb82dc43f7872fcb4e68d17e6fb366a84825aa0e7b4f1ad45ab4efec403a05fb88c4f2a SHA512 b51d8e019b9c8c365aedbc7c77e53febec95d0c0f1b773e008d4d72e3880303b6f2d3381f363eedc8e08492ee2d2e8ef6d65353e852a8db9d708a70caabbb3cb
27 +DIST discord-0.0.17.tar.gz 77399242 BLAKE2B 0ed763947afd6478becff7c4f81fd805a681b77c48c52a958cc922242ab115b29f05cd2760dcb46d306aa5c1b39ac8ccb54d81e9c1d3b873cd01987d1a02ee2f SHA512 728c760f04770b197635d1fc1a2833c707ab462708cc0bf6fb165691c1375e14e3192f3806d3719325790459b39bd3425f5942d69a53019695f02c965214a5c9
28
29 diff --git a/net-im/discord-bin/discord-bin-0.0.17-r1.ebuild b/net-im/discord-bin/discord-bin-0.0.17-r1.ebuild
30 new file mode 100644
31 index 000000000000..a818701fa4ed
32 --- /dev/null
33 +++ b/net-im/discord-bin/discord-bin-0.0.17-r1.ebuild
34 @@ -0,0 +1,145 @@
35 +# Copyright 1999-2022 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=8
39 +
40 +MY_PN="${PN/-bin}"
41 +MY_PV="${PV/-r*}"
42 +MY_BIN="${MY_PN^}"
43 +
44 +CHROMIUM_LANGS="
45 + am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
46 + 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
47 + sw ta te th tr uk vi zh-CN zh-TW
48 +"
49 +
50 +inherit chromium-2 desktop linux-info optfeature pax-utils unpacker
51 +
52 +DESCRIPTION="All-in-one voice and text chat for gamers"
53 +HOMEPAGE="https://discordapp.com"
54 +SRC_URI="https://dl.discordapp.net/apps/linux/${MY_PV}/${MY_PN}-${MY_PV}.tar.gz"
55 +
56 +LICENSE="all-rights-reserved"
57 +SLOT="0"
58 +KEYWORDS="~amd64"
59 +
60 +# libXScrnSaver is used through dlopen (bug #825370)
61 +RDEPEND="
62 + app-accessibility/at-spi2-atk:2
63 + app-accessibility/at-spi2-core:2
64 + dev-libs/atk
65 + dev-libs/expat
66 + dev-libs/glib:2
67 + dev-libs/nspr
68 + dev-libs/nss
69 + media-libs/alsa-lib
70 + media-libs/mesa[gbm(+)]
71 + net-print/cups
72 + sys-apps/dbus
73 + sys-libs/glibc
74 + x11-libs/cairo
75 + x11-libs/gdk-pixbuf:2
76 + x11-libs/gtk+:3
77 + x11-libs/libX11
78 + x11-libs/libXScrnSaver
79 + x11-libs/libXcomposite
80 + x11-libs/libXdamage
81 + x11-libs/libXext
82 + x11-libs/libXfixes
83 + x11-libs/libXrandr
84 + x11-libs/libdrm
85 + x11-libs/libxcb
86 + x11-libs/libxkbcommon
87 + x11-libs/libxshmfence
88 + x11-libs/pango
89 +"
90 +
91 +RESTRICT="bindist mirror strip test"
92 +
93 +QA_PREBUILT="
94 + ${DESTDIR}/${MY_BIN}
95 + ${DESTDIR}/chrome-sandbox
96 + ${DESTDIR}/libffmpeg.so
97 + ${DESTDIR}/libvk_swiftshader.so
98 + ${DESTDIR}/libvulkan.so
99 + ${DESTDIR}/libEGL.so
100 + ${DESTDIR}/libGLESv2.so
101 + ${DESTDIR}/libVkICD_mock_icd.so
102 + ${DESTDIR}/swiftshader/libEGL.so
103 + ${DESTDIR}/swiftshader/libGLESv2.so
104 + ${DESTDIR}/swiftshader/libvk_swiftshader.so
105 +"
106 +
107 +CONFIG_CHECK="~USER_NS"
108 +
109 +S="${WORKDIR}/${MY_BIN}"
110 +
111 +DESTDIR="/opt/${MY_BIN}"
112 +
113 +pkg_pretend() {
114 + chromium_suid_sandbox_check_kernel_config
115 +}
116 +
117 +src_unpack() {
118 + unpack ${MY_PN}-${MY_PV}.tar.gz || die
119 +}
120 +
121 +src_configure() {
122 + chromium_suid_sandbox_check_kernel_config
123 + default
124 +}
125 +
126 +src_prepare() {
127 + default
128 +
129 + rm postinst.sh
130 +
131 + pushd "locales/" || die
132 + chromium_remove_language_paks
133 + popd
134 +
135 + sed -i \
136 + -e "s:/usr/share/discord/Discord:${DESTDIR}/${MY_BIN}:" \
137 + ${MY_PN}.desktop || die
138 +}
139 +
140 +src_install() {
141 + doicon -s 256 ${MY_PN}.png
142 +
143 + # Install desktop file
144 + domenu ${MY_PN}.desktop
145 +
146 + exeinto ${DESTDIR}
147 + doexe ${MY_BIN} chrome-sandbox libEGL.so libffmpeg.so libGLESv2.so libvk_swiftshader.so
148 +
149 + insinto ${DESTDIR}
150 + doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin
151 + insopts -m0755
152 + doins -r locales resources swiftshader
153 +
154 + # chrome-sandbox requires the setuid bit to be specifically set.
155 + # See https://github.com/electron/electron/issues/17972
156 + fperms 4755 ${DESTDIR}/chrome-sandbox || die
157 +
158 + pax-mark m ${DESTDIR}/${MY_BIN} || die "could not set proper PAX permissions"
159 +
160 + dosym ${DESTDIR}/${MY_BIN} /usr/bin/${MY_PN} || die
161 +
162 + dodir ${DESTDIR}
163 +}
164 +
165 +pkg_postinst() {
166 + xdg_desktop_database_update
167 + xdg_icon_cache_update
168 + xdg_mimeinfo_database_update
169 +
170 + optfeature "sound support" \
171 + media-sound/pulseaudio media-sound/apulse[sdk] media-video/pipewire
172 + optfeature "system tray support" dev-libs/libappindicator
173 +}
174 +
175 +pkg_postrm() {
176 + xdg_desktop_database_update
177 + xdg_icon_cache_update
178 + xdg_mimeinfo_database_update
179 +}