Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-im/discord-bin/
Date: Mon, 07 Nov 2022 08:49:10
Message-Id: 1667810881.718503b70a579f26d952ec0262bb4cdd02be907a.juippis@gentoo
1 commit: 718503b70a579f26d952ec0262bb4cdd02be907a
2 Author: Randall T. Vasquez <ran.dall <AT> icloud <DOT> com>
3 AuthorDate: Thu Nov 3 01:11:59 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Mon Nov 7 08:48:01 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=718503b7
7
8 net-im/discord-bin: refactor 0.0.21-r1
9
10 Signed-off-by: Randall T. Vasquez <ran.dall <AT> icloud.com>
11 Closes: https://github.com/gentoo/gentoo/pull/28117
12 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
13
14 ...-0.0.21.ebuild => discord-bin-0.0.21-r1.ebuild} | 67 ++++++++++++++--------
15 net-im/discord-bin/metadata.xml | 4 ++
16 2 files changed, 47 insertions(+), 24 deletions(-)
17
18 diff --git a/net-im/discord-bin/discord-bin-0.0.21.ebuild b/net-im/discord-bin/discord-bin-0.0.21-r1.ebuild
19 similarity index 65%
20 rename from net-im/discord-bin/discord-bin-0.0.21.ebuild
21 rename to net-im/discord-bin/discord-bin-0.0.21-r1.ebuild
22 index 58ed3ccea6ef..e006e6ca8030 100644
23 --- a/net-im/discord-bin/discord-bin-0.0.21.ebuild
24 +++ b/net-im/discord-bin/discord-bin-0.0.21-r1.ebuild
25 @@ -3,8 +3,8 @@
26
27 EAPI=8
28
29 -MY_PN="${PN/-bin}"
30 -MY_PV="${PV/-r*}"
31 +MY_PN="${PN/-bin/}"
32 +MY_PV="${PV/-r*/}"
33
34 CHROMIUM_LANGS="
35 am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
36 @@ -21,23 +21,28 @@ SRC_URI="https://dl.discordapp.net/apps/linux/${MY_PV}/${MY_PN}-${MY_PV}.tar.gz"
37 LICENSE="all-rights-reserved"
38 SLOT="0"
39 KEYWORDS="amd64"
40 +RESTRICT="bindist mirror strip test"
41 +IUSE="+seccomp system-ffmpeg"
42
43 -# libXScrnSaver is used through dlopen (bug #825370)
44 RDEPEND="
45 - || (
46 - >=app-accessibility/at-spi2-core-2.46.0:2
47 - ( app-accessibility/at-spi2-atk dev-libs/atk )
48 - )
49 + || (
50 + >=app-accessibility/at-spi2-core-2.46.0:2
51 + ( app-accessibility/at-spi2-atk dev-libs/atk )
52 + )
53 + app-crypt/libsecret
54 dev-libs/expat
55 dev-libs/glib:2
56 dev-libs/nspr
57 dev-libs/nss
58 media-libs/alsa-lib
59 + media-libs/fontconfig
60 media-libs/mesa[gbm(+)]
61 net-print/cups
62 sys-apps/dbus
63 + sys-apps/util-linux
64 sys-libs/glibc
65 x11-libs/cairo
66 + x11-libs/libdrm
67 x11-libs/gdk-pixbuf:2
68 x11-libs/gtk+:3
69 x11-libs/libX11
70 @@ -47,15 +52,13 @@ RDEPEND="
71 x11-libs/libXext
72 x11-libs/libXfixes
73 x11-libs/libXrandr
74 - x11-libs/libdrm
75 x11-libs/libxcb
76 x11-libs/libxkbcommon
77 x11-libs/libxshmfence
78 x11-libs/pango
79 + system-ffmpeg? ( media-video/ffmpeg[chromium] )
80 "
81
82 -RESTRICT="bindist mirror strip test"
83 -
84 DESTDIR="/opt/${MY_PN}"
85
86 QA_PREBUILT="
87 @@ -76,18 +79,13 @@ CONFIG_CHECK="~USER_NS"
88
89 S="${WORKDIR}/${MY_PN^}"
90
91 -pkg_pretend() {
92 - chromium_suid_sandbox_check_kernel_config
93 -}
94 -
95 src_unpack() {
96 unpack ${MY_PN}-${MY_PV}.tar.gz
97 }
98
99 src_configure() {
100 - chromium_suid_sandbox_check_kernel_config
101 -
102 default
103 + chromium_suid_sandbox_check_kernel_config
104 }
105
106 src_prepare() {
107 @@ -95,21 +93,41 @@ src_prepare() {
108 # remove post-install script
109 rm postinst.sh || die "the removal of the unneeded post-install script failed"
110 # cleanup languages
111 - pushd "locales/" || die "location change for language cleanup failed"
112 + pushd "locales/" >/dev/null || die "location change for language cleanup failed"
113 chromium_remove_language_paks
114 - popd || die "location reset for language cleanup failed"
115 + popd >/dev/null || die "location reset for language cleanup failed"
116 # fix .desktop exec location
117 - sed -i -e "s:/usr/share/discord/Discord:${DESTDIR}/${MY_PN^}:" ${MY_PN}.desktop || die "fixing of exec location on .desktop failed"
118 + sed -i "/Exec/s:/usr/share/discord/Discord:${DESTDIR}/${MY_PN^}:" \
119 + "${MY_PN}.desktop" ||
120 + die "fixing of exec location on .desktop failed"
121 + # USE seccomp
122 + if ! use seccomp; then
123 + sed -i '/Exec/s/Discord/Discord --disable-seccomp-filter-sandbox/' \
124 + "${MY_PN}.desktop" ||
125 + die "sed failed for seccomp"
126 + fi
127 + # USE system-ffmpeg
128 + if use system-ffmpeg; then
129 + rm libffmpeg.so || die
130 + elog "Using system ffmpeg. This is experimental and may lead to crashes."
131 + fi
132 }
133
134 src_install() {
135 - doicon -s 256 ${MY_PN}.png
136 + doicon -s 256 "${MY_PN}.png"
137
138 # install .desktop file
139 - domenu ${MY_PN}.desktop
140 + domenu "${MY_PN}.desktop"
141
142 exeinto "${DESTDIR}"
143 - doexe ${MY_PN^} chrome-sandbox libEGL.so libffmpeg.so libGLESv2.so libvk_swiftshader.so
144 +
145 + doexe "${MY_PN^}" chrome-sandbox libEGL.so libGLESv2.so libvk_swiftshader.so
146 +
147 + if use system-ffmpeg; then
148 + dosym "../../usr/$(get_libdir)/chromium/libffmpeg.so" "${DESTDIR}/libffmpeg.so" || die
149 + else
150 + doexe libffmpeg.so
151 + fi
152
153 insinto "${DESTDIR}"
154 doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin
155 @@ -118,9 +136,10 @@ src_install() {
156
157 # Chrome-sandbox requires the setuid bit to be specifically set.
158 # see https://github.com/electron/electron/issues/17972
159 - fperms 4755 "${DESTDIR}"/chrome-sandbox
160 + fowners root "${DESTDIR}/chrome-sandbox"
161 + fperms 4711 "${DESTDIR}/chrome-sandbox"
162
163 - dosym "${DESTDIR}"/${MY_PN^} /usr/bin/${MY_PN}
164 + dosym "${DESTDIR}/${MY_PN^}" "/usr/bin/${MY_PN}"
165 }
166
167 pkg_postinst() {
168
169 diff --git a/net-im/discord-bin/metadata.xml b/net-im/discord-bin/metadata.xml
170 index f485c452f77f..058ce7688080 100644
171 --- a/net-im/discord-bin/metadata.xml
172 +++ b/net-im/discord-bin/metadata.xml
173 @@ -9,4 +9,8 @@
174 <email>proxy-maint@g.o</email>
175 <name>Proxy Maintainers</name>
176 </maintainer>
177 + <use>
178 + <flag name="swiftshader">Install SwiftShader OpenGL libaries</flag>
179 + <flag name="system-ffmpeg">Use the system-wide <pkg>media-video/ffmpeg</pkg> instead of bundled</flag>
180 + </use>
181 </pkgmetadata>