From 1058ac940dea292b0f537f932c005536bae50c7b Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 28 Jun 2023 17:00:41 +0200 Subject: webkitgtk: update 2.38.5 -> 2.40.2 Drop backports. Add extra options that require additional dependencies, and fail without them. Disable the recipe on ancient x86 without SSE support; SSE is now required. (From OE-Core rev: fdc50a50d8f2c4975584c04db0c5e0e83cf62f99) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- ...ScriptCore-CMakeLists.txt-ensure-reproduc.patch | 28 ++++ .../0d3344e17d258106617b0e6d783d073b188a2548.patch | 42 ++++-- .../4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch | 41 +++++ .../93920b55f52ff8b883296f4845269e2ed746acb3.patch | 37 ----- .../d318bb461f040b90453bc4e100dcf967243ecd98.patch | 30 ---- meta/recipes-sato/webkit/webkitgtk_2.38.5.bb | 159 -------------------- meta/recipes-sato/webkit/webkitgtk_2.40.2.bb | 165 +++++++++++++++++++++ 7 files changed, 262 insertions(+), 240 deletions(-) create mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Source-JavaScriptCore-CMakeLists.txt-ensure-reproduc.patch create mode 100644 meta/recipes-sato/webkit/webkitgtk/4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk/93920b55f52ff8b883296f4845269e2ed746acb3.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk/d318bb461f040b90453bc4e100dcf967243ecd98.patch delete mode 100644 meta/recipes-sato/webkit/webkitgtk_2.38.5.bb create mode 100644 meta/recipes-sato/webkit/webkitgtk_2.40.2.bb (limited to 'meta/recipes-sato/webkit') diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Source-JavaScriptCore-CMakeLists.txt-ensure-reproduc.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Source-JavaScriptCore-CMakeLists.txt-ensure-reproduc.patch new file mode 100644 index 0000000000..bbe265059d --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk/0001-Source-JavaScriptCore-CMakeLists.txt-ensure-reproduc.patch @@ -0,0 +1,28 @@ +From cd65e3d9256a4f6eb7906a9f10678c29a4ffef2f Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 26 Jun 2023 14:30:02 +0200 +Subject: [PATCH] Source/JavaScriptCore/CMakeLists.txt: ensure reproducibility + of __TIMESTAMP__ + +__TIMESTAMP__ refers to mtime of the file that contains it, which is unstable +and breaks binary reproducibility when the file is generated at build time. To ensure +this does not happen, mtime should be set from the original file. + +Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/15293] +Signed-off-by: Alexander Kanavin +--- + Source/JavaScriptCore/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt +index 43dc22ff..c2e3b1cd 100644 +--- a/Source/JavaScriptCore/CMakeLists.txt ++++ b/Source/JavaScriptCore/CMakeLists.txt +@@ -159,6 +159,7 @@ add_custom_command( + OUTPUT ${JavaScriptCore_DERIVED_SOURCES_DIR}/JSCBytecodeCacheVersion.cpp + MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/runtime/JSCBytecodeCacheVersion.cpp.in + COMMAND ${PERL_EXECUTABLE} -pe s/CACHED_TYPES_CKSUM/__TIMESTAMP__/ ${JAVASCRIPTCORE_DIR}/runtime/JSCBytecodeCacheVersion.cpp.in > ${JavaScriptCore_DERIVED_SOURCES_DIR}/JSCBytecodeCacheVersion.cpp ++ COMMAND touch -r ${JAVASCRIPTCORE_DIR}/runtime/JSCBytecodeCacheVersion.cpp.in ${JavaScriptCore_DERIVED_SOURCES_DIR}/JSCBytecodeCacheVersion.cpp + VERBATIM + ) + diff --git a/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch b/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch index 32f92f7ff5..34e0ff9af3 100644 --- a/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch +++ b/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch @@ -1,8 +1,8 @@ -From 0d3344e17d258106617b0e6d783d073b188a2548 Mon Sep 17 00:00:00 2001 +From 647c93de99a0f71f478d76a4cc7714eba7ba1447 Mon Sep 17 00:00:00 2001 From: Adrian Perez de Castro Date: Thu, 2 Jun 2022 11:19:06 +0300 -Subject: [PATCH] [ARM][NEON] FELightningNEON.cpp fails to build, NEON fast - path seems unused https://bugs.webkit.org/show_bug.cgi?id=241182 +Subject: [PATCH] FELightningNEON.cpp fails to build, NEON fast path seems + unused https://bugs.webkit.org/show_bug.cgi?id=241182 Reviewed by NOBODY (OOPS!). @@ -30,19 +30,21 @@ left for a follow-up fix. * Source/WebCore/platform/graphics/filters/PointLightSource.h: * Source/WebCore/platform/graphics/filters/SpotLightSource.h: * Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h: ---- + Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/1233] Signed-off-by: Khem Raj - +--- .../cpu/arm/filters/FELightingNEON.cpp | 4 +- - .../graphics/cpu/arm/filters/FELightingNEON.h | 54 +++++++++---------- + .../graphics/cpu/arm/filters/FELightingNEON.h | 52 +++++++++---------- .../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 ++++++ - 7 files changed, 57 insertions(+), 36 deletions(-) + 7 files changed, 56 insertions(+), 35 deletions(-) +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() @@ -63,6 +65,8 @@ Signed-off-by: Khem Raj { // 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..e4629cda 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 @@ @@ -104,7 +108,7 @@ Signed-off-by: Khem Raj 0, 0, 0, -@@ -111,23 +112,23 @@ inline void FELighting::platformApplyNeo +@@ -111,23 +112,23 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS // Set light source arguments. floatArguments.constOne = 1; @@ -133,7 +137,7 @@ Signed-off-by: Khem Raj floatArguments.lightX = spotLightSource.position().x(); floatArguments.lightY = spotLightSource.position().y(); floatArguments.lightZ = spotLightSource.position().z(); -@@ -145,7 +146,7 @@ inline void FELighting::platformApplyNeo +@@ -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 { @@ -142,7 +146,7 @@ Signed-off-by: Khem Raj 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::platformApplyNeo +@@ -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; @@ -192,16 +196,18 @@ Signed-off-by: Khem Raj } parallelJobs.execute(); return; -@@ -199,5 +201,3 @@ inline void FELighting::platformApplyNeo +@@ -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 70c6512f..b032c82e 100644 --- a/Source/WebCore/platform/graphics/filters/DistantLightSource.h +++ b/Source/WebCore/platform/graphics/filters/DistantLightSource.h -@@ -25,6 +25,10 @@ - #include "LightSource.h" +@@ -26,6 +26,10 @@ + #include #include +namespace WTF { @@ -211,6 +217,8 @@ Signed-off-by: Khem Raj 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 53beb596..e78a9354 100644 --- a/Source/WebCore/platform/graphics/filters/FELighting.h +++ b/Source/WebCore/platform/graphics/filters/FELighting.h @@ -35,8 +35,6 @@ @@ -222,7 +230,7 @@ Signed-off-by: Khem Raj class FELighting : public FilterEffect { public: const Color& lightingColor() const { return m_lightingColor; } -@@ -67,11 +65,6 @@ protected: +@@ -64,11 +62,6 @@ protected: std::unique_ptr createSoftwareApplier() const override; @@ -234,6 +242,8 @@ Signed-off-by: Khem Raj 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 3a5723f0..675d63f5 100644 --- a/Source/WebCore/platform/graphics/filters/PointLightSource.h +++ b/Source/WebCore/platform/graphics/filters/PointLightSource.h @@ -26,6 +26,10 @@ @@ -247,6 +257,8 @@ Signed-off-by: Khem Raj 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 684626f7..dea58389 100644 --- a/Source/WebCore/platform/graphics/filters/SpotLightSource.h +++ b/Source/WebCore/platform/graphics/filters/SpotLightSource.h @@ -26,6 +26,10 @@ @@ -260,6 +272,8 @@ Signed-off-by: Khem Raj 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 @@ diff --git a/meta/recipes-sato/webkit/webkitgtk/4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch b/meta/recipes-sato/webkit/webkitgtk/4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch new file mode 100644 index 0000000000..79da855ff4 --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk/4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch @@ -0,0 +1,41 @@ +From 4977290ab4ab35258a6da9b13795c9b0f7894bf4 Mon Sep 17 00:00:00 2001 +From: Diego Pino Garcia +Date: Mon, 22 May 2023 19:58:50 -0700 +Subject: [PATCH] [GLIB] Fix build error after 264196@main + https://bugs.webkit.org/show_bug.cgi?id=256917 + +Reviewed by Michael Catanzaro. + +Variable BWRAP_EXECUTABLE is only defined when BUBBLEWRAP_SANDBOX is +enabled. + +* Source/WTF/wtf/glib/Sandbox.cpp: +(WTF::isInsideUnsupportedContainer): + +Canonical link: https://commits.webkit.org/264395@main +Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/4977290ab4ab35258a6da9b13795c9b0f7894bf4] +Signed-off-by: Alexander Kanavin +--- + Source/WTF/wtf/glib/Sandbox.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Source/WTF/wtf/glib/Sandbox.cpp b/Source/WTF/wtf/glib/Sandbox.cpp +index 7d84e830ab33e..9b07bb8cb5a9b 100644 +--- a/Source/WTF/wtf/glib/Sandbox.cpp ++++ b/Source/WTF/wtf/glib/Sandbox.cpp +@@ -36,6 +36,7 @@ bool isInsideFlatpak() + return returnValue; + } + ++#if ENABLE(BUBBLEWRAP_SANDBOX) + bool isInsideUnsupportedContainer() + { + static bool inContainer = g_file_test("/run/.containerenv", G_FILE_TEST_EXISTS); +@@ -64,6 +65,7 @@ bool isInsideUnsupportedContainer() + + return inContainer && !supportedContainer; + } ++#endif + + bool isInsideSnap() + { diff --git a/meta/recipes-sato/webkit/webkitgtk/93920b55f52ff8b883296f4845269e2ed746acb3.patch b/meta/recipes-sato/webkit/webkitgtk/93920b55f52ff8b883296f4845269e2ed746acb3.patch deleted file mode 100644 index 762de40995..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/93920b55f52ff8b883296f4845269e2ed746acb3.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 93920b55f52ff8b883296f4845269e2ed746acb3 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Fri, 31 Mar 2023 12:24:09 -0700 -Subject: [PATCH] Fix build of SourceBrush.cpp - https://bugs.webkit.org/show_bug.cgi?id=254821 - -Unreviewed build fix. - -* Source/WebCore/platform/graphics/SourceBrush.cpp: -(WebCore::SourceBrush::setGradient): -(WebCore::SourceBrush::setPattern): - -Canonical link: https://commits.webkit.org/262434@main - -Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/93920b55f52ff8b883296f4845269e2ed746acb3] -Signed-off-by: Khem Raj ---- - Source/WebCore/platform/graphics/SourceBrush.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/Source/WebCore/platform/graphics/SourceBrush.cpp -+++ b/Source/WebCore/platform/graphics/SourceBrush.cpp -@@ -65,12 +65,12 @@ Pattern* SourceBrush::pattern() const - - void SourceBrush::setGradient(Ref&& gradient, const AffineTransform& spaceTransform) - { -- m_brush = { Brush::LogicalGradient { WTFMove(gradient), spaceTransform } }; -+ m_brush = Brush { Brush::LogicalGradient { { WTFMove(gradient) }, spaceTransform } }; - } - - void SourceBrush::setPattern(Ref&& pattern) - { -- m_brush = { WTFMove(pattern) }; -+ m_brush = Brush { WTFMove(pattern) }; - } - - WTF::TextStream& operator<<(TextStream& ts, const SourceBrush& brush) diff --git a/meta/recipes-sato/webkit/webkitgtk/d318bb461f040b90453bc4e100dcf967243ecd98.patch b/meta/recipes-sato/webkit/webkitgtk/d318bb461f040b90453bc4e100dcf967243ecd98.patch deleted file mode 100644 index 1ff9dcea7e..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/d318bb461f040b90453bc4e100dcf967243ecd98.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d318bb461f040b90453bc4e100dcf967243ecd98 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Mon, 16 Jan 2023 16:55:26 -0800 -Subject: [PATCH] WebKitGTK 2.39.4 does not build due to missing #include in - ANGLE https://bugs.webkit.org/show_bug.cgi?id=250689 - -Unreviewed build fix. - -* Source/ThirdParty/ANGLE/include/GLSLANG/ShaderVars.h: - -Canonical link: https://commits.webkit.org/258968@main - -Upstream-Status: Backport [https://bugs.webkit.org/show_bug.cgi?id=250689] -Signed-off-by: Khem Raj ---- - Source/ThirdParty/ANGLE/include/GLSLANG/ShaderVars.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Source/ThirdParty/ANGLE/include/GLSLANG/ShaderVars.h b/Source/ThirdParty/ANGLE/include/GLSLANG/ShaderVars.h -index 94cb93e01fc0..ec7bda372f30 100644 ---- a/Source/ThirdParty/ANGLE/include/GLSLANG/ShaderVars.h -+++ b/Source/ThirdParty/ANGLE/include/GLSLANG/ShaderVars.h -@@ -12,6 +12,7 @@ - - #include - #include -+#include - #include - #include - diff --git a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb deleted file mode 100644 index f7fa6dfb98..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb +++ /dev/null @@ -1,159 +0,0 @@ -SUMMARY = "WebKit web rendering engine for the GTK+ platform" -HOMEPAGE = "https://www.webkitgtk.org/" -BUGTRACKER = "https://bugs.webkit.org/" - -LICENSE = "BSD-2-Clause & LGPL-2.0-or-later" -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 = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ - file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ - file://reproducibility.patch \ - file://0d3344e17d258106617b0e6d783d073b188a2548.patch \ - file://d318bb461f040b90453bc4e100dcf967243ecd98.patch \ - file://93920b55f52ff8b883296f4845269e2ed746acb3.patch \ - " -SRC_URI[sha256sum] = "40c20c43022274df5893f22b1054fa894c3eea057389bb08aee08c5b0bb0c1a7" - -inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" - -CVE_PRODUCT = "webkitgtk webkitgtk\+" - -DEPENDS += " \ - ruby-native \ - gperf-native \ - cairo \ - harfbuzz \ - jpeg \ - atk \ - libwebp \ - gtk+3 \ - libxslt \ - libtasn1 \ - libnotify \ - gstreamer1.0 \ - gstreamer1.0-plugins-base \ - glib-2.0-native \ - gettext-native \ - " - -PACKAGECONFIG_SOUP ?= "soup3" -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \ - enchant \ - libsecret \ - ${PACKAGECONFIG_SOUP} \ - " - -PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" -PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF" -PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" -PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" -PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" -PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" -PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/egl" -PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/egl" -PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF" -PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" -PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" -PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" -PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" -PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" -PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," -PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms" -PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3" -PACKAGECONFIG[soup3] = ",,libsoup,,,soup2" -PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd" - -EXTRA_OECMAKE = " \ - -DPORT=GTK \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ - ${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \ - -DENABLE_MINIBROWSER=ON \ - -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ - -DENABLE_GAMEPAD=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" - -# Needed for non-mesa graphics stacks when x11 is disabled -CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" - -# 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 " - -EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF " -EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF " - -# JIT and gold linker does not work on RISCV -EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" -EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" - -# JIT not supported on MIPS either -EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " - -# 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.*/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" - -# introspection inside qemu-arm hangs forever on musl/arm builds -# therefore disable GI_DATA -GI_DATA_ENABLED:libc-musl:armv7a = "False" -GI_DATA_ENABLED:libc-musl:armv7ve = "False" - -# Can't be built with ccache -CCACHE_DISABLE = "1" - -PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" -src_package_preprocess () { - # Trim build paths from comments in generated sources to ensure reproducibility - sed -i -e "s,${WORKDIR},,g" \ - ${B}/JavaScriptCore/DerivedSources/*.h \ - ${B}/JavaScriptCore/DerivedSources/yarr/*.h \ - ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \ - ${B}/WebKit2Gtk/DerivedSources/webkit2/*.cpp \ - ${B}/WebKit2Gtk/DerivedSources/webkit2/*.h - -} - diff --git a/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb b/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb new file mode 100644 index 0000000000..ac6681a0ce --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk_2.40.2.bb @@ -0,0 +1,165 @@ +SUMMARY = "WebKit web rendering engine for the GTK+ platform" +HOMEPAGE = "https://www.webkitgtk.org/" +BUGTRACKER = "https://bugs.webkit.org/" + +LICENSE = "BSD-2-Clause & LGPL-2.0-or-later" +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 = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ + file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ + file://reproducibility.patch \ + file://0d3344e17d258106617b0e6d783d073b188a2548.patch \ + file://4977290ab4ab35258a6da9b13795c9b0f7894bf4.patch \ + file://0001-Source-JavaScriptCore-CMakeLists.txt-ensure-reproduc.patch \ + " +SRC_URI[sha256sum] = "96898870d994da406ee7a632816dcde9a3bb395ee5f344fcb3f3b8cc8a77e000" + +inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" + +CVE_PRODUCT = "webkitgtk webkitgtk\+" + +DEPENDS += " \ + ruby-native \ + gperf-native \ + unifdef-native \ + cairo \ + harfbuzz \ + jpeg \ + atk \ + libwebp \ + gtk+3 \ + libxslt \ + libtasn1 \ + libnotify \ + gstreamer1.0 \ + gstreamer1.0-plugins-base \ + glib-2.0-native \ + gettext-native \ + " + +PACKAGECONFIG_SOUP ?= "soup3" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \ + enchant \ + libsecret \ + ${PACKAGECONFIG_SOUP} \ + " + +PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" +PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF" +PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" +PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" +PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" +PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" +PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/egl" +PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/egl" +PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF" +PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" +PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" +PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" +PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" +PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" +PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," +PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms" +PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3" +PACKAGECONFIG[soup3] = ",,libsoup,,,soup2" +PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd" +PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif" +PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad" + +EXTRA_OECMAKE = " \ + -DPORT=GTK \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ + ${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \ + -DENABLE_MINIBROWSER=ON \ + -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ + -DENABLE_GAMEPAD=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" + +# Needed for non-mesa graphics stacks when x11 is disabled +CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" + +# 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 " + +EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF " + +# JIT and gold linker does not work on RISCV +EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" +EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" + +# JIT not supported on MIPS either +EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " + +# 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.*/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" + +# ANGLE requires SSE support as of webkit 2.40.x on 32 bit x86 +COMPATIBLE_HOST:x86 = "${@bb.utils.contains_any('TUNE_FEATURES', 'core2 corei7', '.*', 'null', d)}" + +# introspection inside qemu-arm hangs forever on musl/arm builds +# therefore disable GI_DATA +GI_DATA_ENABLED:libc-musl:armv7a = "False" +GI_DATA_ENABLED:libc-musl:armv7ve = "False" + +# Can't be built with ccache +CCACHE_DISABLE = "1" + +PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" +src_package_preprocess () { + # Trim build paths from comments in generated sources to ensure reproducibility + sed -i -e "s,${WORKDIR},,g" \ + ${B}/JavaScriptCore/DerivedSources/*.h \ + ${B}/JavaScriptCore/DerivedSources/yarr/*.h \ + ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \ + ${B}/WebCore/DerivedSources/*.cpp \ + ${B}/WebKitGTK/DerivedSources/webkit/*.cpp + +} + -- cgit v1.2.3-54-g00ecf