[webkitgtk4] Temporarily disable cloop patch since it breaks js
catanzaro
catanzaro at fedoraproject.org
Wed Feb 11 06:30:10 UTC 2015
commit 30ef974d2ce38b29e523f3d4c27700b00d7c49a3
Author: Michael Catanzaro <mcatanzaro at gnome.org>
Date: Wed Feb 11 00:29:58 2015 -0600
Temporarily disable cloop patch since it breaks js
- Add patch for gmutexlocker namespace collision with glib 2.43.4
webkitgtk-2.7.4-gmutexlocker.patch | 327 ++++++++++++++++++++++++++++++++++++
webkitgtk4.spec | 12 +-
2 files changed, 337 insertions(+), 2 deletions(-)
---
diff --git a/webkitgtk-2.7.4-gmutexlocker.patch b/webkitgtk-2.7.4-gmutexlocker.patch
new file mode 100644
index 0000000..1f96862
--- /dev/null
+++ b/webkitgtk-2.7.4-gmutexlocker.patch
@@ -0,0 +1,327 @@
+2015-02-09 Carlos Garcia Campos <cgarcia at igalia.com>
+
+ [GTK] GMutexLocker build issue
+ https://bugs.webkit.org/show_bug.cgi?id=141381
+
+ Reviewed by Žan Doberšek.
+
+ Use always WTF::GMutexLocker because newer glib versions have a
+ GMutexLocker in the public API.
+
+diff --git a/Source/WTF/wtf/gobject/GMutexLocker.h b/Source/WTF/wtf/gobject/GMutexLocker.h
+index 0356702..5efbff0 100644
+--- a/Source/WTF/wtf/gobject/GMutexLocker.h
++++ b/Source/WTF/wtf/gobject/GMutexLocker.h
+@@ -97,8 +97,6 @@ private:
+
+ } // namespace WTF
+
+-using WTF::GMutexLocker;
+-
+ #endif // USE(GLIB)
+
+ #endif // GMutexLocker_h
+diff --git a/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp b/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
+index b77d738..87adfb2 100644
+--- a/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
++++ b/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
+@@ -150,7 +150,7 @@ void AudioSourceProviderGStreamer::configureAudioBin(GstElement* audioBin, GstEl
+
+ void AudioSourceProviderGStreamer::provideInput(AudioBus* bus, size_t framesToProcess)
+ {
+- GMutexLocker<GMutex> lock(m_adapterMutex);
++ WTF::GMutexLocker<GMutex> lock(m_adapterMutex);
+ copyGStreamerBuffersToAudioChannel(m_frontLeftAdapter, bus, 0, framesToProcess);
+ copyGStreamerBuffersToAudioChannel(m_frontRightAdapter, bus, 1, framesToProcess);
+ }
+@@ -177,7 +177,7 @@ GstFlowReturn AudioSourceProviderGStreamer::handleAudioBuffer(GstAppSink* sink)
+ GstAudioInfo info;
+ gst_audio_info_from_caps(&info, caps);
+
+- GMutexLocker<GMutex> lock(m_adapterMutex);
++ WTF::GMutexLocker<GMutex> lock(m_adapterMutex);
+
+ // Check the first audio channel. The buffer is supposed to store
+ // data of a single channel anyway.
+@@ -339,7 +339,7 @@ void AudioSourceProviderGStreamer::deinterleavePadsConfigured()
+
+ void AudioSourceProviderGStreamer::clearAdapters()
+ {
+- GMutexLocker<GMutex> lock(m_adapterMutex);
++ WTF::GMutexLocker<GMutex> lock(m_adapterMutex);
+ gst_adapter_clear(m_frontLeftAdapter);
+ gst_adapter_clear(m_frontRightAdapter);
+ }
+diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
+index 44de756..18864b1 100644
+--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
++++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
+@@ -137,7 +137,7 @@ IntSize MediaPlayerPrivateGStreamerBase::naturalSize() const
+ if (!m_videoSize.isEmpty())
+ return m_videoSize;
+
+- GMutexLocker<GMutex> lock(m_sampleMutex);
++ WTF::GMutexLocker<GMutex> lock(m_sampleMutex);
+ if (!m_sample)
+ return IntSize();
+
+@@ -279,7 +279,7 @@ void MediaPlayerPrivateGStreamerBase::muteChanged()
+ #if USE(TEXTURE_MAPPER_GL) && !USE(COORDINATED_GRAPHICS)
+ PassRefPtr<BitmapTexture> MediaPlayerPrivateGStreamerBase::updateTexture(TextureMapper* textureMapper)
+ {
+- GMutexLocker<GMutex> lock(m_sampleMutex);
++ WTF::GMutexLocker<GMutex> lock(m_sampleMutex);
+ if (!m_sample)
+ return nullptr;
+
+@@ -330,7 +330,7 @@ void MediaPlayerPrivateGStreamerBase::triggerRepaint(GstSample* sample)
+ g_return_if_fail(GST_IS_SAMPLE(sample));
+
+ {
+- GMutexLocker<GMutex> lock(m_sampleMutex);
++ WTF::GMutexLocker<GMutex> lock(m_sampleMutex);
+ if (m_sample)
+ gst_sample_unref(m_sample);
+ m_sample = gst_sample_ref(sample);
+@@ -364,7 +364,7 @@ void MediaPlayerPrivateGStreamerBase::paint(GraphicsContext* context, const IntR
+ if (!m_player->visible())
+ return;
+
+- GMutexLocker<GMutex> lock(m_sampleMutex);
++ WTF::GMutexLocker<GMutex> lock(m_sampleMutex);
+ if (!m_sample)
+ return;
+
+diff --git a/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp
+index 255e760..7252065 100644
+--- a/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp
++++ b/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp
+@@ -117,7 +117,7 @@ static void webkitVideoSinkTimeoutCallback(WebKitVideoSink* sink)
+ {
+ WebKitVideoSinkPrivate* priv = sink->priv;
+
+- GMutexLocker<GMutex> lock(priv->sampleMutex);
++ WTF::GMutexLocker<GMutex> lock(priv->sampleMutex);
+ GstSample* sample = priv->sample;
+ priv->sample = 0;
+
+@@ -136,7 +136,7 @@ static GstFlowReturn webkitVideoSinkRender(GstBaseSink* baseSink, GstBuffer* buf
+ WebKitVideoSink* sink = WEBKIT_VIDEO_SINK(baseSink);
+ WebKitVideoSinkPrivate* priv = sink->priv;
+
+- GMutexLocker<GMutex> lock(priv->sampleMutex);
++ WTF::GMutexLocker<GMutex> lock(priv->sampleMutex);
+
+ if (priv->unlocked)
+ return GST_FLOW_OK;
+@@ -234,7 +234,7 @@ static void webkitVideoSinkFinalize(GObject* object)
+
+ static void unlockSampleMutex(WebKitVideoSinkPrivate* priv)
+ {
+- GMutexLocker<GMutex> lock(priv->sampleMutex);
++ WTF::GMutexLocker<GMutex> lock(priv->sampleMutex);
+
+ if (priv->sample) {
+ gst_sample_unref(priv->sample);
+@@ -260,7 +260,7 @@ static gboolean webkitVideoSinkUnlockStop(GstBaseSink* baseSink)
+ WebKitVideoSinkPrivate* priv = WEBKIT_VIDEO_SINK(baseSink)->priv;
+
+ {
+- GMutexLocker<GMutex> lock(priv->sampleMutex);
++ WTF::GMutexLocker<GMutex> lock(priv->sampleMutex);
+ priv->unlocked = false;
+ }
+
+@@ -285,7 +285,7 @@ static gboolean webkitVideoSinkStart(GstBaseSink* baseSink)
+ {
+ WebKitVideoSinkPrivate* priv = WEBKIT_VIDEO_SINK(baseSink)->priv;
+
+- GMutexLocker<GMutex> lock(priv->sampleMutex);
++ WTF::GMutexLocker<GMutex> lock(priv->sampleMutex);
+ priv->unlocked = false;
+ return TRUE;
+ }
+diff --git a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
+index 1fc305f..b9437aa 100644
+--- a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
++++ b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
+@@ -338,7 +338,7 @@ static void webKitWebSrcGetProperty(GObject* object, guint propID, GValue* value
+ WebKitWebSrc* src = WEBKIT_WEB_SRC(object);
+ WebKitWebSrcPrivate* priv = src->priv;
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ switch (propID) {
+ case PROP_IRADIO_NAME:
+ g_value_set_string(value, priv->iradioName);
+@@ -378,7 +378,7 @@ static void webKitWebSrcStop(WebKitWebSrc* src)
+
+ ASSERT(isMainThread());
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+
+ bool seeking = priv->seekSource.isActive();
+
+@@ -436,7 +436,7 @@ static void webKitWebSrcStart(WebKitWebSrc* src)
+
+ ASSERT(isMainThread());
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+
+ priv->pendingStart = FALSE;
+ priv->didPassAccessControlCheck = false;
+@@ -539,7 +539,7 @@ static GstStateChangeReturn webKitWebSrcChangeState(GstElement* element, GstStat
+ return ret;
+ }
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ switch (transition) {
+ case GST_STATE_CHANGE_READY_TO_PAUSED:
+ GST_DEBUG_OBJECT(src, "READY->PAUSED");
+@@ -576,7 +576,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<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> 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;
+@@ -584,7 +584,7 @@ static gboolean webKitWebSrcQueryWithParent(GstPad* pad, GstObject* parent, GstQ
+ break;
+ }
+ case GST_QUERY_URI: {
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ gst_query_set_uri(query, src->priv->uri);
+ result = TRUE;
+ break;
+@@ -634,7 +634,7 @@ static gchar* webKitWebSrcGetUri(GstURIHandler* handler)
+ WebKitWebSrc* src = WEBKIT_WEB_SRC(handler);
+ gchar* ret;
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ ret = g_strdup(src->priv->uri);
+ return ret;
+ }
+@@ -649,7 +649,7 @@ static gboolean webKitWebSrcSetUri(GstURIHandler* handler, const gchar* uri, GEr
+ return FALSE;
+ }
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+
+ g_free(priv->uri);
+ priv->uri = 0;
+@@ -685,7 +685,7 @@ static void webKitWebSrcNeedDataMainCb(WebKitWebSrc* src)
+
+ ASSERT(isMainThread());
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ priv->paused = FALSE;
+ locker.unlock();
+
+@@ -702,7 +702,7 @@ static void webKitWebSrcNeedDataCb(GstAppSrc*, guint length, gpointer userData)
+
+ GST_DEBUG_OBJECT(src, "Need more data: %u", length);
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ if (priv->needDataSource.isScheduled() || !priv->paused)
+ return;
+
+@@ -717,7 +717,7 @@ static void webKitWebSrcEnoughDataMainCb(WebKitWebSrc* src)
+
+ ASSERT(isMainThread());
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ priv->paused = TRUE;
+ locker.unlock();
+
+@@ -734,7 +734,7 @@ static void webKitWebSrcEnoughDataCb(GstAppSrc*, gpointer userData)
+
+ GST_DEBUG_OBJECT(src, "Have enough data");
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ if (priv->enoughDataSource.isScheduled() || priv->paused)
+ return;
+
+@@ -757,7 +757,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<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ if (offset == priv->offset && priv->requestedOffset == priv->offset)
+ return TRUE;
+
+@@ -776,7 +776,7 @@ static gboolean webKitWebSrcSeekDataCb(GstAppSrc*, guint64 offset, gpointer user
+ void webKitWebSrcSetMediaPlayer(WebKitWebSrc* src, WebCore::MediaPlayer* player)
+ {
+ ASSERT(player);
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ src->priv->player = player;
+ }
+
+@@ -806,7 +806,7 @@ char* StreamingClient::createReadBuffer(size_t requestedSize, size_t& actualSize
+
+ mapGstBuffer(buffer);
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ priv->buffer = adoptGRef(buffer);
+ locker.unlock();
+
+@@ -828,7 +828,7 @@ void StreamingClient::handleResponseReceived(const ResourceResponse& response)
+ return;
+ }
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+
+ if (priv->seekSource.isActive()) {
+ GST_DEBUG_OBJECT(src, "Seek in progress, ignoring response");
+@@ -925,7 +925,7 @@ void StreamingClient::handleDataReceived(const char* data, int length)
+ WebKitWebSrc* src = WEBKIT_WEB_SRC(m_src);
+ WebKitWebSrcPrivate* priv = src->priv;
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+
+ GST_LOG_OBJECT(src, "Have %lld bytes of data", priv->buffer ? static_cast<long long>(gst_buffer_get_size(priv->buffer.get())) : length);
+
+@@ -994,7 +994,7 @@ void StreamingClient::handleNotifyFinished()
+
+ GST_DEBUG_OBJECT(src, "Have EOS");
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ if (!priv->seekSource.isActive()) {
+ locker.unlock();
+ gst_app_src_end_of_stream(priv->appsrc);
+@@ -1131,7 +1131,7 @@ void ResourceHandleStreamingClient::wasBlocked(ResourceHandle*)
+
+ GST_ERROR_OBJECT(src, "Request was blocked");
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ uri.reset(g_strdup(src->priv->uri));
+ locker.unlock();
+
+@@ -1145,7 +1145,7 @@ void ResourceHandleStreamingClient::cannotShowURL(ResourceHandle*)
+
+ GST_ERROR_OBJECT(src, "Cannot show URL");
+
+- GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
++ WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src));
+ uri.reset(g_strdup(src->priv->uri));
+ locker.unlock();
+
diff --git a/webkitgtk4.spec b/webkitgtk4.spec
index 4900d59..c1dbc54 100644
--- a/webkitgtk4.spec
+++ b/webkitgtk4.spec
@@ -9,7 +9,7 @@
Name: webkitgtk4
Version: 2.7.4
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: GTK+ Web content engine library
License: LGPLv2
@@ -24,6 +24,8 @@ Patch3: webkitgtk-2.5.2-commit_align.patch
Patch4: webkitgtk-2.7.2-disable-codec-installer.patch
# https://bugs.webkit.org/show_bug.cgi?id=140616
Patch5: webkitgtk-2.7.3-compile_fix.patch
+# https://bugs.webkit.org/show_bug.cgi?id=141381
+Patch6: webkitgtk-2.7.4-gmutexlocker.patch
BuildRequires: at-spi2-core-devel
BuildRequires: bison
@@ -94,12 +96,14 @@ This package contains developer documentation for %{name}.
%prep
%setup -q -n webkitgtk-%{version}
%patch0 -p1 -b .nspluginwrapper
-%patch2 -p1 -b .cloop_fix
+# FIXME Temporarily disabled due to https://bugzilla.redhat.com/show_bug.cgi?id=1167004
+#%patch2 -p1 -b .cloop_fix
%ifarch %{power64} aarch64 ppc
%patch3 -p1 -b .commit_align
%endif
%patch4 -p1 -b .disable_codec_installer
%patch5 -p1 -b .compile_fix
+%patch6 -p1 -b .gmutexlocker
# Remove bundled libraries
rm -rf Source/ThirdParty/leveldb/
@@ -202,6 +206,10 @@ make %{?_smp_mflags} -C %{_target_platform}
%{_datadir}/gtk-doc/html/webkitdomgtk-4.0/
%changelog
+* Tue Feb 10 2015 Michael Catanzaro <mcatanzaro at gnome.org> - 2.7.4-6
+- Temporarily disable cloop patch since it breaks js
+- Add patch for gmutexlocker namespace collision with glib 2.43.4
+
* Fri Feb 06 2015 Michael Catanzaro <mcatanzaro at gnome.org> - 2.7.4-5
- Revert yesterday's changes since they don't help.
More information about the scm-commits
mailing list