Gentoo Archives: gentoo-commits

From: Alexandre Restovtsev <tetromino@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gnome:master commit in: status/portage-configs/, x11-libs/gtk+/files/, x11-libs/gtk+/
Date: Wed, 21 Mar 2012 18:27:40
Message-Id: 1332351466.cb3b7e2d6bec96233f79d88fde59e3434b1e159d.tetromino@gentoo
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"