From 165b337dfe00fd460c62d2e15a8a2c5613bb326c Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 11 Jan 2018 18:16:10 +0200 Subject: webkitgtk: update to 2.18.5 (includes Spectre mitigations; see commit description) This is the only available stable version with mitigation fixes for Spectre. Webkit upstream developers do not port CVE fixes to earlier stable series, no exception was made in this case. More information: https://webkit.org/blog/8048/what-spectre-and-meltdown-mean-for-webkit/ https://webkitgtk.org/security/WSA-2018-0001.html https://webkitgtk.org/2018/01/10/webkitgtk2.18.5-released.html This commit also contains the following commits added in master branch after rocko release: === webkitgtk: update to 2.18.3 gcc7.patch, musl-fixes.patch, and ppc-musl-fix.patch all change code that is no longer present in upstream tree. However, a patch with different musl fixes has been added. The rest of the patches are rebased to the new tree. Libtasn is a new dependency. Disable Gstreamer GL support on x86 due to clashing headers problem. (From OE-Core rev: 3acae2dcd130122fe76504ec855af78db829d6ec) === webkitgtk: fix build with musl and x32 Make the x32 check generic to make it work with musl as well. Fixes [YOCTO #12118] (From OE-Core rev: dbd604ccf34e304769937b15051c047561de47f7) === (From OE-Core rev: 78f29a052477dd81f0819287e3db405932bb7fae) Signed-off-by: Alexander Kanavin Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- .../webkitgtk/0001-Fix-build-with-musl.patch | 77 +++++++++ ...ix-racy-parallel-build-of-WebKit2-4.0.gir.patch | 23 +-- ...c-settings-so-that-gtkdoc-generation-work.patch | 25 +-- ...bKitMacros-Append-to-I-and-not-to-isystem.patch | 182 ++++++++------------- ...ng-introspection-files-add-CMAKE_C_FLAGS-.patch | 24 +-- .../detect-atomics-during-configure.patch | 26 ++- meta/recipes-sato/webkit/webkitgtk/gcc7.patch | 23 --- .../recipes-sato/webkit/webkitgtk/musl-fixes.patch | 48 ------ .../webkit/webkitgtk/ppc-musl-fix.patch | 26 --- meta/recipes-sato/webkit/webkitgtk_2.16.6.bb | 119 -------------- meta/recipes-sato/webkit/webkitgtk_2.18.5.bb | 121 ++++++++++++++ 11 files changed, 325 insertions(+), 369 deletions(-) create mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk/gcc7.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk/musl-fixes.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk/ppc-musl-fix.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk_2.16.6.bb create mode 100644 meta/recipes-sato/webkit/webkitgtk_2.18.5.bb (limited to 'meta/recipes-sato') diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch new file mode 100644 index 0000000000..7cc4514fcc --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch @@ -0,0 +1,77 @@ +From 415e31bd5444fa360af58b069f1b9db6607fca7d Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Fri, 6 Oct 2017 17:00:08 +0300 +Subject: [PATCH] Fix build with musl + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + Source/JavaScriptCore/runtime/MachineContext.h | 10 +++++----- + Source/WTF/wtf/Platform.h | 2 +- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Source/JavaScriptCore/runtime/MachineContext.h b/Source/JavaScriptCore/runtime/MachineContext.h +index 95080b9..2bb689c 100644 +--- a/Source/JavaScriptCore/runtime/MachineContext.h ++++ b/Source/JavaScriptCore/runtime/MachineContext.h +@@ -146,7 +146,7 @@ inline void*& stackPointer(mcontext_t& machineContext) + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + #if CPU(X86) + return reinterpret_cast((uintptr_t&) machineContext.gregs[REG_ESP]); +@@ -251,7 +251,7 @@ inline void*& framePointer(mcontext_t& machineContext) + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +@@ -354,7 +354,7 @@ inline void*& instructionPointer(mcontext_t& machineContext) + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +@@ -466,7 +466,7 @@ inline void*& argumentPointer<1>(mcontext_t& machineContext) + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +@@ -583,7 +583,7 @@ inline void*& llintInstructionPointer(mcontext_t& machineContext) + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 5a2863b..b36c3ff 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -680,7 +680,7 @@ + #define HAVE_CFNETWORK_STORAGE_PARTITIONING 1 + #endif + +-#if OS(DARWIN) || ((OS(FREEBSD) || defined(__GLIBC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) ++#if OS(DARWIN) || ((OS(FREEBSD) || defined(__linux__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) + #define HAVE_MACHINE_CONTEXT 1 + #endif + +-- +2.14.1 + diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch index 615fe4f402..896890b433 100644 --- a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch +++ b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch @@ -1,19 +1,20 @@ -From 5760d346b42807b596f479c81f7a6b42eb36065e Mon Sep 17 00:00:00 2001 +From b7f40eceef0f23bf88090789d4c5845c35f048ae Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 29 Aug 2016 16:38:11 +0300 -Subject: [PATCH] Fix racy parallel build of WebKit2-4.0.gir +Subject: [PATCH 4/9] Fix racy parallel build of WebKit2-4.0.gir Upstream-Status: Pending Signed-off-by: Alexander Kanavin + --- - Source/WebKit2/PlatformGTK.cmake | 9 +++++---- + Source/WebKit/PlatformGTK.cmake | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) -diff --git a/Source/WebKit2/PlatformGTK.cmake b/Source/WebKit2/PlatformGTK.cmake -index adaa010..f18cf8a 100644 ---- a/Source/WebKit2/PlatformGTK.cmake -+++ b/Source/WebKit2/PlatformGTK.cmake -@@ -906,8 +906,9 @@ endif () +diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake +index a33c6a86..d83a2e77 100644 +--- a/Source/WebKit/PlatformGTK.cmake ++++ b/Source/WebKit/PlatformGTK.cmake +@@ -1122,8 +1122,9 @@ endif () string(REGEX MATCHALL "-L[^ ]*" INTROSPECTION_ADDITIONAL_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}") @@ -25,7 +26,7 @@ index adaa010..f18cf8a 100644 DEPENDS WebKit2 DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS= -@@ -950,7 +951,7 @@ add_custom_command( +@@ -1168,7 +1169,7 @@ add_custom_command( add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir @@ -34,7 +35,7 @@ index adaa010..f18cf8a 100644 COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}" ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" -@@ -1004,7 +1005,7 @@ add_custom_command( +@@ -1225,7 +1226,7 @@ add_custom_command( add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib @@ -44,5 +45,5 @@ index adaa010..f18cf8a 100644 ) -- -2.9.3 +2.14.1 diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch index 586dd2375c..83fd5129a0 100644 --- a/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch +++ b/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch @@ -1,8 +1,8 @@ -From 4eeeaec775e190cf3f5885d7c6717acebd0201a8 Mon Sep 17 00:00:00 2001 +From 9b09974003097c9a408bbeea568996768efe705b Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 11 Aug 2016 17:13:51 +0300 -Subject: [PATCH] Tweak gtkdoc settings so that gtkdoc generation works under - OpenEmbedded build system +Subject: [PATCH 05/10] Tweak gtkdoc settings so that gtkdoc generation works + under OpenEmbedded build system This requires setting a few environment variables so that the transient binary is build and linked correctly, and disabling the tweaks to RUN @@ -10,26 +10,27 @@ variable from gtkdoc.py script so that our qemu wrapper is taken into use. Upstream-Status: Inappropriate [oe-specific] Signed-off-by: Alexander Kanavin + --- Source/PlatformGTK.cmake | 2 +- Tools/gtk/gtkdoc.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/PlatformGTK.cmake b/Source/PlatformGTK.cmake -index af4d2e3..b7b93c7 100644 +index 50b5393..7a31db5 100644 --- a/Source/PlatformGTK.cmake +++ b/Source/PlatformGTK.cmake -@@ -25,7 +25,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args) +@@ -24,7 +24,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args) add_custom_command( OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}" DEPENDS ${DocumentationDependencies} -- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=${CMAKE_C_FLAGS} ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc ${_extra_args} -+ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=${CMAKE_C_FLAGS} LD=${CMAKE_C_COMPILER} LDFLAGS=${CMAKE_C_LINK_FLAGS} RUN=${CMAKE_BINARY_DIR}/gtkdoc-qemuwrapper GIR_EXTRA_LIBS_PATH=${CMAKE_BINARY_DIR}/lib ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc ${_extra_args} +- COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc ${_extra_args} ++ COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LD=${CMAKE_C_COMPILER}" "LDFLAGS=${CMAKE_C_LINK_FLAGS}" "RUN=${CMAKE_BINARY_DIR}/gtkdoc-qemuwrapper" ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc -v ${_extra_args} COMMAND touch ${_stamp_name} WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" - ) + VERBATIM diff --git a/Tools/gtk/gtkdoc.py b/Tools/gtk/gtkdoc.py -index 4c8237b..c0205f0 100644 +index 03c8e8e..34fbaff 100644 --- a/Tools/gtk/gtkdoc.py +++ b/Tools/gtk/gtkdoc.py @@ -318,9 +318,9 @@ class GTKDoc(object): @@ -38,12 +39,12 @@ index 4c8237b..c0205f0 100644 current_ld_library_path = env.get('LD_LIBRARY_PATH') - if current_ld_library_path: + if current_ld_library_path and 'RUN' not in env: - env['RUN'] = 'LD_LIBRARY_PATH="%s:%s" ' % (self.library_path, current_ld_library_path) + env['LD_LIBRARY_PATH'] = '%s:%s' % (self.library_path, current_ld_library_path) - else: + elif 'RUN' not in env: - env['RUN'] = 'LD_LIBRARY_PATH="%s" ' % self.library_path + env['LD_LIBRARY_PATH'] = self.library_path if ldflags: -- -2.8.1 +2.15.1 diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch b/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch index d6f0ce3cd6..dfdc116018 100644 --- a/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch +++ b/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch @@ -1,7 +1,7 @@ -From 53a00058184cd710c6f4375f4daab49d7e885a30 Mon Sep 17 00:00:00 2001 +From ef832a115b40861c08df333339b1366da49e5393 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 +Subject: [PATCH 9/9] 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 @@ -15,68 +15,34 @@ 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(-) +--- + Source/JavaScriptCore/shell/CMakeLists.txt | 2 +- + Source/WebCore/PlatformGTK.cmake | 6 +++--- + Source/WebKit/PlatformGTK.cmake | 2 +- + Source/cmake/WebKitMacros.cmake | 2 +- + Tools/MiniBrowser/gtk/CMakeLists.txt | 2 +- + Tools/TestWebKitAPI/PlatformGTK.cmake | 2 +- + 6 files changed, 8 insertions(+), 8 deletions(-) -Index: webkitgtk-2.16.5/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt -=================================================================== ---- webkitgtk-2.16.5.orig/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt -+++ webkitgtk-2.16.5/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.16.5/Tools/ImageDiff/CMakeLists.txt -=================================================================== ---- webkitgtk-2.16.5.orig/Tools/ImageDiff/CMakeLists.txt -+++ webkitgtk-2.16.5/Tools/ImageDiff/CMakeLists.txt -@@ -9,6 +9,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}) -Index: webkitgtk-2.16.5/Tools/MiniBrowser/gtk/CMakeLists.txt -=================================================================== ---- webkitgtk-2.16.5.orig/Tools/MiniBrowser/gtk/CMakeLists.txt -+++ webkitgtk-2.16.5/Tools/MiniBrowser/gtk/CMakeLists.txt -@@ -57,7 +57,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}) - -Index: webkitgtk-2.16.5/Tools/WebKitTestRunner/CMakeLists.txt -=================================================================== ---- webkitgtk-2.16.5.orig/Tools/WebKitTestRunner/CMakeLists.txt -+++ webkitgtk-2.16.5/Tools/WebKitTestRunner/CMakeLists.txt -@@ -106,7 +106,7 @@ GENERATE_BINDINGS(WebKitTestRunnerBindin - WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() - - include_directories(${WebKitTestRunner_INCLUDE_DIRECTORIES}) --include_directories(SYSTEM ${WebKitTestRunner_SYSTEM_INCLUDE_DIRECTORIES}) -+include_directories(${WebKitTestRunner_SYSTEM_INCLUDE_DIRECTORIES}) +diff --git a/Source/JavaScriptCore/shell/CMakeLists.txt b/Source/JavaScriptCore/shell/CMakeLists.txt +index bc37dd31..4e49871f 100644 +--- a/Source/JavaScriptCore/shell/CMakeLists.txt ++++ b/Source/JavaScriptCore/shell/CMakeLists.txt +@@ -35,7 +35,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() + WEBKIT_WRAP_SOURCELIST(${JSC_SOURCES}) + WEBKIT_WRAP_SOURCELIST(${TESTAPI_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}) - add_library(TestRunnerInjectedBundle SHARED ${WebKitTestRunnerInjectedBundle_SOURCES}) - target_link_libraries(TestRunnerInjectedBundle ${WebKitTestRunner_LIBRARIES}) -Index: webkitgtk-2.16.5/Source/WebCore/PlatformGTK.cmake -=================================================================== ---- webkitgtk-2.16.5.orig/Source/WebCore/PlatformGTK.cmake -+++ webkitgtk-2.16.5/Source/WebCore/PlatformGTK.cmake -@@ -321,7 +321,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) +diff --git a/Source/WebCore/PlatformGTK.cmake b/Source/WebCore/PlatformGTK.cmake +index 73506c74..8eb8b415 100644 +--- a/Source/WebCore/PlatformGTK.cmake ++++ b/Source/WebCore/PlatformGTK.cmake +@@ -281,7 +281,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) ${GTK2_INCLUDE_DIRS} ${GDK2_INCLUDE_DIRS} ) @@ -85,7 +51,7 @@ Index: webkitgtk-2.16.5/Source/WebCore/PlatformGTK.cmake ${WebCore_SYSTEM_INCLUDE_DIRECTORIES} ) target_link_libraries(WebCorePlatformGTK2 -@@ -346,7 +346,7 @@ WEBKIT_SET_EXTRA_COMPILER_FLAGS(WebCoreP +@@ -305,7 +305,7 @@ add_dependencies(WebCorePlatformGTK WebCore) target_include_directories(WebCorePlatformGTK PRIVATE ${WebCore_INCLUDE_DIRECTORIES} ) @@ -94,7 +60,7 @@ Index: webkitgtk-2.16.5/Source/WebCore/PlatformGTK.cmake ${WebCore_SYSTEM_INCLUDE_DIRECTORIES} ${GTK_INCLUDE_DIRS} ${GDK_INCLUDE_DIRS} -@@ -362,7 +362,7 @@ include_directories( +@@ -321,7 +321,7 @@ include_directories( "${WEBCORE_DIR}/bindings/gobject/" ) @@ -103,37 +69,11 @@ Index: webkitgtk-2.16.5/Source/WebCore/PlatformGTK.cmake ${WebCore_SYSTEM_INCLUDE_DIRECTORIES} ) -Index: webkitgtk-2.16.5/Tools/TestWebKitAPI/PlatformGTK.cmake -=================================================================== ---- webkitgtk-2.16.5.orig/Tools/TestWebKitAPI/PlatformGTK.cmake -+++ webkitgtk-2.16.5/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.16.5/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt -=================================================================== ---- webkitgtk-2.16.5.orig/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt -+++ webkitgtk-2.16.5/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt -@@ -21,7 +21,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.16.5/Source/WebKit2/PlatformGTK.cmake -=================================================================== ---- webkitgtk-2.16.5.orig/Source/WebKit2/PlatformGTK.cmake -+++ webkitgtk-2.16.5/Source/WebKit2/PlatformGTK.cmake -@@ -1156,7 +1156,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) +diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake +index d83a2e77..401246f4 100644 +--- a/Source/WebKit/PlatformGTK.cmake ++++ b/Source/WebKit/PlatformGTK.cmake +@@ -1050,7 +1050,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) target_include_directories(WebKitPluginProcess2 PRIVATE ${WebKit2CommonIncludeDirectories} ) @@ -142,29 +82,45 @@ Index: webkitgtk-2.16.5/Source/WebKit2/PlatformGTK.cmake ${WebKit2CommonSystemIncludeDirectories} ${GTK2_INCLUDE_DIRS} ${GDK2_INCLUDE_DIRS} -Index: webkitgtk-2.16.5/Source/JavaScriptCore/shell/CMakeLists.txt -=================================================================== ---- webkitgtk-2.16.5.orig/Source/JavaScriptCore/shell/CMakeLists.txt -+++ webkitgtk-2.16.5/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}) - -Index: webkitgtk-2.16.5/Source/cmake/WebKitMacros.cmake -=================================================================== ---- webkitgtk-2.16.5.orig/Source/cmake/WebKitMacros.cmake -+++ webkitgtk-2.16.5/Source/cmake/WebKitMacros.cmake -@@ -277,7 +277,7 @@ macro(WEBKIT_WRAP_SOURCELIST) +diff --git a/Source/cmake/WebKitMacros.cmake b/Source/cmake/WebKitMacros.cmake +index 7bc89543..d9818fa4 100644 +--- a/Source/cmake/WebKitMacros.cmake ++++ b/Source/cmake/WebKitMacros.cmake +@@ -78,7 +78,7 @@ macro(WEBKIT_FRAMEWORK_DECLARE _target) endmacro() macro(WEBKIT_FRAMEWORK _target) - include_directories(SYSTEM ${${_target}_SYSTEM_INCLUDE_DIRECTORIES}) + include_directories(${${_target}_SYSTEM_INCLUDE_DIRECTORIES}) - add_library(${_target} ${${_target}_LIBRARY_TYPE} + target_sources(${_target} PRIVATE ${${_target}_HEADERS} ${${_target}_SOURCES} +diff --git a/Tools/MiniBrowser/gtk/CMakeLists.txt b/Tools/MiniBrowser/gtk/CMakeLists.txt +index e832a86d..ce92c864 100644 +--- a/Tools/MiniBrowser/gtk/CMakeLists.txt ++++ b/Tools/MiniBrowser/gtk/CMakeLists.txt +@@ -57,7 +57,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 1be3dd52..7bdddf37 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} +-- +2.14.1 + diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch b/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch index 3f71297f50..fb4c4dc932 100644 --- a/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch +++ b/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch @@ -1,23 +1,24 @@ -From bae9f73b2c693b5aa156fed717d6481b60682786 Mon Sep 17 00:00:00 2001 +From 98b1359a0cd87bbdb22cef98ba594440f4c57d92 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 28 Oct 2015 14:18:57 +0200 -Subject: [PATCH] When building introspection files, add CMAKE_C_FLAGS to the - compiler flags. +Subject: [PATCH 2/9] When building introspection files, add CMAKE_C_FLAGS to + the compiler flags. g-ir-compiler is using a C compiler internally, so it needs to set the proper flags for it. Upstream-Status: Pending [review on oe-core list] Signed-off-by: Alexander Kanavin + --- - Source/WebKit2/PlatformGTK.cmake | 4 ++-- + Source/WebKit/PlatformGTK.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -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( +diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake +index 7f92ae72..a33c6a86 100644 +--- a/Source/WebKit/PlatformGTK.cmake ++++ b/Source/WebKit/PlatformGTK.cmake +@@ -1126,7 +1126,7 @@ add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir DEPENDS WebKit2 DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir @@ -26,7 +27,7 @@ Index: webkitgtk-2.12.1/Source/WebKit2/PlatformGTK.cmake ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" ${INTROSPECTION_SCANNER} --quiet -@@ -951,7 +951,7 @@ add_custom_command( +@@ -1169,7 +1169,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 @@ -35,3 +36,6 @@ Index: webkitgtk-2.12.1/Source/WebKit2/PlatformGTK.cmake LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}" ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" ${INTROSPECTION_SCANNER} +-- +2.14.1 + diff --git a/meta/recipes-sato/webkit/webkitgtk/detect-atomics-during-configure.patch b/meta/recipes-sato/webkit/webkitgtk/detect-atomics-during-configure.patch index 12836f28f2..c6157e1037 100644 --- a/meta/recipes-sato/webkit/webkitgtk/detect-atomics-during-configure.patch +++ b/meta/recipes-sato/webkit/webkitgtk/detect-atomics-during-configure.patch @@ -1,22 +1,31 @@ +From 0b3811771ae6385503f2d949f9433d8f810d2ff9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 17 May 2017 22:34:24 -0700 +Subject: [PATCH 8/9] webkitgtk: Fix build for armv5 + Taken from https://bugs.webkit.org/show_bug.cgi?id=161900 Upstream-Status: Pending Signed-off-by: Khem Raj -Index: webkitgtk-2.16.1/Source/WTF/wtf/CMakeLists.txt -=================================================================== ---- webkitgtk-2.16.1.orig/Source/WTF/wtf/CMakeLists.txt -+++ webkitgtk-2.16.1/Source/WTF/wtf/CMakeLists.txt -@@ -182,7 +182,6 @@ set(WTF_HEADERS +--- + Source/WTF/wtf/CMakeLists.txt | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/Source/WTF/wtf/CMakeLists.txt b/Source/WTF/wtf/CMakeLists.txt +index 6b5e45b9..46ee3c22 100644 +--- a/Source/WTF/wtf/CMakeLists.txt ++++ b/Source/WTF/wtf/CMakeLists.txt +@@ -205,7 +205,6 @@ set(WTF_HEADERS set(WTF_SOURCES Assertions.cpp - Atomics.cpp AutomaticThread.cpp BitVector.cpp - ClockType.cpp -@@ -301,6 +300,15 @@ if (NOT USE_SYSTEM_MALLOC) + CPUTime.cpp +@@ -336,6 +335,15 @@ if (NOT USE_SYSTEM_MALLOC) list(APPEND WTF_LIBRARIES bmalloc) endif () @@ -32,3 +41,6 @@ Index: webkitgtk-2.16.1/Source/WTF/wtf/CMakeLists.txt list(APPEND WTF_SOURCES unicode/icu/CollatorICU.cpp ) +-- +2.14.1 + diff --git a/meta/recipes-sato/webkit/webkitgtk/gcc7.patch b/meta/recipes-sato/webkit/webkitgtk/gcc7.patch deleted file mode 100644 index aee29a9a72..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/gcc7.patch +++ /dev/null @@ -1,23 +0,0 @@ -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::vector() const' -| return bitwise_cast(vector()); - -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/ppc-musl-fix.patch b/meta/recipes-sato/webkit/webkitgtk/ppc-musl-fix.patch deleted file mode 100644 index a1ad248aac..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/ppc-musl-fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -ucontext structure is different between musl and glibc for ppc -therefore its not enough just to check for arch alone, we also -need to check for libc type. - -Fixes errors like - -Source/JavaScriptCore/heap/MachineStackMarker.cpp:90:65: error: 'struct mcontext_t' has no member named 'uc_regs'; did you mean 'gregs'? - thread->suspendedMachineContext = *userContext->uc_mcontext.uc_regs; - -Upstream-Status: Pending - -Signed-off-by: Khem Raj - -Index: webkitgtk-2.16.3/Source/JavaScriptCore/heap/MachineStackMarker.cpp -=================================================================== ---- webkitgtk-2.16.3.orig/Source/JavaScriptCore/heap/MachineStackMarker.cpp -+++ webkitgtk-2.16.3/Source/JavaScriptCore/heap/MachineStackMarker.cpp -@@ -88,7 +88,7 @@ static void pthreadSignalHandlerSuspendR - } - - ucontext_t* userContext = static_cast(ucontext); --#if CPU(PPC) -+#if CPU(PPC) && defined(__GLIBC__) - threadData->suspendedMachineContext = *userContext->uc_mcontext.uc_regs; - #else - threadData->suspendedMachineContext = userContext->uc_mcontext; diff --git a/meta/recipes-sato/webkit/webkitgtk_2.16.6.bb b/meta/recipes-sato/webkit/webkitgtk_2.16.6.bb deleted file mode 100644 index 0f126cba81..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk_2.16.6.bb +++ /dev/null @@ -1,119 +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/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://musl-fixes.patch \ - 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://x32_support.patch \ - file://cross-compile.patch \ - file://gcc7.patch \ - file://detect-atomics-during-configure.patch \ - file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \ - " - -SRC_URI[md5sum] = "0e2d142a586e4ff79cf0324f4fdbf20c" -SRC_URI[sha256sum] = "fc23650df953123c59b9c0edf3855e7bd55bd107820997fc72375811e1ea4b21" - -inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc - -# depends on libxt -REQUIRED_DISTRO_FEATURES = "x11" - -DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \ - 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 \ - gettext-native glib-2.0 glib-2.0-native \ - " - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl opengl', '' ,d)} \ - enchant \ - 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[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl" -PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=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)} \ - ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ - -DENABLE_MINIBROWSER=ON \ - -DPYTHON_EXECUTABLE=`which python` \ - " - -# 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 ARMv4/5/6 anymore -EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_armv4 = " -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 " -EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " -EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " -EXTRA_OECMAKE_append_toolchain-clang = " -DUSE_LD_GOLD=OFF " - -EXTRA_OECMAKE_append_aarch64 = " -DWTF_CPU_ARM64_CORTEXA53=ON" - -# JIT not supported on MIPS either -EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF " - -# JIT not supported on X32 -# An attempt was made to upstream JIT support for x32 in -# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as -# unresolved due to limited X32 adoption. -EXTRA_OECMAKE_append_linux-gnux32 = " -DENABLE_JIT=OFF" - -SECURITY_CFLAGS_remove_aarch64 = "-fpie" -SECURITY_CFLAGS_append_aarch64 = " -fPIE" - -FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so" - -RRECOMMENDS_${PN} += "ca-certificates shared-mime-info" - -# http://errors.yoctoproject.org/Errors/Details/20370/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" - -# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 -# https://bugs.webkit.org/show_bug.cgi?id=159880 -# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. -# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). -ARM_INSTRUCTION_SET_armv7a = "thumb" -ARM_INSTRUCTION_SET_armv7r = "thumb" -ARM_INSTRUCTION_SET_armv7ve = "thumb" - -# qemu: uncaught target signal 11 (Segmentation fault) - core dumped -# Segmentation fault -GI_DATA_ENABLED_armv7a = "False" -GI_DATA_ENABLED_armv7ve = "False" diff --git a/meta/recipes-sato/webkit/webkitgtk_2.18.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.18.5.bb new file mode 100644 index 0000000000..a64aee22e6 --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk_2.18.5.bb @@ -0,0 +1,121 @@ +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/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-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \ + file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ + file://x32_support.patch \ + file://cross-compile.patch \ + file://detect-atomics-during-configure.patch \ + file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \ + file://0001-Fix-build-with-musl.patch \ + " + +SRC_URI[md5sum] = "af18c2cfa00cadfd0b4d8db21cab011d" +SRC_URI[sha256sum] = "0c6d80cc7eb5d32f8063041fa11a1a6f17a29765c2f69c6bc862cd47c2d539b8" + +inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc + +# depends on libxt +REQUIRED_DISTRO_FEATURES = "x11" + +DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \ + 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 \ + gettext-native glib-2.0 glib-2.0-native libtasn1 \ + " + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl opengl', '' ,d)} \ + enchant \ + 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[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl" +PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=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)} \ + ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ + -DENABLE_MINIBROWSER=ON \ + -DPYTHON_EXECUTABLE=`which python` \ + " + +# GL/GLES header clash: both define the same thing, differently, on 32 bit x86 +EXTRA_OECMAKE_append_x86 = " -DUSE_GSTREAMER_GL=OFF " +EXTRA_OECMAKE_append_x86-x32 = " -DUSE_GSTREAMER_GL=OFF " + +# 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 ARMv4/5/6 anymore +EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_armv4 = " -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 " +EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE_append_toolchain-clang = " -DUSE_LD_GOLD=OFF " + +EXTRA_OECMAKE_append_aarch64 = " -DWTF_CPU_ARM64_CORTEXA53=ON" + +# JIT not supported on MIPS either +EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF " + +# JIT not supported on X32 +# An attempt was made to upstream JIT support for x32 in +# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as +# unresolved due to limited X32 adoption. +EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF " + +SECURITY_CFLAGS_remove_aarch64 = "-fpie" +SECURITY_CFLAGS_append_aarch64 = " -fPIE" + +FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so" + +RRECOMMENDS_${PN} += "ca-certificates shared-mime-info" + +# http://errors.yoctoproject.org/Errors/Details/20370/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" + +# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 +# https://bugs.webkit.org/show_bug.cgi?id=159880 +# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. +# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). +ARM_INSTRUCTION_SET_armv7a = "thumb" +ARM_INSTRUCTION_SET_armv7r = "thumb" +ARM_INSTRUCTION_SET_armv7ve = "thumb" + +# qemu: uncaught target signal 11 (Segmentation fault) - core dumped +# Segmentation fault +GI_DATA_ENABLED_armv7a = "False" +GI_DATA_ENABLED_armv7ve = "False" -- cgit v1.2.3-54-g00ecf