diff --git a/gnu-system.am b/gnu-system.am index 43ced1213b..2cd4c62cf7 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -575,7 +575,6 @@ dist_patch_DATA = \ gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/vtk-mesa-10.patch \ gnu/packages/patches/w3m-fix-compile.patch \ - gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch \ gnu/packages/patches/weex-vacopy.patch \ gnu/packages/patches/wicd-template-instantiation.patch \ gnu/packages/patches/wicd-urwid-1.3.patch \ diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index d254615cf2..6ab8f09ce6 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -56,7 +56,7 @@ ("libgnomecanvas" ,libgnomecanvas) ("libxml2" ,libxml2) ("libxslt" ,libxslt) - ("webkitgtk" ,webkitgtk-2.4))) + ("webkitgtk" ,webkitgtk/gtk+-2))) (native-inputs `(("glib" ,glib "bin") ; glib-compile-schemas, etc. ("intltool" ,intltool) diff --git a/gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch b/gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch deleted file mode 100644 index 79e12c302f..0000000000 --- a/gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch +++ /dev/null @@ -1,289 +0,0 @@ -Webkit's own WebCore::GMutexLocker conflicts with the GMutexLocker in -glib-2.44.0. - -Patch taken from . - - -diff -up webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp.gmutexlocker webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp ---- webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp.gmutexlocker 2015-02-18 15:40:21.851816374 +0100 -+++ webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp 2015-02-18 15:45:58.560092191 +0100 -@@ -316,7 +316,7 @@ void MediaPlayerPrivateGStreamerBase::mu - #if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL) && !USE(COORDINATED_GRAPHICS) - PassRefPtr MediaPlayerPrivateGStreamerBase::updateTexture(TextureMapper* textureMapper) - { -- GMutexLocker lock(m_bufferMutex); -+ WebCore::GMutexLocker lock(m_bufferMutex); - if (!m_buffer) - return nullptr; - -@@ -366,7 +366,7 @@ void MediaPlayerPrivateGStreamerBase::tr - g_return_if_fail(GST_IS_BUFFER(buffer)); - - { -- GMutexLocker lock(m_bufferMutex); -+ WebCore::GMutexLocker lock(m_bufferMutex); - gst_buffer_replace(&m_buffer, buffer); - } - -@@ -398,7 +398,7 @@ void MediaPlayerPrivateGStreamerBase::pa - if (!m_player->visible()) - return; - -- GMutexLocker lock(m_bufferMutex); -+ WebCore::GMutexLocker lock(m_bufferMutex); - if (!m_buffer) - return; - -diff -up webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp.gmutexlocker webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp -diff -up webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp.gmutexlocker webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp ---- webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp.gmutexlocker 2015-02-18 15:16:11.995228731 +0100 -+++ webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp 2015-02-18 15:45:42.686843477 +0100 -@@ -118,7 +118,7 @@ static gboolean webkitVideoSinkTimeoutCa - WebKitVideoSink* sink = reinterpret_cast(data); - WebKitVideoSinkPrivate* priv = sink->priv; - -- GMutexLocker lock(priv->bufferMutex); -+ WebCore::GMutexLocker lock(priv->bufferMutex); - GstBuffer* buffer = priv->buffer; - priv->buffer = 0; - priv->timeoutId = 0; -@@ -140,7 +140,7 @@ static GstFlowReturn webkitVideoSinkRend - WebKitVideoSink* sink = WEBKIT_VIDEO_SINK(baseSink); - WebKitVideoSinkPrivate* priv = sink->priv; - -- GMutexLocker lock(priv->bufferMutex); -+ WebCore::GMutexLocker lock(priv->bufferMutex); - - if (priv->unlocked) - return GST_FLOW_OK; -@@ -279,7 +279,7 @@ static void webkitVideoSinkGetProperty(G - - static void unlockBufferMutex(WebKitVideoSinkPrivate* priv) - { -- GMutexLocker lock(priv->bufferMutex); -+ WebCore::GMutexLocker lock(priv->bufferMutex); - - if (priv->buffer) { - gst_buffer_unref(priv->buffer); -@@ -305,7 +305,7 @@ static gboolean webkitVideoSinkUnlockSto - WebKitVideoSinkPrivate* priv = WEBKIT_VIDEO_SINK(baseSink)->priv; - - { -- GMutexLocker lock(priv->bufferMutex); -+ WebCore::GMutexLocker lock(priv->bufferMutex); - priv->unlocked = false; - } - -@@ -330,7 +330,7 @@ static gboolean webkitVideoSinkStart(Gst - { - WebKitVideoSinkPrivate* priv = WEBKIT_VIDEO_SINK(baseSink)->priv; - -- GMutexLocker lock(priv->bufferMutex); -+ WebCore::GMutexLocker lock(priv->bufferMutex); - priv->unlocked = false; - return TRUE; - } -diff -up webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp.gmutexlocker webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp ---- webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp.gmutexlocker 2015-02-18 15:16:40.954678407 +0100 -+++ webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp 2015-02-18 15:45:19.567481225 +0100 -@@ -346,7 +346,7 @@ static void webKitWebSrcSetProperty(GObj - - 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; - } -@@ -364,7 +364,7 @@ static void webKitWebSrcGetProperty(GObj - 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); -@@ -417,7 +417,7 @@ static gboolean webKitWebSrcStop(WebKitW - - ASSERT(isMainThread()); - -- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); -+ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); - - bool seeking = priv->seekID; - -@@ -476,7 +476,7 @@ static gboolean webKitWebSrcStart(WebKit - - ASSERT(isMainThread()); - -- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); -+ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); - - priv->startID = 0; - priv->corsAccessCheck = CORSNoCheck; -@@ -573,7 +573,7 @@ static GstStateChangeReturn webKitWebSrc - 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"); -@@ -604,7 +604,7 @@ static gboolean webKitWebSrcQueryWithPar - 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; -@@ -612,7 +612,7 @@ static gboolean webKitWebSrcQueryWithPar - 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; -@@ -653,7 +653,7 @@ static gchar* webKitWebSrcGetUri(GstURIH - 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; - } -@@ -668,7 +668,7 @@ static gboolean webKitWebSrcSetUri(GstUR - return FALSE; - } - -- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); -+ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); - - g_free(priv->uri); - priv->uri = 0; -@@ -704,7 +704,7 @@ static gboolean webKitWebSrcNeedDataMain - - ASSERT(isMainThread()); - -- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); -+ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); - // already stopped - if (!priv->needDataID) - return FALSE; -@@ -725,7 +725,7 @@ static void webKitWebSrcNeedDataCb(GstAp - - 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; - } -@@ -739,7 +739,7 @@ static gboolean webKitWebSrcEnoughDataMa - - ASSERT(isMainThread()); - -- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); -+ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); - // already stopped - if (!priv->enoughDataID) - return FALSE; -@@ -760,7 +760,7 @@ static void webKitWebSrcEnoughDataCb(Gst - - 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; - } -@@ -774,7 +774,7 @@ static gboolean webKitWebSrcSeekMainCb(W - - ASSERT(isMainThread()); - -- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); -+ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); - // already stopped - if (!priv->seekID) - return FALSE; -@@ -792,7 +792,7 @@ static gboolean webKitWebSrcSeekDataCb(G - 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; - -@@ -811,7 +811,7 @@ static gboolean webKitWebSrcSeekDataCb(G - 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; - } - -@@ -841,7 +841,7 @@ char* StreamingClient::createReadBuffer( - - mapGstBuffer(buffer); - -- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); -+ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); - priv->buffer = adoptGRef(buffer); - locker.unlock(); - -@@ -867,7 +867,7 @@ void StreamingClient::handleResponseRece - return; - } - -- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); -+ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); - - priv->corsAccessCheck = corsAccessCheck; - -@@ -966,7 +966,7 @@ void StreamingClient::handleDataReceived - WebKitWebSrc* src = WEBKIT_WEB_SRC(m_src); - WebKitWebSrcPrivate* priv = src->priv; - -- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); -+ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); - - GST_LOG_OBJECT(src, "Have %lld bytes of data", priv->buffer ? static_cast(gst_buffer_get_size(priv->buffer.get())) : length); - -@@ -1035,7 +1035,7 @@ void StreamingClient::handleNotifyFinish - - 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); -@@ -1194,7 +1194,7 @@ void ResourceHandleStreamingClient::wasB - - GST_ERROR_OBJECT(src, "Request was blocked"); - -- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); -+ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); - uri.reset(g_strdup(src->priv->uri)); - locker.unlock(); - -@@ -1208,7 +1208,7 @@ void ResourceHandleStreamingClient::cann - - GST_ERROR_OBJECT(src, "Cannot show URL"); - -- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); -+ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); - uri.reset(g_strdup(src->priv->uri)); - locker.unlock(); - -diff -up webkitgtk-2.4.8/Source/WTF/wtf/gobject/GMutexLocker.h.gmutexlocker webkitgtk-2.4.8/Source/WTF/wtf/gobject/GMutexLocker.h diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index b091c88601..d2a7f059c3 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -114,29 +114,39 @@ HTML/CSS applications to full-fledged web browsers.") license:bsd-2 license:bsd-3)))) +;; Latest release of the stable 2.4 series, with WebKit1 support. (define-public webkitgtk-2.4 - ;; Latest release of the stable 2.4 series. (package (inherit webkitgtk) (name "webkitgtk") - (version "2.4.8") + (version "2.4.9") (source (origin (method url-fetch) (uri (string-append "http://www.webkitgtk.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "08xxqsxpa63nzgbsz63vrdxdxgpysyiy7jdcjb57k1hprdcibwb8")) - (patches (list (search-patch "webkitgtk-2.4.8-gmutexlocker.patch"))))) + "0r651ar3p0f8zwl7764kyimxk5hy88cwy116pv8cl5l8hbkjkpxg")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests #:phases (modify-phases %standard-phases (add-after 'unpack 'set-gcc - (lambda _ (setenv "CC" "gcc") #t))) - #:configure-flags '("--enable-webkit2=no" - "--with-gtk=2.0"))) - (inputs + (lambda _ (setenv "CC" "gcc") #t))))) + (native-inputs `(("flex" ,flex) ("which" ,which) - ,@(package-inputs webkitgtk))))) + ,@(package-native-inputs webkitgtk))))) + +;; Last GTK+2 port, required by GnuCash. +(define-public webkitgtk/gtk+-2 + (package (inherit webkitgtk-2.4) + (name "webkitgtk") + (arguments + `(#:configure-flags + '("--enable-webkit2=no" + "--with-gtk=2.0") + ,@(package-arguments webkitgtk-2.4))) + (propagated-inputs + `(("gtk+-2" ,gtk+-2) + ("libsoup" ,libsoup)))))