aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-sato/webkit/webkitgtk_2.18.5.bb
diff options
context:
space:
mode:
authorAlexander Kanavin <alexander.kanavin@linux.intel.com>2018-01-12 18:20:02 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-01-13 18:03:43 +0000
commit22f686cd6b818d27571bd42060246851cc2e093a (patch)
tree80d0224be9efbee98442735b93ca146ee9826337 /meta/recipes-sato/webkit/webkitgtk_2.18.5.bb
parent4734a4b41898e3df252b6234ed1270a915fd1f68 (diff)
downloadopenembedded-core-22f686cd6b818d27571bd42060246851cc2e093a.tar.gz
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 morty release: webkitgtk: update to 2.14.1 Rebase 0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch (From OE-Core rev: a44d50c827b5180ff901d31c443ea02e100b10d5) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkit: Reduce duplication in MIPS variants. Reduce duplication in MIPS variants now that the MACHINEOVERRIDES variable is defined (From OE-Core rev: f76d972aff47412a2cbd2d47134d66046cfe574a) Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: drop patch 0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch * This patch is not longer needed. Upstream has fixed this issue in: https://trac.webkit.org/changeset/205672 which is already included in WebKitGTK+ >= 2.14.0 (From OE-Core rev: 812c52f654c1bccca033163100055e3a8b8cda6e) Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: Add an option to disable opengl support (From OE-Core rev: 04e17727a3d1b52f6f93078fd16c6c7c9ba2b0d4) Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: Use MIPS MACHINE_OVERRIDES The mipsarch* MACHINE_OVERRIDES can be used to pass the same parameters to MIPS pre-R2 and R6 ISA variants. Use them to reduce duplication in supporting MIPS R6 ISA. (From OE-Core rev: 8369b3568828b1dcff0f3a061a18367f018ac447) Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: update to 2.14.2 (From OE-Core rev: ccce954f7f0b24390ce36460cf05499c8169ed10) Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === Revert "webkitgtk: drop patch 0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch" This reverts commit 812c52f654c1bccca033163100055e3a8b8cda6e. Upstream fixed the issue with GCC. But the build still fails with Clang. Therefore reintroduce this patch until a better solution is found. Upstream bug: https://bugs.webkit.org/show_bug.cgi?id=161697 (From OE-Core rev: 39be43943e3de0eb0ab9b61b405f3b76f12a307d) Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: Fix atomic detection on arm architecture (From OE-Core rev: a77fc49defcf3a30a8f026cfdbd56565750f5a61) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: patch & disable JIT for x32 It might not be speedy, but it does build now. (From OE-Core rev: 79f7e215ee7c176f02efafe7359aaa77dbd9430c) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: add missing python-native dep Since we can't inherit pythonnative, we need this dep explicitly. (From OE-Core rev: 63530f59e43738bac081aaf3c89ec57006038dce) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: update to 2.14.5 Remove a reference to WebKit/LICENSE, as the directory is not there anymore (and the LICENSE file in it hasn't been moved somewhere else) - it was a relic of webkit 1.x era. (From OE-Core rev: 10331f42acfa5dc429198b7c025cc2360511e534) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: Fix build on aarch64 Do not try to do runtime tests during cross compile Fixes | CMake Error at Source/cmake/OptionsCommon.cmake:73 (math): | math cannot parse the expression: "-1": syntax error, unexpected exp_MINUS, | expecting exp_OPENPARENT or exp_NUMBER (1) (From OE-Core rev: 528006009dddd876a830e0a8f248658182a37f37) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: Upgrade to 2.16.1 Fix build with gcc7 Move all patches to webkit folder Drop patches that were backports or have been upstreamed (From OE-Core rev: bfbdd1a2069f199be9ba0909dd512469ff17b65e) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: remove native python dependency Using host python seems to be fine. (From OE-Core rev: 7cf80640f53bd8faa4874c2dad5f630a935475f6) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: Fix build for armv5 Detect atomics during configure (From OE-Core rev: 424ffbde2111130137e307eb9e598ad50451c865) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: Upgrade to 2.16.3 Use bfd linker on ppc, this is because gold fails to link webkit libraries when PIE is enabled (From OE-Core rev: 8808d4b13a946499bc6e84a1be15f53d8ab3f673) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: Upgrade to 2.16.5 Adjust some dependencies: libgcrypt is now required (instead of gnutls) and the following build deps where missing: gettext-native, glib-2.0 and glib-2.0-native. Also the CMake argument ENABLE_CREDENTIAL_STORAGE has been renamed to USE_LIBSECRET. This new upstream release (2.16.4 actually) includes security fixes for CVE: CVE-2017-2538 (From OE-Core rev: ef68005a8c527e9b1d05b7769f0ec8ebe9ec3f91) Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: update to 2.16.6 (From OE-Core rev: 198ccdbefa481f725492b5d8834213fe26431be5) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: Do not use -isystem forcibly this causes include_next <stdlib.h> to not find this header since -isystem <sysroot> is added via cmake, we alrady are using --sysroot so rely on that (From OE-Core rev: a0f2d1389a7e76b64003fea391a0cd485ff5fe77) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: Add a recommends on shared-mime-info. * without this package installed any WebKitGTK+ based browser will fail to correctly open html files (and other files) from disk (file:// URIs). It will open them as plain txt files. (From OE-Core rev: b708cb53b46d9d82a7853bcd0f25ef6bc417bd10) Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === webkitgtk: disable gobject-introspection on armv7a Disable gobject-introspection on armv7a and armv7ve to avoid do_compile failure: | qemu: uncaught target signal 11 (Segmentation fault) - core dumped | Segmentation fault (From OE-Core rev: bdddd81c8b4eab6bbf7a8697992b48cb5a30ae4a) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> === 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) === Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-sato/webkit/webkitgtk_2.18.5.bb')
-rw-r--r--meta/recipes-sato/webkit/webkitgtk_2.18.5.bb126
1 files changed, 126 insertions, 0 deletions
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..ccef5ff2fb
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk_2.18.5.bb
@@ -0,0 +1,126 @@
+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"
+
+# WebKit2-4.0: ../../libgpg-error-1.21/src/posix-lock.c:119: get_lock_object: Assertion `!"sizeof lock obj"' failed.
+# qemu: uncaught target signal 6 (Aborted) - core dumped
+EXTRA_OECMAKE_append_mipsarchn32 = " -DENABLE_INTROSPECTION=OFF -DENABLE_GTKDOC=OFF"
+EXTRA_OECMAKE_append_mipsarchn64 = " -DENABLE_INTROSPECTION=OFF -DENABLE_GTKDOC=OFF"
+
+# qemu: uncaught target signal 11 (Segmentation fault) - core dumped
+# Segmentation fault
+GI_DATA_ENABLED_armv7a = "False"
+GI_DATA_ENABLED_armv7ve = "False"