[gtk-osx: 5/7] Add webkit1gtk3 module for WebKit 2.4.8



commit fdef6d1759d43744bbe91f273183ca3ac875c77a
Author: Philip Chimento <philip chimento gmail com>
Date:   Wed Jan 21 22:38:23 2015 -0800

    Add webkit1gtk3 module for WebKit 2.4.8
    
    The "webkit1gtk3" module is the last version of WebKitGTK that still
    includes the WebKit 1 API. It's built for GTK 3.
    
    The 2.4.x branch will continue to receive stable releases, so this module
    should track it.

 modulesets-stable/gtk-osx-unsupported.modules    |   35 ++++++++++++++++++++++
 modulesets-unstable/gtk-osx-unsupported.modules  |   35 ++++++++++++++++++++++
 modulesets/gtk-osx-unsupported.modules           |   35 ++++++++++++++++++++++
 patches/patch status                             |   11 +++++++
 patches/webkit-126324-clang-check.patch          |   33 ++++++++++++++++++++
 patches/webkit-126433-check-platform-gtk.patch   |   16 ++++++++++
 patches/webkit-133293-cfi-clang-failure.patch    |   21 +++++++++++++
 patches/webkit-140167-disable-netscape-api.patch |   12 +++++++
 8 files changed, 198 insertions(+), 0 deletions(-)
---
diff --git a/modulesets-stable/gtk-osx-unsupported.modules b/modulesets-stable/gtk-osx-unsupported.modules
index 1f516d5..3baa4d6 100644
--- a/modulesets-stable/gtk-osx-unsupported.modules
+++ b/modulesets-stable/gtk-osx-unsupported.modules
@@ -213,4 +213,39 @@
       <dep package="meta-gstreamer-1.0"/>
     </after>
   </autotools>
+
+  <!-- This is WebKitGTK 2.4.x, the last version that had the WebKit1 API.
+    disable-webkit2: Requires both GTK2 and 3. Currently not supported.
+    disable-credential-storage: Requires libsecret. No module for this yet.
+    disable-geolocation: Requires geoclue 1 or 2. No module for this yet.
+    disable-video, disable-web-audio: Requires gstreamer. If you want video and
+      audio, add this to your .jhbuildrc:
+      append_autogenargs('WebKit', '&#45;-enable-video')
+      append_autogenargs('WebKit', '&#45;-enable-web-audio')
+    -j1: Workaround for https://bugs.webkit.org/show_bug.cgi?id=140171
+  -->
+  <autotools id="webkit1gtk3" autogen-sh="autoreconf" makeargs="-j1"
+             autogenargs="--enable-quartz-target --with-gtk=3.0 --disable-webkit2 
--disable-credential-storage --disable-geolocation --disable-video --disable-web-audio 
CXXFLAGS='-std=gnu++11'">
+    <branch repo="webkit.org" module="webkitgtk-2.4.8.tar.xz" version="2.4.8">
+      <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/webkit-126324-clang-check.patch";
+             strip="1"/>
+      <patch 
file="http://git.gnome.org/browse/gtk-osx/plain/patches/webkit-140167-disable-netscape-api.patch";
+             strip="1"/>
+      <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/webkit-133293-cfi-clang-failure.patch";
+             strip="1"/>
+      <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/webkit-126433-check-platform-gtk.patch";
+             strip="1"/>
+    </branch>
+    <dependencies>
+      <dep package="libwebp"/>
+      <dep package="enchant"/>
+      <dep package="icu"/>
+      <dep package="libsoup"/>
+      <dep package="meta-gtk-osx-freetype"/>
+    </dependencies>
+    <after>
+      <dep package="meta-gtk-osx-gtk3"/>
+      <dep package="meta-gstreamer-1.0"/>
+    </after>
+  </autotools>
 </moduleset>
diff --git a/modulesets-unstable/gtk-osx-unsupported.modules b/modulesets-unstable/gtk-osx-unsupported.modules
index c7309f4..783770f 100644
--- a/modulesets-unstable/gtk-osx-unsupported.modules
+++ b/modulesets-unstable/gtk-osx-unsupported.modules
@@ -201,6 +201,41 @@
     </after>
   </autotools>
 
