[weasel-commit] Source: webkit-gtk=1.1.15.4-1

  • From: rbuilder@xxxxxxxxx
  • To: weasel-commit@xxxxxxxxxxxxx
  • Date: Mon, 07 Jun 2010 19:00:22 -0400

================================
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

Other related posts: