1 |
commit: cb3b7e2d6bec96233f79d88fde59e3434b1e159d |
2 |
Author: Alexandre Rostovtsev <tetromino <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Mar 21 17:34:31 2012 +0000 |
4 |
Commit: Alexandre Restovtsev <tetromino <AT> gmail <DOT> com> |
5 |
CommitDate: Wed Mar 21 17:37:46 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=cb3b7e2d |
7 |
|
8 |
x11-libs/gtk+: 3.3.18 → 3.3.20 + wayland support |
9 |
|
10 |
Add wayland support by dolphinling (bug #408131). Warning: not tested at |
11 |
all since I don't have wayland and use nvidia-drivers. |
12 |
|
13 |
Mask the wayland USE flag because libxkbcommon from the x11 overlay is |
14 |
required. |
15 |
|
16 |
--- |
17 |
status/portage-configs/package.use.mask.gnome3 | 2 + |
18 |
.../gtk+-3.3.20-wayland-xkbcommon-headers.patch | 39 +++++++++++ |
19 |
.../{gtk+-3.3.18-r1.ebuild => gtk+-3.3.20.ebuild} | 64 +++++++++++-------- |
20 |
x11-libs/gtk+/gtk+-9999.ebuild | 67 ++++++++++++-------- |
21 |
4 files changed, 120 insertions(+), 52 deletions(-) |
22 |
|
23 |
diff --git a/status/portage-configs/package.use.mask.gnome3 b/status/portage-configs/package.use.mask.gnome3 |
24 |
index b981720..9327bb3 100644 |
25 |
--- a/status/portage-configs/package.use.mask.gnome3 |
26 |
+++ b/status/portage-configs/package.use.mask.gnome3 |
27 |
@@ -3,3 +3,5 @@ dev-libs/libgee -introspection |
28 |
gnome-extra/gnome-games -clutter |
29 |
media-libs/clutter-gtk -introspection |
30 |
sys-apps/gnome-disk-utility -nautilus |
31 |
+# Requires x11-libs/libxkbcommon from the x11 overlay |
32 |
+x11-libs/gtk+ wayland |
33 |
|
34 |
diff --git a/x11-libs/gtk+/files/gtk+-3.3.20-wayland-xkbcommon-headers.patch b/x11-libs/gtk+/files/gtk+-3.3.20-wayland-xkbcommon-headers.patch |
35 |
new file mode 100644 |
36 |
index 0000000..2e052d9 |
37 |
--- /dev/null |
38 |
+++ b/x11-libs/gtk+/files/gtk+-3.3.20-wayland-xkbcommon-headers.patch |
39 |
@@ -0,0 +1,39 @@ |
40 |
+diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c |
41 |
+index 9e8e6b1..237a5b8 100644 |
42 |
+--- a/gdk/wayland/gdkdevice-wayland.c |
43 |
++++ b/gdk/wayland/gdkdevice-wayland.c |
44 |
+@@ -32,7 +32,7 @@ |
45 |
+ #include "gdkdevicemanagerprivate.h" |
46 |
+ #include "gdkprivate-wayland.h" |
47 |
+ |
48 |
+-#include <X11/extensions/XKBcommon.h> |
49 |
++#include <xkbcommon/xkbcommon.h> |
50 |
+ #include <X11/keysym.h> |
51 |
+ |
52 |
+ #include <sys/time.h> |
53 |
+diff --git a/gdk/wayland/gdkdisplaymanager-wayland.c b/gdk/wayland/gdkdisplaymanager-wayland.c |
54 |
+index eca6f92..d59563a 100644 |
55 |
+--- a/gdk/wayland/gdkdisplaymanager-wayland.c |
56 |
++++ b/gdk/wayland/gdkdisplaymanager-wayland.c |
57 |
+@@ -27,7 +27,7 @@ |
58 |
+ |
59 |
+ #include "gdkinternals.h" |
60 |
+ |
61 |
+-#include <X11/extensions/XKBcommon.h> |
62 |
++#include <xkbcommon/xkbcommon.h> |
63 |
+ |
64 |
+ typedef struct _GdkWaylandDisplayManager GdkWaylandDisplayManager; |
65 |
+ typedef struct _GdkWaylandDisplayManagerClass GdkWaylandDisplayManagerClass; |
66 |
+diff --git a/gdk/wayland/gdkkeys-wayland.c b/gdk/wayland/gdkkeys-wayland.c |
67 |
+index f3e9d3c..bc26a43 100644 |
68 |
+--- a/gdk/wayland/gdkkeys-wayland.c |
69 |
++++ b/gdk/wayland/gdkkeys-wayland.c |
70 |
+@@ -39,7 +39,7 @@ |
71 |
+ #include "gdkdisplay-wayland.h" |
72 |
+ #include "gdkkeysprivate.h" |
73 |
+ |
74 |
+-#include <X11/extensions/XKBcommon.h> |
75 |
++#include <xkbcommon/xkbcommon.h> |
76 |
+ |
77 |
+ typedef struct _GdkWaylandKeymap GdkWaylandKeymap; |
78 |
+ typedef struct _GdkWaylandKeymapClass GdkWaylandKeymapClass; |
79 |
|
80 |
diff --git a/x11-libs/gtk+/gtk+-3.3.18-r1.ebuild b/x11-libs/gtk+/gtk+-3.3.20.ebuild |
81 |
similarity index 84% |
82 |
rename from x11-libs/gtk+/gtk+-3.3.18-r1.ebuild |
83 |
rename to x11-libs/gtk+/gtk+-3.3.20.ebuild |
84 |
index 592807e..62541da 100644 |
85 |
--- a/x11-libs/gtk+/gtk+-3.3.18-r1.ebuild |
86 |
+++ b/x11-libs/gtk+/gtk+-3.3.20.ebuild |
87 |
@@ -19,7 +19,11 @@ SLOT="3" |
88 |
# * http://mail.gnome.org/archives/gtk-devel-list/2010-November/msg00099.html |
89 |
# I tried this and got it all compiling, but the end result is unusable as it |
90 |
# horribly mixes up the backends -- grobian |
91 |
-IUSE="aqua colord cups debug doc examples +introspection packagekit test vim-syntax xinerama" |
92 |
+IUSE="aqua colord cups debug doc examples +introspection packagekit test vim-syntax wayland X xinerama" |
93 |
+REQUIRED_USE=" |
94 |
+ || ( aqua wayland X ) |
95 |
+ xinerama? ( X )" |
96 |
+ |
97 |
if [[ ${PV} = 9999 ]]; then |
98 |
KEYWORDS="" |
99 |
else |
100 |
@@ -28,12 +32,11 @@ fi |
101 |
|
102 |
# FIXME: introspection data is built against system installation of gtk+:3 |
103 |
# NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf) |
104 |
-# Use gtk+:2 for gtk-update-icon-cache and gtk-builder-convert |
105 |
-# >=x11-libs/gtk+-2.24:2 is needed for bug 359555 |
106 |
-COMMON_DEPEND="!aqua? ( |
107 |
+# Use gtk+:2 for gtk-update-icon-cache |
108 |
+COMMON_DEPEND="X? ( |
109 |
x11-libs/libXrender |
110 |
x11-libs/libX11 |
111 |
- x11-libs/libXi |
112 |
+ >=x11-libs/libXi-1.3 |
113 |
x11-libs/libXt |
114 |
x11-libs/libXext |
115 |
>=x11-libs/libXrandr-1.3 |
116 |
@@ -41,32 +44,34 @@ COMMON_DEPEND="!aqua? ( |
117 |
x11-libs/libXfixes |
118 |
x11-libs/libXcomposite |
119 |
x11-libs/libXdamage |
120 |
- >=x11-libs/cairo-1.10.0[X,glib,svg] |
121 |
- >=x11-libs/gdk-pixbuf-2.25.2:2[X,introspection?] |
122 |
+ xinerama? ( x11-libs/libXinerama ) |
123 |
) |
124 |
- aqua? ( |
125 |
- >=x11-libs/cairo-1.10.0[aqua,glib,svg] |
126 |
- >=x11-libs/gdk-pixbuf-2.25.2:2[introspection?] |
127 |
+ wayland? ( |
128 |
+ dev-libs/wayland |
129 |
+ media-libs/mesa[egl,wayland] |
130 |
+ x11-libs/cairo[opengl] |
131 |
+ x11-libs/libxkbcommon |
132 |
) |
133 |
- xinerama? ( x11-libs/libXinerama ) |
134 |
>=dev-libs/glib-2.31.20 |
135 |
>=x11-libs/pango-1.29.0[introspection?] |
136 |
>=dev-libs/atk-2.1.5[introspection?] |
137 |
+ >=x11-libs/cairo-1.10.0[aqua?,glib,svg,X?] |
138 |
+ >=x11-libs/gdk-pixbuf-2.25.2:2[introspection?,X?] |
139 |
>=x11-libs/gtk+-2.24:2 |
140 |
media-libs/fontconfig |
141 |
x11-misc/shared-mime-info |
142 |
colord? ( >=x11-misc/colord-0.1.9 ) |
143 |
- cups? ( net-print/cups ) |
144 |
+ cups? ( >=net-print/cups-1.2 ) |
145 |
introspection? ( >=dev-libs/gobject-introspection-0.10.1 )" |
146 |
DEPEND="${COMMON_DEPEND} |
147 |
>=dev-util/pkgconfig-0.9 |
148 |
- !aqua? ( |
149 |
+ X? ( |
150 |
x11-proto/xextproto |
151 |
x11-proto/xproto |
152 |
x11-proto/inputproto |
153 |
x11-proto/damageproto |
154 |
+ xinerama? ( x11-proto/xineramaproto ) |
155 |
) |
156 |
- xinerama? ( x11-proto/xineramaproto ) |
157 |
>=dev-util/gtk-doc-am-1.11 |
158 |
doc? ( |
159 |
>=dev-util/gtk-doc-1.11 |
160 |
@@ -76,10 +81,13 @@ DEPEND="${COMMON_DEPEND} |
161 |
media-fonts/font-cursor-misc )" |
162 |
# gtk+-3.2.2 breaks Alt key handling in <=x11-libs/vte-0.30.1:2.90 |
163 |
# gtk+-3.3.18 breaks scrolling in <=x11-libs/vte-0.31.0:2.90 |
164 |
+# >=xorg-server-1.11.4 needed for |
165 |
+# http://mail.gnome.org/archives/desktop-devel-list/2012-March/msg00024.html |
166 |
RDEPEND="${COMMON_DEPEND} |
167 |
!<gnome-base/gail-1000 |
168 |
!<x11-libs/vte-0.31.0:2.90 |
169 |
- packagekit? ( app-admin/packagekit-base )" |
170 |
+ packagekit? ( app-admin/packagekit-base ) |
171 |
+ X? ( !<x11-base/xorg-server-1.11.4 )" |
172 |
PDEPEND="vim-syntax? ( app-vim/gtk-syntax )" |
173 |
|
174 |
strip_builddir() { |
175 |
@@ -99,6 +107,9 @@ src_prepare() { |
176 |
# https://bugzilla.gnome.org/show_bug.cgi?id=65410 |
177 |
epatch "${FILESDIR}/${PN}-3.3.18-fallback-theme.patch" |
178 |
|
179 |
+ # Apparently needed for new libxkbcommon headers; bug #408131 |
180 |
+ epatch "${FILESDIR}/${PN}-3.3.20-wayland-xkbcommon-headers.patch" |
181 |
+ |
182 |
# Non-working test in gentoo's env |
183 |
sed 's:\(g_test_add_func ("/ui-tests/keys-events.*\):/*\1*/:g' \ |
184 |
-i gtk/tests/testing.c || die "sed 1 failed" |
185 |
@@ -129,22 +140,23 @@ src_prepare() { |
186 |
} |
187 |
|
188 |
src_configure() { |
189 |
- local myconf="$(use_enable doc gtk-doc) |
190 |
- $(use_enable xinerama) |
191 |
- $(use_enable packagekit) |
192 |
- $(use_enable cups cups auto) |
193 |
+ local myconf="$(use_enable aqua quartz-backend) |
194 |
$(use_enable colord) |
195 |
+ $(use_enable cups cups auto) |
196 |
+ $(use_enable doc gtk-doc) |
197 |
$(use_enable introspection) |
198 |
+ $(use_enable packagekit) |
199 |
+ $(use_enable wayland wayland-backend) |
200 |
+ $(use_enable X x11-backend) |
201 |
+ $(use_enable X xcomposite) |
202 |
+ $(use_enable X xdamage) |
203 |
+ $(use_enable X xfixes) |
204 |
+ $(use_enable X xkb) |
205 |
+ $(use_enable X xrandr) |
206 |
+ $(use_enable xinerama) |
207 |
--disable-papi |
208 |
--enable-gtk2-dependency" |
209 |
|
210 |
- # XXX: Maybe with multi-backend we should enable x11 all the time? |
211 |
- if use aqua; then |
212 |
- myconf="${myconf} --enable-quartz-backend" |
213 |
- else |
214 |
- myconf="${myconf} --enable-x11-backend" |
215 |
- fi |
216 |
- |
217 |
# Passing --disable-debug is not recommended for production use |
218 |
use debug && myconf="${myconf} --enable-debug=yes" |
219 |
|
220 |
|
221 |
diff --git a/x11-libs/gtk+/gtk+-9999.ebuild b/x11-libs/gtk+/gtk+-9999.ebuild |
222 |
index 4d353a9..62541da 100644 |
223 |
--- a/x11-libs/gtk+/gtk+-9999.ebuild |
224 |
+++ b/x11-libs/gtk+/gtk+-9999.ebuild |
225 |
@@ -19,7 +19,11 @@ SLOT="3" |
226 |
# * http://mail.gnome.org/archives/gtk-devel-list/2010-November/msg00099.html |
227 |
# I tried this and got it all compiling, but the end result is unusable as it |
228 |
# horribly mixes up the backends -- grobian |
229 |
-IUSE="aqua colord cups debug doc examples +introspection packagekit test vim-syntax xinerama" |
230 |
+IUSE="aqua colord cups debug doc examples +introspection packagekit test vim-syntax wayland X xinerama" |
231 |
+REQUIRED_USE=" |
232 |
+ || ( aqua wayland X ) |
233 |
+ xinerama? ( X )" |
234 |
+ |
235 |
if [[ ${PV} = 9999 ]]; then |
236 |
KEYWORDS="" |
237 |
else |
238 |
@@ -28,12 +32,11 @@ fi |
239 |
|
240 |
# FIXME: introspection data is built against system installation of gtk+:3 |
241 |
# NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf) |
242 |
-# Use gtk+:2 for gtk-update-icon-cache and gtk-builder-convert |
243 |
-# >=x11-libs/gtk+-2.24:2 is needed for bug 359555 |
244 |
-COMMON_DEPEND="!aqua? ( |
245 |
+# Use gtk+:2 for gtk-update-icon-cache |
246 |
+COMMON_DEPEND="X? ( |
247 |
x11-libs/libXrender |
248 |
x11-libs/libX11 |
249 |
- x11-libs/libXi |
250 |
+ >=x11-libs/libXi-1.3 |
251 |
x11-libs/libXt |
252 |
x11-libs/libXext |
253 |
>=x11-libs/libXrandr-1.3 |
254 |
@@ -41,32 +44,34 @@ COMMON_DEPEND="!aqua? ( |
255 |
x11-libs/libXfixes |
256 |
x11-libs/libXcomposite |
257 |
x11-libs/libXdamage |
258 |
- >=x11-libs/cairo-1.10.0[X,glib,svg] |
259 |
- >=x11-libs/gdk-pixbuf-2.25.2:2[X,introspection?] |
260 |
+ xinerama? ( x11-libs/libXinerama ) |
261 |
) |
262 |
- aqua? ( |
263 |
- >=x11-libs/cairo-1.10.0[aqua,glib,svg] |
264 |
- >=x11-libs/gdk-pixbuf-2.25.2:2[introspection?] |
265 |
+ wayland? ( |
266 |
+ dev-libs/wayland |
267 |
+ media-libs/mesa[egl,wayland] |
268 |
+ x11-libs/cairo[opengl] |
269 |
+ x11-libs/libxkbcommon |
270 |
) |
271 |
- xinerama? ( x11-libs/libXinerama ) |
272 |
>=dev-libs/glib-2.31.20 |
273 |
>=x11-libs/pango-1.29.0[introspection?] |
274 |
>=dev-libs/atk-2.1.5[introspection?] |
275 |
+ >=x11-libs/cairo-1.10.0[aqua?,glib,svg,X?] |
276 |
+ >=x11-libs/gdk-pixbuf-2.25.2:2[introspection?,X?] |
277 |
>=x11-libs/gtk+-2.24:2 |
278 |
media-libs/fontconfig |
279 |
x11-misc/shared-mime-info |
280 |
colord? ( >=x11-misc/colord-0.1.9 ) |
281 |
- cups? ( net-print/cups ) |
282 |
+ cups? ( >=net-print/cups-1.2 ) |
283 |
introspection? ( >=dev-libs/gobject-introspection-0.10.1 )" |
284 |
DEPEND="${COMMON_DEPEND} |
285 |
>=dev-util/pkgconfig-0.9 |
286 |
- !aqua? ( |
287 |
+ X? ( |
288 |
x11-proto/xextproto |
289 |
x11-proto/xproto |
290 |
x11-proto/inputproto |
291 |
x11-proto/damageproto |
292 |
+ xinerama? ( x11-proto/xineramaproto ) |
293 |
) |
294 |
- xinerama? ( x11-proto/xineramaproto ) |
295 |
>=dev-util/gtk-doc-am-1.11 |
296 |
doc? ( |
297 |
>=dev-util/gtk-doc-1.11 |
298 |
@@ -76,10 +81,13 @@ DEPEND="${COMMON_DEPEND} |
299 |
media-fonts/font-cursor-misc )" |
300 |
# gtk+-3.2.2 breaks Alt key handling in <=x11-libs/vte-0.30.1:2.90 |
301 |
# gtk+-3.3.18 breaks scrolling in <=x11-libs/vte-0.31.0:2.90 |
302 |
+# >=xorg-server-1.11.4 needed for |
303 |
+# http://mail.gnome.org/archives/desktop-devel-list/2012-March/msg00024.html |
304 |
RDEPEND="${COMMON_DEPEND} |
305 |
!<gnome-base/gail-1000 |
306 |
!<x11-libs/vte-0.31.0:2.90 |
307 |
- packagekit? ( app-admin/packagekit-base )" |
308 |
+ packagekit? ( app-admin/packagekit-base ) |
309 |
+ X? ( !<x11-base/xorg-server-1.11.4 )" |
310 |
PDEPEND="vim-syntax? ( app-vim/gtk-syntax )" |
311 |
|
312 |
strip_builddir() { |
313 |
@@ -96,6 +104,12 @@ src_prepare() { |
314 |
replace-flags -O3 -O2 |
315 |
strip-flags |
316 |
|
317 |
+ # https://bugzilla.gnome.org/show_bug.cgi?id=65410 |
318 |
+ epatch "${FILESDIR}/${PN}-3.3.18-fallback-theme.patch" |
319 |
+ |
320 |
+ # Apparently needed for new libxkbcommon headers; bug #408131 |
321 |
+ epatch "${FILESDIR}/${PN}-3.3.20-wayland-xkbcommon-headers.patch" |
322 |
+ |
323 |
# Non-working test in gentoo's env |
324 |
sed 's:\(g_test_add_func ("/ui-tests/keys-events.*\):/*\1*/:g' \ |
325 |
-i gtk/tests/testing.c || die "sed 1 failed" |
326 |
@@ -126,22 +140,23 @@ src_prepare() { |
327 |
} |
328 |
|
329 |
src_configure() { |
330 |
- local myconf="$(use_enable doc gtk-doc) |
331 |
- $(use_enable xinerama) |
332 |
- $(use_enable packagekit) |
333 |
- $(use_enable cups cups auto) |
334 |
+ local myconf="$(use_enable aqua quartz-backend) |
335 |
$(use_enable colord) |
336 |
+ $(use_enable cups cups auto) |
337 |
+ $(use_enable doc gtk-doc) |
338 |
$(use_enable introspection) |
339 |
+ $(use_enable packagekit) |
340 |
+ $(use_enable wayland wayland-backend) |
341 |
+ $(use_enable X x11-backend) |
342 |
+ $(use_enable X xcomposite) |
343 |
+ $(use_enable X xdamage) |
344 |
+ $(use_enable X xfixes) |
345 |
+ $(use_enable X xkb) |
346 |
+ $(use_enable X xrandr) |
347 |
+ $(use_enable xinerama) |
348 |
--disable-papi |
349 |
--enable-gtk2-dependency" |
350 |
|
351 |
- # XXX: Maybe with multi-backend we should enable x11 all the time? |
352 |
- if use aqua; then |
353 |
- myconf="${myconf} --enable-quartz-backend" |
354 |
- else |
355 |
- myconf="${myconf} --enable-x11-backend" |
356 |
- fi |
357 |
- |
358 |
# Passing --disable-debug is not recommended for production use |
359 |
use debug && myconf="${myconf} --enable-debug=yes" |