+  <!-- This is WebKitGTK 2.4.x, the last version that had the WebKit1 API.
+    disable-webkit2: Requires both GTK2 and 3. Currently not supported.
+    disable-credential-storage: Requires libsecret. No module for this yet.
+    disable-geolocation: Requires geoclue 1 or 2. No module for this yet.
+    disable-video, disable-web-audio: Requires gstreamer. If you want video and
+      audio, add this to your .jhbuildrc:
+      append_autogenargs('WebKit', '&#45;-enable-video')
+      append_autogenargs('WebKit', '&#45;-enable-web-audio')
+    -j1: Workaround for https://bugs.webkit.org/show_bug.cgi?id=140171
+  -->
+  <autotools id="webkit1gtk3" autogen-sh="autoreconf" makeargs="-j1"
+             autogenargs="--enable-quartz-target --with-gtk=3.0 --disable-webkit2 
--disable-credential-storage --disable-geolocation --disable-video --disable-web-audio 
CXXFLAGS='-std=gnu++11'">
+    <branch repo="webkit.org" module="webkitgtk-2.4.8.tar.xz" version="2.4.8">
+      <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/webkit-126324-clang-check.patch";
+             strip="1"/>
+      <patch 
file="http://git.gnome.org/browse/gtk-osx/plain/patches/webkit-140167-disable-netscape-api.patch";
+             strip="1"/>
+      <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/webkit-133293-cfi-clang-failure.patch";
+             strip="1"/>
+      <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/webkit-126433-check-platform-gtk.patch";
+             strip="1"/>
+    </branch>
+    <dependencies>
+      <dep package="libwebp"/>
+      <dep package="enchant"/>
+      <dep package="icu"/>
+      <dep package="libsoup"/>
+      <dep package="meta-gtk-osx-freetype"/>
+    </dependencies>
+    <after>
+      <dep package="meta-gtk-osx-gtk3"/>
+      <dep package="meta-gstreamer-1.0"/>
+    </after>
+  </autotools>
+
   <autotools id="WebKit-git"
             autogenargs="--enable-quartz-target --disable-x11-target --disable-video 
--with-font-backend=pango --with-gtk=2.0 --disable-geolocation --disable-webkit2 --disable-credential-storage 
--disable-svg-fonts --disable-web-audio --disable-fast-malloc --disable-gtk-doc-html">
     <!--branch repo="svn.webkit.org" module="webkit/trunk" checkoutdir="WebKit-svn"/-->
diff --git a/modulesets/gtk-osx-unsupported.modules b/modulesets/gtk-osx-unsupported.modules
index 75bc759..b7dc092 100644
--- a/modulesets/gtk-osx-unsupported.modules
+++ b/modulesets/gtk-osx-unsupported.modules
@@ -207,4 +207,39 @@
       <dep package="meta-gstreamer-1.0"/>
     </after>
   </autotools>
+
+  <!-- This is WebKitGTK 2.4.x, the last version that had the WebKit1 API.
+    disable-webkit2: Requires both GTK2 and 3. Currently not supported.
+    disable-credential-storage: Requires libsecret. No module for this yet.
+    disable-geolocation: Requires geoclue 1 or 2. No module for this yet.
+    disable-video, disable-web-audio: Requires gstreamer. If you want video and
+      audio, add this to your .jhbuildrc:
+      append_autogenargs('WebKit', '&#45;-enable-video')
+      append_autogenargs('WebKit', '&#45;-enable-web-audio')
+    -j1: Workaround for https://bugs.webkit.org/show_bug.cgi?id=140171
+  -->
+  <autotools id="webkit1gtk3" autogen-sh="autoreconf" makeargs="-j1"
+             autogenargs="--enable-quartz-target --with-gtk=3.0 --disable-webkit2 
--disable-credential-storage --disable-geolocation --disable-video --disable-web-audio 
CXXFLAGS='-std=gnu++11'">
+    <branch repo="webkit.org" module="webkitgtk-2.4.8.tar.xz" version="2.4.8">
+      <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/webkit-126324-clang-check.patch";
+             strip="1"/>
+      <patch 
file="http://git.gnome.org/browse/gtk-osx/plain/patches/webkit-140167-disable-netscape-api.patch";
+             strip="1"/>
+      <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/webkit-133293-cfi-clang-failure.patch";
+             strip="1"/>
+      <patch file="http://git.gnome.org/browse/gtk-osx/plain/patches/webkit-126433-check-platform-gtk.patch";
+             strip="1"/>
+    </branch>
+    <dependencies>
+      <dep package="libwebp"/>
+      <dep package="enchant"/>
+      <dep package="icu"/>
+      <dep package="libsoup"/>
+      <dep package="meta-gtk-osx-freetype"/>
+    </dependencies>
+    <after>
+      <dep package="meta-gtk-osx-gtk3"/>
+      <dep package="meta-gstreamer-1.0"/>
+    </after>
+  </autotools>
 </moduleset>
diff --git a/patches/patch status b/patches/patch status
index 28888e5..81d9038 100644
--- a/patches/patch status      
+++ b/patches/patch status      
@@ -39,6 +39,17 @@ Webkit:              webkit-1.10-no-x11.patch
                        See also https://bugs.webkit.org/show_bug.cgi?id=58737
                webkit-1.10-pango-includes.patch
 
