Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: profiles/arch/sparc/, profiles/arch/arm64/, profiles/arch/ia64/, x11-wm/mutter/, ...
Date: Sun, 18 Aug 2019 11:31:52
Message-Id: 1566127856.f981849f2156dd2e70f479f416c2670b4e8a9cbd.leio@gentoo
1 commit: f981849f2156dd2e70f479f416c2670b4e8a9cbd
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Sun Aug 18 10:07:23 2019 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Sun Aug 18 11:30:56 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f981849f
7
8 x11-wm/mutter: update patchset, add pipewire support
9
10 Updated patchset adds back the problematic set of patches from
11 3.30.2-r2, but with more patches on top that should fix up the
12 regressions. Pipewire is just hooked up to the relevant
13 configure option via USE=screencast
14
15 Package-Manager: Portage-2.3.62, Repoman-2.3.12
16 Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
17
18 profiles/arch/alpha/package.use.mask | 4 +
19 profiles/arch/arm/package.use.mask | 1 +
20 profiles/arch/arm64/package.use.mask | 1 +
21 profiles/arch/ia64/package.use.mask | 4 +
22 profiles/arch/powerpc/ppc32/package.use.mask | 4 +
23 profiles/arch/powerpc/ppc64/package.use.mask | 4 +
24 profiles/arch/sparc/package.use.mask | 4 +
25 profiles/arch/x86/package.use.mask | 1 +
26 x11-wm/mutter/Manifest | 1 +
27 x11-wm/mutter/metadata.xml | 1 +
28 x11-wm/mutter/mutter-3.30.2-r4.ebuild | 149 +++++++++++++++++++++++++++
29 11 files changed, 174 insertions(+)
30
31 diff --git a/profiles/arch/alpha/package.use.mask b/profiles/arch/alpha/package.use.mask
32 index ecaa5101db5..0989a3a310c 100644
33 --- a/profiles/arch/alpha/package.use.mask
34 +++ b/profiles/arch/alpha/package.use.mask
35 @@ -1,6 +1,10 @@
36 # Copyright 1999-2019 Gentoo Authors
37 # Distributed under the terms of the GNU General Public License v2
38
39 +# Mart Raudsepp <leio@g.o> (2019-08-18)
40 +# media-video/pipewire is not keyworded yet
41 +x11-wm/mutter screencast
42 +
43 # Lars Wendler <polynomial-c@g.o> (2019-04-29)
44 # Requires net-libs/webkit-gtk which has no keywords on alpha
45 dev-util/geany-plugins markdown
46
47 diff --git a/profiles/arch/arm/package.use.mask b/profiles/arch/arm/package.use.mask
48 index 0bb8ae1c042..97aa916f451 100644
49 --- a/profiles/arch/arm/package.use.mask
50 +++ b/profiles/arch/arm/package.use.mask
51 @@ -7,6 +7,7 @@ dev-libs/weston pipewire
52 kde-apps/krfb wayland
53 kde-plasma/xdg-desktop-portal-kde screencast
54 sys-apps/xdg-desktop-portal screencast
55 +x11-wm/mutter screencast
56
57 # Michał Górny <mgorny@g.o> (2019-07-13)
58 # app-forensics/libewf is not keyworded here.
59
60 diff --git a/profiles/arch/arm64/package.use.mask b/profiles/arch/arm64/package.use.mask
61 index 32194e56179..db7e1031970 100644
62 --- a/profiles/arch/arm64/package.use.mask
63 +++ b/profiles/arch/arm64/package.use.mask
64 @@ -7,6 +7,7 @@ dev-libs/weston pipewire
65 kde-apps/krfb wayland
66 kde-plasma/xdg-desktop-portal-kde screencast
67 sys-apps/xdg-desktop-portal screencast
68 +x11-wm/mutter screencast
69
70 # Aaron Bauman <bman@g.o> (2019-08-05)
71 # dep not keyworded here
72
73 diff --git a/profiles/arch/ia64/package.use.mask b/profiles/arch/ia64/package.use.mask
74 index 3fe8942facc..ecbd2c0bc56 100644
75 --- a/profiles/arch/ia64/package.use.mask
76 +++ b/profiles/arch/ia64/package.use.mask
77 @@ -1,6 +1,10 @@
78 # Copyright 1999-2019 Gentoo Authors
79 # Distributed under the terms of the GNU General Public License v2
80
81 +# Mart Raudsepp <leio@g.o> (2019-08-18)
82 +# media-video/pipewire is not keyworded yet
83 +x11-wm/mutter screencast
84 +
85 # Matt Turner <mattst88@g.o> (2019-08-08)
86 # Tomáš Mózes <hydrapolic@×××××.com> (2019-07-24)
87 # Unkeyworded dependency
88
89 diff --git a/profiles/arch/powerpc/ppc32/package.use.mask b/profiles/arch/powerpc/ppc32/package.use.mask
90 index 8b7962cdc8d..ae5e18756fa 100644
91 --- a/profiles/arch/powerpc/ppc32/package.use.mask
92 +++ b/profiles/arch/powerpc/ppc32/package.use.mask
93 @@ -1,6 +1,10 @@
94 # Copyright 1999-2019 Gentoo Authors
95 # Distributed under the terms of the GNU General Public License v2
96
97 +# Mart Raudsepp <leio@g.o> (2019-08-18)
98 +# media-video/pipewire is not keyworded yet
99 +x11-wm/mutter screencast
100 +
101 # Andreas Sturmlechner <asturm@g.o> (2019-05-15)
102 # sys-cluster/hpx, sci-libs/silo, sci-visualization/visit not keyworded
103 sci-libs/libgeodecomp hpx silo visit
104
105 diff --git a/profiles/arch/powerpc/ppc64/package.use.mask b/profiles/arch/powerpc/ppc64/package.use.mask
106 index 1c3a08553bb..9c9b4366d7c 100644
107 --- a/profiles/arch/powerpc/ppc64/package.use.mask
108 +++ b/profiles/arch/powerpc/ppc64/package.use.mask
109 @@ -1,6 +1,10 @@
110 # Copyright 1999-2019 Gentoo Authors
111 # Distributed under the terms of the GNU General Public License v2
112
113 +# Mart Raudsepp <leio@g.o> (2019-08-18)
114 +# media-video/pipewire is not keyworded yet
115 +x11-wm/mutter screencast
116 +
117 # Jimi Huotari <chiitoo@g.o> (2019-07-28)
118 # Mask unkeyworded, untested dependencies.
119 # https://bugs.gentoo.org/689606
120
121 diff --git a/profiles/arch/sparc/package.use.mask b/profiles/arch/sparc/package.use.mask
122 index 744a3781762..cb45c2c6f17 100644
123 --- a/profiles/arch/sparc/package.use.mask
124 +++ b/profiles/arch/sparc/package.use.mask
125 @@ -1,6 +1,10 @@
126 # Copyright 1999-2019 Gentoo Authors
127 # Distributed under the terms of the GNU General Public License v2
128
129 +# Mart Raudsepp <leio@g.o> (2019-08-18)
130 +# media-video/pipewire is not keyworded yet
131 +x11-wm/mutter screencast
132 +
133 # Sergei Trofimovich <slyfox@g.o> (2019-05-05)
134 # No sparc arch support for jit.
135 dev-lang/spidermonkey jit
136
137 diff --git a/profiles/arch/x86/package.use.mask b/profiles/arch/x86/package.use.mask
138 index 1324336edb7..a13a9ba9dd8 100644
139 --- a/profiles/arch/x86/package.use.mask
140 +++ b/profiles/arch/x86/package.use.mask
141 @@ -9,6 +9,7 @@ dev-libs/weston pipewire
142 kde-apps/krfb wayland
143 kde-plasma/xdg-desktop-portal-kde screencast
144 sys-apps/xdg-desktop-portal screencast
145 +x11-wm/mutter screencast
146
147 # Thomas Deutschmann <whissi@g.o> (2019-08-03)
148 # Early microcode loading is supported on x86
149
150 diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
151 index 92a3a4c453e..cf1fc2fed32 100644
152 --- a/x11-wm/mutter/Manifest
153 +++ b/x11-wm/mutter/Manifest
154 @@ -2,4 +2,5 @@ DIST mutter-3.26.2-patchset.tar.xz 48156 BLAKE2B 7b33495a8bb7ac69f5610e1dfcb1fef
155 DIST mutter-3.26.2.tar.xz 3622904 BLAKE2B b32af24c6ffcd0e6af38ab1ff7cd0ba16ea3ceb84c62ed21d9e38fff5357eda2648050beada3fc8727474407a419a2c218331c8a87f7eb68eddf824d26ca9c51 SHA512 95885b4c053d4bc467a7c11615ee3d1a3086a674ae10e7cb9bb241f692e66dd8190508db1cdf1760bc2f19100e532e68d5e147d344e94d1430d80dd26ca0156b
156 DIST mutter-3.30.2-r1-patchset.tar.xz 14096 BLAKE2B 83f2e975a4404b878e832a70fe7a84a2a39d291dc1f6191e5805633327d21fb0796b8b0172a35602bec9c7e879819ebdb189f324cba3f4a4aee232d5e439ba0a SHA512 f842920d6855803b8712e1736399805ecd3266a61dd7baba1f80383978d00533e34fd742103b578f9f2969ab2059f9e0c7b3812d2ea2283b6ffa91810bf6094f
157 DIST mutter-3.30.2-r3-patchset.tar.xz 30208 BLAKE2B 502e9c1d005cf268548e2732d4574b0eb7491940531c77c357e73e2da23b60acfbb183f9e818edd86cf0d6abca4e43c2e687db27544bb4fe7e9a33a162df01da SHA512 22b66395ffae07b208efa3a1305c71ea2282470a08300a5c3de23a2a45f03afef7804d5943934028286406adedbb9851dc562f4e57fdff77df22591893f0908b
158 +DIST mutter-3.30.2-r4-patchset.tar.xz 44820 BLAKE2B 2448dcd6bca338dbe2b87a93ca4374fd5b4cc5d8834dd40739e74a65280b7f00b99d61361082673f5f41e44fb40e36f0889d5ee00fbc034efe87294540fba48e SHA512 a7024b95bc56ab25cfdb27003b4b1fc39925117795c05f78b2d473fdbcf3bb6ce870ee5bc030ec4ce5e10b42d94fa0007bf5870bd2a4e94de3885c9434a39835
159 DIST mutter-3.30.2.tar.xz 3725692 BLAKE2B 280b7a6319e5d4705baee965936df6f31ba8ca96ce3812cf640578c6817aaa82b6ff8fde7b2740ecd8edb6c4746f4608f997772a24d67f12fcb0c5c77fc9b29a SHA512 3890270b7eb4b8753274d30ad26693b829a69b31f36501845c59b000deb174be58b5167f6754767dba02ebc44688697fbe7344a327879a073955047b69333a2e
160
161 diff --git a/x11-wm/mutter/metadata.xml b/x11-wm/mutter/metadata.xml
162 index bd2aac01e71..4da93b48e48 100644
163 --- a/x11-wm/mutter/metadata.xml
164 +++ b/x11-wm/mutter/metadata.xml
165 @@ -8,5 +8,6 @@
166 <use>
167 <flag name="elogind">Rely on <pkg>sys-auth/elogind</pkg> as logind provider for Wayland sessions</flag>
168 <flag name="gles2">Enable OpenGL ES 2.0 support</flag>
169 + <flag name="screencast">Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg></flag>
170 </use>
171 </pkgmetadata>
172
173 diff --git a/x11-wm/mutter/mutter-3.30.2-r4.ebuild b/x11-wm/mutter/mutter-3.30.2-r4.ebuild
174 new file mode 100644
175 index 00000000000..4a195cee4a1
176 --- /dev/null
177 +++ b/x11-wm/mutter/mutter-3.30.2-r4.ebuild
178 @@ -0,0 +1,149 @@
179 +# Copyright 1999-2019 Gentoo Authors
180 +# Distributed under the terms of the GNU General Public License v2
181 +
182 +EAPI=6
183 +GNOME2_EAUTORECONF="yes"
184 +inherit gnome2 virtualx
185 +
186 +DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
187 +HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
188 +SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${PF}-patchset.tar.xz"
189 +
190 +LICENSE="GPL-2+"
191 +SLOT="0/3" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
192 +
193 +IUSE="debug elogind gles2 input_devices_wacom +introspection screencast systemd test udev wayland"
194 +# native backend requires gles3 for hybrid graphics blitting support and a logind provider
195 +REQUIRED_USE="
196 + wayland? ( ^^ ( elogind systemd ) )"
197 +
198 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
199 +
200 +# libXi-1.7.4 or newer needed per:
201 +# https://bugzilla.gnome.org/show_bug.cgi?id=738944
202 +# gl.pc package is required, which is only installed by mesa if glx is enabled; pre-emptively requiring USE=X on mesa, as hopefully eventually it'll support disabling glx for wayland-only systems
203 +RDEPEND="
204 + >=dev-libs/atk-2.5.3
205 + >=x11-libs/gdk-pixbuf-2:2
206 + >=dev-libs/json-glib-0.12.0
207 + >=x11-libs/pango-1.30[introspection?]
208 + >=x11-libs/cairo-1.14[X]
209 + >=x11-libs/gtk+-3.19.8:3[X,introspection?]
210 + >=dev-libs/glib-2.53.2:2
211 + >=media-libs/libcanberra-0.26[gtk3]
212 + >=x11-libs/startup-notification-0.7
213 + >=x11-libs/libXcomposite-0.2
214 + >=gnome-base/gsettings-desktop-schemas-3.21.4[introspection?]
215 + gnome-base/gnome-desktop:3=
216 +
217 + x11-libs/libICE
218 + x11-libs/libSM
219 + x11-libs/libX11
220 + >=x11-libs/libXcomposite-0.4
221 + x11-libs/libXcursor
222 + x11-libs/libXdamage
223 + x11-libs/libXext
224 + >=x11-libs/libXfixes-3
225 + >=x11-libs/libXi-1.7.4
226 + x11-libs/libXinerama
227 + >=x11-libs/libXrandr-1.5
228 + x11-libs/libXrender
229 + x11-libs/libxcb
230 + x11-libs/libxkbfile
231 + >=x11-libs/libxkbcommon-0.4.3[X]
232 + x11-misc/xkeyboard-config
233 +
234 + gnome-extra/zenity
235 + media-libs/mesa[X(+),egl,gles2?]
236 +
237 + input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
238 + introspection? ( >=dev-libs/gobject-introspection-1.42:= )
239 + udev? ( >=virtual/libgudev-232:= )
240 + screencast? ( >=media-video/pipewire-0.2.2:0/0.2 )
241 + wayland? (
242 + >=dev-libs/libinput-1.4
243 + >=dev-libs/wayland-1.13.0
244 + >=dev-libs/wayland-protocols-1.16
245 + >=media-libs/mesa-10.3[egl,gbm,wayland,gles2]
246 + systemd? ( sys-apps/systemd )
247 + elogind? ( sys-auth/elogind )
248 + >=virtual/libgudev-232:=
249 + >=virtual/libudev-136:=
250 + x11-base/xorg-server[wayland]
251 + x11-libs/libdrm:=
252 + )
253 +"
254 +DEPEND="${RDEPEND}
255 + dev-util/glib-utils
256 + >=sys-devel/gettext-0.19.6
257 + virtual/pkgconfig
258 + x11-base/xorg-proto
259 + test? ( app-text/docbook-xml-dtd:4.5 )
260 + wayland? ( >=sys-kernel/linux-headers-4.4 )
261 +"
262 +
263 +PATCHES=(
264 + # Some patches from gnome-3-30 branch on top of 3.30.2
265 + "${WORKDIR}"/patches/
266 + # Hack to not fail USE="-wayland,-gles2" builds with no mesa[gles2]
267 + "${FILESDIR}"/3.28.3-no-gles2-fix.patch # requires eautoreconf
268 +)
269 +
270 +src_prepare() {
271 + # Disable building of noinst_PROGRAM for tests
272 + if ! use test; then
273 + sed -e '/^noinst_PROGRAMS/d' \
274 + -i cogl/tests/conform/Makefile.{am,in} || die
275 + sed -e '/noinst_PROGRAMS += testboxes/d' \
276 + -i src/Makefile-tests.am || die
277 + sed -e '/noinst_PROGRAMS/ s/testboxes$(EXEEXT)//' \
278 + -i src/Makefile.in || die
279 + fi
280 +
281 + gnome2_src_prepare
282 +
283 + # Leave the damn CFLAGS alone
284 + sed -e 's/$CFLAGS -g/$CFLAGS /' \
285 + -i clutter/configure || die
286 + sed -e 's/$CFLAGS -g -O0/$CFLAGS /' \
287 + -i cogl/configure || die
288 + sed -e 's/$CFLAGS -g -O/$CFLAGS /' \
289 + -i configure || die
290 +}
291 +
292 +src_configure() {
293 + # TODO: pipewire remote desktop support
294 + # TODO: nvidia EGLDevice support
295 + # TODO: elogind vs systemd is automagic in 3.28.3 - if elogind is found, it's used instead of systemd; but not a huge problem as elogind package blocks systemd package
296 + # TODO: lack of --with-xwayland-grab-default-access-rules relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops)
297 + # Prefer gl driver by default
298 + # GLX is forced by mutter but optional in clutter
299 + # xlib-egl-platform required by mutter x11 backend
300 + # native backend without wayland is useless
301 + gnome2_src_configure \
302 + --disable-static \
303 + --enable-compile-warnings=minimum \
304 + --enable-gl \
305 + --enable-glx \
306 + --enable-sm \
307 + --enable-startup-notification \
308 + --enable-verbose-mode \
309 + --enable-xlib-egl-platform \
310 + --with-default-driver=gl \
311 + --with-libcanberra \
312 + $(usex debug --enable-debug=yes "") \
313 + $(use_enable gles2) \
314 + $(use_enable gles2 cogl-gles2) \
315 + $(use_enable introspection) \
316 + $(use_enable screencast remote-desktop) \
317 + $(use_enable wayland) \
318 + $(use_enable wayland kms-egl-platform) \
319 + $(use_enable wayland native-backend) \
320 + $(use_enable wayland wayland-egl-server) \
321 + $(use_with input_devices_wacom libwacom) \
322 + $(use_with udev gudev)
323 +}
324 +
325 +src_test() {
326 + virtx emake check
327 +}