diff options
author | Steve Arnold <stephen.arnold42@gmail.com> | 2015-06-15 23:58:46 -0700 |
---|---|---|
committer | Steve Arnold <stephen.arnold42@gmail.com> | 2015-06-15 23:58:46 -0700 |
commit | 114e53e84556d6fddda2680ef6b72cea979202a2 (patch) | |
tree | 85f8a38e4aa20574c9dd26f7d1ecad9c3a6b76a9 /dev-qt | |
parent | updated firefox prefs with latest Gentoo defaults (diff) | |
download | arm-114e53e84556d6fddda2680ef6b72cea979202a2.tar.gz arm-114e53e84556d6fddda2680ef6b72cea979202a2.tar.bz2 arm-114e53e84556d6fddda2680ef6b72cea979202a2.zip |
added upstream patch for building with new glib
Diffstat (limited to 'dev-qt')
-rw-r--r-- | dev-qt/qtwebkit/Manifest | 1 | ||||
-rw-r--r-- | dev-qt/qtwebkit/files/qtwebkit-5.2.1-disable-gstreamer.patch | 15 | ||||
-rw-r--r-- | dev-qt/qtwebkit/files/qtwebkit-5.3.2-use-gstreamer010.patch | 18 | ||||
-rw-r--r-- | dev-qt/qtwebkit/files/qtwebkit-5.4.1-Fix-building-with-glib-2.43.patch | 238 | ||||
-rw-r--r-- | dev-qt/qtwebkit/qtwebkit-5.4.1.ebuild | 94 |
5 files changed, 366 insertions, 0 deletions
diff --git a/dev-qt/qtwebkit/Manifest b/dev-qt/qtwebkit/Manifest new file mode 100644 index 0000000..2affd1f --- /dev/null +++ b/dev-qt/qtwebkit/Manifest @@ -0,0 +1 @@ +DIST qtwebkit-opensource-src-5.4.1.tar.xz 33457544 SHA256 6607211ef8a913dc778617bf4ba0970e34cc71e1da3abb477eabe0035e7119bf SHA512 592a3ebccb4578eb0183d1ecd5aae69c7f03482aa09594fc06f58e2c2b82b5e916e1e951012fc1c8e0cea803c4d3e6db64fad41bbca70eb18b8d9d3ff2eab828 WHIRLPOOL 8a42720dd53ce583d48a3b7db1268c092dce11dfbbcf7524f50350145569c2b24b62b82a4715229294321ae7ce719ec56bb448eb7a7be9b2f7792ad1d8d9d7d0 diff --git a/dev-qt/qtwebkit/files/qtwebkit-5.2.1-disable-gstreamer.patch b/dev-qt/qtwebkit/files/qtwebkit-5.2.1-disable-gstreamer.patch new file mode 100644 index 0000000..05e41a1 --- /dev/null +++ b/dev-qt/qtwebkit/files/qtwebkit-5.2.1-disable-gstreamer.patch @@ -0,0 +1,15 @@ +--- Tools/qmake/mkspecs/features/features.prf 2014-03-19 18:35:47.795676444 +0000 ++++ Tools/qmake/mkspecs/features/features.prf 2014-03-19 18:36:38.602433220 +0000 +@@ -99,12 +99,6 @@ + + # HTML5 Media Support for builds with GStreamer + unix:!mac:!contains(QT_CONFIG, no-pkg-config) { +- packagesExist("glib-2.0 gio-2.0 gstreamer-1.0 gstreamer-plugins-base-1.0") { +- WEBKIT_CONFIG += video use_gstreamer +- } else: packagesExist("glib-2.0 gio-2.0 \'gstreamer-0.10 >= 0.10.30\' \'gstreamer-plugins-base-0.10 >= 0.10.30\'") { +- WEBKIT_CONFIG += video use_gstreamer use_gstreamer010 +- } +- use?(gstreamer): WEBKIT_CONFIG += use_native_fullscreen_video + } + + !enable?(video):qtHaveModule(multimediawidgets) { diff --git a/dev-qt/qtwebkit/files/qtwebkit-5.3.2-use-gstreamer010.patch b/dev-qt/qtwebkit/files/qtwebkit-5.3.2-use-gstreamer010.patch new file mode 100644 index 0000000..1c02e45 --- /dev/null +++ b/dev-qt/qtwebkit/files/qtwebkit-5.3.2-use-gstreamer010.patch @@ -0,0 +1,18 @@ +--- Tools/qmake/mkspecs/features/features.prf 2014-09-27 11:09:50.010617142 +0100 ++++ Tools/qmake/mkspecs/features/features.prf 2014-09-27 11:17:10.741678989 +0100 +@@ -96,14 +96,8 @@ + use?(3d_graphics): WEBKIT_CONFIG += webgl + + # HTML5 Media Support for builds with GStreamer +- unix:!mac:!contains(QT_CONFIG, no-pkg-config) { +- packagesExist("glib-2.0 gio-2.0 gstreamer-1.0 gstreamer-plugins-base-1.0") { +- WEBKIT_CONFIG += video use_gstreamer +- } else: packagesExist("glib-2.0 gio-2.0 \'gstreamer-0.10 >= 0.10.30\' \'gstreamer-plugins-base-0.10 >= 0.10.30\'") { +- WEBKIT_CONFIG += video use_gstreamer use_gstreamer010 +- } ++ WEBKIT_CONFIG += video use_gstreamer use_gstreamer010 + use?(gstreamer): WEBKIT_CONFIG += use_native_fullscreen_video +- } + + !enable?(video):qtHaveModule(multimediawidgets) { + WEBKIT_CONFIG += video use_qt_multimedia diff --git a/dev-qt/qtwebkit/files/qtwebkit-5.4.1-Fix-building-with-glib-2.43.patch b/dev-qt/qtwebkit/files/qtwebkit-5.4.1-Fix-building-with-glib-2.43.patch new file mode 100644 index 0000000..1203470 --- /dev/null +++ b/dev-qt/qtwebkit/files/qtwebkit-5.4.1-Fix-building-with-glib-2.43.patch @@ -0,0 +1,238 @@ +From ef94c178a7ba0bd43a677ec90fde334ce2c90810 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> +Date: Fri, 27 Feb 2015 14:14:44 +0100 +Subject: [PATCH 3/3] Fix building with glib 2.43+ + +The newest version of glib have introduced their own GMutexLocker +conflicting with the one defined in WebCore. + +Task-number: QTBUG-44714 +Change-Id: Ibdd1646e129eaed84c65dc0d96bebe80f2a61f4b +Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com> +--- + .../gstreamer/WebKitWebSourceGStreamer.cpp | 48 +++++++++++----------- + 1 file changed, 24 insertions(+), 24 deletions(-) + +diff --git a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp +index 5625873..a6d961f 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp ++++ b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp +@@ -354,7 +354,7 @@ static void webKitWebSrcSetProperty(GObject* object, guint propID, const GValue* + + switch (propID) { + case PROP_IRADIO_MODE: { +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + priv->iradioMode = g_value_get_boolean(value); + break; + } +@@ -376,7 +376,7 @@ static void webKitWebSrcGetProperty(GObject* object, guint propID, GValue* value + WebKitWebSrc* src = WEBKIT_WEB_SRC(object); + WebKitWebSrcPrivate* priv = src->priv; + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + switch (propID) { + case PROP_IRADIO_MODE: + g_value_set_boolean(value, priv->iradioMode); +@@ -429,7 +429,7 @@ static gboolean webKitWebSrcStop(WebKitWebSrc* src) + + ASSERT(isMainThread()); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + + bool seeking = priv->seekID; + +@@ -493,7 +493,7 @@ static gboolean webKitWebSrcStart(WebKitWebSrc* src) + + ASSERT(isMainThread()); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + + priv->startID = 0; + +@@ -584,7 +584,7 @@ static GstStateChangeReturn webKitWebSrcChangeState(GstElement* element, GstStat + return ret; + } + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + switch (transition) { + case GST_STATE_CHANGE_READY_TO_PAUSED: + GST_DEBUG_OBJECT(src, "READY->PAUSED"); +@@ -615,7 +615,7 @@ static gboolean webKitWebSrcQueryWithParent(GstPad* pad, GstObject* parent, GstQ + gst_query_parse_duration(query, &format, NULL); + + GST_DEBUG_OBJECT(src, "duration query in format %s", gst_format_get_name(format)); +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + if (format == GST_FORMAT_BYTES && src->priv->size > 0) { + gst_query_set_duration(query, format, src->priv->size); + result = TRUE; +@@ -623,7 +623,7 @@ static gboolean webKitWebSrcQueryWithParent(GstPad* pad, GstObject* parent, GstQ + break; + } + case GST_QUERY_URI: { +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + gst_query_set_uri(query, src->priv->uri); + result = TRUE; + break; +@@ -668,7 +668,7 @@ static gchar* webKitWebSrcGetUri(GstURIHandler* handler) + WebKitWebSrc* src = WEBKIT_WEB_SRC(handler); + gchar* ret; + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + ret = g_strdup(src->priv->uri); + return ret; + } +@@ -683,7 +683,7 @@ static gboolean webKitWebSrcSetUri(GstURIHandler* handler, const gchar* uri, GEr + return FALSE; + } + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + + g_free(priv->uri); + priv->uri = 0; +@@ -719,7 +719,7 @@ static const gchar* webKitWebSrcGetUri(GstURIHandler* handler) + WebKitWebSrc* src = WEBKIT_WEB_SRC(handler); + gchar* ret; + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + ret = g_strdup(src->priv->uri); + return ret; + } +@@ -734,7 +734,7 @@ static gboolean webKitWebSrcSetUri(GstURIHandler* handler, const gchar* uri) + return FALSE; + } + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + + g_free(priv->uri); + priv->uri = 0; +@@ -772,7 +772,7 @@ static gboolean webKitWebSrcNeedDataMainCb(WebKitWebSrc* src) + + ASSERT(isMainThread()); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + // already stopped + if (!priv->needDataID) + return FALSE; +@@ -793,7 +793,7 @@ static void webKitWebSrcNeedDataCb(GstAppSrc*, guint length, gpointer userData) + + GST_DEBUG_OBJECT(src, "Need more data: %u", length); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + if (priv->needDataID || !priv->paused) { + return; + } +@@ -807,7 +807,7 @@ static gboolean webKitWebSrcEnoughDataMainCb(WebKitWebSrc* src) + + ASSERT(isMainThread()); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + // already stopped + if (!priv->enoughDataID) + return FALSE; +@@ -828,7 +828,7 @@ static void webKitWebSrcEnoughDataCb(GstAppSrc*, gpointer userData) + + GST_DEBUG_OBJECT(src, "Have enough data"); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + if (priv->enoughDataID || priv->paused) { + return; + } +@@ -842,7 +842,7 @@ static gboolean webKitWebSrcSeekMainCb(WebKitWebSrc* src) + + ASSERT(isMainThread()); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + // already stopped + if (!priv->seekID) + return FALSE; +@@ -860,7 +860,7 @@ static gboolean webKitWebSrcSeekDataCb(GstAppSrc*, guint64 offset, gpointer user + WebKitWebSrcPrivate* priv = src->priv; + + GST_DEBUG_OBJECT(src, "Seeking to offset: %" G_GUINT64_FORMAT, offset); +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + if (offset == priv->offset && priv->requestedOffset == priv->offset) + return TRUE; + +@@ -879,7 +879,7 @@ static gboolean webKitWebSrcSeekDataCb(GstAppSrc*, guint64 offset, gpointer user + void webKitWebSrcSetMediaPlayer(WebKitWebSrc* src, WebCore::MediaPlayer* player) + { + ASSERT(player); +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + src->priv->player = player; + s_cachedResourceLoader = player->cachedResourceLoader(); + } +@@ -906,7 +906,7 @@ char* StreamingClient::createReadBuffer(size_t requestedSize, size_t& actualSize + mapGstBuffer(buffer); + #endif + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + priv->buffer = adoptGRef(buffer); + locker.unlock(); + +@@ -921,7 +921,7 @@ void StreamingClient::handleResponseReceived(const ResourceResponse& response) + + GST_DEBUG_OBJECT(src, "Received response: %d", response.httpStatusCode()); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + + // If we seeked we need 206 == PARTIAL_CONTENT + if (priv->requestedOffset && response.httpStatusCode() != 206) { +@@ -1020,7 +1020,7 @@ void StreamingClient::handleDataReceived(const char* data, int length) + WebKitWebSrc* src = WEBKIT_WEB_SRC(m_src.get()); + WebKitWebSrcPrivate* priv = src->priv; + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + + GST_LOG_OBJECT(src, "Have %d bytes of data", priv->buffer ? getGstBufferSize(priv->buffer.get()) : length); + +@@ -1074,7 +1074,7 @@ void StreamingClient::handleNotifyFinished() + + GST_DEBUG_OBJECT(src, "Have EOS"); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + if (!priv->seekID) { + locker.unlock(); + gst_app_src_end_of_stream(priv->appsrc); +@@ -1210,7 +1210,7 @@ void ResourceHandleStreamingClient::wasBlocked(ResourceHandle*) + + GST_ERROR_OBJECT(src, "Request was blocked"); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + uri.set(g_strdup(src->priv->uri)); + locker.unlock(); + +@@ -1224,7 +1224,7 @@ void ResourceHandleStreamingClient::cannotShowURL(ResourceHandle*) + + GST_ERROR_OBJECT(src, "Cannot show URL"); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + uri.set(g_strdup(src->priv->uri)); + locker.unlock(); + +-- +2.3.5 + diff --git a/dev-qt/qtwebkit/qtwebkit-5.4.1.ebuild b/dev-qt/qtwebkit/qtwebkit-5.4.1.ebuild new file mode 100644 index 0000000..9c5708b --- /dev/null +++ b/dev-qt/qtwebkit/qtwebkit-5.4.1.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit python-any-r1 qt5-build + +DESCRIPTION="WebKit rendering library for the Qt5 framework" + +if [[ ${QT5_BUILD_TYPE} == live ]]; then + KEYWORDS="~ppc64" +else + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +fi + +# TODO: qttestlib, geolocation, orientation/sensors + +IUSE="gstreamer gstreamer010 multimedia opengl printsupport qml udev webp" +REQUIRED_USE="?? ( gstreamer gstreamer010 multimedia )" + +RDEPEND=" + dev-db/sqlite:3 + dev-libs/icu:= + dev-libs/libxml2:2 + dev-libs/libxslt + >=dev-qt/qtcore-${PV}:5[debug=,icu] + >=dev-qt/qtgui-${PV}:5[debug=] + >=dev-qt/qtnetwork-${PV}:5[debug=] + >=dev-qt/qtsql-${PV}:5[debug=] + >=dev-qt/qtwidgets-${PV}:5[debug=] + media-libs/fontconfig:1.0 + media-libs/libpng:0= + sys-libs/zlib + virtual/jpeg:0 + virtual/opengl + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXrender + gstreamer? ( + dev-libs/glib:2 + media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 + ) + gstreamer010? ( + dev-libs/glib:2 + media-libs/gstreamer:0.10 + media-libs/gst-plugins-base:0.10 + ) + multimedia? ( >=dev-qt/qtmultimedia-${PV}:5[debug=,widgets] ) + opengl? ( >=dev-qt/qtopengl-${PV}:5[debug=] ) + printsupport? ( >=dev-qt/qtprintsupport-${PV}:5[debug=] ) + qml? ( >=dev-qt/qtdeclarative-${PV}:5[debug=] ) + udev? ( virtual/udev ) + webp? ( media-libs/libwebp:0= ) +" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-lang/ruby + dev-util/gperf + sys-devel/bison + sys-devel/flex + virtual/rubygems +" + +src_prepare() { + # glib build error (bug #549840) + epatch "${FILESDIR}"/${P}-Fix-building-with-glib-2.43.patch + + if use gstreamer010; then + epatch "${FILESDIR}/${PN}-5.3.2-use-gstreamer010.patch" + elif ! use gstreamer; then + epatch "${FILESDIR}/${PN}-5.2.1-disable-gstreamer.patch" + fi + use multimedia || sed -i -e '/WEBKIT_CONFIG += video use_qt_multimedia/d' \ + Tools/qmake/mkspecs/features/features.prf || die + use opengl || sed -i -e '/contains(QT_CONFIG, opengl): WEBKIT_CONFIG += use_3d_graphics/d' \ + Tools/qmake/mkspecs/features/features.prf || die + use printsupport || sed -i -e '/WEBKIT_CONFIG += have_qtprintsupport/d' \ + Tools/qmake/mkspecs/features/features.prf || die + use qml || sed -i -e '/have?(QTQUICK): SUBDIRS += declarative/d' \ + Source/QtWebKit.pro || die + use udev || sed -i -e '/linux: WEBKIT_CONFIG += gamepad/d' \ + Tools/qmake/mkspecs/features/features.prf || die + use webp || sed -i -e '/config_libwebp: WEBKIT_CONFIG += use_webp/d' \ + Tools/qmake/mkspecs/features/features.prf || die + + # bug 458222 + sed -i -e '/SUBDIRS += examples/d' Source/QtWebKit.pro || die + + qt5-build_src_prepare +} |