public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Priit Laes" <plaes@plaes.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gnome:master commit in: net-libs/webkit-gtk/files/, net-libs/webkit-gtk/
Date: Thu, 12 Jul 2012 12:33:25 +0000 (UTC)	[thread overview]
Message-ID: <1342096296.e7f0d84a0ad621789983c8849e2de5a610468867.plaes@gentoo> (raw)

commit:     e7f0d84a0ad621789983c8849e2de5a610468867
Author:     Priit Laes <plaes <AT> plaes <DOT> org>
AuthorDate: Thu Jul 12 12:31:36 2012 +0000
Commit:     Priit Laes <plaes <AT> plaes <DOT> org>
CommitDate: Thu Jul 12 12:31:36 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=e7f0d84a

net-libs/webkit-gtk: Added 1.9.4 to overlay

---
 net-libs/webkit-gtk/files/gir-paxctl-lt-wrapper    |   33 +++
 .../files/webkit-gtk-1.2.3-fix-pool-sparc.patch    |   65 ++++++
 .../files/webkit-gtk-1.2.5-darwin-quartz.patch     |   79 +++++++
 .../files/webkit-gtk-1.2.5-darwin8.patch           |   33 +++
 .../files/webkit-gtk-1.2.5-tests-build.patch       |   22 ++
 .../files/webkit-gtk-1.6.1-darwin-quartz.patch     |   67 ++++++
 .../webkit-gtk-1.6.3-paxctl-introspection.patch    |   21 ++
 ...webkit-gtk-1.7.90-test_garbage_collection.patch |   18 ++
 .../files/webkit-gtk-1.8.0-no-geoloc.patch         |   57 +++++
 .../files/webkit-gtk-1.8.1-tests-xvfb.patch        |   32 +++
 .../webkit-gtk-1.9.4-llint-build-failure.patch     |   43 ++++
 net-libs/webkit-gtk/metadata.xml                   |   16 ++
 net-libs/webkit-gtk/webkit-gtk-1.9.4-r300.ebuild   |  220 ++++++++++++++++++++
 13 files changed, 706 insertions(+), 0 deletions(-)

