Igalia / meta-webkit

Yocto / OpenEmbedded layer for WebKit based engines and browsers
MIT License
127 stars 69 forks source link

wpewebkit, webkitgtk: Version bump up to 2.38.2 #425

Closed psaavedra closed 1 year ago

psaavedra commented 1 year ago

WPE WebKit and WebKitGTK Security Advisory:

Oquirella commented 1 year ago

The build fails: In file included from WebCore/DerivedSources/unified-sources/UnifiedSource-950a39b6-26.cpp:7: /build/tmp/work/aarch64-mx8mp-poky-linux/wpewebkit/2.38.2-r0/wpewebkit-2.38.2/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:68:10: fatal error: WebGLProvokingVertex.h: No such file or directory 68 | #include "WebGLProvokingVertex.h" | ^~~~~~~~

psaavedra commented 1 year ago

The build fails: In file included from WebCore/DerivedSources/unified-sources/UnifiedSource-950a39b6-26.cpp:7: /build/tmp/work/aarch64-mx8mp-poky-linux/wpewebkit/2.38.2-r0/wpewebkit-2.38.2/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:68:10: fatal error: WebGLProvokingVertex.h: No such file or directory 68 | #include "WebGLProvokingVertex.h" | ^~~~~~~~

I have the same kind of problems:

In file included from /home/bot/yocto-rpi4-manual/builds/raspberrypi4-64-mesa-wpe-candidate/tmp/work/cortexa72-poky-linux/wpewebkit/2.38.2-r0/build/WebCore/DerivedSources/unified-sources/UnifiedSource-950a39b6-26.cpp:7:
/home/bot/yocto-rpi4-manual/builds/raspberrypi4-64-mesa-wpe-candidate/tmp/work/cortexa72-poky-linux/wpewebkit/2.38.2-r0/wpewebkit-2.38.2/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp: In static member function 'static std::unique_ptr<WebCore::WebGL2RenderingContext> WebCore::WebGL2RenderingContext::create(WebCore::CanvasBase&, WebCore::GraphicsContextGLAttributes)':
/home/bot/yocto-rpi4-manual/builds/raspberrypi4-64-mesa-wpe-candidate/tmp/work/cortexa72-poky-linux/wpewebkit/2.38.2-r0/wpewebkit-2.38.2/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:96:114: error: invalid new-expression of abstract class type 'WebCore::WebGL2RenderingContext'
   96 |     auto renderingContext = std::unique_ptr<WebGL2RenderingContext>(new WebGL2RenderingContext(canvas, attributes));
      |                                                                                                                  ^
In file included from /home/bot/yocto-rpi4-manual/builds/raspberrypi4-64-mesa-wpe-candidate/tmp/work/cortexa72-poky-linux/wpewebkit/2.38.2-r0/wpewebkit-2.38.2/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:27,
                 from /home/bot/yocto-rpi4-manual/builds/raspberrypi4-64-mesa-wpe-candidate/tmp/work/cortexa72-poky-linux/wpewebkit/2.38.2-r0/build/WebCore/DerivedSources/unified-sources/UnifiedSource-950a39b6-26.cpp:7:
