webkitgtk: Upgrade to 2.16.1

Fix build with gcc7
Move all patches to webkit folder
Drop patches that were backports or have been upstreamed

(From OE-Core rev: bfbdd1a2069f199be9ba0909dd512469ff17b65e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj
2017-04-21 08:09:12 -07:00
committed by Richard Purdie
parent 2b070ef738
commit 99df0c3470
13 changed files with 32 additions and 235 deletions

View File

@@ -1,185 +0,0 @@
From 20ee11dd188e1538f8cdd17a289dc6f9c63a011e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 17 Apr 2016 12:35:41 -0700
Subject: [PATCH] WebKitMacros: Append to -I and not to -isystem
gcc-6 has now introduced stdlib.h in libstdc++ for better
compliance and its including the C library stdlib.h using
include_next which is sensitive to order of system header
include paths. Its infact better to not tinker with the
system header include paths at all. Since adding /usr/include
to -system is redundant and compiler knows about it moreover
now with gcc6 it interferes with compiler's functioning
and ends up with compile errors e.g.
/usr/include/c++/6.0.0/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
This is also an issue with clang (when using libstdc++ >= 6)
Upstream bug: https://bugs.webkit.org/show_bug.cgi?id=161697
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
---
Source/JavaScriptCore/shell/CMakeLists.txt | 2 +-
Source/WebCore/PlatformGTK.cmake | 6 +++---
Source/WebKit2/PlatformGTK.cmake | 2 +-
Source/cmake/WebKitMacros.cmake | 2 +-
Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt | 2 +-
Tools/ImageDiff/CMakeLists.txt | 2 +-
Tools/MiniBrowser/gtk/CMakeLists.txt | 2 +-
Tools/TestWebKitAPI/PlatformGTK.cmake | 2 +-
Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt | 2 +-
Tools/WebKitTestRunner/CMakeLists.txt | 2 +-
10 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/Source/JavaScriptCore/shell/CMakeLists.txt b/Source/JavaScriptCore/shell/CMakeLists.txt
index 155c797..80fe22b 100644
--- a/Source/JavaScriptCore/shell/CMakeLists.txt
+++ b/Source/JavaScriptCore/shell/CMakeLists.txt
@@ -20,7 +20,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
WEBKIT_WRAP_SOURCELIST(${JSC_SOURCES})
include_directories(./ ${JavaScriptCore_INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
+include_directories(${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
add_executable(jsc ${JSC_SOURCES})
target_link_libraries(jsc ${JSC_LIBRARIES})
diff --git a/Source/WebCore/PlatformGTK.cmake b/Source/WebCore/PlatformGTK.cmake
index 567bd79..1fabea8 100644
--- a/Source/WebCore/PlatformGTK.cmake
+++ b/Source/WebCore/PlatformGTK.cmake
@@ -340,7 +340,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2)
${GTK2_INCLUDE_DIRS}
${GDK2_INCLUDE_DIRS}
)
- target_include_directories(WebCorePlatformGTK2 SYSTEM PRIVATE
+ target_include_directories(WebCorePlatformGTK2 PRIVATE
${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
)
target_link_libraries(WebCorePlatformGTK2
@@ -365,7 +365,7 @@ WEBKIT_SET_EXTRA_COMPILER_FLAGS(WebCorePlatformGTK)
target_include_directories(WebCorePlatformGTK PRIVATE
${WebCore_INCLUDE_DIRECTORIES}
)
-target_include_directories(WebCorePlatformGTK SYSTEM PRIVATE
+target_include_directories(WebCorePlatformGTK PRIVATE
${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
${GTK_INCLUDE_DIRS}
${GDK_INCLUDE_DIRS}
@@ -383,7 +383,7 @@ include_directories(
"${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}"
)
-include_directories(SYSTEM
+include_directories(
${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
)
diff --git a/Source/WebKit2/PlatformGTK.cmake b/Source/WebKit2/PlatformGTK.cmake
index e4805a4..c57df5d 100644
--- a/Source/WebKit2/PlatformGTK.cmake
+++ b/Source/WebKit2/PlatformGTK.cmake
@@ -822,7 +822,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2)
target_include_directories(WebKitPluginProcess2 PRIVATE
${WebKit2CommonIncludeDirectories}
)
- target_include_directories(WebKitPluginProcess2 SYSTEM PRIVATE
+ target_include_directories(WebKitPluginProcess2 PRIVATE
${WebKit2CommonSystemIncludeDirectories}
${GTK2_INCLUDE_DIRS}
${GDK2_INCLUDE_DIRS}
diff --git a/Source/cmake/WebKitMacros.cmake b/Source/cmake/WebKitMacros.cmake
index 043e78e..8b3b642 100644
--- a/Source/cmake/WebKitMacros.cmake
+++ b/Source/cmake/WebKitMacros.cmake
@@ -224,7 +224,7 @@ endmacro()
macro(WEBKIT_FRAMEWORK _target)
include_directories(${${_target}_INCLUDE_DIRECTORIES})
- include_directories(SYSTEM ${${_target}_SYSTEM_INCLUDE_DIRECTORIES})
+ include_directories(${${_target}_SYSTEM_INCLUDE_DIRECTORIES})
add_library(${_target} ${${_target}_LIBRARY_TYPE}
${${_target}_HEADERS}
${${_target}_SOURCES}
diff --git a/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt b/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt
index c431667..6dff244 100644
--- a/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt
+++ b/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt
@@ -42,7 +42,7 @@ set(WebKitTestNetscapePlugin_SYSTEM_INCLUDE_DIRECTORIES
)
include_directories(${WebKitTestNetscapePlugin_INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${WebKitTestNetscapePlugin_SYSTEM_INCLUDE_DIRECTORIES})
+include_directories(${WebKitTestNetscapePlugin_SYSTEM_INCLUDE_DIRECTORIES})
set(WebKitTestNetscapePlugin_LIBRARIES
${X11_LIBRARIES}
diff --git a/Tools/ImageDiff/CMakeLists.txt b/Tools/ImageDiff/CMakeLists.txt
index b15443f..87e03bf 100644
--- a/Tools/ImageDiff/CMakeLists.txt
+++ b/Tools/ImageDiff/CMakeLists.txt
@@ -14,6 +14,6 @@ set(IMAGE_DIFF_LIBRARIES
WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
include_directories(${IMAGE_DIFF_INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${IMAGE_DIFF_SYSTEM_INCLUDE_DIRECTORIES})
+include_directories(${IMAGE_DIFF_SYSTEM_INCLUDE_DIRECTORIES})
add_executable(ImageDiff ${IMAGE_DIFF_SOURCES})
target_link_libraries(ImageDiff ${IMAGE_DIFF_LIBRARIES})
diff --git a/Tools/MiniBrowser/gtk/CMakeLists.txt b/Tools/MiniBrowser/gtk/CMakeLists.txt
index 0704bc6..619e5a5 100644
--- a/Tools/MiniBrowser/gtk/CMakeLists.txt
+++ b/Tools/MiniBrowser/gtk/CMakeLists.txt
@@ -58,7 +58,7 @@ endif ()
add_definitions(-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6)
include_directories(${MiniBrowser_INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${MiniBrowser_SYSTEM_INCLUDE_DIRECTORIES})
+include_directories(${MiniBrowser_SYSTEM_INCLUDE_DIRECTORIES})
add_executable(MiniBrowser ${MiniBrowser_SOURCES})
target_link_libraries(MiniBrowser ${MiniBrowser_LIBRARIES})
diff --git a/Tools/TestWebKitAPI/PlatformGTK.cmake b/Tools/TestWebKitAPI/PlatformGTK.cmake
index 7552cc2..2eb44d5 100644
--- a/Tools/TestWebKitAPI/PlatformGTK.cmake
+++ b/Tools/TestWebKitAPI/PlatformGTK.cmake
@@ -20,7 +20,7 @@ include_directories(
${WEBKIT2_DIR}/UIProcess/API/gtk
)
-include_directories(SYSTEM
+include_directories(
${GDK3_INCLUDE_DIRS}
${GLIB_INCLUDE_DIRS}
${GTK3_INCLUDE_DIRS}
diff --git a/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt b/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt
index b0b4739..434e4ca 100644
--- a/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt
+++ b/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt
@@ -23,7 +23,7 @@ include_directories(
${TOOLS_DIR}/TestWebKitAPI/gtk/WebKit2Gtk
)
-include_directories(SYSTEM
+include_directories(
${ATSPI_INCLUDE_DIRS}
${GLIB_INCLUDE_DIRS}
${GSTREAMER_INCLUDE_DIRS}
diff --git a/Tools/WebKitTestRunner/CMakeLists.txt b/Tools/WebKitTestRunner/CMakeLists.txt
index 7db90f2..a4f917f 100644
--- a/Tools/WebKitTestRunner/CMakeLists.txt
+++ b/Tools/WebKitTestRunner/CMakeLists.txt
@@ -116,7 +116,7 @@ GENERATE_BINDINGS(WebKitTestRunner_SOURCES
WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
include_directories(${WebKitTestRunner_INCLUDE_DIRECTORIES})
-include_directories(SYSTEM ${WebKitTestRunner_SYSTEM_INCLUDE_DIRECTORIES})
+include_directories(${WebKitTestRunner_SYSTEM_INCLUDE_DIRECTORIES})
add_library(TestRunnerInjectedBundle SHARED ${WebKitTestRunnerInjectedBundle_SOURCES})
target_link_libraries(TestRunnerInjectedBundle ${WebKitTestRunner_LIBRARIES})
--
2.9.3

View File

@@ -1,38 +0,0 @@
Sourced from https://bugs.webkit.org/show_bug.cgi?id=161900
on arm fixes
| /usr/src/debug/libgcc/6.2.0-r0/gcc-6.2.0/build.arm-oe-linux-gnueabi.arm-oe-linux-gnueabi/libgcc/../../../../../../../work-shared/gcc-6.2.0-r0/gcc-6.2.0/libgcc/config/arm/linux-atomic-64bit.c:117: multiple definition of `__sync_sub_and_fetch_8'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Backport
diff --git a/Source/WTF/wtf/CMakeLists.txt b/Source/WTF/wtf/CMakeLists.txt
index 867999e..ea69322 100644
--- a/Source/WTF/wtf/CMakeLists.txt
+++ b/Source/WTF/wtf/CMakeLists.txt
@@ -171,7 +171,6 @@ set(WTF_HEADERS
set(WTF_SOURCES
Assertions.cpp
- Atomics.cpp
BitVector.cpp
CompilationThread.cpp
CrossThreadCopier.cpp
@@ -276,6 +275,15 @@ if (NOT USE_SYSTEM_MALLOC)
list(APPEND WTF_LIBRARIES bmalloc)
endif ()
+file(WRITE ${CMAKE_BINARY_DIR}/test_atomics.cpp
+ "int main(void)\n"
+ "{ long long x = 1; return (int) __sync_add_and_fetch_8(&x, 1); }\n")
+try_compile(ATOMICS_BUILD_SUCCEEDED ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/test_atomics.cpp)
+if (NOT ATOMICS_BUILD_SUCCEEDED)
+ list(APPEND WTF_SOURCES Atomics.cpp)
+endif ()
+file(REMOVE ${CMAKE_BINARY_DIR}/test_atomics.cpp)
+
list(APPEND WTF_SOURCES
unicode/icu/CollatorICU.cpp
)

View File

@@ -0,0 +1,23 @@
Imported from
https://src.fedoraproject.org/cgit/rpms/webkitgtk4.git/plain/gcc7.patch
Add to CXX flags since webkitgtk uses c++ compiler by default
Fixes
Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h:119:67: error: no matching function for call to 'JSC::JSGenericTypedArrayView<Adaptor>::vector() const'
| return bitwise_cast<const typename Adaptor::Type*>(vector());
Signed-off-by: Khem Raj <raj.khem@gmail.com
Upstream-Status: Pending
diff -up webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake.gcc7 webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake
--- webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake.gcc7 2017-02-21 09:57:13.168916004 +0100
+++ webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake 2017-02-21 09:58:12.811563156 +0100
@@ -41,6 +41,8 @@ if (COMPILER_IS_GCC_OR_CLANG)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -fno-strict-aliasing")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing -fno-rtti")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-expansion-to-defined")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-expansion-to-defined")
endif ()
if (COMPILER_IS_CLANG AND CMAKE_GENERATOR STREQUAL "Ninja")

View File

@@ -3,11 +3,11 @@ Subject: Fix FTBFS in x32
Bug-Debian: https://bugs.debian.org/700795
Upstream-Status: Pending
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Index: webkitgtk/Source/WTF/wtf/Platform.h
Index: webkitgtk-2.16.1/Source/WTF/wtf/Platform.h
===================================================================
--- webkitgtk.orig/Source/WTF/wtf/Platform.h
+++ webkitgtk/Source/WTF/wtf/Platform.h
@@ -182,8 +182,12 @@
--- webkitgtk-2.16.1.orig/Source/WTF/wtf/Platform.h
+++ webkitgtk-2.16.1/Source/WTF/wtf/Platform.h
@@ -172,7 +172,11 @@
/* CPU(X86_64) - AMD64 / Intel64 / x86_64 64-bit */
#if defined(__x86_64__) \
|| defined(_M_X64)
@@ -15,8 +15,7 @@ Index: webkitgtk/Source/WTF/wtf/Platform.h
+#define WTF_CPU_X86_64_32 1
+#else
#define WTF_CPU_X86_64 1
#endif
+#endif
#define WTF_CPU_X86_SSE2 1
#endif
/* CPU(ARM64) - Apple */
#if (defined(__arm64__) && defined(__APPLE__)) || defined(__aarch64__)

View File

@@ -17,14 +17,12 @@ SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
file://ppc-musl-fix.patch \
file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \
file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \
file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \
file://detect_atomics.patch \
file://x32_support.patch \
file://cross-compile.patch \
file://gcc7.patch \
"
SRC_URI[md5sum] = "7fe3cb2699e64f969b285823c5ae2516"
SRC_URI[sha256sum] = "3ca8f1c33a9b43d6c753dcac1c0788656930e06382b10fdf5c2805ea8f96369f"
SRC_URI[md5sum] = "d3bcf995a667fd9febb9ab991acf0ca7"
SRC_URI[sha256sum] = "eb92383232328ce655b703c64370ed3795662479719ad1b4a869ed46769d2945"
inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc