Jiri Horner: 1 testing/webkit2gtk: new aport 5 files changed, 157 insertions(+), 0 deletions(-)
Hi, TLDR: it was intentional sorry for confusion, original email body was stripped. I have to tune my git send-mail config a bit. This package brings webkit2gtk-4.0 to alpine, which is the latest binary version of webkitgtk. It is intentionaly coinstallable with binary versions 1.0 and 3.0 already present in alpine. webkit1 (in webkit) and webkit2 are totally different and require application rewrite to move to later. Thats why distros usually have both of them. Last version of webkitgtk with webkit1 is 2.4.9. Also webkit2 included in 2.4.9 is slightly different from webkit2 included in 2.10 series (binary version bumped). More details: [0]. It would definitely make things easier not to have 3 binary versions + gtk2/gtk3 versions. To keep things minimal I think it would be possible to stop building webkit2 from 2.4.9 branch and move all dependencies to this new package. Also xiphos which builds currently against webkit1 could be moved to this package. Status is as follows: could use webkit2-4.0: * midori * claws-mail * xiphos blockers for webkit1: * shotwell [2] * geary [1] For the last two we could drop gtk2 build in `webkit` since the both uses gtk3. So the minimal version could be gtk3 webkit (libwebkitgtk-3.0) from 2.4.9 and gtk3 webkit2 (libwebkit2gtk-4.0) from latest branch. Note to the package: I have disabled support for gtk2 plugins which reduces binary size a lot. Flash and similar will not work with this version. I'm OK with maintaining it in community, but if you want to take it then even better.
Natanael Copa <ncopa@alpinelinux.org>This all sounds great to me. lets do it. There appear to be a build error (32bit atleast): [ 13%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/platform/linux/MemoryPressureHandlerLinux.cpp.o /home/ncopa/aports/testing/webkit2gtk/src/webkitgtk-2.10.3/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp: In member function 'void WebCore::MemoryPressureHandler::platformReleaseMemory(WebCore::Critical)': /home/ncopa/aports/testing/webkit2gtk/src/webkitgtk-2.10.3/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp:205:18: error: 'malloc_trim' was not declared in this scope malloc_trim(0); ^ Source/WebCore/CMakeFiles/WebCore.dir/build.make:60331: recipe for target 'Source/WebCore/CMakeFiles/WebCore.dir/platform/linux/MemoryPressureHandlerLinux.cpp.o' failed make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/platform/linux/MemoryPressureHandlerLinux.cpp.o] Error 1 CMakeFiles/Makefile2:642: recipe for target 'Source/WebCore/CMakeFiles/WebCore.dir/all' failed make[1]: *** [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2
Cheers, Jiri [0] http://blogs.igalia.com/carlosgc/2014/08/01/webkitgtk-2-5-1-good-bye-webkit1/ [1] https://bugzilla.gnome.org/show_bug.cgi?id=728002 [2] https://bugzilla.gnome.org/show_bug.cgi?id=751709 On Tue, Nov 03, 2015 at 09:29:49AM +0100, Natanael Copa wrote:
Copy & paste the following snippet into your terminal to import this patchset into git:
curl -s https://lists.alpinelinux.org/~alpine/aports/patches/1446/mbox | git am -3Learn more about email & git
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
Natanael Copa <ncopa@alpinelinux.org>Instead of adding another webktigtk aport, how about upgrade the existing community/webkitgtk? It provides webkit for both gtk2 and gtk3 from same aport. -ncJiri Horner <laeqten@gmail.com>-- --- Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org Help: alpine-aports+help@lists.alpinelinux.org ------ Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org Help: alpine-aports+help@lists.alpinelinux.org ---
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 <laeqten@gmail.com> +# Maintainer: Jiri Horner <laeqten@gmail.com> +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: alpine-aports+unsubscribe@lists.alpinelinux.org Help: alpine-aports+help@lists.alpinelinux.org ---