Subject: [alpine-aports] [PATCH] testing/webkit2gtk: new aport

From: Jiri Horner <[email-masked]>
Date: Tue, 3 Nov 2015 00:32:47 +0000

http://webkitgtk.org/
portable web rendering engine WebKit for GTK+
---
 community/webkit2gtk/APKBUILD                   | 95 +++++++++++++++++++++++++
 community/webkit2gtk/disallow-ctype.patch       | 11 +++
 community/webkit2gtk/disallow-malloc_trim.patch | 12 ++++
 community/webkit2gtk/fix-execinfo.patch         | 20 ++++++
 community/webkit2gtk/fix-isnan.patch            | 19 +++++
 5 files changed, 157 insertions(+)
 create mode 100644 community/webkit2gtk/APKBUILD
 create mode 100644 community/webkit2gtk/disallow-ctype.patch
 create mode 100644 community/webkit2gtk/disallow-malloc_trim.patch
 create mode 100644 community/webkit2gtk/fix-execinfo.patch
 create mode 100644 community/webkit2gtk/fix-isnan.patch

diff --git a/community/webkit2gtk/APKBUILD b/community/webkit2gtk/APKBUILD
new file mode 100644
index 0000000..c055d9f
--- /dev/null
+++ b/community/webkit2gtk/APKBUILD
@@ -0,0 +1,95 @@
+# Contributor: Jiri Horner <[email-masked]>
+# Maintainer: Jiri Horner <[email-masked]>
+pkgname=webkit2gtk
+pkgver=2.10.3
+pkgrel=0
+pkgdesc="portable web rendering engine WebKit for GTK+"
+url="http://webkitgtk.org/"
+arch="all"
+license="LGPL2+ BSD"
+depends=""
+depends_dev="gtk+3.0-dev libsoup-dev"
+makedepends="$depends_dev
+	cmake
+	bison
+	enchant-dev
+	flex
+	gnutls-dev
+	gobject-introspection-dev
+	gperf
+	gtk-doc
+	icu-dev
+	gstreamer1-dev
+	gst-plugins-base1-dev
+	hyphen-dev
+	libjpeg-turbo-dev
+	libpng-dev
+	libsecret-dev
+	libwebp-dev
+	libxml2-dev
+	libxslt-dev
+	libxt-dev
+	libnotify-dev
+	mesa-dev
+	pango-dev
+	ruby
+	sqlite-dev
+	"
+install=
+replaces="webkit"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="http://webkitgtk.org/releases/webkitgtk-$pkgver.tar.xz
+	fix-execinfo.patch
+	disallow-ctype.patch
+	fix-isnan.patch
+	"
+
+_srcdir="${srcdir}/webkitgtk-${pkgver}"
+_builddir="${srcdir}/build"
+prepare() {
+	cd "$_srcdir"
+	for i in $source; do
+		case "$i" in
+		*.patch)
+			msg "Applying $i"
+			patch -p1 -i "$srcdir"/$i || return 1
+			;;
+		esac
+	done
+	rm -r Source/ThirdParty/gtest/ || return 1
+	rm -r Source/ThirdParty/qunit/ || return 1
+}
+
+build() {
+	mkdir "$_builddir"
+	cd "$_builddir"
+	cmake -DPORT=GTK \
+		-DCMAKE_BUILD_TYPE=Release \
+		-DCMAKE_SKIP_RPATH=ON \
+		-DCMAKE_INSTALL_PREFIX=/usr \
+		-DLIB_INSTALL_DIR=/usr/lib \
+		-DLIBEXEC_INSTALL_DIR=/usr/lib/webkit2gtk-4.0 \
+		-DENABLE_GTKDOC=ON \
+		-DENABLE_GEOLOCATION=OFF \
+		-DENABLE_PLUGIN_PROCESS_GTK2=OFF \
+		"$_srcdir" || return 1
+	make || return 1
+}
+
+package() {
+	cd "$_builddir"
+	make DESTDIR="$pkgdir" install
+}
+
+md5sums="278d6c64f4673a506daf27556c124523  webkitgtk-2.10.3.tar.xz
+c114751c30cdcaede5a7ed5568b2b0d4  fix-execinfo.patch
+375d22de42a0d1053985a6df942f1db3  disallow-ctype.patch
+3fa45dbc0ea278e6426b6f86e0f8fc6d  fix-isnan.patch"
+sha256sums="2b3ee0b2ea9bac82064d818085e09236d5fca97a5780d4c731b2f0400fb64052  webkitgtk-2.10.3.tar.xz
+b2bc9e03fd5d968d6df4531a7d102496139120e666e6fed397a19ae4026751c6  fix-execinfo.patch
+f4fd0f6d2c70c95169ab5c84d39607d1c4b2f674c36119f8fc1c60c751564e12  disallow-ctype.patch
+08a688126e3e9a0640786b4b928740bceec0e7f94720d71ecbec971dd1dd77ce  fix-isnan.patch"
+sha512sums="12546184cb0b60f00382da010f5c5717e01aca2a56e1a351be1b5fae0a1584e534b82ddf2361bac2f213fddeabcf29772cc20f1cf4a5ac834e7876beb13b2f24  webkitgtk-2.10.3.tar.xz
+602630468ee80b9f9bb53ee7808f4b2f2c86d1d4db14ac9c244b3e2e79a245510a289eb321cb7dbefd3b7a2dde13cf444b8ecf7cd46f23eaa5c0f04670914e42  fix-execinfo.patch
+59f4e977fae16145a5116c97e3700625f1ed27963ad65daa957f1355dc93269435c1225fc5302b45e5df731c14aa7e639db4e163003eb265b867a9df9f97ab6f  disallow-ctype.patch
+cf48a1faf1e4daebf37c17e6b646d797b4179cee37b37369c34f879e4bafd190c974c18bad80beb7bc4560ce4d9a1f39aab8f5e5df3c130c2c8eaabb9fd124be  fix-isnan.patch"
diff --git a/community/webkit2gtk/disallow-ctype.patch b/community/webkit2gtk/disallow-ctype.patch
new file mode 100644
index 0000000..d14932e
--- /dev/null
+++ b/community/webkit2gtk/disallow-ctype.patch
@@ -0,0 +1,11 @@
+--- webkitgtk-2.10.3/Source/WTF/wtf/DisallowCType.h.orig
++++ webkitgtk-2.10.3/Source/WTF/wtf/DisallowCType.h
+@@ -40,7 +40,7 @@
+ // are used from wx headers. On GTK+ for Mac many GTK+ files include <libintl.h>
+ // or <glib/gi18n-lib.h>, which in turn include <xlocale/_ctype.h> which uses
+ // isacii(). 
+-#if !(OS(DARWIN) && PLATFORM(GTK)) && !PLATFORM(EFL) && !defined(_LIBCPP_VERSION)
++#if !(OS(DARWIN) && PLATFORM(GTK)) && !PLATFORM(EFL) && !defined(_LIBCPP_VERSION) && defined(__GLIBC__)
+ 
+ #include <ctype.h>
+ 
diff --git a/community/webkit2gtk/disallow-malloc_trim.patch b/community/webkit2gtk/disallow-malloc_trim.patch
new file mode 100644
index 0000000..34d4905
--- /dev/null
+++ b/community/webkit2gtk/disallow-malloc_trim.patch
@@ -0,0 +1,12 @@
+--- webkitgtk-2.10.3/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp.orig
++++ webkitgtk-2.10.3/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp
+@@ -202,7 +202,9 @@
+ void MemoryPressureHandler::platformReleaseMemory(Critical)
+ {
+     ReliefLogger log("Run malloc_trim");
++#if defined(__GLIBC__)
+     malloc_trim(0);
++#endif
+ }
+ 
+ void MemoryPressureHandler::ReliefLogger::platformLog()
diff --git a/community/webkit2gtk/fix-execinfo.patch b/community/webkit2gtk/fix-execinfo.patch
new file mode 100644
index 0000000..eb82531
--- /dev/null
+++ b/community/webkit2gtk/fix-execinfo.patch
@@ -0,0 +1,20 @@
+--- webkitgtk-2.2.0.orig/Source/WTF/wtf/Assertions.cpp
++++ webkitgtk-2.2.0/Source/WTF/wtf/Assertions.cpp
+@@ -64,7 +64,7 @@
+ #include <windows.h>
+ #endif
+ 
+-#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
++#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
+ #include <cxxabi.h>
+ #include <dlfcn.h>
+ #include <execinfo.h>
+@@ -242,7 +242,7 @@
+ 
+ void WTFGetBacktrace(void** stack, int* size)
+ {
+-#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
++#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
+     *size = backtrace(stack, *size);
+ #elif OS(WINDOWS) && !OS(WINCE)
+     // The CaptureStackBackTrace function is available in XP, but it is not defined
diff --git a/community/webkit2gtk/fix-isnan.patch b/community/webkit2gtk/fix-isnan.patch
new file mode 100644
index 0000000..6644460
--- /dev/null
+++ b/community/webkit2gtk/fix-isnan.patch
@@ -0,0 +1,19 @@
+--- webkitgtk-2.10.3/Source/JavaScriptCore/runtime/Options.cpp.orig
++++ webkitgtk-2.10.3/Source/JavaScriptCore/runtime/Options.cpp
+@@ -29,7 +29,6 @@
+ #include "HeapStatistics.h"
+ #include <algorithm>
+ #include <limits>
+-#include <math.h>
+ #include <mutex>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -610,7 +609,7 @@
+     case Options::Type::unsignedType:
+         return m_entry.unsignedVal == other.m_entry.unsignedVal;
+     case Options::Type::doubleType:
+-        return (m_entry.doubleVal == other.m_entry.doubleVal) || (isnan(m_entry.doubleVal) && isnan(other.m_entry.doubleVal));
++        return (m_entry.doubleVal == other.m_entry.doubleVal) || (std::isnan(m_entry.doubleVal) && std::isnan(other.m_entry.doubleVal));
+     case Options::Type::int32Type:
+         return m_entry.int32Val == other.m_entry.int32Val;
+     case Options::Type::optionRangeType:
-- 
2.4.1

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---