mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
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>
This commit is contained in:
parent
a54bd6d72d
commit
e7e8ea069e
4 changed files with 20 additions and 300 deletions
|
@ -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 \
|
||||
|
|
|
@ -56,7 +56,7 @@ (define-public gnucash
|
|||
("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)
|
||||
|
|
|
@ -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
|
|
@ -114,29 +114,39 @@ (define-public webkitgtk
|
|||
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)))))
|
||||
|
|
Loading…
Reference in a new issue