Gentoo Archives: gentoo-commits

From: Alexandre Restovtsev <tetromino@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gnome:gnome-next commit in: net-libs/webkit-gtk/files/, net-libs/webkit-gtk/
Date: Wed, 07 Sep 2011 20:07:53
Message-Id: 29fac2b20bd9dcf81ea18991a5d111cbf55faa70.tetromino@gentoo
1 commit: 29fac2b20bd9dcf81ea18991a5d111cbf55faa70
2 Author: Alexandre Rostovtsev <tetromino <AT> gmail <DOT> com>
3 AuthorDate: Wed Sep 7 20:04:58 2011 +0000
4 Commit: Alexandre Restovtsev <tetromino <AT> gmail <DOT> com>
5 CommitDate: Wed Sep 7 20:04:58 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=29fac2b2
7
8 net-libs/webkit-gtk: add 1.5.2
9
10 Add webkit-gtk-1.5.2 for gnome-3.1.x. Disable mimehandling test since it
11 fails on ogg audio for some reason. WebKit2 is still disabled because
12 the tarball does not include the build tools and source needed for it;
13 see https://bugs.webkit.org/show_bug.cgi?id=66527
14
15 ---
16 .../files/webkit-gtk-1.2.3-fix-pool-sparc.patch | 65 +++++++
17 .../files/webkit-gtk-1.2.5-darwin-quartz.patch | 79 ++++++++
18 .../files/webkit-gtk-1.5.2-deprecations.patch | 191 ++++++++++++++++++++
19 .../files/webkit-gtk-1.5.2-mimehandling-test.patch | 17 ++
20 net-libs/webkit-gtk/webkit-gtk-1.5.2-r200.ebuild | 149 +++++++++++++++
21 net-libs/webkit-gtk/webkit-gtk-1.5.2-r300.ebuild | 153 ++++++++++++++++
22 6 files changed, 654 insertions(+), 0 deletions(-)
23
24 diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.2.3-fix-pool-sparc.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.2.3-fix-pool-sparc.patch
25 new file mode 100644
26 index 0000000..3b1c5c4
27 --- /dev/null
28 +++ b/net-libs/webkit-gtk/files/webkit-gtk-1.2.3-fix-pool-sparc.patch
29 @@ -0,0 +1,65 @@
30 +Description: Fixup pool and add sparc support
31 +--- webkit-1.2.1.orig/JavaScriptCore/wtf/ListHashSet.h
32 ++++ webkit-1.2.1/JavaScriptCore/wtf/ListHashSet.h
33 +@@ -127,7 +127,7 @@ namespace WTF {
34 + : m_freeList(pool())
35 + , m_isDoneWithInitialFreeList(false)
36 + {
37 +- memset(m_pool.pool, 0, sizeof(m_pool.pool));
38 ++ memset(m_pool, 0, sizeof(m_pool));
39 + }
40 +
41 + Node* allocate()
42 +@@ -171,7 +171,7 @@ namespace WTF {
43 + }
44 +
45 + private:
46 +- Node* pool() { return reinterpret_cast<Node*>(m_pool.pool); }
47 ++ Node* pool() { return reinterpret_cast<Node*>(m_pool); }
48 + Node* pastPool() { return pool() + m_poolSize; }
49 +
50 + bool inPool(Node* node)
51 +@@ -182,10 +182,7 @@ namespace WTF {
52 + Node* m_freeList;
53 + bool m_isDoneWithInitialFreeList;
54 + static const size_t m_poolSize = 256;
55 +- union {
56 +- char pool[sizeof(Node) * m_poolSize];
57 +- double forAlignment;
58 +- } m_pool;
59 ++ uint32_t m_pool[(sizeof(Node) * m_poolSize + sizeof(uint32_t) - 1) / sizeof(uint32_t)];
60 + };
61 +
62 + template<typename ValueArg> struct ListHashSetNode {
63 +--- webkit-1.2.1.orig/WebCore/platform/text/AtomicString.cpp
64 ++++ webkit-1.2.1/WebCore/platform/text/AtomicString.cpp
65 +@@ -103,9 +103,9 @@ static inline bool equal(StringImpl* str
66 + if (string->length() != length)
67 + return false;
68 +
69 ++#if CPU(ARM) || CPU(SPARC) || CPU(SH4)
70 + // FIXME: perhaps we should have a more abstract macro that indicates when
71 + // going 4 bytes at a time is unsafe
72 +-#if CPU(ARM) || CPU(SH4)
73 + const UChar* stringCharacters = string->characters();
74 + for (unsigned i = 0; i != length; ++i) {
75 + if (*stringCharacters++ != *characters++)
76 +--- webkit-1.2.1.orig/WebCore/platform/text/StringHash.h
77 ++++ webkit-1.2.1/WebCore/platform/text/StringHash.h
78 +@@ -54,13 +54,13 @@ namespace WebCore {
79 +
80 + // FIXME: perhaps we should have a more abstract macro that indicates when
81 + // going 4 bytes at a time is unsafe
82 +-#if CPU(ARM) || CPU(SH4)
83 ++#if CPU(ARM) || CPU(SPARC) || CPU(SH4)
84 + const UChar* aChars = a->characters();
85 + const UChar* bChars = b->characters();
86 +- for (unsigned i = 0; i != aLength; ++i) {
87 ++ for (unsigned i = 0; i != aLength; ++i)
88 + if (*aChars++ != *bChars++)
89 + return false;
90 +- }
91 ++
92 + return true;
93 + #else
94 + /* Do it 4-bytes-at-a-time on architectures where it's safe */
95
96 diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.2.5-darwin-quartz.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.2.5-darwin-quartz.patch
97 new file mode 100644
98 index 0000000..fe1ebc4
99 --- /dev/null
100 +++ b/net-libs/webkit-gtk/files/webkit-gtk-1.2.5-darwin-quartz.patch
101 @@ -0,0 +1,79 @@
102 +http://trac.macports.org/browser/trunk/dports/www/webkit-gtk/files/patch-quartz-WebCore-plugins-gtk-gtkxtbin.c.diff?format=txt
103 +http://trac.macports.org/browser/trunk/dports/www/webkit-gtk/files/patch-quartz-WebCore-plugins-gtk-PluginViewGtk.cpp.diff?format=txt
104 +
105 +--- WebCore/plugins/gtk/gtk2xtbin.c.orig 2010-09-10 06:20:33.000000000 -0700
106 ++++ WebCore/plugins/gtk/gtk2xtbin.c 2010-10-06 09:45:37.000000000 -0700
107 +@@ -41,7 +41,7 @@
108 + * The GtkXtBin widget allows for Xt toolkit code to be used
109 + * inside a GTK application.
110 + */
111 +-
112 ++#if 0
113 + #include "GtkVersioning.h"
114 + #include "xembed.h"
115 + #include "gtk2xtbin.h"
116 +@@ -951,3 +951,4 @@
117 +
118 + return;
119 + }
120 ++#endif
121 +--- WebCore/plugins/gtk/PluginViewGtk.cpp.orig 2010-09-10 06:20:33.000000000 -0700
122 ++++ WebCore/plugins/gtk/PluginViewGtk.cpp 2010-10-06 09:45:37.000000000 -0700
123 +@@ -60,10 +60,13 @@
124 + #include "runtime_root.h"
125 + #include <runtime/JSLock.h>
126 + #include <runtime/JSValue.h>
127 ++#include "NotImplemented.h"
128 +
129 + #include <gdkconfig.h>
130 + #include <gtk/gtk.h>
131 +
132 ++#undef XP_UNIX
133 ++
134 + #if defined(XP_UNIX)
135 + #include "gtk2xtbin.h"
136 + #define Bool int // this got undefined somewhere
137 +@@ -441,9 +444,9 @@
138 + event->setDefaultHandled();
139 + }
140 +
141 +-#if defined(XP_UNIX)
142 + void PluginView::handleFocusInEvent()
143 + {
144 ++#if defined(XP_UNIX)
145 + XEvent npEvent;
146 + initXEvent(&npEvent);
147 +
148 +@@ -453,10 +456,12 @@
149 + event.detail = NotifyDetailNone;
150 +
151 + dispatchNPEvent(npEvent);
152 ++#endif
153 + }
154 +
155 + void PluginView::handleFocusOutEvent()
156 + {
157 ++#if defined(XP_UNIX)
158 + XEvent npEvent;
159 + initXEvent(&npEvent);
160 +
161 +@@ -466,8 +471,8 @@
162 + event.detail = NotifyDetailNone;
163 +
164 + dispatchNPEvent(npEvent);
165 +-}
166 + #endif
167 ++}
168 +
169 + void PluginView::setParent(ScrollView* parent)
170 + {
171 +@@ -797,8 +802,8 @@
172 + }
173 +
174 + if (m_isWindowed) {
175 +-#if defined(XP_UNIX)
176 + GtkWidget* pageClient = m_parentFrame->view()->hostWindow()->platformPageClient();
177 ++#if defined(XP_UNIX)
178 +
179 + if (m_needsXEmbed) {
180 + // If our parent is not anchored the startup process will
181
182 diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.5.2-deprecations.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.5.2-deprecations.patch
183 new file mode 100644
184 index 0000000..8102dae
185 --- /dev/null
186 +++ b/net-libs/webkit-gtk/files/webkit-gtk-1.5.2-deprecations.patch
187 @@ -0,0 +1,191 @@
188 +2011-08-17 Alejandro G. Castro <alex@××××××.com>
189 +
190 + [GTK] Fix compilation problems with deprecations in gtk+
191 + https://bugs.webkit.org/show_bug.cgi?id=66073
192 +
193 + Reviewed by Martin Robinson.
194 +
195 + * platform/gtk/GtkAuthenticationDialog.cpp:
196 + (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Added
197 + gtk_box_new conditional compilation for gtk+-3.
198 + * platform/gtk/RenderThemeGtk3.cpp:
199 + (WebCore::RenderThemeGtk::adjustRepaintRect):
200 + (WebCore::RenderThemeGtk::paintSliderTrack):
201 + (WebCore::RenderThemeGtk::paintSliderThumb):
202 + (WebCore::RenderThemeGtk::adjustSliderThumbSize): Now we have have
203 + GTK_TYPE_SCALE in gtk+3.
204 +
205 +2011-08-17 Alejandro G. Castro <alex@××××××.com>
206 +
207 + [GTK] Fix compilation problems with deprecations in gtk+
208 + https://bugs.webkit.org/show_bug.cgi?id=66073
209 +
210 + Reviewed by Martin Robinson.
211 +
212 + * DumpRenderTree/gtk/DumpRenderTree.cpp:
213 + (main): G_CONST_RETURN was deprecated
214 + * GtkLauncher/main.c:
215 + (createWindow): Added gtk_box_new conditional compilation for
216 + gtk+-3.
217 + * MiniBrowser/gtk/BrowserWindow.c:
218 + (browser_window_init): Replaced gtk_vbox_new with gtk_box_new, we
219 + are just supporting gtk+-3 for WebKit2.
220 +
221 +2011-08-17 Alejandro G. Castro <alex@××××××.com>
222 +
223 + [GTK] Fix compilation problems with deprecations in gtk+
224 + https://bugs.webkit.org/show_bug.cgi?id=66073
225 +
226 + Reviewed by Martin Robinson.
227 +
228 + * WebCoreSupport/FullscreenVideoController.cpp:
229 + (FullscreenVideoController::createHud): Added gtk_box_new
230 + conditional compilation for gtk+-3.
231 +
232 +Index: /trunk/Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp
233 +===================================================================
234 +--- /trunk/Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp (revision 89044)
235 ++++ /trunk/Source/WebKit/gtk/WebCoreSupport/FullscreenVideoController.cpp (revision 93338)
236 +@@ -532,5 +532,9 @@
237 + g_signal_connect(m_hudWindow, "motion-notify-event", G_CALLBACK(onFullscreenGtkMotionNotifyEvent), this);
238 +
239 ++#ifdef GTK_API_VERSION_2
240 + GtkWidget* hbox = gtk_hbox_new(FALSE, 4);
241 ++#else
242 ++ GtkWidget* hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4);
243 ++#endif
244 + gtk_container_add(GTK_CONTAINER(m_hudWindow), hbox);
245 +
246 +@@ -547,5 +551,9 @@
247 +
248 + GtkAdjustment* adjustment = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 100.0, 0.1, 1.0, 1.0));
249 ++#ifdef GTK_API_VERSION_2
250 + m_timeHScale = gtk_hscale_new(adjustment);
251 ++#else
252 ++ m_timeHScale = gtk_scale_new(GTK_ORIENTATION_HORIZONTAL, adjustment);
253 ++#endif
254 + gtk_scale_set_draw_value(GTK_SCALE(m_timeHScale), FALSE);
255 + gtk_range_set_show_fill_level(GTK_RANGE(m_timeHScale), TRUE);
256 +Index: /trunk/Source/WebCore/platform/gtk/RenderThemeGtk3.cpp
257 +===================================================================
258 +--- /trunk/Source/WebCore/platform/gtk/RenderThemeGtk3.cpp (revision 88405)
259 ++++ /trunk/Source/WebCore/platform/gtk/RenderThemeGtk3.cpp (revision 93338)
260 +@@ -150,5 +150,5 @@
261 + case SliderVerticalPart:
262 + case SliderHorizontalPart:
263 +- context = getStyleContext(part == SliderThumbHorizontalPart ? GTK_TYPE_HSCALE : GTK_TYPE_VSCALE);
264 ++ context = getStyleContext(GTK_TYPE_SCALE);
265 + break;
266 + case ButtonPart:
267 +@@ -599,5 +599,5 @@
268 + ASSERT(part == SliderHorizontalPart || part == SliderVerticalPart || part == MediaVolumeSliderPart);
269 +
270 +- GtkStyleContext* context = getStyleContext(part == SliderThumbHorizontalPart ? GTK_TYPE_HSCALE : GTK_TYPE_VSCALE);
271 ++ GtkStyleContext* context = getStyleContext(GTK_TYPE_SCALE);
272 + gtk_style_context_save(context);
273 +
274 +@@ -634,5 +634,5 @@
275 + ASSERT(part == SliderThumbHorizontalPart || part == SliderThumbVerticalPart || part == MediaVolumeSliderThumbPart);
276 +
277 +- GtkStyleContext* context = getStyleContext(part == SliderThumbHorizontalPart ? GTK_TYPE_HSCALE : GTK_TYPE_VSCALE);
278 ++ GtkStyleContext* context = getStyleContext(GTK_TYPE_SCALE);
279 + gtk_style_context_save(context);
280 +
281 +@@ -675,5 +675,5 @@
282 +
283 + gint sliderWidth, sliderLength;
284 +- gtk_style_context_get_style(getStyleContext(part == SliderThumbHorizontalPart ? GTK_TYPE_HSCALE : GTK_TYPE_VSCALE),
285 ++ gtk_style_context_get_style(getStyleContext(GTK_TYPE_SCALE),
286 + "slider-width", &sliderWidth,
287 + "slider-length", &sliderLength,
288 +Index: /trunk/Source/WebCore/platform/gtk/GtkAuthenticationDialog.cpp
289 +===================================================================
290 +--- /trunk/Source/WebCore/platform/gtk/GtkAuthenticationDialog.cpp (revision 88800)
291 ++++ /trunk/Source/WebCore/platform/gtk/GtkAuthenticationDialog.cpp (revision 93338)
292 +@@ -88,5 +88,9 @@
293 +
294 + // Build contents.
295 ++#ifdef GTK_API_VERSION_2
296 + GtkWidget* hBox = gtk_hbox_new(FALSE, 12);
297 ++#else
298 ++ GtkWidget* hBox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12);
299 ++#endif
300 + gtk_container_set_border_width(GTK_CONTAINER(hBox), 5);
301 + gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(dialog)), hBox, TRUE, TRUE, 0);
302 +@@ -96,5 +100,9 @@
303 + gtk_box_pack_start(GTK_BOX(hBox), icon, FALSE, FALSE, 0);
304 +
305 ++#ifdef GTK_API_VERSION_2
306 + GtkWidget* mainVBox = gtk_vbox_new(FALSE, 18);
307 ++#else
308 ++ GtkWidget* mainVBox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 18);
309 ++#endif
310 + gtk_box_pack_start(GTK_BOX(hBox), mainVBox, TRUE, TRUE, 0);
311 +
312 +@@ -106,5 +114,9 @@
313 + gtk_box_pack_start(GTK_BOX(mainVBox), GTK_WIDGET(descriptionLabel), FALSE, FALSE, 0);
314 +
315 ++#ifdef GTK_API_VERSION_2
316 + GtkWidget* vBox = gtk_vbox_new(FALSE, 6);
317 ++#else
318 ++ GtkWidget* vBox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6);
319 ++#endif
320 + gtk_box_pack_start(GTK_BOX(mainVBox), vBox, FALSE, FALSE, 0);
321 +
322 +@@ -140,5 +152,9 @@
323 +
324 + if (sessionCanSavePasswords(m_session)) {
325 ++#ifdef GTK_API_VERSION_2
326 + GtkWidget* rememberBox = gtk_vbox_new(FALSE, 6);
327 ++#else
328 ++ GtkWidget* rememberBox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6);
329 ++#endif
330 + gtk_box_pack_start(GTK_BOX(vBox), rememberBox, FALSE, FALSE, 0);
331 +
332 +Index: /trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp
333 +===================================================================
334 +--- /trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp (revision 91707)
335 ++++ /trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp (revision 93338)
336 +@@ -65,5 +65,5 @@
337 + extern "C" {
338 + // This API is not yet public.
339 +-extern G_CONST_RETURN gchar* webkit_web_history_item_get_target(WebKitWebHistoryItem*);
340 ++extern const gchar* webkit_web_history_item_get_target(WebKitWebHistoryItem*);
341 + extern gboolean webkit_web_history_item_is_target_item(WebKitWebHistoryItem*);
342 + extern GList* webkit_web_history_item_get_children(WebKitWebHistoryItem*);
343 +@@ -1168,5 +1168,10 @@
344 +
345 + window = gtk_window_new(GTK_WINDOW_POPUP);
346 ++#ifdef GTK_API_VERSION_2
347 + container = gtk_hbox_new(TRUE, 0);
348 ++#else
349 ++ container = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
350 ++ gtk_box_set_homogeneous(GTK_BOX(container), TRUE);
351 ++#endif
352 + gtk_container_add(GTK_CONTAINER(window), container);
353 + gtk_widget_show_all(window);
354 +Index: /trunk/Tools/MiniBrowser/gtk/BrowserWindow.c
355 +===================================================================
356 +--- /trunk/Tools/MiniBrowser/gtk/BrowserWindow.c (revision 90551)
357 ++++ /trunk/Tools/MiniBrowser/gtk/BrowserWindow.c (revision 93338)
358 +@@ -160,5 +160,5 @@
359 + gtk_widget_show(GTK_WIDGET(item));
360 +
361 +- GtkWidget *vbox = gtk_vbox_new(FALSE, 0);
362 ++ GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
363 + window->mainBox = vbox;
364 + gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);
365 +Index: /trunk/Tools/GtkLauncher/main.c
366 +===================================================================
367 +--- /trunk/Tools/GtkLauncher/main.c (revision 89438)
368 ++++ /trunk/Tools/GtkLauncher/main.c (revision 93338)
369 +@@ -214,5 +214,9 @@
370 + uriEntry = gtk_entry_new();
371 +
372 ++#ifdef GTK_API_VERSION_2
373 + vbox = gtk_vbox_new(FALSE, 0);
374 ++#else
375 ++ vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
376 ++#endif
377 + statusbar = createStatusbar(webView);
378 + gtk_box_pack_start(GTK_BOX(vbox), createToolbar(uriEntry, webView), FALSE, FALSE, 0);
379
380 diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.5.2-mimehandling-test.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.5.2-mimehandling-test.patch
381 new file mode 100644
382 index 0000000..70d52e2
383 --- /dev/null
384 +++ b/net-libs/webkit-gtk/files/webkit-gtk-1.5.2-mimehandling-test.patch
385 @@ -0,0 +1,17 @@
386 +Disable mimehandling test for now. For unknown reasons it fails:
387 +
388 + /webkit/mime/remote-OGG: **
389 +ERROR:Source/WebKit/gtk/tests/testmimehandling.c:128:mime_type_policy_decision_requested_cb: assertion failed (mime_type == "audio/x-vorbis+ogg"): ("application/octet-stream" == "audio/x-vorbis+ogg")
390 +FAIL
391 +
392 +diff -ur a/Source/WebKit/gtk/GNUmakefile.am b/Source/WebKit/gtk/GNUmakefile.am
393 +--- a/Source/WebKit/gtk/GNUmakefile.am
394 ++++ b/Source/WebKit/gtk/GNUmakefile.am
395 +@@ -432,7 +432,6 @@
396 + Programs/unittests/testhttpbackend \
397 + Programs/unittests/testloading \
398 + Programs/unittests/testglobals \
399 +- Programs/unittests/testmimehandling \
400 + Programs/unittests/testnetworkrequest \
401 + Programs/unittests/testnetworkresponse \
402 + Programs/unittests/testwebframe \
403
404 diff --git a/net-libs/webkit-gtk/webkit-gtk-1.5.2-r200.ebuild b/net-libs/webkit-gtk/webkit-gtk-1.5.2-r200.ebuild
405 new file mode 100644
406 index 0000000..4780d01
407 --- /dev/null
408 +++ b/net-libs/webkit-gtk/webkit-gtk-1.5.2-r200.ebuild
409 @@ -0,0 +1,149 @@
410 +# Copyright 1999-2011 Gentoo Foundation
411 +# Distributed under the terms of the GNU General Public License v2
412 +# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-1.4.2-r200.ebuild,v 1.4 2011/08/14 06:43:26 nirbheek Exp $
413 +
414 +EAPI="4"
415 +
416 +inherit autotools eutils flag-o-matic eutils virtualx
417 +
418 +MY_P="webkit-${PV}"
419 +DESCRIPTION="Open source web browser engine"
420 +HOMEPAGE="http://www.webkitgtk.org/"
421 +SRC_URI="http://www.webkitgtk.org/${MY_P}.tar.gz"
422 +
423 +LICENSE="LGPL-2 LGPL-2.1 BSD"
424 +SLOT="2"
425 +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos"
426 +# geoclue
427 +IUSE="aqua coverage debug doc +gstreamer +introspection +jit spell"
428 +# bug 372493
429 +REQUIRED_USE="introspection? ( gstreamer )"
430 +
431 +# use sqlite, svg by default
432 +# dependency on >=x11-libs/gtk+-2.13:2 for gail
433 +RDEPEND="
434 + dev-libs/libxml2:2
435 + dev-libs/libxslt
436 + virtual/jpeg
437 + >=media-libs/libpng-1.4:0
438 + >=x11-libs/cairo-1.10
439 + >=dev-libs/glib-2.27.90:2
440 + >=x11-libs/gtk+-2.13:2[aqua=,introspection?]
441 + >=dev-libs/icu-3.8.1-r1
442 + >=net-libs/libsoup-2.33.6:2.4[introspection?]
443 + dev-db/sqlite:3
444 + >=x11-libs/pango-1.12
445 + x11-libs/libXrender
446 +
447 + gstreamer? (
448 + media-libs/gstreamer:0.10
449 + >=media-libs/gst-plugins-base-0.10.25:0.10 )
450 +
451 + introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
452 +
453 + spell? ( >=app-text/enchant-0.22 )
454 +"
455 +DEPEND="${RDEPEND}
456 + >=sys-devel/flex-2.5.33
457 + sys-devel/gettext
458 + virtual/yacc
459 + dev-util/gperf
460 + dev-util/pkgconfig
461 + dev-util/gtk-doc-am
462 + doc? ( >=dev-util/gtk-doc-1.10 )
463 + test? ( x11-themes/hicolor-icon-theme )
464 +"
465 +
466 +S="${WORKDIR}/${MY_P}"
467 +
468 +src_prepare() {
469 + DOCS="ChangeLog NEWS" # other ChangeLog files handled by src_install
470 +
471 + # FIXME: Fix unaligned accesses on ARM, IA64 and SPARC
472 + # https://bugs.webkit.org/show_bug.cgi?id=19775
473 + use sparc && epatch "${FILESDIR}"/${PN}-1.2.3-fix-pool-sparc.patch
474 +
475 + # intermediate MacPorts hack while upstream bug is not fixed properly
476 + # https://bugs.webkit.org/show_bug.cgi?id=28727
477 + use aqua && epatch "${FILESDIR}"/${PN}-1.2.5-darwin-quartz.patch
478 +
479 + # Fix build on Darwin8 (10.4 Tiger)
480 + # XXX: Fails to apply
481 + #epatch "${FILESDIR}"/${PN}-1.2.5-darwin8.patch
482 +
483 + # Don't force -O2
484 + sed -i 's/-O2//g' "${S}"/configure.ac
485 +
486 + # Don't build tests if not needed, part of bug #343249
487 + # XXX: Fails to apply
488 + #epatch "${FILESDIR}/${PN}-1.2.5-tests-build.patch"
489 +
490 + # FIXME: mimehandling test fails, so disable it for now
491 + # assertion failed (mime_type == "audio/x-vorbis+ogg")
492 + epatch "${FILESDIR}/${PN}-1.5.2-mimehandling-test.patch"
493 +
494 + # Upstream patch to fix deprecation failures with glib-2.29.x and gtk+-3.1.x
495 + epatch "${FILESDIR}/${P}-deprecations.patch"
496 +
497 + # Prevent maintainer mode from being triggered during make
498 + AT_M4DIR=Source/autotools eautoreconf
499 +}
500 +
501 +src_configure() {
502 + # It doesn't compile on alpha without this in LDFLAGS
503 + use alpha && append-ldflags "-Wl,--no-relax"
504 +
505 + # Sigbuses on SPARC with mcpu and co.
506 + use sparc && filter-flags "-mcpu=*" "-mvis" "-mtune=*"
507 +
508 + # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
509 + use ppc64 && append-flags "-mminimal-toc"
510 +
511 + local myconf
512 +
513 + # XXX: Check Web Audio support
514 + # XXX: webgl fails compilation
515 + # WebKit2 can only be built with gtk3
516 + myconf="
517 + $(use_enable coverage)
518 + $(use_enable debug)
519 + $(use_enable debug debug-features)
520 + $(use_enable spell spellcheck)
521 + $(use_enable introspection)
522 + $(use_enable gstreamer video)
523 + $(use_enable jit)
524 + --disable-webgl
525 + --with-gtk=2.0
526 + --disable-webkit2
527 + --disable-web-sockets
528 + $(use aqua && echo "--with-font-backend=pango --with-target=quartz")"
529 + # Disable web-sockets per bug #326547
530 +
531 + econf ${myconf}
532 +}
533 +
534 +src_compile() {
535 + # Fix sandbox error with USE="introspection"
536 + # https://bugs.webkit.org/show_bug.cgi?id=35471
537 + emake XDG_DATA_HOME="${T}/.local"
538 +}
539 +
540 +src_test() {
541 + unset DISPLAY
542 + # Tests need virtualx, bug #294691, bug #310695
543 + # Set XDG_DATA_HOME for introspection tools, bug #323669
544 + # Parallel tests sometimes fail
545 + Xemake -j1 check XDG_DATA_HOME="${T}/.local"
546 +}
547 +
548 +src_install() {
549 + default
550 +
551 + newdoc Source/WebKit/gtk/ChangeLog ChangeLog.gtk
552 + newdoc Source/WebKit/gtk/po/ChangeLog ChangeLog.gtk-po
553 + newdoc Source/JavaScriptCore/ChangeLog ChangeLog.JavaScriptCore
554 + newdoc Source/WebCore/ChangeLog ChangeLog.WebCore
555 +
556 + # Remove .la files
557 + find "${D}" -name '*.la' -exec rm -f '{}' +
558 +}
559
560 diff --git a/net-libs/webkit-gtk/webkit-gtk-1.5.2-r300.ebuild b/net-libs/webkit-gtk/webkit-gtk-1.5.2-r300.ebuild
561 new file mode 100644
562 index 0000000..403bfed
563 --- /dev/null
564 +++ b/net-libs/webkit-gtk/webkit-gtk-1.5.2-r300.ebuild
565 @@ -0,0 +1,153 @@
566 +# Copyright 1999-2011 Gentoo Foundation
567 +# Distributed under the terms of the GNU General Public License v2
568 +# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-1.4.2-r300.ebuild,v 1.4 2011/08/14 06:43:26 nirbheek Exp $
569 +
570 +EAPI="4"
571 +
572 +inherit autotools eutils flag-o-matic eutils virtualx
573 +
574 +MY_P="webkit-${PV}"
575 +DESCRIPTION="Open source web browser engine"
576 +HOMEPAGE="http://www.webkitgtk.org/"
577 +SRC_URI="http://www.webkitgtk.org/${MY_P}.tar.gz"
578 +
579 +LICENSE="LGPL-2 LGPL-2.1 BSD"
580 +SLOT="3"
581 +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos"
582 +# geoclue
583 +IUSE="aqua coverage debug doc +gstreamer +introspection +jit spell"
584 +# bug 372493
585 +REQUIRED_USE="introspection? ( gstreamer )"
586 +
587 +# use sqlite, svg by default
588 +# dependency on >=x11-libs/gtk+-2.13:2 for gail
589 +# Aqua support in gtk3 is untested
590 +# gtk2 is needed for plugin process support
591 +RDEPEND="
592 + dev-libs/libxml2:2
593 + dev-libs/libxslt
594 + virtual/jpeg
595 + >=media-libs/libpng-1.4:0
596 + >=x11-libs/cairo-1.10
597 + >=dev-libs/glib-2.27.90:2
598 + >=x11-libs/gtk+-3.0:3[aqua=,introspection?]
599 + >=dev-libs/icu-3.8.1-r1
600 + >=net-libs/libsoup-2.33.6:2.4[introspection?]
601 + dev-db/sqlite:3
602 + >=x11-libs/pango-1.12
603 + x11-libs/libXrender
604 +
605 + gstreamer? (
606 + media-libs/gstreamer:0.10
607 + >=media-libs/gst-plugins-base-0.10.25:0.10 )
608 +
609 + introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
610 +
611 + spell? ( >=app-text/enchant-0.22 )
612 +"
613 +DEPEND="${RDEPEND}
614 + >=sys-devel/flex-2.5.33
615 + sys-devel/gettext
616 + virtual/yacc
617 + dev-util/gperf
618 + dev-util/pkgconfig
619 + dev-util/gtk-doc-am
620 + doc? ( >=dev-util/gtk-doc-1.10 )
621 + test? ( x11-themes/hicolor-icon-theme )
622 +"
623 +
624 +S="${WORKDIR}/${MY_P}"
625 +
626 +src_prepare() {
627 + DOCS="ChangeLog NEWS" # other ChangeLog files handled by src_install
628 +
629 + # FIXME: Fix unaligned accesses on ARM, IA64 and SPARC
630 + # https://bugs.webkit.org/show_bug.cgi?id=19775
631 + use sparc && epatch "${FILESDIR}"/${PN}-1.2.3-fix-pool-sparc.patch
632 +
633 + # intermediate MacPorts hack while upstream bug is not fixed properly
634 + # https://bugs.webkit.org/show_bug.cgi?id=28727
635 + use aqua && epatch "${FILESDIR}"/${PN}-1.2.5-darwin-quartz.patch
636 +
637 + # Fix build on Darwin8 (10.4 Tiger)
638 + # XXX: Fails to apply
639 + #epatch "${FILESDIR}"/${PN}-1.2.5-darwin8.patch
640 +
641 + # Don't force -O2
642 + sed -i 's/-O2//g' "${S}"/configure.ac
643 +
644 + # Don't build tests if not needed, part of bug #343249
645 + # XXX: Fails to apply
646 + #epatch "${FILESDIR}/${PN}-1.2.5-tests-build.patch"
647 +
648 + # FIXME: mimehandling test fails, so disable it for now
649 + # assertion failed (mime_type == "audio/x-vorbis+ogg")
650 + epatch "${FILESDIR}/${PN}-1.5.2-mimehandling-test.patch"
651 +
652 + # Upstream patch to fix deprecation failures with glib-2.29.x and gtk+-3.1.x
653 + epatch "${FILESDIR}/${P}-deprecations.patch"
654 +
655 + # Prevent maintainer mode from being triggered during make
656 + AT_M4DIR=Source/autotools eautoreconf
657 +}
658 +
659 +src_configure() {
660 + # It doesn't compile on alpha without this in LDFLAGS
661 + use alpha && append-ldflags "-Wl,--no-relax"
662 +
663 + # Sigbuses on SPARC with mcpu and co.
664 + use sparc && filter-flags "-mcpu=*" "-mvis" "-mtune=*"
665 +
666 + # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
667 + use ppc64 && append-flags "-mminimal-toc"
668 +
669 + local myconf
670 +
671 + # XXX: Check Web Audio support
672 + # XXX: webgl fails compilation
673 + # XXX: files for generating DerivedSources/WebKit2/* are missing, see
674 + # https://bugs.webkit.org/show_bug.cgi?id=66527
675 + myconf="
676 + $(use_enable coverage)
677 + $(use_enable debug)
678 + $(use_enable debug debug-features)
679 + $(use_enable spell spellcheck)
680 + $(use_enable introspection)
681 + $(use_enable gstreamer video)
682 + $(use_enable jit)
683 + --disable-webgl
684 + --with-gtk=3.0
685 + --disable-webkit2
686 + --disable-web-sockets
687 + $(use aqua && echo "--with-font-backend=pango --with-target=quartz")"
688 + # Aqua support in gtk3 is untested
689 + # Disable web-sockets per bug #326547
690 +
691 + econf ${myconf}
692 +}
693 +
694 +src_compile() {
695 + # Fix sandbox error with USE="introspection"
696 + # https://bugs.webkit.org/show_bug.cgi?id=35471
697 + emake XDG_DATA_HOME="${T}/.local"
698 +}
699 +
700 +src_test() {
701 + unset DISPLAY
702 + # Tests need virtualx, bug #294691, bug #310695
703 + # Set XDG_DATA_HOME for introspection tools, bug #323669
704 + # Parallel tests sometimes fail
705 + Xemake -j1 check XDG_DATA_HOME="${T}/.local"
706 +}
707 +
708 +src_install() {
709 + default
710 +
711 + newdoc Source/WebKit/gtk/ChangeLog ChangeLog.gtk
712 + newdoc Source/WebKit/gtk/po/ChangeLog ChangeLog.gtk-po
713 + newdoc Source/JavaScriptCore/ChangeLog ChangeLog.JavaScriptCore
714 + newdoc Source/WebCore/ChangeLog ChangeLog.WebCore
715 +
716 + # Remove .la files
717 + find "${D}" -name '*.la' -exec rm -f '{}' +
718 +}