gnu: Add WebkitGTK 2.4.8.
* gnu/packages/webkit.scm (webkitgtk-2.4): New variable. * gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch: New file. * gnu-system.am (dist_patch_DATA): Add it.
This commit is contained in:
		
							parent
							
								
									c024ae3601
								
							
						
					
					
						commit
						7b05ba9161
					
				
					 3 changed files with 322 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -559,6 +559,7 @@ 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-urwid-1.3.patch			\
 | 
			
		||||
  gnu/packages/patches/wmctrl-64-fix.patch			\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										289
									
								
								gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										289
									
								
								gnu/packages/patches/webkitgtk-2.4.8-gmutexlocker.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,289 @@
 | 
			
		|||
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
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 | 
			
		||||
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
 | 
			
		||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -22,9 +23,13 @@
 | 
			
		|||
  #:use-module (guix packages)
 | 
			
		||||
  #:use-module (guix download)
 | 
			
		||||
  #:use-module (guix build-system cmake)
 | 
			
		||||
  #:use-module (guix build-system gnu)
 | 
			
		||||
  #:use-module (gnu packages)
 | 
			
		||||
  #:use-module (gnu packages base)
 | 
			
		||||
  #:use-module (gnu packages bison)
 | 
			
		||||
  #:use-module (gnu packages databases)
 | 
			
		||||
  #:use-module (gnu packages enchant)
 | 
			
		||||
  #:use-module (gnu packages flex)
 | 
			
		||||
  #:use-module (gnu packages gettext)
 | 
			
		||||
  #:use-module (gnu packages gl)
 | 
			
		||||
  #:use-module (gnu packages glib)
 | 
			
		||||
| 
						 | 
				
			
			@ -108,3 +113,30 @@ HTML/CSS applications to full-fledged web browsers.")
 | 
			
		|||
                   license:lgpl2.1+
 | 
			
		||||
                   license:bsd-2
 | 
			
		||||
                   license:bsd-3))))
 | 
			
		||||
 | 
			
		||||
(define-public webkitgtk-2.4
 | 
			
		||||
  ;; Latest release of the stable 2.4 series.
 | 
			
		||||
  (package (inherit webkitgtk)
 | 
			
		||||
    (name "webkitgtk")
 | 
			
		||||
    (version "2.4.8")
 | 
			
		||||
    (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")))))
 | 
			
		||||
    (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
 | 
			
		||||
     `(("flex" ,flex)
 | 
			
		||||
       ("which" ,which)
 | 
			
		||||
       ,@(package-inputs webkitgtk)))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue