diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 1713393c..0511da9e 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -11,14 +11,14 @@ jobs: with: repo_release: 'dunfell' - dunfell-raspberrypi3-mesa-weston-wpe-2-38: + dunfell-raspberrypi3-mesa-weston-wpe-2-42: runs-on: self-hosted if: "!contains(github.event.head_commit.message, 'ci skip')" steps: - uses: actions/checkout@v3 - uses: ./.github/actions/bitbake-build with: - bitbake_source: 'raspberrypi3-mesa-wpe-2-38 raspberrypi3-mesa poky layers.raspberrypi.gstreamer.webkit conf_v1.wpe-2_38' + bitbake_source: 'raspberrypi3-mesa-wpe-2-42 raspberrypi3-mesa poky layers.raspberrypi.gstreamer.webkit conf_v1.wpe-2_42' repo_release: 'dunfell' needs: dunfell-repo @@ -31,14 +31,14 @@ jobs: with: repo_release: 'kirkstone' - kirkstone-raspberrypi3-mesa-weston-wpe-2-38: + kirkstone-raspberrypi3-mesa-weston-wpe-2-42: runs-on: self-hosted if: "!contains(github.event.head_commit.message, 'ci skip')" steps: - uses: actions/checkout@v3 - uses: ./.github/actions/bitbake-build with: - bitbake_source: 'raspberrypi3-mesa-wpe-2-38 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v3.wpe-2_38' + bitbake_source: 'raspberrypi3-mesa-wpe-2-42 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v3.wpe-2_42' repo_release: 'kirkstone' needs: kirkstone-repo @@ -51,14 +51,14 @@ jobs: with: repo_release: 'langdale' - langdale-raspberrypi3-mesa-weston-wpe-2-38: + langdale-raspberrypi3-mesa-weston-wpe-2-42: runs-on: self-hosted if: "!contains(github.event.head_commit.message, 'ci skip')" steps: - uses: actions/checkout@v3 - uses: ./.github/actions/bitbake-build with: - bitbake_source: 'raspberrypi3-mesa-wpe-2-38 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_38' + bitbake_source: 'raspberrypi3-mesa-wpe-2-42 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_42' repo_release: 'langdale' needs: langdale-repo @@ -69,7 +69,7 @@ jobs: - uses: actions/checkout@v3 - uses: ./.github/actions/bitbake-build with: - bitbake_source: 'raspberrypi3-mesa-wpe-qt raspberrypi3-mesa poky layers.raspberrypi.qt5.webkit conf_v4.wpe-2_38.qt' + bitbake_source: 'raspberrypi3-mesa-wpe-qt raspberrypi3-mesa poky layers.raspberrypi.qt5.webkit conf_v4.wpe-2_42.qt' repo_release: 'langdale' needs: langdale-repo @@ -80,7 +80,7 @@ jobs: - uses: actions/checkout@v3 - uses: ./.github/actions/bitbake-build with: - bitbake_source: 'raspberrypi3-mesa-wpe-musl raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_38' + bitbake_source: 'raspberrypi3-mesa-wpe-musl raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_42' bitbake_prefix: 'TCLIBC=musl' repo_release: 'langdale' needs: langdale-repo @@ -96,14 +96,14 @@ jobs: repo_release: 'langdale' needs: langdale-repo - langdale-raspberrypi4-64-weston-wpe-2-38: + langdale-raspberrypi4-64-weston-wpe-2-42: runs-on: self-hosted if: "!contains(github.event.head_commit.message, 'ci skip')" steps: - uses: actions/checkout@v3 - uses: ./.github/actions/bitbake-build with: - bitbake_source: 'raspberrypi4-64-wpe-2-38 raspberrypi4-64 poky layers.raspberrypi.webkit conf_v4.wpe-2_38' + bitbake_source: 'raspberrypi4-64-wpe-2-42 raspberrypi4-64 poky layers.raspberrypi.webkit conf_v4.wpe-2_42' repo_release: 'langdale' needs: langdale-repo @@ -128,14 +128,14 @@ jobs: with: repo_release: 'mickledore' - mickledore-raspberrypi3-mesa-weston-wpe-2-38: + mickledore-raspberrypi3-mesa-weston-wpe-2-42: runs-on: self-hosted if: "!contains(github.event.head_commit.message, 'ci skip')" steps: - uses: actions/checkout@v3 - uses: ./.github/actions/bitbake-build with: - bitbake_source: 'raspberrypi3-mesa-wpe-2-38 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_38' + bitbake_source: 'raspberrypi3-mesa-wpe-2-42 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_42' repo_release: 'mickledore' needs: mickledore-repo diff --git a/conf/include/webkit-bleeding.inc b/conf/include/webkit-bleeding.inc index 15bc6398..c6f770dc 100644 --- a/conf/include/webkit-bleeding.inc +++ b/conf/include/webkit-bleeding.inc @@ -3,11 +3,11 @@ # # require conf/include/webkit-bleeding.inc -PREFERRED_VERSION_cog = "0.17+httpsAUTOINC+%" +PREFERRED_VERSION_cog = "0.18+httpsAUTOINC+%" PREFERRED_VERSION_libwpe = "1.14+httpsAUTOINC+%" PREFERRED_VERSION_wpebackend-fdo = "devupstream+gitAUTOINC+%" PREFERRED_VERSION_wpebackend-rdk = "1.20200213+gitAUTOINC+%" -PREFERRED_VERSION_wpewebkit = "2.40+httpsAUTOINC+%" +PREFERRED_VERSION_wpewebkit = "2.42+httpsAUTOINC+%" SRCREV:class-devupstream:pn-cog = "${AUTOREV}" SRCREV:class-devupstream:pn-libwpe = "${AUTOREV}" diff --git a/conf/templates/template/presets/wpe-2_36.conf b/conf/templates/template/presets/wpe-2_36.conf deleted file mode 100644 index 2c37fe23..00000000 --- a/conf/templates/template/presets/wpe-2_36.conf +++ /dev/null @@ -1,7 +0,0 @@ -PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo" -PREFERRED_PROVIDER_virtual/libwpe = "libwpe" -PREFERRED_VERSION_cog = "0.14.%" -PREFERRED_VERSION_libwpe = "1.12.%" -PREFERRED_VERSION_wpebackend-fdo = "1.12.%" -PREFERRED_VERSION_wpebackend-rdk = "1.20200213" -PREFERRED_VERSION_wpewebkit = "2.36.%" diff --git a/conf/templates/template/presets/wpe-2_40.conf b/conf/templates/template/presets/wpe-2_40.conf index df74946f..f03418bf 100644 --- a/conf/templates/template/presets/wpe-2_40.conf +++ b/conf/templates/template/presets/wpe-2_40.conf @@ -1,6 +1,6 @@ PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo" PREFERRED_PROVIDER_virtual/libwpe = "libwpe" -PREFERRED_VERSION_cog = "0.17.%" +PREFERRED_VERSION_cog = "0.16.%" PREFERRED_VERSION_libwpe = "1.14.%" PREFERRED_VERSION_wpebackend-fdo = "1.14.%" PREFERRED_VERSION_wpebackend-rdk = "1.20200213" diff --git a/conf/templates/template/presets/wpe-2_42.conf b/conf/templates/template/presets/wpe-2_42.conf new file mode 100644 index 00000000..132a5ed6 --- /dev/null +++ b/conf/templates/template/presets/wpe-2_42.conf @@ -0,0 +1,7 @@ +PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo" +PREFERRED_PROVIDER_virtual/libwpe = "libwpe" +PREFERRED_VERSION_cog = "0.18.%" +PREFERRED_VERSION_libwpe = "1.14.%" +PREFERRED_VERSION_wpebackend-fdo = "1.14.%" +PREFERRED_VERSION_wpebackend-rdk = "1.20200213" +PREFERRED_VERSION_wpewebkit = "2.42.%" diff --git a/recipes-browser/cog/cog-cmake.inc b/recipes-browser/cog/cog-cmake.inc deleted file mode 100644 index 8816a27d..00000000 --- a/recipes-browser/cog/cog-cmake.inc +++ /dev/null @@ -1,9 +0,0 @@ -inherit cmake - -PACKAGECONFIG[dbus] = "-DCOG_DBUS_SYSTEM_BUS=ON -DCOG_DBUS_OWN_USER=${COG_DBUS_OWN_USER},-DCOG_DBUS_SYSTEM_BUS=OFF" -PACKAGECONFIG[drm] = "-DCOG_PLATFORM_DRM=ON,-DCOG_PLATFORM_DRM=OFF,wpebackend-fdo libdrm virtual/libgbm libinput" -PACKAGECONFIG[gtk4] = "-DCOG_PLATFORM_GTK4=ON,-DCOG_PLATFORM_GTK4=OFF,gtk4" -PACKAGECONFIG[headless] = "-DCOG_PLATFORM_HEADLESS=ON,-DCOG_PLATFORM_HEADLESS=OFF,wpebackend-fdo" -PACKAGECONFIG[weston-direct-display] = "-DCOG_WESTON_DIRECT_DISPLAY=ON,-DCOG_WESTON_DIRECT_DISPLAY=OFF,weston" -PACKAGECONFIG[wl] = "-DCOG_PLATFORM_WL=ON,-DCOG_PLATFORM_WL=OFF,wpebackend-fdo" - diff --git a/recipes-browser/cog/cog.inc b/recipes-browser/cog/cog.inc index 72eec5bf..6b4f9bdc 100644 --- a/recipes-browser/cog/cog.inc +++ b/recipes-browser/cog/cog.inc @@ -19,6 +19,7 @@ DEPENDS += "\ ${@bb.utils.contains('PACKAGECONFIG', 'fdo', 'wayland', '', d)} \ ${@bb.utils.contains_any('LAYERSERIES_CORENAMES', 'dunfell gatesgarth hardknott honister', 'libsoup-2.4', 'libsoup', d)} \ glib-2.0 wayland-native wayland-protocols \ + libxkbcommon \ " DEPENDS:append:class-target = " \ diff --git a/recipes-browser/cog/cog/0001-Fix-missing-xkbcommon.h-include.patch b/recipes-browser/cog/cog/0001-Fix-missing-xkbcommon.h-include.patch deleted file mode 100644 index 1aa7dea7..00000000 --- a/recipes-browser/cog/cog/0001-Fix-missing-xkbcommon.h-include.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 14869ec780666b494a8a4e49298d69a15faa1b09 Mon Sep 17 00:00:00 2001 -From: Pablo Saavedra -Date: Fri, 10 Jun 2022 11:27:08 +0200 -Subject: [PATCH] Fix missing xkbcommon.h include - -Issue: https://github.com/Igalia/cog/issues/449 ---- - platform/drm/cog-platform-drm.c | 1 + - platform/wayland/cog-im-context-wl-v1.c | 2 ++ - 2 files changed, 3 insertions(+) - -Upstream-Status: Submitted [https://github.com/Igalia/cog/pull/450] - -diff --git a/platform/drm/cog-platform-drm.c b/platform/drm/cog-platform-drm.c -index 8c51fe2..6da3c55 100644 ---- a/platform/drm/cog-platform-drm.c -+++ b/platform/drm/cog-platform-drm.c -@@ -16,6 +16,7 @@ - #include "kms.h" - #include "cursor-drm.h" - -+#include - #include - #include - -diff --git a/platform/wayland/cog-im-context-wl-v1.c b/platform/wayland/cog-im-context-wl-v1.c -index 96e31ed..e7ce8f6 100644 ---- a/platform/wayland/cog-im-context-wl-v1.c -+++ b/platform/wayland/cog-im-context-wl-v1.c -@@ -7,6 +7,8 @@ - - #include "cog-im-context-wl-v1.h" - -+#include -+ - static struct { - struct zwp_text_input_v1 *text_input; - struct wl_seat *seat; --- -2.34.1 - diff --git a/recipes-browser/cog/cog_0.12.4.bb b/recipes-browser/cog/cog_0.12.4.bb deleted file mode 100644 index 803f6746..00000000 --- a/recipes-browser/cog/cog_0.12.4.bb +++ /dev/null @@ -1,11 +0,0 @@ -require cog.inc -require cog-cmake.inc - -SRC_URI:append = " file://0001-Fix-missing-xkbcommon.h-include.patch" -SRC_URI[sha256sum] = "9983c621c8e14fca3792ff566cb6b86d6a1f17446eb4c083af4a5a749112982f" - -RDEPENDS:${PN} += "wpewebkit (>= 2.34)" - -# Releases <0.14 depend on libsoup 2.4 -DEPENDS += "libsoup-2.4" - diff --git a/recipes-browser/cog/cog_0.14.1.bb b/recipes-browser/cog/cog_0.14.1.bb deleted file mode 100644 index 738fac10..00000000 --- a/recipes-browser/cog/cog_0.14.1.bb +++ /dev/null @@ -1,16 +0,0 @@ -require cog.inc -require cog-cmake.inc - -SRC_URI[sha256sum] = "fb91104e25e1dde27189c91c70acc356e387f47acebaa8997e01ce5879c3a600" - -# Required since https://github.com/Igalia/cog/commit/48dfac2ba637e223eeea1b289526d0f51e39ab88 -DEPENDS:append = " libxkbcommon" - -RDEPENDS:${PN} += "wpewebkit (>= 2.36)" - -PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4" - -# libsoup-3 is not available before Poky kirkstone. -# http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-support/libsoup/libsoup_3.0.1.bb?id=de296e2b2be876ca5cf2af309b710111e2b2581e -PACKAGECONFIG:append = " ${@bb.utils.contains_any('LAYERSERIES_CORENAMES', 'dunfell gatesgarth hardknott honister', 'soup2', '', d)}" - diff --git a/recipes-browser/cog/cog_0.16.1.bb b/recipes-browser/cog/cog_0.16.1.bb index 1251483c..71226f31 100644 --- a/recipes-browser/cog/cog_0.16.1.bb +++ b/recipes-browser/cog/cog_0.16.1.bb @@ -1,12 +1,7 @@ require cog.inc require cog-meson.inc -DEFAULT_PREFERENCE = "-1" - SRC_URI[sha256sum] = "37c5f14123b8dcf077839f6c60f0d721d2a91bb37829e796f420126e6b0d38b5" -# Required since https://github.com/Igalia/cog/commit/48dfac2ba637e223eeea1b289526d0f51e39ab88 -DEPENDS:append = " libxkbcommon" - -RDEPENDS:${PN} += "wpewebkit (>= 2.36)" +RDEPENDS:${PN} += "wpewebkit (< 2.38)" diff --git a/recipes-browser/cog/cog_0.17.90.bb b/recipes-browser/cog/cog_0.17.90.bb deleted file mode 100644 index 35c64dc5..00000000 --- a/recipes-browser/cog/cog_0.17.90.bb +++ /dev/null @@ -1,18 +0,0 @@ -require cog.inc -require cog-meson.inc -require conf/include/devupstream.inc - -DEFAULT_PREFERENCE = "-1" - -SRC_URI[sha256sum] = "beb98996c48927e7283961877d45acb7f26ed71d78be9c4984fbff30ed0bedb7" - -SRC_URI:class-devupstream = "git://github.com/Igalia/cog.git;protocol=https;tag=0.17.90;nobranch=1" -SRCREV:class-devupstream = "0.17.90" - -# Required since https://github.com/Igalia/cog/commit/48dfac2ba637e223eeea1b289526d0f51e39ab88 -DEPENDS:append = " libxkbcommon" - -RDEPENDS:${PN} += "wpewebkit (>= 2.38)" - -# Required for 0.17+ -PACKAGECONFIG[soup2] = ",,libsoup-2.4" diff --git a/recipes-browser/cog/cog_0.18.2.bb b/recipes-browser/cog/cog_0.18.2.bb new file mode 100644 index 00000000..ad5701fc --- /dev/null +++ b/recipes-browser/cog/cog_0.18.2.bb @@ -0,0 +1,14 @@ +require cog.inc +require cog-meson.inc +require conf/include/devupstream.inc + +SRC_URI[sha256sum] = "3c4237cff6323b8c3eaf52c6f3f6415b898a22c0127c6c396c1eaa6eef46c279" + +SRC_URI:class-devupstream = "git://github.com/Igalia/cog.git;protocol=https;branch=master" +# Cog 0.18.X branch was forked from the master branch in this commit +SRCREV:class-devupstream = "8e1acd3704e22904acc2fee0d4a2f5344257434c" + +RDEPENDS:${PN} += "wpewebkit (>= 2.42)" + +# Required for 0.17+ +PACKAGECONFIG[soup2] = ",,libsoup-2.4" diff --git a/recipes-browser/libwpe/libwpe_1.12.3.bb b/recipes-browser/libwpe/libwpe_1.12.3.bb deleted file mode 100644 index 4c987059..00000000 --- a/recipes-browser/libwpe/libwpe_1.12.3.bb +++ /dev/null @@ -1,6 +0,0 @@ -require libwpe.inc - -DEPENDS += "libxkbcommon" - -SRC_URI[sha256sum] = "b84fdbfbc849ce4fdf084bb28b58e5463b1b4b6cc8f200dc77b41f8545d5329d" - diff --git a/recipes-browser/webkitgtk/webkitgtk_2.38.6.bb b/recipes-browser/webkitgtk/webkitgtk_2.38.6.bb deleted file mode 100644 index 21023192..00000000 --- a/recipes-browser/webkitgtk/webkitgtk_2.38.6.bb +++ /dev/null @@ -1,133 +0,0 @@ -SUMMARY = "WebKit web rendering engine for the GTK+ platform" -HOMEPAGE = "http://www.webkitgtk.org/" -BUGTRACKER = "http://bugs.webkit.org/" -LICENSE = "BSD & LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 " - -# you need harfbuzz with icu enabled, you can add this to your config: -# PACKAGECONFIG:append:pn-harfbuzz = " icu" -DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libidn \ - gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native icu \ - gperf-native perl-native ruby-native ninja-native \ - libwebp harfbuzz glib-2.0 gettext-native glib-2.0-native \ - sqlite3 libgcrypt \ - ${@bb.utils.contains_any('LAYERSERIES_CORENAMES', 'dunfell gatesgarth hardknott honister', 'libsoup-2.4', 'libsoup', d)} \ -" - -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" -SRC_URI = " \ - https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz;name=tarball \ -" -SRC_URI[tarball.sha256sum] = "1c614c9589389db1a79ea9ba4293bbe8ac3ab0a2234cac700935fae0724ad48b" - -RRECOMMENDS:${PN} = "${PN}-bin \ - ca-certificates \ - shared-mime-info \ - ttf-dejavu-sans \ - ttf-dejavu-sans-mono \ - ttf-dejavu-serif \ - ${@bb.utils.contains('PACKAGECONFIG', 'video', 'gstreamer1.0-plugins-base-meta gstreamer1.0-plugins-good-meta gstreamer1.0-plugins-bad-meta', '', d)} \ - " -RRECOMMENDS:${PN}-bin = "adwaita-icon-theme librsvg-gtk" - -inherit cmake lib_package pkgconfig perlnative python3native - -S = "${WORKDIR}/webkitgtk-${PV}" - -# To build with embedded gl support -> Enable *both* "opengl" and "gles2" option -# To build with desktop gl support -> Enable "opengl", but disable "gles2" option -PACKAGECONFIG ??= " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland wperenderer', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl gles2 webgl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'journald', '' ,d)} \ - enchant \ - jit \ - libsecret \ - openjpeg \ - video \ - webcrypto \ - woff2 \ - " - -PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," -PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,bubblewrap xdg-dbus-proxy libseccomp" -PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" -PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette" -PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" -PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" -PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" -PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" -PACKAGECONFIG[opengl] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF,virtual/libgl" -PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" -PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4" -PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=OFF,systemd" -PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF," -PACKAGECONFIG[video] = "-DENABLE_VIDEO=ON,-DENABLE_VIDEO=OFF,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad" -PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland wayland-native" -PACKAGECONFIG[webcrypto] = "-DENABLE_WEB_CRYPTO=ON,-DENABLE_WEB_CRYPTO=OFF,libgcrypt libtasn1" -PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" -PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" -PACKAGECONFIG[wperenderer] = "-DUSE_WPE_RENDERER=ON,-DUSE_WPE_RENDERER=OFF,libwpe wpebackend-fdo" -PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxt" -PACKAGECONFIG[jit] = "-DENABLE_JIT=ON -DENABLE_C_LOOP=OFF,-DENABLE_JIT=OFF -DENABLE_C_LOOP=ON," - -EXTRA_OECMAKE = " \ - -DPORT=GTK \ - -DENABLE_INTROSPECTION=OFF \ - -DENABLE_GTKDOC=OFF \ - -DENABLE_MINIBROWSER=ON \ - -G Ninja \ - " - -# Needed for <= 2.38.5 -# Upstream-Status: Merged [https://github.com/WebKit/WebKit/pull/11288] -EXTRA_OECMAKE:append = " -DENABLE_TOUCH_SLIDER=ON" - -# libsoup-3 is not available before Poky kirkstone. -# http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-support/libsoup/libsoup_3.0.1.bb?id=de296e2b2be876ca5cf2af309b710111e2b2581e -PACKAGECONFIG:append = " ${@bb.utils.contains_any('LAYERSERIES_CORENAMES', 'dunfell gatesgarth hardknott honister', 'soup2', '', d)}" - -# Javascript JIT is not supported on ppc/arm < v6/RISCV/mips64 -PACKAGECONFIG:remove:powerpc = "jit" -PACKAGECONFIG:remove:powerpc64 = "jit" -PACKAGECONFIG:remove:powerpc64le = "jit" -PACKAGECONFIG:remove:armv4 = "jit" -PACKAGECONFIG:remove:armv5 = "jit" -PACKAGECONFIG:remove:armv6 = "jit" -PACKAGECONFIG:remove:riscv32 = "jit" -PACKAGECONFIG:remove:riscv64 = "jit" -PACKAGECONFIG:remove:mipsarchn64 = "jit" -PACKAGECONFIG:remove:mipsarchn32 = "jit" - -# http://errors.yoctoproject.org/Errors/Details/20370/ -ARM_INSTRUCTION_SET:armv4 = "arm" -ARM_INSTRUCTION_SET:armv5 = "arm" -ARM_INSTRUCTION_SET:armv6 = "arm" - -# Can't be built with ccache -CCACHE_DISABLE = "1" - -# 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:armv7m = "thumb" -ARM_INSTRUCTION_SET:armv7ve = "thumb" - -# Execdir is webkit2gtk-4.0 or webkit2gtk-4.1 depends on if USE_SOUP -# is or not enabled. -WEBKITGTK_API_VERSION := "${@bb.utils.contains('PACKAGECONFIG', 'soup2', '4.0', '4.1', d)}" - -# Install MiniBrowser in PATH -do_install:append() { - if test -f "${D}${libexecdir}/webkit2gtk-${WEBKITGTK_API_VERSION}" ; then - install -d ${D}${bindir} - mv ${D}${libexecdir}/webkit2gtk-${WEBKITGTK_API_VERSION}/MiniBrowser ${D}${bindir} - fi -} - -FILES:${PN} += "${libdir}/webkit2gtk-${WEBKITGTK_API_VERSION}/injected-bundle/libwebkit2gtkinjectedbundle.so" -FILES:${PN}-dbg += "${libdir}/webkit2gtk-${WEBKITGTK_API_VERSION}/injected-bundle/.debug/libwebkit2gtkinjectedbundle.so" -FILES:${PN}-dbg += "${libdir}/webkitgtk/webkit2gtk-${WEBKITGTK_API_VERSION}/.debug/*" diff --git a/recipes-browser/webkitgtk/webkitgtk_2.40.3.bb b/recipes-browser/webkitgtk/webkitgtk_2.42.4.bb similarity index 94% rename from recipes-browser/webkitgtk/webkitgtk_2.40.3.bb rename to recipes-browser/webkitgtk/webkitgtk_2.42.4.bb index 2c1c4811..d8e45aca 100644 --- a/recipes-browser/webkitgtk/webkitgtk_2.40.3.bb +++ b/recipes-browser/webkitgtk/webkitgtk_2.42.4.bb @@ -20,7 +20,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" SRC_URI = " \ https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz;name=tarball \ " -SRC_URI[tarball.sha256sum] = "cc0aa83f40dbc64c1c6ae42ec6b85af4be2a9dbf524cfcb95f89a367fb5098dd" +SRC_URI[tarball.sha256sum] = "52288b30bda22373442cecb86f9c9a569ad8d4769a1f97b352290ed92a67ed86" RRECOMMENDS:${PN} = "${PN}-bin \ ca-certificates \ @@ -45,6 +45,7 @@ PACKAGECONFIG ??= " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d) enchant \ gbm \ jit \ + ${@bb.utils.contains_any('LAYERSERIES_CORENAMES', 'dunfell gatesgarth hardknott honister', '', 'jpegxl', d)} \ libsecret \ openjpeg \ video \ @@ -59,6 +60,7 @@ PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette" PACKAGECONFIG[gbm] = "-DUSE_GBM=ON,-DUSE_GBM=OFF,libdrm" PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" +PACKAGECONFIG[jpegxl] = "-DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl" PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" PACKAGECONFIG[opengl] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF,virtual/libgl" @@ -80,6 +82,7 @@ EXTRA_OECMAKE = " \ -DENABLE_INTROSPECTION=OFF \ -DENABLE_GTKDOC=OFF \ -DENABLE_MINIBROWSER=ON \ + ${@bb.utils.contains_any("LAYERSERIES_CORENAMES", 'dunfell gatesgarth', '-DUSE_GSTREAMER_TRANSCODER=OFF', '', d)} \ -G Ninja \ " diff --git a/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.10.0.bb b/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.10.0.bb deleted file mode 100644 index b3b8a729..00000000 --- a/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.10.0.bb +++ /dev/null @@ -1,4 +0,0 @@ -require wpebackend-fdo.inc - -SRC_URI[sha256sum] = "b89dfd3500a4dec711132cd7bff72599e67d56a419d000730e14bb99547509cc" - diff --git a/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.12.0.bb b/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.12.0.bb deleted file mode 100644 index 4b88b2d3..00000000 --- a/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.12.0.bb +++ /dev/null @@ -1,4 +0,0 @@ -require wpebackend-fdo.inc - -SRC_URI[sha256sum] = "6239c9c15523410798d66315de6b491712ab30009ba180f3e0dd076d9b0074ac" - diff --git a/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.14.1.bb b/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.14.1.bb deleted file mode 100644 index 878aeeaf..00000000 --- a/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.14.1.bb +++ /dev/null @@ -1,3 +0,0 @@ -require wpebackend-fdo.inc - -SRC_URI[sha256sum] = "01938dd93c62b3a47b18dd13c70d50490a8b8a6caec23c8550a3dbdbcc6bbb50" diff --git a/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.14.2.bb b/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.14.2.bb new file mode 100644 index 00000000..94b76cc2 --- /dev/null +++ b/recipes-browser/wpebackend-fdo/wpebackend-fdo_1.14.2.bb @@ -0,0 +1,3 @@ +require wpebackend-fdo.inc + +SRC_URI[sha256sum] = "93c9766ae9864eeaeaee2b0a74f22cbca08df42c1a1bdb55b086f2528e380d38" diff --git a/recipes-browser/wpewebkit/wpewebkit.inc b/recipes-browser/wpewebkit/wpewebkit.inc index fa9def34..fa60bcbd 100644 --- a/recipes-browser/wpewebkit/wpewebkit.inc +++ b/recipes-browser/wpewebkit/wpewebkit.inc @@ -11,6 +11,7 @@ DEPENDS:append = " \ bison-native gperf-native harfbuzz-native libxml2-native ccache-native ninja-native ruby-native cairo \ fontconfig freetype glib-2.0 harfbuzz icu jpeg pcre sqlite3 zlib libpng \ libwebp libxml2 libxslt virtual/egl virtual/libgles2 libepoxy libgcrypt \ + unifdef-native \ " inherit cmake pkgconfig perlnative python3native @@ -59,7 +60,7 @@ export WK_USE_CCACHE="NO" PACKAGECONFIG ??= "jit dfg-jit mediasource video webaudio webcrypto woff2 gst_gl \ remote-inspector openjpeg unified-builds service-worker \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'journald', '' ,d)} \ - avif \ + avif gbm webgl2 \ " # libsoup-3 is not available before Poky kirkstone. @@ -74,13 +75,17 @@ PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=$ PACKAGECONFIG[developer-mode] = "-DDEVELOPER_MODE=ON,-DDEVELOPER_MODE=OFF,wayland-native wayland-protocols wpebackend-fdo" PACKAGECONFIG[deviceorientation] = "-DENABLE_DEVICE_ORIENTATION=ON,-DENABLE_DEVICE_ORIENTATION=OFF," PACKAGECONFIG[dfg-jit] = "-DENABLE_DFG_JIT=ON,-DENABLE_DFG_JIT=OFF," +PACKAGECONFIG[documentation] = "-DENABLE_DOCUMENTATION=ON,-DENABLE_DOCUMENTATION=OFF, gi-docgen-native gi-docgen" PACKAGECONFIG[encryptedmedia] = "-DENABLE_ENCRYPTED_MEDIA=ON,-DENABLE_ENCRYPTED_MEDIA=OFF,libgcrypt" PACKAGECONFIG[experimental-features] = "-DENABLE_EXPERIMENTAL_FEATURES=ON,-DENABLE_EXPERIMENTAL_FEATURES=OFF,libavif libjxl" PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF," +PACKAGECONFIG[gbm] = "-DUSE_GBM=ON,-DUSE_GBM=OFF,libdrm" PACKAGECONFIG[geolocation] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" PACKAGECONFIG[gst_gl] = "-DUSE_GSTREAMER_GL=ON,-DUSE_GSTREAMER_GL=OFF,gstreamer1.0-plugins-base" PACKAGECONFIG[jit] = "-DENABLE_JIT=ON,-DENABLE_JIT=OFF," +PACKAGECONFIG[introspection] = "-DENABLE_INTROSPECTION=ON,-DENABLE_INTROSPECTION=OFF, gobject-introspection-native" PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF," +PACKAGECONFIG[lbse] = "-DENABLE_LAYER_BASED_SVG_ENGINE=ON,-DENABLE_LAYER_BASED_SVG_ENGINE=OFF, " PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF," PACKAGECONFIG[minibrowser] = "-DENABLE_MINIBROWSER=ON,-DENABLE_MINIBROWSER=OFF,wayland-native wayland-protocols wpebackend-fdo" PACKAGECONFIG[mediasource] = "-DENABLE_MEDIA_SOURCE=ON,-DENABLE_MEDIA_SOURCE=OFF,gstreamer1.0 gstreamer1.0-plugins-good" @@ -100,9 +105,15 @@ PACKAGECONFIG[unified-builds] = "-DENABLE_UNIFIED_BUILDS=ON,-DENABLE_UNIFIED_BUI PACKAGECONFIG[thunder] = "-DENABLE_THUNDER=ON,-DENABLE_THUNDER=OFF,virtual/open-cdm" PACKAGECONFIG[video-plane-display-dmabuf] = "-DUSE_WPE_VIDEO_PLANE_DISPLAY_DMABUF=ON,-DUSE_WPE_VIDEO_PLANE_DISPLAY_DMABUF=OFF,wpebackend-fdo" PACKAGECONFIG[webxr] = "-DENABLE_WEBXR=ON,-DENABLE_WEBXR=OFF,openxr" +# Build option for WPE API 1.1 +PACKAGECONFIG[wpe-1-1-api] = "-DENABLE_WPE_1_1_API:BOOL=ON,-DENABLE_WPE_1_1_API:BOOL=OFF," EXTRA_OECMAKE = " -DPORT=WPE -G Ninja" +# TODO: documentation and introspection are disabled by default because the are +# causing cross-compiling build errors +# PACKAGECONFIG:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'documentation', '' ,d)} introspection" + # If SSE code compiles, assume it runs successfully (it can't actually run # because of cross compiling) EXTRA_OECMAKE:append:x86 = " -DHAVE_SSE2_EXTENSIONS_EXITCODE=0" diff --git a/recipes-browser/wpewebkit/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se_2.42.patch b/recipes-browser/wpewebkit/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se_2.42.patch new file mode 100644 index 00000000..00528cb3 --- /dev/null +++ b/recipes-browser/wpewebkit/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se_2.42.patch @@ -0,0 +1,297 @@ +From 5993201254571dfe9d660c26e85ac744bbce67d8 Mon Sep 17 00:00:00 2001 +From: Pablo Saavedra +Date: Mon, 26 Sep 2022 06:34:53 +0000 +Subject: [PATCH] [ARM][NEON] FELightningNEON.cpp fails to build, NEON fast + path seems unused + +Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=241182] + +--- + Source/WebCore/Sources.txt | 1 + + .../cpu/arm/filters/FELightingNEON.cpp | 4 +- + .../graphics/cpu/arm/filters/FELightingNEON.h | 54 +++++++++---------- + .../graphics/filters/DistantLightSource.h | 4 ++ + .../platform/graphics/filters/FELighting.h | 7 --- + .../graphics/filters/PointLightSource.h | 4 ++ + .../graphics/filters/SpotLightSource.h | 4 ++ + .../software/FELightingSoftwareApplier.h | 16 ++++++ + 8 files changed, 58 insertions(+), 36 deletions(-) + +diff --git a/Source/WebCore/Sources.txt b/Source/WebCore/Sources.txt +index 9ca28a7b..ed2c7f9f 100644 +--- a/Source/WebCore/Sources.txt ++++ b/Source/WebCore/Sources.txt +@@ -2303,6 +2303,7 @@ platform/graphics/controls/MeterPart.cpp + platform/graphics/controls/ProgressBarPart.cpp + platform/graphics/controls/SliderTrackPart.cpp + platform/graphics/cpu/arm/filters/FEBlendNeonApplier.cpp ++platform/graphics/cpu/arm/filters/FELightingNEON.cpp + platform/graphics/displaylists/DisplayList.cpp + platform/graphics/displaylists/DisplayListDrawingContext.cpp + platform/graphics/displaylists/DisplayListItems.cpp +diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp +index f6ff8c20..42a97ffc 100644 +--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp ++++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp +@@ -49,7 +49,7 @@ short* feLightingConstantsForNeon() + return s_FELightingConstantsForNeon; + } + +-void FELighting::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters) ++void FELightingSoftwareApplier::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters) + { + neonDrawLighting(parameters); + } +@@ -464,7 +464,7 @@ TOSTRING(neonDrawLighting) ":" NL + "b .lightStrengthCalculated" NL + ); // NOLINT + +-int FELighting::getPowerCoefficients(float exponent) ++int FELightingSoftwareApplier::getPowerCoefficients(float exponent) + { + // Calling a powf function from the assembly code would require to save + // and reload a lot of NEON registers. Since the base is in range [0..1] +diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h +index b17c603d..c6d17f57 100644 +--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h ++++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h +@@ -24,14 +24,15 @@ + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#ifndef FELightingNEON_h +-#define FELightingNEON_h ++#pragma once + + #if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE) + +-#include "FELighting.h" ++#include "FELightingSoftwareApplier.h" ++#include "ImageBuffer.h" + #include "PointLightSource.h" + #include "SpotLightSource.h" ++#include + #include + + namespace WebCore { +@@ -93,14 +94,14 @@ extern "C" { + void neonDrawLighting(FELightingPaintingDataForNeon*); + } + +-inline void FELighting::platformApplyNeon(const LightingData& data, const LightSource::PaintingData& paintingData) ++inline void FELightingSoftwareApplier::applyPlatformNeon(const FELightingSoftwareApplier::LightingData& data, const LightSource::PaintingData& paintingData) + { +- alignas(16) FELightingFloatArgumentsForNeon floatArguments; +- FELightingPaintingDataForNeon neonData = { +- data.pixels->data(), ++ WebCore::FELightingFloatArgumentsForNeon alignas(16) floatArguments; ++ WebCore::FELightingPaintingDataForNeon neonData = { ++ data.pixels->bytes(), + 1, +- data.widthDecreasedByOne - 1, +- data.heightDecreasedByOne - 1, ++ data.width - 2, ++ data.height - 2, + 0, + 0, + 0, +@@ -111,23 +112,23 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS + // Set light source arguments. + floatArguments.constOne = 1; + +- auto color = m_lightingColor.toColorTypeLossy>().resolved(); ++ auto color = data.lightingColor.toColorTypeLossy>().resolved(); + + floatArguments.colorRed = color.red; + floatArguments.colorGreen = color.green; + floatArguments.colorBlue = color.blue; + floatArguments.padding4 = 0; + +- if (m_lightSource->type() == LS_POINT) { ++ if (data.lightSource->type() == LS_POINT) { + neonData.flags |= FLAG_POINT_LIGHT; +- PointLightSource& pointLightSource = static_cast(m_lightSource.get()); ++ const auto& pointLightSource = *static_cast(data.lightSource); + floatArguments.lightX = pointLightSource.position().x(); + floatArguments.lightY = pointLightSource.position().y(); + floatArguments.lightZ = pointLightSource.position().z(); + floatArguments.padding2 = 0; +- } else if (m_lightSource->type() == LS_SPOT) { ++ } else if (data.lightSource->type() == LS_SPOT) { + neonData.flags |= FLAG_SPOT_LIGHT; +- SpotLightSource& spotLightSource = static_cast(m_lightSource.get()); ++ const auto& spotLightSource = *static_cast(data.lightSource); + floatArguments.lightX = spotLightSource.position().x(); + floatArguments.lightY = spotLightSource.position().y(); + floatArguments.lightZ = spotLightSource.position().z(); +@@ -145,7 +146,7 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS + if (spotLightSource.specularExponent() == 1) + neonData.flags |= FLAG_CONE_EXPONENT_IS_1; + } else { +- ASSERT(m_lightSource->type() == LS_DISTANT); ++ ASSERT(data.lightSource->type() == LS_DISTANT); + floatArguments.lightX = paintingData.initialLightingData.lightVector.x(); + floatArguments.lightY = paintingData.initialLightingData.lightVector.y(); + floatArguments.lightZ = paintingData.initialLightingData.lightVector.z(); +@@ -155,38 +156,39 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS + // Set lighting arguments. + floatArguments.surfaceScale = data.surfaceScale; + floatArguments.minusSurfaceScaleDividedByFour = -data.surfaceScale / 4; +- if (m_lightingType == FELighting::DiffuseLighting) +- floatArguments.diffuseConstant = m_diffuseConstant; ++ if (data.filterType == FilterEffect::Type::FEDiffuseLighting) ++ floatArguments.diffuseConstant = data.diffuseConstant; + else { + neonData.flags |= FLAG_SPECULAR_LIGHT; +- floatArguments.diffuseConstant = m_specularConstant; +- neonData.specularExponent = getPowerCoefficients(m_specularExponent); +- if (m_specularExponent == 1) ++ floatArguments.diffuseConstant = data.specularConstant; ++ neonData.specularExponent = getPowerCoefficients(data.specularExponent); ++ if (data.specularExponent == 1) + neonData.flags |= FLAG_SPECULAR_EXPONENT_IS_1; + } + if (floatArguments.diffuseConstant == 1) + neonData.flags |= FLAG_DIFFUSE_CONST_IS_1; + +- int optimalThreadNumber = ((data.widthDecreasedByOne - 1) * (data.heightDecreasedByOne - 1)) / s_minimalRectDimension; ++ static constexpr int minimalRectDimension = 100 * 100; // Empirical data limit for parallel jobs ++ int optimalThreadNumber = ((data.width - 2) * (data.height - 2)) / minimalRectDimension; + if (optimalThreadNumber > 1) { + // Initialize parallel jobs +- ParallelJobs parallelJobs(&WebCore::FELighting::platformApplyNeonWorker, optimalThreadNumber); ++ ParallelJobs parallelJobs(&FELightingSoftwareApplier::platformApplyNeonWorker, optimalThreadNumber); + + // Fill the parameter array + int job = parallelJobs.numberOfJobs(); + if (job > 1) { + int yStart = 1; +- int yStep = (data.heightDecreasedByOne - 1) / job; ++ int yStep = (data.height - 2) / job; + for (--job; job >= 0; --job) { + FELightingPaintingDataForNeon& params = parallelJobs.parameter(job); + params = neonData; + params.yStart = yStart; +- params.pixels += (yStart - 1) * (data.widthDecreasedByOne + 1) * 4; ++ params.pixels += (yStart - 1) * data.width * 4; + if (job > 0) { + params.absoluteHeight = yStep; + yStart += yStep; + } else +- params.absoluteHeight = data.heightDecreasedByOne - yStart; ++ params.absoluteHeight = (data.height - 1) - yStart; + } + parallelJobs.execute(); + return; +@@ -199,5 +201,3 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS + } // namespace WebCore + + #endif // CPU(ARM_NEON) && COMPILER(GCC_COMPATIBLE) +- +-#endif // FELightingNEON_h +diff --git a/Source/WebCore/platform/graphics/filters/DistantLightSource.h b/Source/WebCore/platform/graphics/filters/DistantLightSource.h +index 70f583b3..7d5d27e5 100644 +--- a/Source/WebCore/platform/graphics/filters/DistantLightSource.h ++++ b/Source/WebCore/platform/graphics/filters/DistantLightSource.h +@@ -26,6 +26,10 @@ + #include + #include + ++namespace WTF { ++class TextStream; ++} // namespace WTF ++ + namespace WebCore { + + class DistantLightSource : public LightSource { +diff --git a/Source/WebCore/platform/graphics/filters/FELighting.h b/Source/WebCore/platform/graphics/filters/FELighting.h +index 179edf6d..694d712d 100644 +--- a/Source/WebCore/platform/graphics/filters/FELighting.h ++++ b/Source/WebCore/platform/graphics/filters/FELighting.h +@@ -35,8 +35,6 @@ + + namespace WebCore { + +-struct FELightingPaintingDataForNeon; +- + class FELighting : public FilterEffect { + public: + bool operator==(const FELighting&) const; +@@ -68,11 +66,6 @@ protected: + + std::unique_ptr createSoftwareApplier() const override; + +-#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE) +- static int getPowerCoefficients(float exponent); +- inline void platformApplyNeon(const LightingData&, const LightSource::PaintingData&); +-#endif +- + Color m_lightingColor; + float m_surfaceScale; + float m_diffuseConstant; +diff --git a/Source/WebCore/platform/graphics/filters/PointLightSource.h b/Source/WebCore/platform/graphics/filters/PointLightSource.h +index a8cfdab8..34f867bb 100644 +--- a/Source/WebCore/platform/graphics/filters/PointLightSource.h ++++ b/Source/WebCore/platform/graphics/filters/PointLightSource.h +@@ -26,6 +26,10 @@ + #include "LightSource.h" + #include + ++namespace WTF { ++class TextStream; ++} // namespace WTF ++ + namespace WebCore { + + class PointLightSource : public LightSource { +diff --git a/Source/WebCore/platform/graphics/filters/SpotLightSource.h b/Source/WebCore/platform/graphics/filters/SpotLightSource.h +index 6404467a..5cac38f2 100644 +--- a/Source/WebCore/platform/graphics/filters/SpotLightSource.h ++++ b/Source/WebCore/platform/graphics/filters/SpotLightSource.h +@@ -26,6 +26,10 @@ + #include "LightSource.h" + #include + ++namespace WTF { ++class TextStream; ++} // namespace WTF ++ + namespace WebCore { + + class SpotLightSource : public LightSource { +diff --git a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h +index c974d921..e2896660 100644 +--- a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h ++++ b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h +@@ -36,6 +36,7 @@ + namespace WebCore { + + class FELighting; ++struct FELightingPaintingDataForNeon; + + class FELightingSoftwareApplier final : public FilterEffectConcreteApplier { + WTF_MAKE_FAST_ALLOCATED; +@@ -132,8 +133,23 @@ private: + + static void applyPlatformGenericPaint(const LightingData&, const LightSource::PaintingData&, int startY, int endY); + static void applyPlatformGenericWorker(ApplyParameters*); ++ ++#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE) ++ static int getPowerCoefficients(float exponent); ++ static void platformApplyNeonWorker(FELightingPaintingDataForNeon*); ++ inline static void applyPlatformNeon(const LightingData&, const LightSource::PaintingData&); ++ ++ inline static void applyPlatformGeneric(const LightingData& data, const LightSource::PaintingData& paintingData) ++ { ++ applyPlatformNeon(data, paintingData); ++ } ++#else + static void applyPlatformGeneric(const LightingData&, const LightSource::PaintingData&); ++#endif ++ + static void applyPlatform(const LightingData&); + }; + + } // namespace WebCore ++ ++#include "FELightingNEON.h" diff --git a/recipes-browser/wpewebkit/wpewebkit/0001-Fix-include-path-gstreamer-on-cross-toolchain.patch b/recipes-browser/wpewebkit/wpewebkit/0001-Fix-include-path-gstreamer-on-cross-toolchain.patch deleted file mode 100644 index db41dc92..00000000 --- a/recipes-browser/wpewebkit/wpewebkit/0001-Fix-include-path-gstreamer-on-cross-toolchain.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 53e91f50ed88c3c3016f9b5dd921a0f76a7f3fed Mon Sep 17 00:00:00 2001 -From: Pablo Saavedra -Date: Thu, 9 Jun 2022 22:32:39 +0200 -Subject: [PATCH] Fix include gstreamer path on cross compiler toolchains - https://bugs.webkit.org/show_bug.cgi?id=241483 - -Reviewed by NOBODY (OOPS!). - -Set the include paths for the gstreamer components to the full path -using the find_path(). This function relies in CMAKE_FIND_ROOT_PATH to -find the right place where the includes they are. This fixes possible -warnings/errors on cross toolchains using -Wpoison-system-directories -and -Werror=poison-system-directories. - -* Source/cmake/FindGStreamer.cmake: ---- - Source/cmake/FindGStreamer.cmake | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/1428] - -diff --git a/Source/cmake/FindGStreamer.cmake b/Source/cmake/FindGStreamer.cmake -index 9d97a4b5..27b50a1a 100644 ---- a/Source/cmake/FindGStreamer.cmake -+++ b/Source/cmake/FindGStreamer.cmake -@@ -70,12 +70,20 @@ macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _library) - # ${includedir}/gstreamer-1.0 which remains correct. The issue here is that - # we don't rely on the `Cflags`, cmake fails to generate a proper - # `.._INCLUDE_DIRS` variable in this case. So we need to do it here... -+ -+ # Populate the list initially from the _INCLUDE_DIRS result variable. -+ set(${_component_prefix}_INCLUDE_DIRS ${PC_${_component_prefix}_INCLUDE_DIRS}) -+ - set(_include_dir "${PC_${_component_prefix}_INCLUDEDIR}") - string(REGEX MATCH "(.*)/gstreamer-1.0" _dummy "${_include_dir}") -+ - if ("${CMAKE_MATCH_1}" STREQUAL "") -- set(${_component_prefix}_INCLUDE_DIRS "${_include_dir}/gstreamer-1.0;${PC_${_component_prefix}_INCLUDE_DIRS}") -- else () -- set(${_component_prefix}_INCLUDE_DIRS "${PC_${_component_prefix}_INCLUDE_DIRS}") -+ find_path(${_component_prefix}_RESOLVED_INCLUDEDIR NAMES "${_include_dir}/gstreamer-1.0") -+ # Only add the resolved path from `_INCLUDEDIR` if found. -+ if (${_component_prefix}_RESOLVED_INCLUDEDIR) -+ list(APPEND ${_component_prefix}_INCLUDE_DIRS -+ "${${_component_prefix}_RESOLVED_INCLUDEDIR}") -+ endif () - endif () - - find_library(${_component_prefix}_LIBRARIES --- -2.34.1 - diff --git a/recipes-browser/wpewebkit/wpewebkit/0002-Fix-AudioSourceProviderGStreamer-build-with-ENABLE-M.patch b/recipes-browser/wpewebkit/wpewebkit/0002-Fix-AudioSourceProviderGStreamer-build-with-ENABLE-M.patch new file mode 100644 index 00000000..6efebb82 --- /dev/null +++ b/recipes-browser/wpewebkit/wpewebkit/0002-Fix-AudioSourceProviderGStreamer-build-with-ENABLE-M.patch @@ -0,0 +1,42 @@ +From 01670f1641b23deb84bb95f855eacb4c8c0d66d6 Mon Sep 17 00:00:00 2001 +From: Olivier Blin +Date: Fri, 17 Nov 2023 09:52:35 -0800 +Subject: [PATCH] Fix AudioSourceProviderGStreamer build with + !ENABLE(MEDIA_STREAM) https://bugs.webkit.org/show_bug.cgi?id=265039 + +Reviewed by Philippe Normand. + +* Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.h: +WebAudioSourceProvider.h always needs to be included since +AudioSourceProviderGStreamer inherits from WebAudioSourceProvider. + +Canonical link: https://commits.webkit.org/270898@main + +Upstream-Status: Accepted [https://bugs.webkit.org/show_bug.cgi?id=265039] +--- + .../platform/audio/gstreamer/AudioSourceProviderGStreamer.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.h b/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.h +index be04997c..1a8f2ddb 100644 +--- a/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.h ++++ b/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.h +@@ -24,6 +24,7 @@ + #include "AudioSourceProviderClient.h" + #include "GRefPtrGStreamer.h" + #include "MainThreadNotifier.h" ++#include "WebAudioSourceProvider.h" + #include + #include + #include +@@ -32,7 +33,6 @@ + #if ENABLE(MEDIA_STREAM) + #include "GStreamerAudioStreamDescription.h" + #include "MediaStreamTrackPrivate.h" +-#include "WebAudioSourceProvider.h" + #endif + + typedef struct _GstAdapter GstAdapter; +-- +2.30.2 + diff --git a/recipes-browser/wpewebkit/wpewebkit_2.36.8.bb b/recipes-browser/wpewebkit/wpewebkit_2.36.8.bb deleted file mode 100644 index 1719ac23..00000000 --- a/recipes-browser/wpewebkit/wpewebkit_2.36.8.bb +++ /dev/null @@ -1,16 +0,0 @@ -require wpewebkit.inc - -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - -SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz;name=tarball \ - file://0001-Fix-include-path-gstreamer-on-cross-toolchain.patch \ - " - -SRC_URI[tarball.sha256sum] = "8d42a349c910b2d0961b8d34fecef29cec3d21e3af5977346c90026692dc75eb" - -DEPENDS += " libwpe" -RCONFLICTS:${PN} = "libwpe (>= 1.14) wpebackend-fdo (>= 1.14)" - -# Needed for <= 2.38.5 -# Upstream-Status: Merged [https://github.com/WebKit/WebKit/pull/11288] -EXTRA_OECMAKE:append = " -DENABLE_TOUCH_SLIDER=ON" diff --git a/recipes-browser/wpewebkit/wpewebkit_2.38.6.bb b/recipes-browser/wpewebkit/wpewebkit_2.38.6.bb deleted file mode 100644 index 69478b8e..00000000 --- a/recipes-browser/wpewebkit/wpewebkit_2.38.6.bb +++ /dev/null @@ -1,29 +0,0 @@ -require wpewebkit.inc - -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - -SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz;name=tarball \ - file://0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch \ - " - -SRC_URI[tarball.sha256sum] = "dcb6591456393c5366ad9abc62a808137d4fea039cbc7ef4c8d64ead506d035b" - -DEPENDS += " libwpe" -RCONFLICTS:${PN} = "libwpe (< 1.12)" - -# documentation: Needed from 2.38 -PACKAGECONFIG[documentation] = "-DENABLE_DOCUMENTATION=ON,-DENABLE_DOCUMENTATION=OFF, gi-docgen-native gi-docgen" - -# introspection: Needed from 2.38 -PACKAGECONFIG[introspection] = "-DENABLE_INTROSPECTION=ON,-DENABLE_INTROSPECTION=OFF, gobject-introspection-native" - -# TODO: documentation and introspection are disabled by default because the are -# causing cross-compiling build errors -# PACKAGECONFIG:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'documentation', '' ,d)} introspection" - -# Layer-Based SVG Engine -PACKAGECONFIG[lbse] = "-DENABLE_LAYER_BASED_SVG_ENGINE=ON,-DENABLE_LAYER_BASED_SVG_ENGINE=OFF, " - -# Needed for <= 2.38.5 -# Upstream-Status: Merged [https://github.com/WebKit/WebKit/pull/11288] -EXTRA_OECMAKE:append = " -DENABLE_TOUCH_SLIDER=ON" diff --git a/recipes-browser/wpewebkit/wpewebkit_2.40.5.bb b/recipes-browser/wpewebkit/wpewebkit_2.40.5.bb index 72c10c77..c11a350f 100644 --- a/recipes-browser/wpewebkit/wpewebkit_2.40.5.bb +++ b/recipes-browser/wpewebkit/wpewebkit_2.40.5.bb @@ -1,5 +1,4 @@ require wpewebkit.inc -require conf/include/devupstream.inc FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" @@ -11,39 +10,7 @@ SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz;name=tarball \ SRC_URI[tarball.sha256sum] = "4c658d3049c50e98b12fd6623ec42772f25a99cc1c05b5347a10a8633c266733" DEPENDS += " libwpe" -RCONFLICTS:${PN} = "libwpe (< 1.12)" -SRC_URI:class-devupstream = "\ - git://github.com/WebKit/WebKit.git;protocol=https;branch=main \ -" - -# WPE 2.40.X branch was forked from the main branch in this commit -SRCREV:class-devupstream = "5b60400f474f318e45cd713638e365366b98dd87" - -# documentation: Needed from 2.38 -PACKAGECONFIG[documentation] = "-DENABLE_DOCUMENTATION=ON,-DENABLE_DOCUMENTATION=OFF, gi-docgen-native gi-docgen" - -# introspection: Needed from 2.38 -PACKAGECONFIG[introspection] = "-DENABLE_INTROSPECTION=ON,-DENABLE_INTROSPECTION=OFF, gobject-introspection-native" - -# webgl2: Activated by default from >2.38 -PACKAGECONFIG:append = " webgl2" - -# TODO: documentation and introspection are disabled by default because the are -# causing cross-compiling build errors -# PACKAGECONFIG:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'documentation', '' ,d)} introspection" - -# Layer-Based SVG Engine -PACKAGECONFIG[lbse] = "-DENABLE_LAYER_BASED_SVG_ENGINE=ON,-DENABLE_LAYER_BASED_SVG_ENGINE=OFF, " - -# Build option for WPE API 1.1 -PACKAGECONFIG[wpe-1-1-api] = "-DENABLE_WPE_1_1_API:BOOL=ON,-DENABLE_WPE_1_1_API:BOOL=OFF," # temporarily enable WPE API 1.1 for cog 0.16 PACKAGECONFIG:append = " wpe-1-1-api" -# unifdef-native: Needed since >2.38. -DEPENDS:append = " unifdef-native" - -# Since 2.40.X -PACKAGECONFIG[gbm] = "-DUSE_GBM=ON,-DUSE_GBM=OFF,libdrm" -PACKAGECONFIG:append = " gbm" diff --git a/recipes-browser/wpewebkit/wpewebkit_2.42.4.bb b/recipes-browser/wpewebkit/wpewebkit_2.42.4.bb new file mode 100644 index 00000000..26b0b66f --- /dev/null +++ b/recipes-browser/wpewebkit/wpewebkit_2.42.4.bb @@ -0,0 +1,24 @@ +require wpewebkit.inc +require conf/include/devupstream.inc + +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz;name=tarball \ + file://0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se_2.42.patch \ + file://0002-Fix-AudioSourceProviderGStreamer-build-with-ENABLE-M.patch \ + " + +SRC_URI[tarball.sha256sum] = "8836040a3687581970b47a232b713e7023c080d5613427f52db619c29fb253a4" + +DEPENDS += " libwpe virtual/wpebackend" + +SRC_URI:class-devupstream = "\ + git://github.com/WebKit/WebKit.git;protocol=https;branch=main \ +" + +# WPE 2.42.X branch was forked from the main branch in this commit +SRCREV:class-devupstream = "33c49ff64449389431294ba0ace6f7d0ad6306b7" + +# jpegxl: Added in 2.42+ +PACKAGECONFIG[jpegxl] = "-DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl" +PACKAGECONFIG:append = " ${@bb.utils.contains_any('LAYERSERIES_CORENAMES', 'dunfell gatesgarth hardknott honister', '', 'jpegxl', d)}"