1 |
commit: 0c4e5ce467e59b8903b8e53047b751346040aaa4 |
2 |
Author: Mart Raudsepp <leio <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Sep 6 21:01:22 2019 +0000 |
4 |
Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Sep 6 21:44:35 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c4e5ce4 |
7 |
|
8 |
x11-wm/mutter: bump to 3.32.2 |
9 |
|
10 |
Closes: https://bugs.gentoo.org/685724 |
11 |
Package-Manager: Portage-2.3.69, Repoman-2.3.12 |
12 |
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org> |
13 |
|
14 |
x11-wm/mutter/Manifest | 2 + |
15 |
x11-wm/mutter/files/3.32.2-no-cogl-gles2.patch | 81 ++++++++++++++ |
16 |
x11-wm/mutter/mutter-3.32.2.ebuild | 146 +++++++++++++++++++++++++ |
17 |
3 files changed, 229 insertions(+) |
18 |
|
19 |
diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest |
20 |
index cf1fc2fed32..1c6c961ffdf 100644 |
21 |
--- a/x11-wm/mutter/Manifest |
22 |
+++ b/x11-wm/mutter/Manifest |
23 |
@@ -4,3 +4,5 @@ DIST mutter-3.30.2-r1-patchset.tar.xz 14096 BLAKE2B 83f2e975a4404b878e832a70fe7a |
24 |
DIST mutter-3.30.2-r3-patchset.tar.xz 30208 BLAKE2B 502e9c1d005cf268548e2732d4574b0eb7491940531c77c357e73e2da23b60acfbb183f9e818edd86cf0d6abca4e43c2e687db27544bb4fe7e9a33a162df01da SHA512 22b66395ffae07b208efa3a1305c71ea2282470a08300a5c3de23a2a45f03afef7804d5943934028286406adedbb9851dc562f4e57fdff77df22591893f0908b |
25 |
DIST mutter-3.30.2-r4-patchset.tar.xz 44820 BLAKE2B 2448dcd6bca338dbe2b87a93ca4374fd5b4cc5d8834dd40739e74a65280b7f00b99d61361082673f5f41e44fb40e36f0889d5ee00fbc034efe87294540fba48e SHA512 a7024b95bc56ab25cfdb27003b4b1fc39925117795c05f78b2d473fdbcf3bb6ce870ee5bc030ec4ce5e10b42d94fa0007bf5870bd2a4e94de3885c9434a39835 |
26 |
DIST mutter-3.30.2.tar.xz 3725692 BLAKE2B 280b7a6319e5d4705baee965936df6f31ba8ca96ce3812cf640578c6817aaa82b6ff8fde7b2740ecd8edb6c4746f4608f997772a24d67f12fcb0c5c77fc9b29a SHA512 3890270b7eb4b8753274d30ad26693b829a69b31f36501845c59b000deb174be58b5167f6754767dba02ebc44688697fbe7344a327879a073955047b69333a2e |
27 |
+DIST mutter-3.32.2-patchset.tar.xz 26872 BLAKE2B 026c87cc3859624bcfd273694a8a34661d97cc77776e3df5f6f5de16b8758fc435773b1c96172b867fe0d9bea421c56986db2e7263c6ec3482171cc2adf06295 SHA512 e318fcfa4ee7850814cdfb5fbcc118a92fa3df524a78b24a440346be6a6c7cb975f90218a2d4feeacd222f2daf56c4cff4195c83e3ed74726dc1da63d38a93c5 |
28 |
+DIST mutter-3.32.2.tar.xz 2797664 BLAKE2B 8b69436778d9c3e10b0373c83e1f306cb2718e49ad1f351f2e3a1ef92caeb1eb7a391be07c60578cfb2601eea5dc3949b1d8305e9f079b2b00d43ff305409f00 SHA512 e4494d028ae71441fbdc584bd8acd9c2559d52ac72402bad9a7cb43f4f519487d11df6453172fd27a9df7f2cade020d6317931613bd0be343c66170e6cda0269 |
29 |
|
30 |
diff --git a/x11-wm/mutter/files/3.32.2-no-cogl-gles2.patch b/x11-wm/mutter/files/3.32.2-no-cogl-gles2.patch |
31 |
new file mode 100644 |
32 |
index 00000000000..41c3e94d860 |
33 |
--- /dev/null |
34 |
+++ b/x11-wm/mutter/files/3.32.2-no-cogl-gles2.patch |
35 |
@@ -0,0 +1,81 @@ |
36 |
+From a00bd286724b3186c17d70f1b2fe98da2d90bf60 Mon Sep 17 00:00:00 2001 |
37 |
+From: Mart Raudsepp <leio@g.o> |
38 |
+Date: Sun, 1 Sep 2019 14:42:04 +0300 |
39 |
+Subject: [PATCH] build: Allow building native backend without cogl-gles2 |
40 |
+ |
41 |
+Native backend already requires gles2, but was controlled by gles2 |
42 |
+meson option, even though it's hard required with native_backend |
43 |
+already, and errored out if gles2 wasn't enabled too. |
44 |
+Instead allow native_backend to be built without cogl-gles2 by simply |
45 |
+checking for the gles2 hard requirement in case of have_native_backend |
46 |
+too and not erroring out without -Dgles2=true, which is now used only |
47 |
+for controlling cogl-gles2 build. |
48 |
+--- |
49 |
+ meson.build | 10 +++------- |
50 |
+ src/meson.build | 4 ++-- |
51 |
+ 2 files changed, 5 insertions(+), 9 deletions(-) |
52 |
+ |
53 |
+diff --git a/meson.build b/meson.build |
54 |
+index 6160a4bb3..c85284ba2 100644 |
55 |
+--- a/meson.build |
56 |
++++ b/meson.build |
57 |
+@@ -150,12 +150,13 @@ endif |
58 |
+ have_egl_xlib = have_egl and have_x11 |
59 |
+ |
60 |
+ have_gles2 = get_option('gles2') |
61 |
+-if have_gles2 |
62 |
++have_native_backend = get_option('native_backend') |
63 |
++if have_gles2 or have_native_backend |
64 |
+ gles2_dep = dependency('glesv2') |
65 |
+ gles2_libname = get_option('gles2_libname') |
66 |
+ |
67 |
+ if not have_egl |
68 |
+- error('GLESv2 support requires EGL to be enabled') |
69 |
++ error('GLESv2 and native backend support requires EGL to be enabled') |
70 |
+ endif |
71 |
+ endif |
72 |
+ |
73 |
+@@ -177,7 +178,6 @@ if have_libgudev |
74 |
+ gudev_dep = dependency('gudev-1.0', version: gudev_req) |
75 |
+ endif |
76 |
+ |
77 |
+-have_native_backend = get_option('native_backend') |
78 |
+ if have_native_backend |
79 |
+ libdrm_dep = dependency('libdrm') |
80 |
+ libgbm_dep = dependency('gbm', version: gbm_req) |
81 |
+@@ -194,10 +194,6 @@ if have_native_backend |
82 |
+ error('The native backend requires EGL to be enabled') |
83 |
+ endif |
84 |
+ |
85 |
+- if not have_gles2 |
86 |
+- error('The native backend requires GLESv2 to be enabled') |
87 |
+- endif |
88 |
+- |
89 |
+ if not have_libgudev |
90 |
+ error('The native backend requires udev to be enabled') |
91 |
+ endif |
92 |
+diff --git a/src/meson.build b/src/meson.build |
93 |
+index 182f7f5f5..af9776480 100644 |
94 |
+--- a/src/meson.build |
95 |
++++ b/src/meson.build |
96 |
+@@ -36,7 +36,7 @@ if have_gl |
97 |
+ ] |
98 |
+ endif |
99 |
+ |
100 |
+-if have_gles2 |
101 |
++if have_native_backend |
102 |
+ mutter_pkg_private_deps += [ |
103 |
+ gles2_dep, |
104 |
+ ] |
105 |
+@@ -436,7 +436,7 @@ if have_egl |
106 |
+ ] |
107 |
+ endif |
108 |
+ |
109 |
+-if have_gles2 |
110 |
++if have_native_backend |
111 |
+ mutter_sources += [ |
112 |
+ 'backends/meta-gles3.c', |
113 |
+ 'backends/meta-gles3.h', |
114 |
+-- |
115 |
+2.20.1 |
116 |
+ |
117 |
|
118 |
diff --git a/x11-wm/mutter/mutter-3.32.2.ebuild b/x11-wm/mutter/mutter-3.32.2.ebuild |
119 |
new file mode 100644 |
120 |
index 00000000000..ef0a01e2b37 |
121 |
--- /dev/null |
122 |
+++ b/x11-wm/mutter/mutter-3.32.2.ebuild |
123 |
@@ -0,0 +1,146 @@ |
124 |
+# Copyright 1999-2019 Gentoo Authors |
125 |
+# Distributed under the terms of the GNU General Public License v2 |
126 |
+ |
127 |
+EAPI=7 |
128 |
+inherit gnome.org gnome2-utils meson virtualx xdg |
129 |
+ |
130 |
+DESCRIPTION="GNOME 3 compositing window manager based on Clutter" |
131 |
+HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/" |
132 |
+SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${PF}-patchset.tar.xz" |
133 |
+ |
134 |
+LICENSE="GPL-2+" |
135 |
+SLOT="0/4" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot |
136 |
+ |
137 |
+IUSE="elogind gles2 input_devices_wacom +introspection screencast systemd test udev wayland" |
138 |
+# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider |
139 |
+REQUIRED_USE=" |
140 |
+ wayland? ( ^^ ( elogind systemd ) udev ) |
141 |
+ test? ( wayland )" |
142 |
+RESTRICT="!test? ( test )" |
143 |
+ |
144 |
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" |
145 |
+ |
146 |
+# libXi-1.7.4 or newer needed per: |
147 |
+# https://bugzilla.gnome.org/show_bug.cgi?id=738944 - https://gitlab.gnome.org/GNOME/mutter/merge_requests/766 |
148 |
+ |
149 |
+# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema |
150 |
+# xorg-server is needed at build and runtime with USE=wayland for Xwayland |
151 |
+# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order |
152 |
+DEPEND=" |
153 |
+ x11-libs/libX11 |
154 |
+ >=x11-libs/gtk+-3.19.8:3[X,introspection?] |
155 |
+ x11-libs/gdk-pixbuf:2 |
156 |
+ >=x11-libs/pango-1.30[introspection?] |
157 |
+ >=x11-libs/cairo-1.14[X] |
158 |
+ >=gnome-base/gsettings-desktop-schemas-3.31.0[introspection?] |
159 |
+ >=dev-libs/glib-2.53.2:2 |
160 |
+ gnome-base/gnome-settings-daemon |
161 |
+ >=dev-libs/json-glib-0.12.0[introspection?] |
162 |
+ gnome-base/gnome-desktop:3= |
163 |
+ >=x11-libs/libXcomposite-0.4 |
164 |
+ x11-libs/libXcursor |
165 |
+ x11-libs/libXdamage |
166 |
+ x11-libs/libXext |
167 |
+ >=x11-libs/libXfixes-3 |
168 |
+ >=x11-libs/libXi-1.7.4 |
169 |
+ x11-libs/libXtst |
170 |
+ x11-libs/libxkbfile |
171 |
+ x11-misc/xkeyboard-config |
172 |
+ >=x11-libs/libxkbcommon-0.4.3[X] |
173 |
+ x11-libs/libXrender |
174 |
+ >=x11-libs/libXrandr-1.5.0 |
175 |
+ x11-libs/libxcb |
176 |
+ x11-libs/libXinerama |
177 |
+ x11-libs/libICE |
178 |
+ >=dev-libs/atk-2.5.3[introspection?] |
179 |
+ >=media-libs/libcanberra-0.26 |
180 |
+ media-libs/mesa[X(+),egl,gles2?] |
181 |
+ wayland? ( |
182 |
+ >=dev-libs/wayland-protocols-1.16 |
183 |
+ >=dev-libs/wayland-1.13.0 |
184 |
+ x11-libs/libdrm:= |
185 |
+ >=media-libs/mesa-10.3[egl,gbm,wayland,gles2] |
186 |
+ >=dev-libs/libinput-1.4 |
187 |
+ systemd? ( sys-apps/systemd ) |
188 |
+ elogind? ( sys-auth/elogind ) |
189 |
+ x11-base/xorg-server[wayland] |
190 |
+ ) |
191 |
+ udev? ( >=virtual/libudev-228:= |
192 |
+ >=virtual/libgudev-232:= ) |
193 |
+ x11-libs/libSM |
194 |
+ input_devices_wacom? ( >=dev-libs/libwacom-0.13 ) |
195 |
+ >=x11-libs/startup-notification-0.7 |
196 |
+ screencast? ( >=media-video/pipewire-0.2.2:0/0.2 ) |
197 |
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= ) |
198 |
+" |
199 |
+RDEPEND="${DEPEND} |
200 |
+ gnome-extra/zenity |
201 |
+" |
202 |
+DEPEND="${DEPEND} |
203 |
+ x11-base/xorg-proto |
204 |
+" |
205 |
+# wayland bdepend for wayland-scanner, xorg-server for cvt utility |
206 |
+BDEPEND=" |
207 |
+ dev-libs/wayland |
208 |
+ >=dev-util/meson-0.50.0 |
209 |
+ dev-util/gdbus-codegen |
210 |
+ dev-util/glib-utils |
211 |
+ >=sys-devel/gettext-0.19.8 |
212 |
+ virtual/pkgconfig |
213 |
+ test? ( app-text/docbook-xml-dtd:4.5 ) |
214 |
+ wayland? ( >=sys-kernel/linux-headers-4.4 |
215 |
+ x11-base/xorg-server ) |
216 |
+" |
217 |
+ |
218 |
+PATCHES=( |
219 |
+ # Some patches from gnome-3-32 branch on top of 3.32.2 |
220 |
+ "${WORKDIR}"/patches/ |
221 |
+ # Allow building USE=wayland without cogl-gles2 from USE=gles2 |
222 |
+ "${FILESDIR}"/${PV}-no-cogl-gles2.patch |
223 |
+) |
224 |
+ |
225 |
+src_configure() { |
226 |
+ # TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain |
227 |
+ local emesonargs=( |
228 |
+ -Dopengl=true |
229 |
+ #opengl_libname |
230 |
+ #gles2_libname |
231 |
+ $(meson_use gles2) |
232 |
+ -Degl=true |
233 |
+ -Dglx=true |
234 |
+ $(meson_use wayland) |
235 |
+ $(meson_use wayland native_backend) |
236 |
+ $(meson_use screencast remote_desktop) |
237 |
+ -Degl_device=false # This should be dependent on wayland,video_drivers_nvidia, once eglstream support is there |
238 |
+ -Dwayland_eglstream=false # requires packages egl-wayland for wayland-eglstream-protocols.pc |
239 |
+ $(meson_use udev) |
240 |
+ $(meson_use input_devices_wacom libwacom) |
241 |
+ -Dpango_ft2=true |
242 |
+ -Dstartup_notification=true |
243 |
+ -Dsm=true |
244 |
+ $(meson_use introspection) |
245 |
+ $(meson_use test cogl_tests) |
246 |
+ $(meson_use test clutter_tests) |
247 |
+ $(meson_use test tests) |
248 |
+ -Dinstalled_tests=false |
249 |
+ #verbose # Let upstream choose default for verbose mode |
250 |
+ #xwayland_path |
251 |
+ # TODO: 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) |
252 |
+ #xwayland_grab_default_access_rules |
253 |
+ ) |
254 |
+ meson_src_configure |
255 |
+} |
256 |
+ |
257 |
+src_test() { |
258 |
+ virtx meson_src_test |
259 |
+} |
260 |
+ |
261 |
+pkg_postinst() { |
262 |
+ xdg_pkg_postinst |
263 |
+ gnome2_schemas_update |
264 |
+} |
265 |
+ |
266 |
+pkg_postrm() { |
267 |
+ xdg_pkg_postrm |
268 |
+ gnome2_schemas_update |
269 |
+} |