diff --git a/network/misc/webkit-gtk2/actions.py b/network/misc/webkit-gtk2/actions.py new file mode 100644 index 0000000000..8dfed9b57a --- /dev/null +++ b/network/misc/webkit-gtk2/actions.py @@ -0,0 +1,47 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +shelltools.export("XDG_DATA_HOME", get.workDIR()) +pisitools.flags.replace("-ggdb3", "-g") + +paths = ["JavaScriptCore", "WebCore", "WebKit"] +docs = ["AUTHORS", "ChangeLog", "COPYING.LIB", "THANKS", \ + "LICENSE-LGPL-2", "LICENSE-LGPL-2.1", "LICENSE"] + +def setup(): + autotools.configure("\ + --disable-gtk-doc \ + --disable-silent-rules \ + --disable-webkit2 \ + --enable-dependency-tracking \ + --enable-introspection \ + --enable-video \ + --with-gnu-ld \ + --with-gtk=2.0 \ + ") + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("-j1 DESTDIR=%s" % get.installDIR()) + + pisitools.domove("/usr/share/gtk-doc/html", "/usr/share/doc/webkit-gtk2") + + pisitools.dodoc("NEWS") + shelltools.cd("Source") + for path in paths: + for doc in docs: + if shelltools.isFile("%s/%s" % (path, doc)): + pisitools.insinto("%s/%s/%s" % (get.docDIR(), get.srcNAME(), path), + "%s/%s" % (path, doc)) diff --git a/network/misc/webkit-gtk2/files/webkitgtk-2.4.8-gcc5.patch b/network/misc/webkit-gtk2/files/webkitgtk-2.4.8-gcc5.patch new file mode 100644 index 0000000000..73f6855e40 --- /dev/null +++ b/network/misc/webkit-gtk2/files/webkitgtk-2.4.8-gcc5.patch @@ -0,0 +1,33 @@ +diff -up webkitgtk-2.4.8/Source/autotools/CheckSystemAndBasicDependencies.m4.gcc5 webkitgtk-2.4.8/Source/autotools/CheckSystemAndBasicDependencies.m4 +--- webkitgtk-2.4.8/Source/autotools/CheckSystemAndBasicDependencies.m4.gcc5 2015-01-07 10:45:43.000000000 +0100 ++++ webkitgtk-2.4.8/Source/autotools/CheckSystemAndBasicDependencies.m4 2015-02-18 13:09:57.359888184 +0100 +@@ -87,12 +87,12 @@ AC_SYS_LARGEFILE + c_compiler="unknown" + AC_LANG_PUSH([C]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ +-#if !(defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 7) ++#if !(defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))) + #error Not a supported GCC compiler + #endif + ])], [c_compiler="gcc"], []) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ +-#if !(defined(__clang__) && __clang_major__ >= 3 && __clang_minor__ >= 3) ++#if !(defined(__clang__) && (__apple_build_version__ >= 4250024 || (!defined(__apple_build_version__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 3))))) + #error Not a supported Clang compiler + #endif + ])], [c_compiler="clang"], []) +@@ -106,12 +106,12 @@ fi + cxx_compiler="unknown" + AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ +-#if !(defined(__GNUG__) && defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 7) ++#if !(defined(__GNUG__) && defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))) + #error Not a supported G++ compiler + #endif + ])], [cxx_compiler="g++"], []) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ +-#if !(defined(__clang__) && __clang_major__ >= 3 && __clang_minor__ >= 3) ++#if !(defined(__clang__) && (__apple_build_version__ >= 4250024 || (!defined(__apple_build_version__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 3))))) + #error Not a supported Clang++ compiler + #endif + ])], [cxx_compiler="clang++"], []) diff --git a/network/misc/webkit-gtk2/files/webkitgtk-2.4.8-gmutexlocker.patch b/network/misc/webkit-gtk2/files/webkitgtk-2.4.8-gmutexlocker.patch new file mode 100644 index 0000000000..81455bdd7d --- /dev/null +++ b/network/misc/webkit-gtk2/files/webkitgtk-2.4.8-gmutexlocker.patch @@ -0,0 +1,281 @@ +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 ++++ 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 ++++ 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 ++++ 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/network/misc/webkit-gtk2/pspec.xml b/network/misc/webkit-gtk2/pspec.xml new file mode 100644 index 0000000000..90003d9c83 --- /dev/null +++ b/network/misc/webkit-gtk2/pspec.xml @@ -0,0 +1,174 @@ + + + + + webkit-gtk2 + http://webkitgtk.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv2 + LGPLv2.1 + BSD + library + An opensource web browser engine for GTK+ applications + The GTK+ port of WebKit is intended to provide a browser component primarily for users of the portable GTK+ UI toolkit on platforms like Linux. + http://www.webkitgtk.org/releases/webkitgtk-2.4.8.tar.xz + + mesa-devel + gtk-doc + atk-devel + zlib-devel + glib2-devel + gtk2-devel + ruby-devel + webp-devel + cairo-devel + icu4c-devel + libXt-devel + pango-devel + enchant-devel + sqlite-devel + geoclue-devel + libsoup-devel + fontconfig-devel + libxslt-devel + harfbuzz-devel + libsecret-devel + gdk-pixbuf-devel + libXcomposite-devel + libjpeg-turbo-devel + gstreamer-next-devel + gobject-introspection-devel + gst-plugins-base-next-devel + which + icon-theme-hicolor + + + + webkitgtk-2.4.8-gmutexlocker.patch + + + + + webkit-gtk2 + + atk + zlib + glib2 + gtk2 + mesa + webp + cairo + icu4c + libXt + libX11 + libgcc + libpng + libxml2 + pango + sqlite + enchant + libsoup + libxslt + harfbuzz + freetype + libsecret + fontconfig + gdk-pixbuf + libXdamage + libXrender + libXcomposite + libjpeg-turbo + gstreamer-next + gst-plugins-base-next + + + /usr/lib + /usr/share + /usr/share/doc + + + + + webkit-gtk2-devel + library + data:doc + Development files for GTK+ port of WebKit + + libgcc + gtk2-devel + glib2-devel + webkit-gtk2 + libsoup-devel + + + /usr/bin + /usr/include + /usr/lib/pkgconfig + /usr/share/doc/webkit-gtk/Web* + /usr/share/doc/webkit-gtk2/html + /usr/share/doc/webkit-gtk/JavaScriptCore + + + + + + 2015-04-07 + 2.4.8 + Version Bump + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-01-16 + 2.4.8 + Version Bump + Rebuild. + Osman Erkan + osman.erkan@pisilinux.org + + + 2014-05-24 + 2.4.1 + Rebuild. + Kamil Atlı + suvarice@gmail.com + + + 2014-04-21 + 2.4.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-10-14 + 1.10.2 + Rebuild for icu4c + PisiLinux Community + admins@pisilinux.org + + + 2013-07-29 + 1.10.2 + Dep Fixed + PisiLinux Community + admins@pisilinux.org + + + 2013-02-25 + 1.10.2 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-11-23 + 1.10.1 + First release + Marcin Bojara + marcin@pisilinux.org + + +