From 628e1935431207cbb8ef3e44637f9ad462eea133 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 15 Apr 2019 12:54:41 +0200 Subject: webkitgtk: update to 2.24.0 Drop bad_optional_access.patch, as the code it tweaks has been removed upstream. Rebase other patches. Add an option for jpeg2000 support. Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- .../webkitgtk/0001-Fix-build-with-musl.patch | 12 +- ...c-settings-so-that-gtkdoc-generation-work.patch | 37 +++--- ...bKitMacros-Append-to-I-and-not-to-isystem.patch | 32 ++--- .../webkit/webkitgtk/bad_optional_access.patch | 35 ------ meta/recipes-sato/webkit/webkitgtk_2.22.7.bb | 134 --------------------- meta/recipes-sato/webkit/webkitgtk_2.24.0.bb | 134 +++++++++++++++++++++ 6 files changed, 173 insertions(+), 211 deletions(-) delete mode 100644 meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk_2.22.7.bb create mode 100644 meta/recipes-sato/webkit/webkitgtk_2.24.0.bb 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 index d9a18e0ce9..0c145c7ebd 100644 --- a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch +++ b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch @@ -1,4 +1,4 @@ -From 322966273a8e085829261a397af37de0fbf51aad Mon Sep 17 00:00:00 2001 +From c4d4d9f1aa74addefdad40294cf16d9e0b3dd6ec 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 @@ -12,7 +12,7 @@ Signed-off-by: Alexander Kanavin 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/JavaScriptCore/runtime/MachineContext.h b/Source/JavaScriptCore/runtime/MachineContext.h -index 836d755..7665d25 100644 +index 823964c2..00841146 100644 --- a/Source/JavaScriptCore/runtime/MachineContext.h +++ b/Source/JavaScriptCore/runtime/MachineContext.h @@ -188,7 +188,7 @@ static inline void*& stackPointerImpl(mcontext_t& machineContext) @@ -61,12 +61,12 @@ index 836d755..7665d25 100644 // 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 a841946..1e5c7dd 100644 +index 34f7cb14..32ad9150 100644 --- a/Source/WTF/wtf/Platform.h +++ b/Source/WTF/wtf/Platform.h -@@ -701,7 +701,7 @@ - #define HAVE_CFNETWORK_STORAGE_PARTITIONING 1 - #endif +@@ -714,7 +714,7 @@ + + #endif /* OS(DARWIN) */ -#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) +#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__linux__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) 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 83fd5129a0..664cea9c75 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 9b09974003097c9a408bbeea568996768efe705b Mon Sep 17 00:00:00 2001 +From d3796ad1a19233ee5d3492a5560d7ede882f89cf Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 11 Aug 2016 17:13:51 +0300 -Subject: [PATCH 05/10] Tweak gtkdoc settings so that gtkdoc generation works - under OpenEmbedded build system +Subject: [PATCH] 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 @@ -12,28 +12,28 @@ Upstream-Status: Inappropriate [oe-specific] Signed-off-by: Alexander Kanavin --- - Source/PlatformGTK.cmake | 2 +- - Tools/gtk/gtkdoc.py | 4 ++-- + Source/cmake/GtkDoc.cmake | 2 +- + Tools/gtkdoc/gtkdoc.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) -diff --git a/Source/PlatformGTK.cmake b/Source/PlatformGTK.cmake -index 50b5393..7a31db5 100644 ---- a/Source/PlatformGTK.cmake -+++ b/Source/PlatformGTK.cmake -@@ -24,7 +24,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args) +diff --git a/Source/cmake/GtkDoc.cmake b/Source/cmake/GtkDoc.cmake +index 2ee05550..6cb6313d 100644 +--- a/Source/cmake/GtkDoc.cmake ++++ b/Source/cmake/GtkDoc.cmake +@@ -4,7 +4,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args) add_custom_command( OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}" DEPENDS ${DocumentationDependencies} -- 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 ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/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/gtkdoc/generate-gtkdoc ${_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 03c8e8e..34fbaff 100644 ---- a/Tools/gtk/gtkdoc.py -+++ b/Tools/gtk/gtkdoc.py -@@ -318,9 +318,9 @@ class GTKDoc(object): +diff --git a/Tools/gtkdoc/gtkdoc.py b/Tools/gtkdoc/gtkdoc.py +index 81ee8cdc..3e11c2f0 100644 +--- a/Tools/gtkdoc/gtkdoc.py ++++ b/Tools/gtkdoc/gtkdoc.py +@@ -317,9 +317,9 @@ class GTKDoc(object): additional_ldflags = '%s %s' % (additional_ldflags, arg) ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) + ldflags current_ld_library_path = env.get('LD_LIBRARY_PATH') @@ -45,6 +45,3 @@ index 03c8e8e..34fbaff 100644 env['LD_LIBRARY_PATH'] = self.library_path if ldflags: --- -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 b31026448c..e71905d26a 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,4 +1,4 @@ -From e1c6540f7984bd48e1e2d80d965fa82c70de3c20 Mon Sep 17 00:00:00 2001 +From d1634e56a2589ec62325011bf77d480a67123b52 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 @@ -28,10 +28,10 @@ Upstream-Status: Pending 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Source/JavaScriptCore/shell/CMakeLists.txt b/Source/JavaScriptCore/shell/CMakeLists.txt -index b3c7e0b..88446de 100644 +index 87153e35..cd0beed4 100644 --- a/Source/JavaScriptCore/shell/CMakeLists.txt +++ b/Source/JavaScriptCore/shell/CMakeLists.txt -@@ -35,7 +35,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() +@@ -36,7 +36,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() WEBKIT_WRAP_SOURCELIST(${JSC_SOURCES}) WEBKIT_WRAP_SOURCELIST(${TESTAPI_SOURCES}) include_directories(./ ${JavaScriptCore_INCLUDE_DIRECTORIES} ${JavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES}) @@ -41,10 +41,10 @@ index b3c7e0b..88446de 100644 target_link_libraries(jsc ${JSC_LIBRARIES}) diff --git a/Source/WebCore/PlatformGTK.cmake b/Source/WebCore/PlatformGTK.cmake -index f7d8d70a..3c27b8bc 100644 +index e0dd9cd9..a2997f3e 100644 --- a/Source/WebCore/PlatformGTK.cmake +++ b/Source/WebCore/PlatformGTK.cmake -@@ -157,7 +157,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) +@@ -164,7 +164,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) target_include_directories(WebCorePlatformGTK2 PRIVATE ${WebCore_INCLUDE_DIRECTORIES} ) @@ -53,7 +53,7 @@ index f7d8d70a..3c27b8bc 100644 ${WebCore_SYSTEM_INCLUDE_DIRECTORIES} ${GTK2_INCLUDE_DIRS} ${GDK2_INCLUDE_DIRS} -@@ -183,7 +183,7 @@ add_dependencies(WebCorePlatformGTK WebCore) +@@ -190,7 +190,7 @@ add_dependencies(WebCorePlatformGTK WebCore) target_include_directories(WebCorePlatformGTK PRIVATE ${WebCore_INCLUDE_DIRECTORIES} ) @@ -62,7 +62,7 @@ index f7d8d70a..3c27b8bc 100644 ${WebCore_SYSTEM_INCLUDE_DIRECTORIES} ${GTK_INCLUDE_DIRS} ${GDK_INCLUDE_DIRS} -@@ -199,7 +199,7 @@ include_directories( +@@ -206,7 +206,7 @@ include_directories( "${WEBCORE_DIR}/bindings/gobject/" ) @@ -72,10 +72,10 @@ index f7d8d70a..3c27b8bc 100644 ) diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake -index 8c6ebb5..772c243 100644 +index 693bbdfe..20e3802f 100644 --- a/Source/WebKit/PlatformGTK.cmake +++ b/Source/WebKit/PlatformGTK.cmake -@@ -655,7 +655,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) +@@ -664,7 +664,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2) target_include_directories(WebKitPluginProcess2 PRIVATE ${WebKitCommonIncludeDirectories} ) @@ -85,10 +85,10 @@ index 8c6ebb5..772c243 100644 ${GTK2_INCLUDE_DIRS} ${GDK2_INCLUDE_DIRS} diff --git a/Source/cmake/WebKitMacros.cmake b/Source/cmake/WebKitMacros.cmake -index a1e7e8f..ce24274 100644 +index 6d58d57e..976e2362 100644 --- a/Source/cmake/WebKitMacros.cmake +++ b/Source/cmake/WebKitMacros.cmake -@@ -134,7 +134,7 @@ macro(WEBKIT_FRAMEWORK _target) +@@ -152,7 +152,7 @@ macro(WEBKIT_FRAMEWORK _target) ${${_target}_SOURCES} ) target_include_directories(${_target} PUBLIC "$") @@ -98,10 +98,10 @@ index a1e7e8f..ce24274 100644 target_link_libraries(${_target} ${${_target}_LIBRARIES}) set_target_properties(${_target} PROPERTIES COMPILE_DEFINITIONS "BUILDING_${_target}") diff --git a/Tools/MiniBrowser/gtk/CMakeLists.txt b/Tools/MiniBrowser/gtk/CMakeLists.txt -index dc2b61e..0128dca 100644 +index a0d32059..f259ade2 100644 --- a/Tools/MiniBrowser/gtk/CMakeLists.txt +++ b/Tools/MiniBrowser/gtk/CMakeLists.txt -@@ -57,7 +57,7 @@ endif () +@@ -59,7 +59,7 @@ endif () add_definitions(-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6) include_directories(${MiniBrowser_INCLUDE_DIRECTORIES}) @@ -111,10 +111,10 @@ index dc2b61e..0128dca 100644 target_link_libraries(MiniBrowser ${MiniBrowser_LIBRARIES}) diff --git a/Tools/TestWebKitAPI/PlatformGTK.cmake b/Tools/TestWebKitAPI/PlatformGTK.cmake -index 4aef695..a14b163 100644 +index 8dd0e146..d037fc35 100644 --- a/Tools/TestWebKitAPI/PlatformGTK.cmake +++ b/Tools/TestWebKitAPI/PlatformGTK.cmake -@@ -20,7 +20,7 @@ include_directories( +@@ -22,7 +22,7 @@ include_directories( ${WEBKIT_DIR}/UIProcess/API/gtk ) @@ -122,4 +122,4 @@ index 4aef695..a14b163 100644 +include_directories( ${GDK3_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} - ${GTK3_INCLUDE_DIRS} + ${GSTREAMER_INCLUDE_DIRS} diff --git a/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch b/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch deleted file mode 100644 index 9d0d50b79e..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch +++ /dev/null @@ -1,35 +0,0 @@ -unbreak build with libc++ 7 - -based on -https://svnweb.freebsd.org/ports/head/www/webkit2-gtk3/files/patch-Source_WTF_wtf_Optional.h?view=markup&pathrev=477812 - -Fixes - -/usr/include/c++/v1/optional:171:29: error: redefinition of 'bad_optional_access' -class _LIBCPP_EXCEPTION_ABI bad_optional_access - ^ -DerivedSources/ForwardingHeaders/wtf/Optional.h:295:7: note: previous definition is here -class bad_optional_access : public std::logic_error { - ^ - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- a/Source/WTF/wtf/Optional.h -+++ b/Source/WTF/wtf/Optional.h -@@ -276,14 +276,14 @@ struct nullopt_t - }; - constexpr nullopt_t nullopt{nullopt_t::init()}; - -- -+# if !defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 7000 - // 20.5.8, class bad_optional_access - class bad_optional_access : public std::logic_error { - public: - explicit bad_optional_access(const std::string& what_arg) : std::logic_error{what_arg} {} - explicit bad_optional_access(const char* what_arg) : std::logic_error{what_arg} {} - }; -- -+# endif // _LIBCPP_VERSION < 7000 - - template - union storage_t diff --git a/meta/recipes-sato/webkit/webkitgtk_2.22.7.bb b/meta/recipes-sato/webkit/webkitgtk_2.22.7.bb deleted file mode 100644 index 301bf10cea..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk_2.22.7.bb +++ /dev/null @@ -1,134 +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://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://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \ - file://0001-Fix-build-with-musl.patch \ - file://detect-gstreamer-gl.patch \ - file://bad_optional_access.patch \ - " - -SRC_URI[md5sum] = "47386c10a9c3975f933c85404f35ff3b" -SRC_URI[sha256sum] = "4be6f7d605cd0a690fd26e8aa83b089a33ad9d419148eafcfb60580dd2af30ff" - -inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc - -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -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" -# Source is at https://github.com/google/woff2 -PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" - -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 ARC -EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF " -# By default 25-bit "medium" calls are used on ARC -# which is not enough for binaries larger than 32 MiB -CFLAGS_append_arc = " -mlong-calls" -CXXFLAGS_append_arc = " -mlong-calls" - -# 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_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" - -LDFLAGS_append_toolchain-clang = " -rtlib=compiler-rt" - -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" - -# Can't be built with ccache -CCACHE_DISABLE = "1" diff --git a/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb b/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb new file mode 100644 index 0000000000..4a82dae9ef --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb @@ -0,0 +1,134 @@ +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://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \ + file://0001-Fix-build-with-musl.patch \ + file://detect-gstreamer-gl.patch \ + " + +SRC_URI[md5sum] = "576d69c598b3e36c73441052d02466de" +SRC_URI[sha256sum] = "2e4ad1503fe482ceb5a83cf70ac9cd42f37eb718555a4d6844fe4c59a9214407" + +inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc + +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +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" +# Source is at https://github.com/google/woff2 +PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" +PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" + +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 ARC +EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF " +# By default 25-bit "medium" calls are used on ARC +# which is not enough for binaries larger than 32 MiB +CFLAGS_append_arc = " -mlong-calls" +CXXFLAGS_append_arc = " -mlong-calls" + +# 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_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" + +LDFLAGS_append_toolchain-clang = " -rtlib=compiler-rt" + +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" + +# Can't be built with ccache +CCACHE_DISABLE = "1" -- cgit 1.2.3-korg