================================ webkit-gtk:source=1.1.15.4-1 cvc rdiff webkit-gtk -1 /weasel.rpath.org@wgl:3-devel/1.1.15.4-1 ================================ 1.1.15.4-1 Filip Brcic (brcha@xxxxxxxxxxxx) Mon Jun 7 18:52:39 2010 webkit-gtk 1.1.15.4 webkit-1.1.15.4.tar.gz: new webkit-gtk.recipe: new --- /dev/null +++ webkit-gtk.recipe @@ -0,0 +67 @@ +# +# Copyright (c) 2010 Weasel GNU/Linux [Filip Brcic (brcha@xxxxxxxxxxxx)] +# Distributed under the terms of the GNU General Public License v3 +# + +class WebkitGtk(AutoPackageRecipe): + name = 'webkit-gtk' + version = '1.1.15.4' + + buildRequires = [ + 'libxml2:devel', 'libxslt:devel', 'libjpeg:devel', + 'libpng:devel', 'cairo:devel', 'gtk:devel', 'glib:devel', + 'icu:devel', 'libsoup:devel', 'sqlite:devel', 'enchant:devel', + 'pango:devel', 'gstreamer:devel', 'gst-plugins-base:devel', + 'flex:runtime', 'gettext:runtime', 'intltool:runtime', + 'perl-XML-Parser:perl', 'bison:runtime', 'm4:runtime', + 'gperf:runtime', 'pkg-config:devel', 'gtk-doc-am:devel', + 'autoconf-wrapper:runtime', 'autoconf25:runtime', + 'automake-wrapper:runtime', 'automake110:runtime', + 'glib:runtime', 'libtool:runtime', 'libtool:devel', + 'libstdc++:devel', 'gcc-c++:runtime', 'libXt:devel', + ] + + if Use.builddocs: + buildRequires.extend(['gtk-doc:runtime']) + + shortDesc = 'Open source web browser engine' + longDesc = """ +WebKitGTK+ is the port of the portable web rendering engine WebKit to the GTK+ platform. +""" + url = 'http://www.webkitgtk.org/' + licenses = [ 'LGPL-2', 'LGPL-2.1', 'BSD' ] + categories = [ 'Network/Libraries' ] + + def unpack(r): + r.macros.archive_name = 'webkit' + r.addArchive('http://www.webkitgtk.org/') + + # Darwin/Aqua build is broken, needs autoreconf + r.addPatch('webkit-gtk-1.1.15.4-darwin-quartz.patch') + + # Fix build with icu-4.4 + r.addPatch('webkit-gtk-1.1.15.4-icu44.patch') + + # Make it libtool-1 compatible + r.Remove('autotools/lt*', 'autotools/libtool.m4') + + # Don't force -O2 + r.Replace('-O2', '', + 'configure.ac') + + # Prevent maintainer mode from being triggered during make + r.Autoreconf(m4Dir='autotools') + + def configure(r): + r.Configure( + ' --enable-coverage' + ' --disable-debug' + ' --enable-video' + ' --enable-web_sockets' + ' --enable-filters' + ' --enable-ruby' + ) + + def policy(r): + r.AutoDoc(exceptions='.*') + r.Doc('WebKit/gtk/{NEWS,ChangeLog}') webkit-gtk-1.1.15.4-icu44.patch: new --- /dev/null +++ webkit-gtk-1.1.15.4-icu44.patch @@ -0,0 +115 @@ +Backport of upstream revision 56345 (2010-03-22 Darin Adler <darin@xxxxxxxxx>) +to webkit-gtk-1.1.15.4 + +TextBreakIteratorICU.cpp is incompatible with new UBreakIterator type in ICU 4.4 +https://bugs.webkit.org/show_bug.cgi?id=36381 +platform/text/TextBreakIteratorICU.cpp, platform/text/TextBoundariesICU.cpp: +Use reinterpret_cast instead of static_cast or relying on conversion to void*. + +diff -ru webkit-1.1.15.4-orig//WebCore/platform/text/TextBoundariesICU.cpp webkit-1.1.15.4/WebCore/platform/text/TextBoundariesICU.cpp +--- webkit-1.1.15.4-orig//WebCore/platform/text/TextBoundariesICU.cpp 2009-09-22 11:29:21.000000000 -0400 ++++ webkit-1.1.15.4/WebCore/platform/text/TextBoundariesICU.cpp 2010-03-26 03:19:14.852055685 -0400 +@@ -36,7 +36,7 @@ + + int findNextWordFromIndex(const UChar* chars, int len, int position, bool forward) + { +- UBreakIterator* it = wordBreakIterator(chars, len); ++ UBreakIterator* it = reinterpret_cast<UBreakIterator*>(wordBreakIterator(chars, len)); + + if (forward) { + position = ubrk_following(it, position); +@@ -67,7 +67,7 @@ + + void findWordBoundary(const UChar* chars, int len, int position, int* start, int* end) + { +- UBreakIterator* it = wordBreakIterator(chars, len); ++ UBreakIterator* it = reinterpret_cast<UBreakIterator*>(wordBreakIterator(chars, len)); + *end = ubrk_following(it, position); + if (*end < 0) + *end = ubrk_last(it); +diff -ru webkit-1.1.15.4-orig//WebCore/platform/text/TextBreakIteratorICU.cpp webkit-1.1.15.4/WebCore/platform/text/TextBreakIteratorICU.cpp +--- webkit-1.1.15.4-orig//WebCore/platform/text/TextBreakIteratorICU.cpp 2009-09-22 11:29:21.000000000 -0400 ++++ webkit-1.1.15.4/WebCore/platform/text/TextBreakIteratorICU.cpp 2010-03-26 02:44:51.934479159 -0400 +@@ -38,7 +38,7 @@ + + if (!createdIterator) { + UErrorCode openStatus = U_ZERO_ERROR; +- iterator = static_cast<TextBreakIterator*>(ubrk_open(type, currentTextBreakLocaleID(), 0, 0, &openStatus)); ++ iterator = reinterpret_cast<TextBreakIterator*>(ubrk_open(type, currentTextBreakLocaleID(), 0, 0, &openStatus)); + createdIterator = true; + ASSERT_WITH_MESSAGE(U_SUCCESS(openStatus), "ICU could not open a break iterator: %s (%d)", u_errorName(openStatus), openStatus); + } +@@ -46,7 +46,7 @@ + return 0; + + UErrorCode setTextStatus = U_ZERO_ERROR; +- ubrk_setText(iterator, string, length, &setTextStatus); ++ ubrk_setText(reinterpret_cast<UBreakIterator*>(iterator), string, length, &setTextStatus); + if (U_FAILURE(setTextStatus)) + return 0; + +@@ -85,34 +85,34 @@ + staticSentenceBreakIterator, UBRK_SENTENCE, string, length); + } + +-int textBreakFirst(TextBreakIterator* bi) ++int textBreakFirst(TextBreakIterator* iterator) + { +- return ubrk_first(bi); ++ return ubrk_first(reinterpret_cast<UBreakIterator*>(iterator)); + } + +-int textBreakNext(TextBreakIterator* bi) ++int textBreakNext(TextBreakIterator* iterator) + { +- return ubrk_next(bi); ++ return ubrk_next(reinterpret_cast<UBreakIterator*>(iterator)); + } + +-int textBreakPreceding(TextBreakIterator* bi, int pos) ++int textBreakPreceding(TextBreakIterator* iterator, int pos) + { +- return ubrk_preceding(bi, pos); ++ return ubrk_preceding(reinterpret_cast<UBreakIterator*>(iterator), pos); + } + +-int textBreakFollowing(TextBreakIterator* bi, int pos) ++int textBreakFollowing(TextBreakIterator* iterator, int pos) + { +- return ubrk_following(bi, pos); ++ return ubrk_following(reinterpret_cast<UBreakIterator*>(iterator), pos); + } + +-int textBreakCurrent(TextBreakIterator* bi) ++int textBreakCurrent(TextBreakIterator* iterator) + { +- return ubrk_current(bi); ++ return ubrk_current(reinterpret_cast<UBreakIterator*>(iterator)); + } + +-bool isTextBreak(TextBreakIterator* bi, int pos) ++bool isTextBreak(TextBreakIterator* iterator, int position) + { +- return ubrk_isBoundary(bi, pos); ++ return ubrk_isBoundary(reinterpret_cast<UBreakIterator*>(iterator), position); + } + + #ifndef BUILDING_ON_TIGER +@@ -126,7 +126,7 @@ + UParseError parseStatus; + UErrorCode openStatus = U_ZERO_ERROR; + String rules(breakRules); +- iterator = static_cast<TextBreakIterator*>(ubrk_openRules(rules.characters(), rules.length(), 0, 0, &parseStatus, &openStatus)); ++ iterator = reinterpret_cast<TextBreakIterator*>(ubrk_openRules(rules.characters(), rules.length(), 0, 0, &parseStatus, &openStatus)); + createdIterator = true; + ASSERT_WITH_MESSAGE(U_SUCCESS(openStatus), "ICU could not open a break iterator: %s (%d)", u_errorName(openStatus), openStatus); + } +@@ -134,7 +134,7 @@ + return 0; + + UErrorCode setTextStatus = U_ZERO_ERROR; +- ubrk_setText(iterator, string, length, &setTextStatus); ++ ubrk_setText(reinterpret_cast<UBreakIterator*>(iterator), string, length, &setTextStatus); + if (U_FAILURE(setTextStatus)) + return 0; + webkit-gtk-1.1.15.4-darwin-quartz.patch: new --- /dev/null +++ webkit-gtk-1.1.15.4-darwin-quartz.patch @@ -0,0 +70 @@ +https://bugs.webkit.org/show_bug.cgi?id=28727 +https://bugs.webkit.org/attachment.cgi?id=41762 + +Index: GNUmakefile.am +=================================================================== +--- GNUmakefile.am (revision 49997) ++++ GNUmakefile.am (working copy) +@@ -115,6 +115,9 @@ + if !TARGET_WIN32 + corekit_cppflags += -DXP_UNIX + endif ++if TARGET_QUARTZ ++corekit_cppflags += -DQUARTZ ++endif + + # Default compiler flags + global_cflags += \ +Index: WebCore/plugins/gtk/PluginViewGtk.cpp +=================================================================== +--- WebCore/plugins/gtk/PluginViewGtk.cpp (revision 49997) ++++ WebCore/plugins/gtk/PluginViewGtk.cpp (working copy) +@@ -59,7 +59,7 @@ + #include <gdkconfig.h> + #include <gtk/gtk.h> + +-#if defined(XP_UNIX) ++#if defined(XP_UNIX) && not defined(QUARTZ) + #include "gtk2xtbin.h" + #include <gdk/gdkx.h> + #elif defined(GDK_WINDOWING_WIN32) +@@ -322,7 +322,7 @@ + + switch (variable) { + case NPNVxDisplay: +-#if defined(XP_UNIX) ++#if defined(XP_UNIX) && not defined(QUARTZ) + if (m_needsXEmbed) + *(void **)value = (void *)GDK_DISPLAY(); + else +@@ -380,7 +380,7 @@ + #endif + + case NPNVnetscapeWindow: { +-#if defined(XP_UNIX) ++#if defined(XP_UNIX) and not defined(QUARTZ) + void* w = reinterpret_cast<void*>(value); + *((XID *)w) = GDK_WINDOW_XWINDOW(m_parentFrame->view()->hostWindow()->platformPageClient()->window); + #endif +@@ -456,8 +456,11 @@ + setPlatformWidget(gtk_socket_new()); + gtk_container_add(GTK_CONTAINER(m_parentFrame->view()->hostWindow()->platformPageClient()), platformPluginWidget()); + g_signal_connect(platformPluginWidget(), "plug_removed", G_CALLBACK(plug_removed_cb), NULL); +- } else if (m_isWindowed) ++ } ++#ifndef QUARTZ ++ else if (m_isWindowed) + setPlatformWidget(gtk_xtbin_new(m_parentFrame->view()->hostWindow()->platformPageClient()->window, 0)); ++#endif + #else + setPlatformWidget(gtk_socket_new()); + gtk_container_add(GTK_CONTAINER(m_parentFrame->view()->hostWindow()->platformPageClient()), platformPluginWidget()); +@@ -466,7 +469,7 @@ + + if (m_isWindowed) { + m_npWindow.type = NPWindowTypeWindow; +-#if defined(XP_UNIX) ++#if defined(XP_UNIX) && not defined(QUARTZ) + NPSetWindowCallbackStruct *ws = new NPSetWindowCallbackStruct(); + + ws->type = 0; Committed by: brcha