summary refs log tree commit diff
diff options
context:
space:
mode:
author宋文武 <iyzsong@gmail.com>2015-05-29 15:50:14 +0800
committer宋文武 <iyzsong@gmail.com>2015-05-29 16:05:49 +0800
commite7e8ea069e52052ab35a57284e18d171ab0f2daa (patch)
treee80f6b98cb79af64a35eb5e7e79bf0e2ff2c4406
parenta54bd6d72dc91f649fb2b6cb3c612da1639d9b72 (diff)
downloadguix-e7e8ea069e52052ab35a57284e18d171ab0f2daa.tar.gz
gnu: webkitgtk-2.4: Update to 2.8.9, build with gtk3.
* gnu/packages/webkit.scm (webkitgtk-2.4): Update to 2.8.9, build with gtk3.
  Move flex and which to 'native-inputs'.  Remove #:configure-flags.
  (webkitgtk/gtk+-2): New variable.
* gnu/packages/gnucash.scm (gnucash): Use webkitgtk/gtk+-2.
* gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove it.

Co-authored-by: Feng Shu <tumashu@163.com>
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/gnucash.scm2
-rw-r--r--gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch289
-rw-r--r--gnu/packages/webkit.scm28
4 files changed, 20 insertions, 300 deletions
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 <http://pkgs.fedoraproject.org/cgit/webkitgtk3.git/
-plain/webkitgtk-2.4.8-gmutexlocker.patch
-?id=7433f334cc84866af5ef0b2c25ead931e6e603ea>.
-
-
-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<BitmapTexture> 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<WebKitVideoSink*>(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<long long>(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)))))