/home/bot/yocto-rpi4-manual/builds/raspberrypi4-64-mesa-wpe-candidate/tmp/work/cortexa72-poky-linux/wpewebkit/2.38.2-r0/wpewebkit-2.38.2/Source/WebCore/html/canvas/WebGL2RenderingContext.h:42:7: note:   because the following virtual functions are pure within 'WebCore::WebGL2RenderingContext':
   42 | class WebGL2RenderingContext final : public WebGLRenderingContextBase {
      |       ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/bot/yocto-rpi4-manual/builds/raspberrypi4-64-mesa-wpe-candidate/tmp/work/cortexa72-poky-linux/wpewebkit/2.38.2-r0/wpewebkit-2.38.2/Source/WebCore/html/canvas/WebGLExtension.h:30,
                 from /home/bot/yocto-rpi4-manual/builds/raspberrypi4-64-mesa-wpe-candidate/tmp/work/cortexa72-poky-linux/wpewebkit/2.38.2-r0/wpewebkit-2.38.2/Source/WebCore/html/canvas/OESVertexArrayObject.h:28,
                 from /home/bot/yocto-rpi4-manual/builds/raspberrypi4-64-mesa-wpe-candidate/tmp/work/cortexa72-poky-linux/wpewebkit/2.38.2-r0/wpewebkit-2.38.2/Source/WebCore/html/canvas/OESVertexArrayObject.cpp:29,
                 from /home/bot/yocto-rpi4-manual/builds/raspberrypi4-64-mesa-wpe-candidate/tmp/work/cortexa72-poky-linux/wpewebkit/2.38.2-r0/build/WebCore/DerivedSources/unified-sources/UnifiedSource-950a39b6-26.cpp:1:
/home/bot/yocto-rpi4-manual/builds/raspberrypi4-64-mesa-wpe-candidate/tmp/work/cortexa72-poky-linux/wpewebkit/2.38.2-r0/wpewebkit-2.38.2/Source/WebCore/html/canvas/WebGLRenderingContextBase.h:550:18: note:     'virtual bool WebCore::WebGLRenderingContextBase::validateIndexArrayConservative(GCGLenum, unsigned int&)'
  550 |     virtual bool validateIndexArrayConservative(GCGLenum type, unsigned& numElementsRequired) = 0;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The I think there is an error in the 2.38.2 release. The code still have#if !USE(ANGLE) conditional code but there is not a SET_AND_EXPOSE_TO_BUILD or similar defining USE_ANGLE in the code:

grep -r USE_ANGLE ../wpewebkit-2.38.2/
../wpewebkit-2.38.2/Source/CMakeLists.txt:if (ENABLE_WEBGL OR USE_ANGLE_EGL)
../wpewebkit-2.38.2/Source/WTF/wtf/Platform.h:#define USE_ANGLE 1
../wpewebkit-2.38.2/Source/WebKit/CMakeLists.txt:elseif (USE_ANGLE_EGL)
../wpewebkit-2.38.2/Source/ThirdParty/ANGLE/PlatformWPE.cmake:if (USE_ANGLE_EGL OR USE_ANGLE_WEBGL)
../wpewebkit-2.38.2/Source/ThirdParty/ANGLE/CMakeLists.txt:if (USE_ANGLE_EGL OR USE_ANGLE_WEBGL)
../wpewebkit-2.38.2/Source/ThirdParty/ANGLE/CMakeLists.txt:    if (USE_ANGLE_EGL)
../wpewebkit-2.38.2/Source/ThirdParty/ANGLE/CMakeLists.txt:if (USE_ANGLE_WEBGL)
../wpewebkit-2.38.2/Source/ThirdParty/ANGLE/include/CMakeLists.txt:if (USE_ANGLE_EGL)
../wpewebkit-2.38.2/Source/ThirdParty/ANGLE/include/CMakeLists.txt:if (USE_ANGLE_WEBGL)
../wpewebkit-2.38.2/Source/WebCore/CMakeLists.txt:if (USE_ANGLE_EGL)
../wpewebkit-2.38.2/Source/WebCore/CMakeLists.txt:    if (USE_ANGLE_WEBGL)
../wpewebkit-2.38.2/Source/WebCore/CMakeLists.txt:elseif (USE_ANGLE_EGL)
../wpewebkit-2.38.2/Source/WebCore/platform/TextureMapper.cmake:if (USE_ANGLE_WEBGL)
../wpewebkit-2.38.2/Source/cmake/OptionsMac.cmake:set(USE_ANGLE_WEBGL ON)

WebGL2 means ANGLE so I suppose some kind of partial backport from https://github.com/WebKit/WebKit/commit/2528e8b516551977dc09232e3ebafaa053058ddb#diff-22ffd4ffe15977cf7c13966272b818ad8334005559b0f467ab8dc89a4e5531c9L336 broke the release for PACKAGECONFIG = "... webgl2".