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"
+}
next 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