+webkit1gtk:    webkit-126324-clang-check.patch
+                       https://bugs.webkit.org/show_bug.cgi?id=126324
+               webkit-140167-disable-netscape-api.patch
+                       There's no configure option to disable this. Work around by
+                       modifying the variable directly.
+                       https://bugs.webkit.org/show_bug.cgi?id=140167
+               webkit-133293-cfi-clang-failure.patch
+                       Workaround for https://bugs.webkit.org/show_bug.cgi?id=133293
+               webkit-126433-check-platform-gtk.patch
+                       https://bugs.webkit.org/show_bug.cgi?id=126433
+
 GConf:         GConf-characters.patch Bug 161209. Unlikely ever to be fixed.
 
 Glade:         Glade-3-8-Bug-663492-Update-Mac-integration-bindings-to-.patch
diff --git a/patches/webkit-126324-clang-check.patch b/patches/webkit-126324-clang-check.patch
new file mode 100644
index 0000000..ef3be0e
--- /dev/null
+++ b/patches/webkit-126324-clang-check.patch
@@ -0,0 +1,33 @@
+diff --git a/Source/autotools/CheckSystemAndBasicDependencies.m4 
b/Source/autotools/CheckSystemAndBasicDependencies.m4
+--- a/Source/autotools/CheckSystemAndBasicDependencies.m4   (revision 174258)
++++ b/Source/autotools/CheckSystemAndBasicDependencies.m4   (working copy)
+@@ -87,12 +87,12 @@
+ 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 @@
+ 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/patches/webkit-126433-check-platform-gtk.patch b/patches/webkit-126433-check-platform-gtk.patch
new file mode 100644
index 0000000..68493be
--- /dev/null
+++ b/patches/webkit-126433-check-platform-gtk.patch
@@ -0,0 +1,16 @@
+Index: Source/JavaScriptCore/API/WebKitAvailability.h
+===================================================================
+diff --git a/JavaScriptCore/API/WebKitAvailability.h b/Source/JavaScriptCore/API/WebKitAvailability.h
+--- a/Source/JavaScriptCore/API/WebKitAvailability.h   (revision 174258)
++++ b/Source/JavaScriptCore/API/WebKitAvailability.h   (working copy)
+@@ -26,7 +26,9 @@
+ #ifndef __WebKitAvailability__
+ #define __WebKitAvailability__
+ 
+-#ifdef __APPLE__
++#include <wtf/Platform.h>
++
++#if defined(__APPLE__) && !PLATFORM(GTK)
+ #include <AvailabilityMacros.h>
+ #include <CoreFoundation/CoreFoundation.h>
+ #else
diff --git a/patches/webkit-133293-cfi-clang-failure.patch b/patches/webkit-133293-cfi-clang-failure.patch
new file mode 100644
index 0000000..649f276
--- /dev/null
+++ b/patches/webkit-133293-cfi-clang-failure.patch
@@ -0,0 +1,21 @@
+diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp 
b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
+--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp   (revision 174258)
++++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp   (working copy)
+@@ -522,7 +522,7 @@
+ //
+ 
+ // These are for building an interpreter from generated assembly code:
+-#if CPU(X86_64) && COMPILER(CLANG)
++#if 0
+ #define OFFLINE_ASM_BEGIN   asm ( \
+     ".cfi_startproc\n"
+ 
+@@ -545,7 +545,7 @@
+     ".thumb\n"                                   \
+     ".thumb_func " THUMB_FUNC_PARAM(label) "\n"  \
+     SYMBOL_STRING(label) ":\n"
+-#elif CPU(X86_64) && COMPILER(CLANG)
++#elif 0
+ #define OFFLINE_ASM_GLOBAL_LABEL(label)         \
+     ".text\n"                                   \
+     ".globl " SYMBOL_STRING(label) "\n"         \
diff --git a/patches/webkit-140167-disable-netscape-api.patch 
b/patches/webkit-140167-disable-netscape-api.patch
new file mode 100644
index 0000000..080b05e
--- /dev/null
+++ b/patches/webkit-140167-disable-netscape-api.patch
@@ -0,0 +1,12 @@
+diff --git a/Source/autotools/SetupWebKitFeatures.m4 b/Source/autotools/SetupWebKitFeatures.m4
+--- a/Source/autotools/SetupWebKitFeatures.m4   (revision 174258)
++++ b/Source/autotools/SetupWebKitFeatures.m4   (working copy)
+@@ -146,7 +146,7 @@
+     ENABLE_MHTML=1 \
+     ENABLE_MOUSE_CURSOR_SCALE=0 \
+     ENABLE_NAVIGATOR_CONTENT_UTILS=0 \
+-    ENABLE_NETSCAPE_PLUGIN_API=1 \
++    ENABLE_NETSCAPE_PLUGIN_API=0 \
+     ENABLE_NETWORK_INFO=0 \
+     ENABLE_NOTIFICATIONS=0 \
+     ENABLE_ORIENTATION_EVENTS=0 \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]