diff --git a/net-libs/webkit-gtk/files/gir-paxctl-lt-wrapper b/net-libs/webkit-gtk/files/gir-paxctl-lt-wrapper
new file mode 100755
index 0000000..d4f270c
--- /dev/null
+++ b/net-libs/webkit-gtk/files/gir-paxctl-lt-wrapper
@@ -0,0 +1,33 @@
+#!/bin/bash
+# Wrapper for $(LIBTOOL) that performs PaX marking on the dumper binary
+# generated by g-ir-scanner.
+# PaX marking code stolen from pax-utils.eclass
+
+flags=${1//-}; shift
+
+echo ${LIBTOOL} "$@"
+${LIBTOOL} "$@"
+
+retval=$?
+
+files=$(find . -path "*tmp-introspect*/.libs/*")
+
+if type -p paxctl > /dev/null; then
+	echo "PT PaX marking -${flags} ${files}"
+	for f in ${files}; do
+		# First, try modifying the existing PAX_FLAGS header
+		paxctl -q${flags} "${f}" && continue
+		# Second, try stealing the (unused under PaX) PT_GNU_STACK header
+		paxctl -qc${flags} "${f}" && continue
+		# Third, try pulling the base down a page, to create space and
+		# insert a PT_GNU_STACK header (works on ET_EXEC)
+		paxctl -qC${flags} "${f}" && continue
+	done
+elif type -p scanelf > /dev/null; then
+	# Try scanelf, the Gentoo swiss-army knife ELF utility
+	# Currently this sets PT if it can, no option to control what it does.
+	echo "Fallback PaX marking -${flags} ${files}"
+	scanelf -Xxz ${flags} ${files}
+fi
+
+exit ${retval}

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
new file mode 100644
index 0000000..3b1c5c4
--- /dev/null
+++ b/net-libs/webkit-gtk/files/webkit-gtk-1.2.3-fix-pool-sparc.patch
@@ -0,0 +1,65 @@
+Description: Fixup pool and add sparc support
+--- webkit-1.2.1.orig/JavaScriptCore/wtf/ListHashSet.h
++++ webkit-1.2.1/JavaScriptCore/wtf/ListHashSet.h
+@@ -127,7 +127,7 @@ namespace WTF {
+             : m_freeList(pool())
+             , m_isDoneWithInitialFreeList(false)
+         { 
+-            memset(m_pool.pool, 0, sizeof(m_pool.pool));
++            memset(m_pool, 0, sizeof(m_pool));
+         }
+ 
+         Node* allocate()
+@@ -171,7 +171,7 @@ namespace WTF {
+         }
+ 
+     private:
+-        Node* pool() { return reinterpret_cast<Node*>(m_pool.pool); }
++        Node* pool() { return reinterpret_cast<Node*>(m_pool); }
+         Node* pastPool() { return pool() + m_poolSize; }
+ 
+         bool inPool(Node* node)
+@@ -182,10 +182,7 @@ namespace WTF {
+         Node* m_freeList;
+         bool m_isDoneWithInitialFreeList;
+         static const size_t m_poolSize = 256;
+-        union {
+-            char pool[sizeof(Node) * m_poolSize];
+-            double forAlignment;
+-        } m_pool;
++        uint32_t m_pool[(sizeof(Node) * m_poolSize + sizeof(uint32_t) - 1) / sizeof(uint32_t)];
+     };
+ 
+     template<typename ValueArg> struct ListHashSetNode {
+--- webkit-1.2.1.orig/WebCore/platform/text/AtomicString.cpp
++++ webkit-1.2.1/WebCore/platform/text/AtomicString.cpp
+@@ -103,9 +103,9 @@ static inline bool equal(StringImpl* str
+     if (string->length() != length)
+         return false;
+ 
++#if CPU(ARM) || CPU(SPARC) || CPU(SH4)
+     // FIXME: perhaps we should have a more abstract macro that indicates when
+     // going 4 bytes at a time is unsafe
+-#if CPU(ARM) || CPU(SH4)
+     const UChar* stringCharacters = string->characters();
+     for (unsigned i = 0; i != length; ++i) {
+         if (*stringCharacters++ != *characters++)
+--- webkit-1.2.1.orig/WebCore/platform/text/StringHash.h
++++ webkit-1.2.1/WebCore/platform/text/StringHash.h
+@@ -54,13 +54,13 @@ namespace WebCore {
+ 
+             // FIXME: perhaps we should have a more abstract macro that indicates when
+             // going 4 bytes at a time is unsafe
+-#if CPU(ARM) || CPU(SH4)
++#if CPU(ARM) || CPU(SPARC) || CPU(SH4)
+             const UChar* aChars = a->characters();
+             const UChar* bChars = b->characters();
+-            for (unsigned i = 0; i != aLength; ++i) {
++            for (unsigned i = 0; i != aLength; ++i)
+                 if (*aChars++ != *bChars++)
+                     return false;
+-            }
++
+             return true;
+ #else
+             /* Do it 4-bytes-at-a-time on architectures where it's safe */

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
new file mode 100644
index 0000000..5046118
--- /dev/null
+++ b/net-libs/webkit-gtk/files/webkit-gtk-1.2.5-darwin-quartz.patch
@@ -0,0 +1,79 @@
+http://trac.macports.org/browser/trunk/dports/www/webkit-gtk/files/patch-quartz-WebCore-plugins-gtk-gtkxtbin.c.diff?format=txt
+http://trac.macports.org/browser/trunk/dports/www/webkit-gtk/files/patch-quartz-WebCore-plugins-gtk-PluginViewGtk.cpp.diff?format=txt
+
+--- Source/WebCore/plugins/gtk/gtk2xtbin.c
++++ Source/WebCore/plugins/gtk/gtk2xtbin.c
+@@ -41,7 +41,7 @@
+  * The GtkXtBin widget allows for Xt toolkit code to be used
+  * inside a GTK application.  
+  */
+-
++#if 0
+ #include "GtkVersioning.h"
+ #include "xembed.h"
+ #include "gtk2xtbin.h"
+@@ -951,3 +951,4 @@
+ 
+   return;
+ }
++#endif
+--- Source/WebCore/plugins/gtk/PluginViewGtk.cpp
++++ Source/WebCore/plugins/gtk/PluginViewGtk.cpp
+@@ -60,10 +60,13 @@
+ #include "runtime_root.h"
+ #include <runtime/JSLock.h>
+ #include <runtime/JSValue.h>
++#include "NotImplemented.h"
+ 
+ #include <gdkconfig.h>
+ #include <gtk/gtk.h>
+ 
++#undef XP_UNIX
++
+ #if defined(XP_UNIX)
+ #include "gtk2xtbin.h"
+ #define Bool int // this got undefined somewhere
+@@ -441,9 +444,9 @@
+         event->setDefaultHandled();
+ }
+ 
+-#if defined(XP_UNIX)
+ void PluginView::handleFocusInEvent()
+ {
++#if defined(XP_UNIX)
+     XEvent npEvent;
+     initXEvent(&npEvent);
+ 
+@@ -453,10 +456,12 @@
+     event.detail = NotifyDetailNone;
+ 
+     dispatchNPEvent(npEvent);
++#endif
+ }
+ 
+ void PluginView::handleFocusOutEvent()
+ {
++#if defined(XP_UNIX)
+     XEvent npEvent;
+     initXEvent(&npEvent);
+ 
+@@ -466,8 +471,8 @@
+     event.detail = NotifyDetailNone;
+ 
+     dispatchNPEvent(npEvent);
+-}
+ #endif
++}
+ 
+ void PluginView::setParent(ScrollView* parent)
+ {
+@@ -797,8 +802,8 @@
+     }
+ 
+     if (m_isWindowed) {
+-#if defined(XP_UNIX)
+         GtkWidget* pageClient = m_parentFrame->view()->hostWindow()->platformPageClient();
++#if defined(XP_UNIX)
+ 
+         if (m_needsXEmbed) {
+             // If our parent is not anchored the startup process will

diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.2.5-darwin8.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.2.5-darwin8.patch
new file mode 100644
index 0000000..cf25b5d
--- /dev/null
+++ b/net-libs/webkit-gtk/files/webkit-gtk-1.2.5-darwin8.patch
@@ -0,0 +1,33 @@
+https://bugs.webkit.org/show_bug.cgi?id=39847
+
+additionally, also on Darwin8 glib stuff includes system headers that
+use isascii, so we can't have it die on that.
+
+--- JavaScriptCore/wtf/FastMalloc.cpp
++++ JavaScriptCore/wtf/FastMalloc.cpp
+@@ -1381,14 +1381,12 @@
+   // Bytes allocated from system
+   uint64_t system_bytes_;
+ 
+-#if USE_BACKGROUND_THREAD_TO_SCAVENGE_MEMORY
+   // Number of pages kept in free lists that are still committed.
+   Length free_committed_pages_;
+ 
+   // Minimum number of free committed pages since last scavenge. (Can be 0 if
+   // we've committed new pages since the last scavenge.)
+   Length min_free_committed_pages_since_last_scavenge_;
+-#endif
+ 
+   bool GrowHeap(Length n);
+ 
+--- WebCore/config.h
++++ WebCore/config.h
+@@ -125,7 +125,7 @@
+ // this breaks compilation of <QFontDatabase>, at least, so turn it off for now
+ // Also generates errors on wx on Windows, presumably because these functions
+ // are used from wx headers.
+-#if !PLATFORM(QT) && !PLATFORM(WX) && !PLATFORM(CHROMIUM)
++#if !PLATFORM(QT) && !PLATFORM(WX) && !PLATFORM(CHROMIUM) && !defined(BUILDING_ON_TIGER)
+ #include <wtf/DisallowCType.h>
+ #endif
+ 

diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.2.5-tests-build.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.2.5-tests-build.patch
new file mode 100644
index 0000000..0d9e144
--- /dev/null
+++ b/net-libs/webkit-gtk/files/webkit-gtk-1.2.5-tests-build.patch
@@ -0,0 +1,22 @@
+Do not build tests if not requested to.
+
+--- a/GNUmakefile.am	2010-12-21 17:23:58.000000000 +0100
++++ b/GNUmakefile.am	2010-12-21 17:24:28.000000000 +0100
+@@ -46,7 +46,8 @@
+ 
+ # Libraries and support components
+ bin_PROGRAMS :=
++check_PROGRAMS :=
+ noinst_PROGRAMS :=
+ noinst_HEADERS :=
+ noinst_LTLIBRARIES :=
+ lib_LIBRARIES :=
+@@ -541,7 +541,7 @@
+ include WebKit/gtk/po/GNUmakefile.am
+ 
+ # Build unit tests
+-noinst_PROGRAMS += $(TEST_PROGS)
++check_PROGRAMS += $(TEST_PROGS)
+ 
+ webkit_tests_cflags = \
+ 	-fno-strict-aliasing \

diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.6.1-darwin-quartz.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.6.1-darwin-quartz.patch
new file mode 100644
index 0000000..5ad357e
--- /dev/null
+++ b/net-libs/webkit-gtk/files/webkit-gtk-1.6.1-darwin-quartz.patch
@@ -0,0 +1,67 @@
+Original from:
+http://trac.macports.org/browser/trunk/dports/www/webkit-gtk/files/patch-quartz-WebCore-plugins-gtk-gtkxtbin.c.diff?format=txt
+http://trac.macports.org/browser/trunk/dports/www/webkit-gtk/files/patch-quartz-WebCore-plugins-gtk-PluginViewGtk.cpp.diff?format=txt
+
+Adapted for 1.6.1
+
+--- Source/WebCore/plugins/gtk/PluginViewGtk.cpp
++++ Source/WebCore/plugins/gtk/PluginViewGtk.cpp
+@@ -70,6 +70,8 @@
+ #endif
+ #include <gtk/gtk.h>
+ 
++#undef XP_UNIX
++
+ #if defined(XP_UNIX)
+ #include "RefPtrCairo.h"
+ #include "gtk2xtbin.h"
+@@ -439,9 +441,9 @@
+         event->setDefaultHandled();
+ }
+ 
+-#if defined(XP_UNIX)
+ void PluginView::handleFocusInEvent()
+ {
++#if defined(XP_UNIX)
+     if (!m_isStarted || m_status != PluginStatusLoadedSuccessfully)
+         return;
+ 
+@@ -454,10 +456,12 @@
+     event.detail = NotifyDetailNone;
+ 
+     dispatchNPEvent(npEvent);
++#endif
+ }
+ 
+ void PluginView::handleFocusOutEvent()
+ {
++#if defined(XP_UNIX)
+     if (!m_isStarted || m_status != PluginStatusLoadedSuccessfully)
+         return;
+ 
+@@ -470,8 +474,8 @@
+     event.detail = NotifyDetailNone;
+ 
+     dispatchNPEvent(npEvent);
+-}
+ #endif
++}
+ 
+ void PluginView::setParent(ScrollView* parent)
+ {
+--- Source/WebCore/plugins/gtk/gtk2xtbin.c
++++ Source/WebCore/plugins/gtk/gtk2xtbin.c
+@@ -41,7 +41,7 @@
+  * The GtkXtBin widget allows for Xt toolkit code to be used
+  * inside a GTK application.  
+  */
+-
++#if 0
+ #include "GtkVersioning.h"
+ #include "xembed.h"
+ #include "gtk2xtbin.h"
+@@ -966,3 +966,4 @@
+ 
+   return;
+ }
++#endif

diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.6.3-paxctl-introspection.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.6.3-paxctl-introspection.patch
new file mode 100644
index 0000000..c34cc40
--- /dev/null
+++ b/net-libs/webkit-gtk/files/webkit-gtk-1.6.3-paxctl-introspection.patch
@@ -0,0 +1,21 @@
+diff -ru a/Source/WebKit/gtk/GNUmakefile.am b/Source/WebKit/gtk/GNUmakefile.am
+--- a/Source/WebKit/gtk/GNUmakefile.am
++++ b/Source/WebKit/gtk/GNUmakefile.am
+@@ -269,7 +269,7 @@
+ WEBKIT_GIRSOURCES += WebKit-@WEBKITGTK_API_VERSION@.gir
+ 
+ $(WEBKIT_GIRSOURCES): $(G_IR_SCANNER) $(JSCORE_GIRSOURCES) libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la
+-	$(AM_V_GEN)$(G_IR_SCANNER) -v --warn-all \
++	$(AM_V_GEN)LIBTOOL="$(LIBTOOL)" $(G_IR_SCANNER) -v --warn-all \
+ 	     --symbol-prefix=webkit \
+ 	     --identifier-prefix=WebKit \
+ 	     --namespace=WebKit \
+@@ -280,7 +280,7 @@
+ 	     --include=Soup-2.4 \
+ 	     --library=webkitgtk-@WEBKITGTK_API_VERSION@ \
+ 	     --library=javascriptcoregtk-@WEBKITGTK_API_VERSION@ \
+-	     --libtool="$(LIBTOOL)" \
++	     --libtool="bash $(top_srcdir)/gir-paxctl-lt-wrapper m" \
+ 	     --pkg=gobject-2.0 \
+ 	     --pkg=gtk+-@GTK_API_VERSION@ \
+ 	     --pkg=libsoup-2.4 \

diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.7.90-test_garbage_collection.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.7.90-test_garbage_collection.patch
new file mode 100644
index 0000000..577c249
--- /dev/null
+++ b/net-libs/webkit-gtk/files/webkit-gtk-1.7.90-test_garbage_collection.patch
@@ -0,0 +1,18 @@
+Garbage collection test fails intermittently if icedtea browser plugin is
+installed.
+
+--- a/Source/WebKit/gtk/tests/testdomdocument.c
++++ b/Source/WebKit/gtk/tests/testdomdocument.c
+@@ -353,12 +353,6 @@
+                test_dom_document_get_links,
+                dom_document_fixture_teardown);
+ 
+-    g_test_add("/webkit/domdocument/test_garbage_collection",
+-               DomDocumentFixture, HTML_DOCUMENT_LINKS,
+-               dom_document_fixture_setup,
+-               test_dom_document_garbage_collection,
+-               dom_document_fixture_teardown);
+-
+     return g_test_run();
+ }
+ 

diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.8.0-no-geoloc.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.8.0-no-geoloc.patch
new file mode 100644
index 0000000..1094f50
--- /dev/null
+++ b/net-libs/webkit-gtk/files/webkit-gtk-1.8.0-no-geoloc.patch
@@ -0,0 +1,57 @@
+2012-03-31  Martin Robinson  <mrobinson@igalia.com>
+
+        [GTK] [Stable] --disable geolocation broken after recent merges
+        https://bugs.webkit.org/show_bug.cgi?id=82452
+
+        No review, as this is just a build fix.
+
+        Fix the geolocation build.
+
+        * webkit/webkitgeolocationpolicydecision.cpp:
+        (webkit_geolocation_policy_decision_new): When gelocation is off, just return null.
+        * webkit/webkitgeolocationpolicydecisionprivate.h: Activate webkit_geolocation_policy_decision_new
+        for non-Geolocation builds.
+
+Index: /releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecisionprivate.h
+===================================================================
+--- /releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecisionprivate.h	(revision 112120)
++++ /releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecisionprivate.h	(revision 112800)
+@@ -26,6 +26,4 @@
+ #include "webkitgeolocationpolicydecision.h"
+ 
+-#if ENABLE(GEOLOCATION)
+-
+ extern "C" {
+ 
+@@ -34,5 +32,3 @@
+ }
+ 
+-#endif // ENABLE(GEOLOCATION)
+-
+ #endif
+Index: /releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp
+===================================================================
+--- /releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp	(revision 112120)
++++ /releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp	(revision 112800)
+@@ -54,8 +54,8 @@
+ }
+ 
+-#if ENABLE(GEOLOCATION)
+ WebKitGeolocationPolicyDecision* webkit_geolocation_policy_decision_new(WebKitWebFrame* frame, WebCore::Geolocation* geolocation)
+ {
+-    g_return_val_if_fail(frame, NULL);
++#if ENABLE(GEOLOCATION)
++    g_return_val_if_fail(frame, 0);
+     WebKitGeolocationPolicyDecision* decision = WEBKIT_GEOLOCATION_POLICY_DECISION(g_object_new(WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION, NULL));
+     WebKitGeolocationPolicyDecisionPrivate* priv = decision->priv;
+@@ -64,6 +64,8 @@
+     priv->geolocation = geolocation;
+     return decision;
++#else
++    return 0;
++#endif
+ }
+-#endif
+ 
+ /**
+ 

diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.8.1-tests-xvfb.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.8.1-tests-xvfb.patch
new file mode 100644
index 0000000..e310c65
--- /dev/null
+++ b/net-libs/webkit-gtk/files/webkit-gtk-1.8.1-tests-xvfb.patch
@@ -0,0 +1,32 @@
+Rely on virtualx.eclass instead of manually spawning Xvfb. Fixes occasional
+test failures.
+
+--- a/Tools/Scripts/run-gtk-tests
++++ b/Tools/Scripts/run-gtk-tests
+@@ -147,18 +147,9 @@
+ 
+     def _setup_testing_environment(self):
+         self._test_env = os.environ
+-        self._test_env["DISPLAY"] = self._options.display
+         self._test_env["WEBKIT_INSPECTOR_PATH"] = os.path.abspath(os.path.join(self._programs_path, 'resources', 'inspector'))
+         self._test_env['GSETTINGS_BACKEND'] = 'memory'
+ 
+-        try:
+-            self._xvfb = self._create_process(["Xvfb", self._options.display, "-screen", "0", "800x600x24", "-nolisten", "tcp"],
+-                                              stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+-        except Exception as e:
+-            sys.stderr.write("Failed to run Xvfb: %s\n", e)
+-            sys.stderr.flush()
+-            return False
+-
+         # If we cannot start the accessibility daemons, we can just skip the accessibility tests.
+         if not self._start_accessibility_daemons():
+             print "Could not start accessibility bus, so skipping TestWebKitAccessibility"
+@@ -170,7 +161,6 @@
+             self._spi_registryd.terminate()
+         if self._spi_bus_launcher:
+             self._spi_bus_launcher.terminate()
+-        self._xvfb.kill();
+ 
+     def _remove_skipped_tests(self):
+         tests_to_remove = []

diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.9.4-llint-build-failure.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.9.4-llint-build-failure.patch
new file mode 100644
index 0000000..a614d3b
--- /dev/null
+++ b/net-libs/webkit-gtk/files/webkit-gtk-1.9.4-llint-build-failure.patch
@@ -0,0 +1,43 @@
+[GTK] LLint build fails with -g -02
+https://bugs.webkit.org/show_bug.cgi?id=90098
+
+diff --git a/Source/JavaScriptCore/offlineasm/offsets.rb b/Source/JavaScriptCore/offlineasm/offsets.rb
+index 4f2734f..ecd1b53 100644
+--- a/Source/JavaScriptCore/offlineasm/offsets.rb
++++ b/Source/JavaScriptCore/offlineasm/offsets.rb
+@@ -60,7 +60,7 @@ end
+ 
+ #
+ # offsetsAndConfigurationIndex(ast, file) ->
+-#     [[offsets, index], ...]
++#     {[offsets, index], ...}
+ #
+ # Parses the offsets from a file and returns a list of offsets and the
+ # index of the configuration that is valid in this build target.
+@@ -68,7 +68,7 @@ end
+ 
+ def offsetsAndConfigurationIndex(file)
+     endiannessMarkerBytes = nil
+-    result = []
++    result = {}
+     
+     def readInt(endianness, bytes)
+         if endianness == :little
+@@ -154,13 +154,15 @@ def offsetsAndConfigurationIndex(file)
+                     | data |
+                     offsets << readInt(endianness, data)
+                 }
+-                result << [offsets, index]
++                #result << [offsets, index]
++                if not result.has_key?(offsets)
++                    result[offsets] = index
++                end
+             }
+         end
+     }
+     
+     raise MissingMagicValuesException unless result.length >= 1
+-    raise if result.map{|v| v[1]}.uniq.size < result.map{|v| v[1]}.size
+     
+     result
+ end

diff --git a/net-libs/webkit-gtk/metadata.xml b/net-libs/webkit-gtk/metadata.xml
new file mode 100644
index 0000000..4232b5d
--- /dev/null
+++ b/net-libs/webkit-gtk/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <herd>gnome</herd>
+  <use>
+	<flag name="coverage">Enable code coverage support</flag>
+	<flag name="geoloc">Enable geolocation support through
+		<pkg>app-misc/geoclue</pkg></flag>
+	<flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg>
+		for introspection</flag>
+	<flag name="webgl">Build support for the WebGL HTML API using
+		<pkg>virtual/opengl</pkg></flag>
+	<flag name="webkit2">Enable WebKit2 API that splits web content rendering
+		and application UI into separate processes</flag>
+  </use>
+</pkgmetadata>

diff --git a/net-libs/webkit-gtk/webkit-gtk-1.9.4-r300.ebuild b/net-libs/webkit-gtk/webkit-gtk-1.9.4-r300.ebuild
new file mode 100644
index 0000000..93fd313
--- /dev/null
+++ b/net-libs/webkit-gtk/webkit-gtk-1.9.4-r300.ebuild
@@ -0,0 +1,220 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-1.8.1-r301.ebuild,v 1.5 2012/06/20 06:34:59 ssuominen Exp $
+
+EAPI="4"
+
+# Don't define PYTHON_DEPEND: python only needed at build time
+inherit autotools flag-o-matic gnome2-utils pax-utils python virtualx
+
+MY_P="webkit-${PV}"
+DESCRIPTION="Open source web browser engine"
+HOMEPAGE="http://www.webkitgtk.org/"
+SRC_URI="http://www.webkitgtk.org/releases/${MY_P}.tar.xz"
+#SRC_URI="mirror://gentoo/${P}.tar.xz"
+
+LICENSE="LGPL-2 LGPL-2.1 BSD"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos"
+# geoclue
+IUSE="aqua coverage debug doc +geoloc +gstreamer +introspection +jit spell +webgl"
+# bugs 372493, 416331
+REQUIRED_USE="introspection? ( geoloc gstreamer )"
+
+# use sqlite, svg by default
+# dependency on >=x11-libs/gtk+-2.13:2 for gail
+# Aqua support in gtk3 is untested
+# gtk2 is needed for plugin process support
+RDEPEND="
+	dev-libs/libxml2:2
+	dev-libs/libxslt
+	virtual/jpeg
+	>=media-libs/libpng-1.4:0
+	>=x11-libs/cairo-1.10
+	>=dev-libs/glib-2.32:2
+	>=x11-libs/gtk+-3.4:3[aqua=,introspection?]
+	>=dev-libs/icu-3.8.1-r1
+	>=net-libs/libsoup-2.37.92:2.4[introspection?]
+	dev-db/sqlite:3
+	>=x11-libs/pango-1.21
+	x11-libs/libXrender
+	>=x11-libs/gtk+-2.13:2
+
+	geoloc? ( app-misc/geoclue )
+
+	gstreamer? (
+		media-libs/gstreamer:0.10
+		>=media-libs/gst-plugins-base-0.10.30:0.10 )
+
+	introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+
+	spell? ( >=app-text/enchant-0.22 )
+
+	webgl? ( virtual/opengl )
+
+"
+# paxctl needed for bug #407085
+DEPEND="${RDEPEND}
+	dev-lang/perl
+	=dev-lang/python-2*
+	sys-devel/bison
+	>=sys-devel/flex-2.5.33
+	sys-devel/gettext
+	dev-util/gperf
+	virtual/pkgconfig
+	dev-util/gtk-doc-am
+	app-accessibility/at-spi2-core
+
+	doc? ( >=dev-util/gtk-doc-1.10 )
+	introspection? ( jit? ( sys-apps/paxctl ) )
+	test? (
+		x11-themes/hicolor-icon-theme
+		jit? ( sys-apps/paxctl ) )
+"
+# Need real bison, not yacc
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+	# Needed for CodeGeneratorInspector.py
+	python_set_active_version 2
+	python_pkg_setup
+	if is-flagq "-g*" ; then
+		einfo "You need ~23GB of free space to build this package with debugging CFLAGS."
+	fi
+}
+
+src_prepare() {
+	DOCS="ChangeLog NEWS" # other ChangeLog files handled by src_install
+
+	# intermediate MacPorts hack while upstream bug is not fixed properly
+	# https://bugs.webkit.org/show_bug.cgi?id=28727
+	use aqua && epatch "${FILESDIR}"/${PN}-1.6.1-darwin-quartz.patch
+
+	# Drop DEPRECATED flags
+	LC_ALL=C sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED:$(NULL):g' GNUmakefile.am || die
+
+	# Don't force -O2
+	sed -i 's/-O2//g' "${S}"/configure.ac || die
+
+	# Build-time segfaults under PaX with USE="introspection jit", bug #404215
+	if use introspection && use jit; then
+		epatch "${FILESDIR}/${PN}-1.6.3-paxctl-introspection.patch"
+		cp "${FILESDIR}/gir-paxctl-lt-wrapper" "${S}/" || die
+	fi
+
+	# We need to reset some variables to prevent permissions problems and failures
+	# like https://bugs.webkit.org/show_bug.cgi?id=35471 and bug #323669
+	gnome2_environment_reset
+
+	# https://bugs.webkit.org/show_bug.cgi?id=79498
+	#epatch "${FILESDIR}/${PN}-1.7.90-parallel-make-hack.patch"
+
+	# XXX: failing tests
+	# https://bugs.webkit.org/show_bug.cgi?id=50744
+	# testkeyevents is interactive
+	# mimehandling test sometimes fails under Xvfb (works fine manually)
+	# datasource test needs a network connection and intermittently fails with
+	#  icedtea-web
+	sed -e '/Programs\/unittests\/testwebinspector/ d' \
+		-e '/Programs\/unittests\/testkeyevents/ d' \
+		-e '/Programs\/unittests\/testmimehandling/ d' \
+		-e '/Programs\/unittests\/testwebdatasource/ d' \
+		-i Source/WebKit/gtk/GNUmakefile.am || die
+	if ! use gstreamer; then
+		# webkit2's TestWebKitWebView requires <video> support
+		sed -e '/Programs\/WebKit2APITests\/TestWebKitWebView/ d' \
+			-i Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am || die
+	fi
+	# garbage collection test fails intermittently if icedtea-web is installed
+	epatch "${FILESDIR}/${PN}-1.7.90-test_garbage_collection.patch"
+
+	# occasional test failure due to additional Xvfb process spawned
+	# TODO epatch "${FILESDIR}/${PN}-1.8.1-tests-xvfb.patch"
+
+    # Build failure with "-g -O2"
+	# https://bugs.webkit.org/show_bug.cgi?id=90098
+	epatch "${FILESDIR}/${PN}-1.9.4-llint-build-failure.patch"
+
+	# Respect CC, otherwise fails on prefix #395875
+	tc-export CC
+
+	# Prevent maintainer mode from being triggered during make
+	AT_M4DIR=Source/autotools eautoreconf
+
+	# Ugly hack of a workaround for bizarre paludis behavior, bug #406117
+	# http://paludis.exherbo.org/trac/ticket/1230
+	sed -e '/  --\(en\|dis\)able-dependency-tracking/ d' -i configure || die
+}
+
+src_configure() {
+	# It doesn't compile on alpha without this in LDFLAGS
+	use alpha && append-ldflags "-Wl,--no-relax"
+
+	# Sigbuses on SPARC with mcpu and co.
+	use sparc && filter-flags "-mvis"
+
+	# https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
+	use ppc64 && append-flags "-mminimal-toc"
+
+	local myconf
+
+	# XXX: Check Web Audio support
+	# XXX: dependency-tracking is required so parallel builds won't fail
+	myconf="
+		$(use_enable coverage)
+		$(use_enable debug)
+		$(use_enable debug debug-features)
+		$(use_enable doc gtk-doc)
+		$(use_enable geoloc geolocation)
+		$(use_enable spell spellcheck)
+		$(use_enable introspection)
+		$(use_enable gstreamer video)
+		$(use_enable jit)
+		$(use_enable webgl)
+		--with-gtk=3.0
+		--enable-dependency-tracking
+		$(use aqua && echo "--with-font-backend=pango --with-target=quartz")"
+		# Aqua support in gtk3 is untested
+
+	econf ${myconf}
+}
+
+src_compile() {
+	# Horrible failure of a hack to work around parallel make problems,
+	# see https://bugs.webkit.org/show_bug.cgi?id=79498
+	#emake -j1 all-built-sources-local
+	#emake all-ltlibraries-local
+	#emake all-programs-local
+	#use introspection && emake WebKit-3.0.gir
+	#emake all-data-local
+	emake -j1
+}
+
+src_test() {
+	# Tests expect an out-of-source build in WebKitBuild
+	ln -s . WebKitBuild || die "ln failed"
+
+	# Prevents test failures on PaX systems
+	use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) \
+		Programs/unittests/.libs/test*
+	unset DISPLAY
+	# Tests need virtualx, bug #294691, bug #310695
+	# Parallel tests sometimes fail
+	Xemake -j1 check
+}
+
+src_install() {
+	default
+
+	newdoc Source/WebKit/gtk/ChangeLog ChangeLog.gtk
+	newdoc Source/WebKit/gtk/po/ChangeLog ChangeLog.gtk-po
+	newdoc Source/JavaScriptCore/ChangeLog ChangeLog.JavaScriptCore
+	newdoc Source/WebCore/ChangeLog ChangeLog.WebCore
+
+	# Remove .la files
+	find "${D}" -name '*.la' -exec rm -f '{}' +
+
+	# Prevents crashes on PaX systems
+	use jit && pax-mark m "${ED}usr/bin/jsc-3"
+}



             reply	other threads:[~2012-07-12 12:33 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-12 12:33 Priit Laes [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-04-21 14:40 [gentoo-commits] proj/gnome:master commit in: net-libs/webkit-gtk/files/, net-libs/webkit-gtk/ Gilles Dartiguelongue
2013-11-27 23:32 Gilles Dartiguelongue
2013-03-03  0:57 Priit Laes
2013-02-13 14:05 Priit Laes
2013-01-15  9:39 Priit Laes
2012-11-04  6:25 Alexandre Rostovtsev
2012-10-27  8:43 Priit Laes
2012-10-10 17:34 Priit Laes
2012-09-13  5:35 Alexandre Rostovtsev
2012-04-14  6:10 Alexandre Restovtsev
2012-04-06  2:36 Alexandre Restovtsev
2012-03-04 21:11 Alexandre Restovtsev
2012-02-26 19:20 Alexandre Restovtsev
2012-01-17  9:08 Priit Laes
2011-12-20 17:37 Priit Laes
2011-11-28  5:35 Priit Laes
2011-11-26  8:43 Priit Laes
2011-10-30  0:13 Alexandre Restovtsev
2011-06-11  1:44 Nirbheek Chauhan
2011-06-05 20:12 Priit Laes
2011-05-07 19:18 Priit Laes
2011-03-22 13:22 Priit Laes
2011-03-04 10:23 Nirbheek Chauhan
2011-02-25 11:54 Priit Laes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1342096296.e7f0d84a0ad621789983c8849e2de5a610468867.plaes@gentoo \
    --to=plaes@plaes.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox