From 268f66fe0e2eddf543fda26c50ef3123c5ef6b1a Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 11 May 2016 10:35:11 -0700 Subject: webkitgtk: Upgrade to 2.12.1 Fix build with gcc-6 Do not tinker with -isystem, this causes issues where gcc does not find standard C++ headers since the default search ordered for system headers is changed and is not correct anymore. Errorr like WebCore/editing/gtk/EditorGtk.cpp:27: /mnt/oe/poky/build/tmp/sysroots/qemuarm/usr/include/c++/6.0.1/cstdlib:75:25: fatal error: stdlib.h: No such file or directory #include_next It brings a patch to fix typename mismatch for pow() see https://bugs.webkit.org/show_bug.cgi?id=153071 Drop upstreamed patches User -fPIC on aarch64 to fix relocation truncated to fit: R_AARCH64_LD64_GOTPAGE_LO15 against symbol `__stack_chk_guard@@GLIBC_2.17' defined in .data.rel.ro section (From OE-Core rev: 0a6e162c47017ecf51b466218fb549e0e199f4c4) Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- ...cmake-drop-the-hardcoded-introspection-gt.patch | 19 +- ...bKitMacros-Append-to-I-and-not-to-isystem.patch | 223 +++++++++++++++++++++ ...ng-introspection-files-add-CMAKE_C_FLAGS-.patch | 19 +- meta/recipes-sato/webkit/files/musl-fixes.patch | 48 +++++ ...nable-backtrace-on-linux-when-using-glibc.patch | 39 ---- ...x-build-with-non-glibc-libraries-on-linux.patch | 61 ------ meta/recipes-sato/webkit/webkitgtk/clang.patch | 25 --- meta/recipes-sato/webkit/webkitgtk_2.10.7.bb | 87 -------- meta/recipes-sato/webkit/webkitgtk_2.12.1.bb | 89 ++++++++ 9 files changed, 376 insertions(+), 234 deletions(-) create mode 100644 meta/recipes-sato/webkit/files/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch create mode 100644 meta/recipes-sato/webkit/files/musl-fixes.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk/clang.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk_2.10.7.bb create mode 100644 meta/recipes-sato/webkit/webkitgtk_2.12.1.bb (limited to 'meta/recipes-sato') diff --git a/meta/recipes-sato/webkit/files/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch b/meta/recipes-sato/webkit/files/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch index 3d004db29c..93a69c0292 100644 --- a/meta/recipes-sato/webkit/files/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch +++ b/meta/recipes-sato/webkit/files/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch @@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin Source/cmake/OptionsGTK.cmake | 6 ------ 1 file changed, 6 deletions(-) -diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake -index e5f1f5b..4698036 100644 ---- a/Source/cmake/OptionsGTK.cmake -+++ b/Source/cmake/OptionsGTK.cmake -@@ -443,12 +443,6 @@ if (USE_LIBHYPHEN) +Index: webkitgtk-2.12.1/Source/cmake/OptionsGTK.cmake +=================================================================== +--- webkitgtk-2.12.1.orig/Source/cmake/OptionsGTK.cmake ++++ webkitgtk-2.12.1/Source/cmake/OptionsGTK.cmake +@@ -424,12 +424,6 @@ if (USE_LIBHYPHEN) endif () endif () @@ -27,9 +27,6 @@ index e5f1f5b..4698036 100644 - set(ENABLE_INTROSPECTION OFF) -endif () - - set(DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR ${DERIVED_SOURCES_DIR}/webkitdom) - set(DERIVED_SOURCES_WEBKITGTK_DIR ${DERIVED_SOURCES_DIR}/webkitgtk) - set(DERIVED_SOURCES_WEBKITGTK_API_DIR ${DERIVED_SOURCES_WEBKITGTK_DIR}/webkit) --- -2.7.0 - + # Override the cached variable, gtk-doc does not really work when building on Mac. + if (APPLE) + set(ENABLE_GTKDOC OFF) diff --git a/meta/recipes-sato/webkit/files/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch b/meta/recipes-sato/webkit/files/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch new file mode 100644 index 0000000000..25b3c9f243 --- /dev/null +++ b/meta/recipes-sato/webkit/files/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch @@ -0,0 +1,223 @@ +From 53a00058184cd710c6f4375f4daab49d7e885a30 Mon Sep 17 00:00:00 2001 +From: Khem Raj +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 + +Signed-off-by: Khem Raj +--- +Upstream-Status: Pending + + Source/cmake/WebKitMacros.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: webkitgtk-2.12.1/Source/JavaScriptCore/CMakeLists.txt +=================================================================== +--- webkitgtk-2.12.1.orig/Source/JavaScriptCore/CMakeLists.txt ++++ webkitgtk-2.12.1/Source/JavaScriptCore/CMakeLists.txt +@@ -1311,7 +1311,7 @@ add_subdirectory(shell) + + WEBKIT_WRAP_SOURCELIST(${JavaScriptCore_SOURCES}) + include_directories(${JavaScriptCore_INCLUDE_DIRECTORIES}) +-include_directories(SYSTEM ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES}) ++include_directories(${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES}) + add_library(JavaScriptCore ${JavaScriptCore_LIBRARY_TYPE} ${JavaScriptCore_HEADERS} ${JavaScriptCore_SOURCES}) + target_link_libraries(JavaScriptCore ${JavaScriptCore_LIBRARIES}) + set_target_properties(JavaScriptCore PROPERTIES COMPILE_DEFINITIONS "BUILDING_JavaScriptCore") +Index: webkitgtk-2.12.1/Source/WTF/wtf/CMakeLists.txt +=================================================================== +--- webkitgtk-2.12.1.orig/Source/WTF/wtf/CMakeLists.txt ++++ webkitgtk-2.12.1/Source/WTF/wtf/CMakeLists.txt +@@ -286,7 +286,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() + + WEBKIT_WRAP_SOURCELIST(${WTF_SOURCES}) + include_directories(${WTF_INCLUDE_DIRECTORIES}) +-include_directories(SYSTEM ${WTF_SYSTEM_INCLUDE_DIRECTORIES}) ++include_directories(${WTF_SYSTEM_INCLUDE_DIRECTORIES}) + add_library(WTF ${WTF_LIBRARY_TYPE} ${WTF_HEADERS} ${WTF_SOURCES}) + target_link_libraries(WTF ${WTF_LIBRARIES}) + set_target_properties(WTF PROPERTIES COMPILE_DEFINITIONS "BUILDING_WTF") +Index: webkitgtk-2.12.1/Source/WebCore/CMakeLists.txt +=================================================================== +--- webkitgtk-2.12.1.orig/Source/WebCore/CMakeLists.txt ++++ webkitgtk-2.12.1/Source/WebCore/CMakeLists.txt +@@ -3748,7 +3748,7 @@ WEBKIT_WRAP_SOURCELIST(${WebCore_IDL_FIL + WEBKIT_WRAP_SOURCELIST(${WebCoreTestSupport_IDL_FILES} ${WebCoreTestSupport_SOURCES}) + + include_directories(${WebCore_INCLUDE_DIRECTORIES} ${WebCoreTestSupport_INCLUDE_DIRECTORIES}) +-include_directories(SYSTEM ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}) ++include_directories(${WebCore_SYSTEM_INCLUDE_DIRECTORIES}) + + if (MSVC) + ADD_PRECOMPILED_HEADER("WebCorePrefix.h" "WebCorePrefix.cpp" WebCore_SOURCES) +Index: webkitgtk-2.12.1/Source/WebKit/CMakeLists.txt +=================================================================== +--- webkitgtk-2.12.1.orig/Source/WebKit/CMakeLists.txt ++++ webkitgtk-2.12.1/Source/WebKit/CMakeLists.txt +@@ -28,7 +28,7 @@ set(WebKit_LIBRARIES + WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() + + include_directories(${WebKit_INCLUDE_DIRECTORIES}) +-include_directories(SYSTEM ${WebKit_SYSTEM_INCLUDE_DIRECTORIES}) ++include_directories(${WebKit_SYSTEM_INCLUDE_DIRECTORIES}) + + if (MSVC) + ADD_PRECOMPILED_HEADER("WebKitPrefix.h" "win/WebKitPrefix.cpp" WebKit_SOURCES) +Index: webkitgtk-2.12.1/Source/WebKit2/CMakeLists.txt +=================================================================== +--- webkitgtk-2.12.1.orig/Source/WebKit2/CMakeLists.txt ++++ webkitgtk-2.12.1/Source/WebKit2/CMakeLists.txt +@@ -756,7 +756,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() + GENERATE_WEBKIT2_MESSAGE_SOURCES(WebKit2_DERIVED_SOURCES "${WebKit2_MESSAGES_IN_FILES}") + + include_directories(${WebKit2_INCLUDE_DIRECTORIES}) +-include_directories(SYSTEM ${WebKit2_SYSTEM_INCLUDE_DIRECTORIES}) ++include_directories(${WebKit2_SYSTEM_INCLUDE_DIRECTORIES}) + add_library(WebKit2 ${WebKit2_LIBRARY_TYPE} ${WebKit2_SOURCES} ${WebKit2_DERIVED_SOURCES}) + + add_dependencies(WebKit2 WebCore ${WEBKIT2_EXTRA_DEPENDENCIES}) +Index: webkitgtk-2.12.1/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt +=================================================================== +--- webkitgtk-2.12.1.orig/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt ++++ webkitgtk-2.12.1/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt +@@ -42,7 +42,7 @@ set(WebKitTestNetscapePlugin_SYSTEM_INCL + ) + + include_directories(${WebKitTestNetscapePlugin_INCLUDE_DIRECTORIES}) +-include_directories(SYSTEM ${WebKitTestNetscapePlugin_SYSTEM_INCLUDE_DIRECTORIES}) ++include_directories(${WebKitTestNetscapePlugin_SYSTEM_INCLUDE_DIRECTORIES}) + + set(WebKitTestNetscapePlugin_LIBRARIES + ${X11_LIBRARIES} +Index: webkitgtk-2.12.1/Tools/ImageDiff/CMakeLists.txt +=================================================================== +--- webkitgtk-2.12.1.orig/Tools/ImageDiff/CMakeLists.txt ++++ webkitgtk-2.12.1/Tools/ImageDiff/CMakeLists.txt +@@ -14,7 +14,7 @@ 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}) + set_target_properties(ImageDiff PROPERTIES FOLDER "Tools") +Index: webkitgtk-2.12.1/Tools/MiniBrowser/gtk/CMakeLists.txt +=================================================================== +--- webkitgtk-2.12.1.orig/Tools/MiniBrowser/gtk/CMakeLists.txt ++++ webkitgtk-2.12.1/Tools/MiniBrowser/gtk/CMakeLists.txt +@@ -55,7 +55,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}) + set_target_properties(MiniBrowser PROPERTIES FOLDER "Tools") +Index: webkitgtk-2.12.1/Tools/WebKitTestRunner/CMakeLists.txt +=================================================================== +--- webkitgtk-2.12.1.orig/Tools/WebKitTestRunner/CMakeLists.txt ++++ webkitgtk-2.12.1/Tools/WebKitTestRunner/CMakeLists.txt +@@ -115,7 +115,7 @@ GENERATE_BINDINGS(WebKitTestRunner_SOURC + 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}) +Index: webkitgtk-2.12.1/Source/WebCore/PlatformGTK.cmake +=================================================================== +--- webkitgtk-2.12.1.orig/Source/WebCore/PlatformGTK.cmake ++++ webkitgtk-2.12.1/Source/WebCore/PlatformGTK.cmake +@@ -324,7 +324,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 +@@ -366,7 +366,7 @@ WEBKIT_SET_EXTRA_COMPILER_FLAGS(WebCoreP + 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} +@@ -384,7 +384,7 @@ include_directories( + "${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}" + ) + +-include_directories(SYSTEM ++include_directories( + ${WebCore_SYSTEM_INCLUDE_DIRECTORIES} + ) + +Index: webkitgtk-2.12.1/Tools/TestWebKitAPI/PlatformGTK.cmake +=================================================================== +--- webkitgtk-2.12.1.orig/Tools/TestWebKitAPI/PlatformGTK.cmake ++++ webkitgtk-2.12.1/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} +Index: webkitgtk-2.12.1/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt +=================================================================== +--- webkitgtk-2.12.1.orig/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt ++++ webkitgtk-2.12.1/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} +Index: webkitgtk-2.12.1/Source/WebKit2/PlatformGTK.cmake +=================================================================== +--- webkitgtk-2.12.1.orig/Source/WebKit2/PlatformGTK.cmake ++++ webkitgtk-2.12.1/Source/WebKit2/PlatformGTK.cmake +@@ -816,7 +816,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} +Index: webkitgtk-2.12.1/Source/JavaScriptCore/shell/CMakeLists.txt +=================================================================== +--- webkitgtk-2.12.1.orig/Source/JavaScriptCore/shell/CMakeLists.txt ++++ webkitgtk-2.12.1/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}) + set_target_properties(jsc PROPERTIES FOLDER "JavaScriptCore") diff --git a/meta/recipes-sato/webkit/files/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch b/meta/recipes-sato/webkit/files/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch index 44b43cdbba..3f71297f50 100644 --- a/meta/recipes-sato/webkit/files/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch +++ b/meta/recipes-sato/webkit/files/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch @@ -13,28 +13,25 @@ Signed-off-by: Alexander Kanavin Source/WebKit2/PlatformGTK.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/Source/WebKit2/PlatformGTK.cmake b/Source/WebKit2/PlatformGTK.cmake -index 706f1e8..14a1c3b 100644 ---- a/Source/WebKit2/PlatformGTK.cmake -+++ b/Source/WebKit2/PlatformGTK.cmake -@@ -884,7 +884,7 @@ add_custom_command( +Index: webkitgtk-2.12.1/Source/WebKit2/PlatformGTK.cmake +=================================================================== +--- webkitgtk-2.12.1.orig/Source/WebKit2/PlatformGTK.cmake ++++ webkitgtk-2.12.1/Source/WebKit2/PlatformGTK.cmake +@@ -910,7 +910,7 @@ add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir DEPENDS WebKit2 DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir - COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS= + COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS= - LD_LIBRARY_PATH="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" + ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" ${INTROSPECTION_SCANNER} --quiet -@@ -930,7 +930,7 @@ add_custom_command( +@@ -951,7 +951,7 @@ add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir - COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations + COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}" - LD_LIBRARY_PATH="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" + ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" ${INTROSPECTION_SCANNER} --- -2.6.4 - diff --git a/meta/recipes-sato/webkit/files/musl-fixes.patch b/meta/recipes-sato/webkit/files/musl-fixes.patch new file mode 100644 index 0000000000..4fdd56fea0 --- /dev/null +++ b/meta/recipes-sato/webkit/files/musl-fixes.patch @@ -0,0 +1,48 @@ +Replace __GLIBC__ with __linux__ since musl also supports it +so checking __linux__ is more accomodating + +See http://git.alpinelinux.org/cgit/aports/tree/community/webkit2gtk/musl-fixes.patch?id=219435d86d7e8fac9474344a7431c62bd2525184 + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +Index: webkitgtk-2.12.1/Source/JavaScriptCore/heap/MachineStackMarker.cpp +=================================================================== +--- webkitgtk-2.12.1.orig/Source/JavaScriptCore/heap/MachineStackMarker.cpp ++++ webkitgtk-2.12.1/Source/JavaScriptCore/heap/MachineStackMarker.cpp +@@ -566,7 +566,7 @@ void* MachineThreads::Thread::Registers: + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) && ENABLE(JIT) ++#elif defined(__linux__) && ENABLE(JIT) + + #if CPU(X86) + return reinterpret_cast((uintptr_t) regs.machineContext.gregs[REG_ESP]); +@@ -665,7 +665,7 @@ void* MachineThreads::Thread::Registers: + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) // glibc and musl + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +@@ -747,7 +747,7 @@ void* MachineThreads::Thread::Registers: + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) // glibc and musl + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +@@ -838,7 +838,7 @@ void* MachineThreads::Thread::Registers: + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) // glibc and musl + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch deleted file mode 100644 index d7e4ef6263..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0b68ad206d2d90df78d91cad4da19152084014cf Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 16 Sep 2015 05:15:04 +0000 -Subject: [PATCH] Enable backtrace on linux when using glibc - -We dont have backtrace() implemented on non-glibc libc's on linux - -Signed-off-by: Khem Raj ---- -Upstream-Status: Accepted - - Source/WTF/wtf/Assertions.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/WTF/wtf/Assertions.cpp b/Source/WTF/wtf/Assertions.cpp -index 191d53f..a4d86b5 100644 ---- a/Source/WTF/wtf/Assertions.cpp -+++ b/Source/WTF/wtf/Assertions.cpp -@@ -68,7 +68,7 @@ - #include - #endif - --#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__)) -+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__)) - #include - #include - #include -@@ -225,7 +225,7 @@ void WTFReportArgumentAssertionFailure(const char* file, int line, const char* f - - 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) - // The CaptureStackBackTrace function is available in XP, but it is not defined --- -2.5.2 - diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch deleted file mode 100644 index 77ebf37efa..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 30e2ef302a329850ba55c7c458c98cbf396186ec Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 31 Dec 2015 21:47:34 +0000 -Subject: [PATCH] Fix build with non-glibc libraries on linux - -qualify isnan() calls with std namespace -malloc_trim is glibc specific API so guard it with __GLIBC__ -let ctype be used on non-glibc ( musl ) C library - -Signed-off-by: Khem Raj ---- -Upstream-Status: Accepted - - Source/JavaScriptCore/runtime/Options.cpp | 2 +- - Source/WTF/wtf/DisallowCType.h | 2 +- - Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp | 2 ++ - 3 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/Source/JavaScriptCore/runtime/Options.cpp b/Source/JavaScriptCore/runtime/Options.cpp -index fe830b4..c49aade 100644 ---- a/Source/JavaScriptCore/runtime/Options.cpp -+++ b/Source/JavaScriptCore/runtime/Options.cpp -@@ -610,7 +610,7 @@ bool Option::operator==(const Option& other) const - 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: -diff --git a/Source/WTF/wtf/DisallowCType.h b/Source/WTF/wtf/DisallowCType.h -index d85e767..dc6bcab 100644 ---- a/Source/WTF/wtf/DisallowCType.h -+++ b/Source/WTF/wtf/DisallowCType.h -@@ -40,7 +40,7 @@ - // are used from wx headers. On GTK+ for Mac many GTK+ files include - // or , which in turn include 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 - -diff --git a/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp b/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp -index ea61909..1495642 100644 ---- a/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp -+++ b/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp -@@ -202,7 +202,9 @@ void MemoryPressureHandler::respondToMemoryPressure(Critical critical, Synchrono - void MemoryPressureHandler::platformReleaseMemory(Critical) - { - ReliefLogger log("Run malloc_trim"); -+#ifdef __GLIBC__ - malloc_trim(0); -+#endif - } - - void MemoryPressureHandler::ReliefLogger::platformLog() --- -2.6.4 - diff --git a/meta/recipes-sato/webkit/webkitgtk/clang.patch b/meta/recipes-sato/webkit/webkitgtk/clang.patch deleted file mode 100644 index e5267138bf..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/clang.patch +++ /dev/null @@ -1,25 +0,0 @@ -Clang's builtin for clear_cache accepts char* and errors out when using void*, -using char* work on both gcc and clang since char* is auto-converted to void* in gcc case - -Source/JavaScriptCore/assembler/ARM64Assembler.h:2857:33: error: cannot initialize a parameter of type 'char *' with an rvalue of type 'void *' - __builtin___clear_cache(reinterpret_cast(begin), reinterpret_cast(end)); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1 error generated. - -Signed-off-by: Khem Raj - -Upstream-Status: Accepted - -Index: webkitgtk-2.8.5/Source/JavaScriptCore/assembler/ARM64Assembler.h -=================================================================== ---- webkitgtk-2.8.5.orig/Source/JavaScriptCore/assembler/ARM64Assembler.h -+++ webkitgtk-2.8.5/Source/JavaScriptCore/assembler/ARM64Assembler.h -@@ -2854,7 +2854,7 @@ public: - #if OS(LINUX) && COMPILER(GCC) - static inline void linuxPageFlush(uintptr_t begin, uintptr_t end) - { -- __builtin___clear_cache(reinterpret_cast(begin), reinterpret_cast(end)); -+ __builtin___clear_cache(reinterpret_cast(begin), reinterpret_cast(end)); - } - #endif - diff --git a/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb b/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb deleted file mode 100644 index 269ae4b5e0..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb +++ /dev/null @@ -1,87 +0,0 @@ -SUMMARY = "WebKit web rendering engine for the GTK+ platform" -HOMEPAGE = "http://www.webkitgtk.org/" -BUGTRACKER = "http://bugs.webkit.org/" - -LICENSE = "BSD & LGPLv2+" -LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ - file://Source/WebKit/LICENSE;md5=4646f90082c40bcf298c285f8bab0b12 \ - file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ - file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ - file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ - " - -SRC_URI = "\ - http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ - file://clang.patch \ - file://0001-Enable-backtrace-on-linux-when-using-glibc.patch \ - file://0001-Fix-build-with-non-glibc-libraries-on-linux.patch \ - file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ - file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \ - file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \ - " -SRC_URI[md5sum] = "84832b9d8329413b4f1d87df5f7e8efe" -SRC_URI[sha256sum] = "990d62c82ed6dede31a6ff0a82d847f16b812842ff3e1093d17113627652864e" - -inherit cmake lib_package pkgconfig perlnative pythonnative distro_features_check upstream-version-is-even gobject-introspection - -# depends on libxt -REQUIRED_DISTRO_FEATURES = "x11" - -DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn gnutls \ - gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \ - pango icu bison-native gawk intltool-native libwebp \ - atk udev harfbuzz jpeg libpng pulseaudio librsvg libtheora libvorbis libxcomposite libxtst \ - ruby-native libnotify gstreamer1.0-plugins-bad \ - " - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl', '' ,d)} \ - enchant \ - gtk2 \ - libsecret \ - " - -PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland" -PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11" -PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" -PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant" -PACKAGECONFIG[gtk2] = "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_GTK2=OFF,gtk+" -PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" -PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" -PACKAGECONFIG[libsecret] = "-DENABLE_CREDENTIAL_STORAGE=ON,-DENABLE_CREDENTIAL_STORAGE=OFF,libsecret" -PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" - -EXTRA_OECMAKE = " \ - -DPORT=GTK \ - -DCMAKE_BUILD_TYPE=Release \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ - -DENABLE_GTKDOC=OFF \ - -DENABLE_MINIBROWSER=ON \ - " - -# Javascript JIT is not supported on powerpc -EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF " - -# ARM JIT code does not build on ARMv5/6 anymore, apparently they test only on v7 onwards -EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " - -# binutils 2.25.1 has a bug on aarch64: -# https://sourceware.org/bugzilla/show_bug.cgi?id=18430 -EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=OFF " - -# JIT not supported on MIPS either -EXTRA_OECMAKE_append_mips = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_mips64 = " -DENABLE_JIT=OFF " - -FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so" - -# http://errors.yoctoproject.org/Errors/Details/20370/ -ARM_INSTRUCTION_SET = "arm" - -# Invalid data memory access: 0x00000000 -# ... -# qemu: uncaught target signal 11 (Segmentation fault) - core dumped -# Segmentation fault -EXTRA_OECMAKE_append_powerpc = " -DENABLE_INTROSPECTION=OFF " diff --git a/meta/recipes-sato/webkit/webkitgtk_2.12.1.bb b/meta/recipes-sato/webkit/webkitgtk_2.12.1.bb new file mode 100644 index 0000000000..bdbcbeabbf --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk_2.12.1.bb @@ -0,0 +1,89 @@ +SUMMARY = "WebKit web rendering engine for the GTK+ platform" +HOMEPAGE = "http://www.webkitgtk.org/" +BUGTRACKER = "http://bugs.webkit.org/" + +LICENSE = "BSD & LGPLv2+" +LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ + file://Source/WebKit/LICENSE;md5=4646f90082c40bcf298c285f8bab0b12 \ + file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ + file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ + file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ + " + +SRC_URI = "\ + http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ + file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ + file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \ + file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \ + file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \ + file://musl-fixes.patch \ + " +SRC_URI[md5sum] = "adcbee440d81acfb1ead9ada91bd5e79" +SRC_URI[sha256sum] = "5b1a2d5227553f3cecbdb258c68b384f9235747b2c07c15afb555fe4fa6ae896" + +inherit cmake lib_package pkgconfig perlnative pythonnative distro_features_check upstream-version-is-even gobject-introspection + +# depends on libxt +REQUIRED_DISTRO_FEATURES = "x11" + +DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn gnutls \ + gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \ + pango icu bison-native gawk intltool-native libwebp \ + atk udev harfbuzz jpeg libpng pulseaudio librsvg libtheora libvorbis libxcomposite libxtst \ + ruby-native libnotify gstreamer1.0-plugins-bad \ + " + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl', '' ,d)} \ + enchant \ + gtk2 \ + libsecret \ + " + +PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland" +PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11" +PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" +PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant" +PACKAGECONFIG[gtk2] = "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_GTK2=OFF,gtk+" +PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" +PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" +PACKAGECONFIG[libsecret] = "-DENABLE_CREDENTIAL_STORAGE=ON,-DENABLE_CREDENTIAL_STORAGE=OFF,libsecret" +PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" + +EXTRA_OECMAKE = " \ + -DPORT=GTK \ + -DCMAKE_BUILD_TYPE=Release \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ + -DENABLE_GTKDOC=OFF \ + -DENABLE_MINIBROWSER=ON \ + " + +# Javascript JIT is not supported on powerpc +EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF " + +# ARM JIT code does not build on ARMv5/6 anymore, apparently they test only on v7 onwards +EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " + +# binutils 2.25.1 has a bug on aarch64: +# https://sourceware.org/bugzilla/show_bug.cgi?id=18430 +EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=OFF " + +# JIT not supported on MIPS either +EXTRA_OECMAKE_append_mips = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_mips64 = " -DENABLE_JIT=OFF " + +SECURITY_CFLAGS_remove_aarch64 = "-fpie" +SECURITY_CFLAGS_append_aarch64 = " -fPIE" + +FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so" + +# http://errors.yoctoproject.org/Errors/Details/20370/ +ARM_INSTRUCTION_SET = "arm" + +# Invalid data memory access: 0x00000000 +# ... +# qemu: uncaught target signal 11 (Segmentation fault) - core dumped +# Segmentation fault +EXTRA_OECMAKE_append_powerpc = " -DENABLE_INTROSPECTION=OFF " -- cgit 1.2.3-korg