diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/webkitgtk')
3 files changed, 783 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix b/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix new file mode 100644 index 000000000000..d1e171566eea --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix @@ -0,0 +1,174 @@ +{ stdenv +, fetchurl +, perl +, python3 +, ruby +, bison +, gperf +, cmake +, ninja +, pkgconfig +, gettext +, gobject-introspection +, libnotify +, gnutls +, libgcrypt +, gtk3 +, wayland +, libwebp +, enchant2 +, xorg +, libxkbcommon +, epoxy +, at-spi2-core +, libxml2 +, libsoup +, libsecret +, libxslt +, harfbuzz +, libpthreadstubs +, pcre +, nettle +, libtasn1 +, p11-kit +, libidn +, libedit +, readline +, libGL +, libGLU +, libintl +, openjpeg +, enableGeoLocation ? true +, geoclue2 +, sqlite +, enableGtk2Plugins ? false +, gtk2 ? null +, gst-plugins-base +, gst-plugins-bad +, woff2 +, bubblewrap +, libseccomp +, xdg-dbus-proxy +, substituteAll +, gnome3 +}: + +assert enableGeoLocation -> geoclue2 != null; +assert enableGtk2Plugins -> gtk2 != null; +assert stdenv.isDarwin -> !enableGtk2Plugins; + +with stdenv.lib; + +stdenv.mkDerivation rec { + pname = "webkitgtk"; + version = "2.26.2"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz"; + sha256 = "04k5h0sid9azsqz9pyq436v1rx4lnfrhvmcgmicqb0c0g9iz103b"; + }; + + patches = optionals stdenv.isLinux [ + (substituteAll { + src = ./fix-bubblewrap-paths.patch; + inherit (builtins) storeDir; + }) + ./libglvnd-headers.patch + ]; + + nativeBuildInputs = [ + bison + cmake + gettext + gobject-introspection + gperf + ninja + perl + pkgconfig + python3 + ruby + ]; + + buildInputs = [ + at-spi2-core + enchant2 + epoxy + gnutls + gst-plugins-bad + gst-plugins-base + harfbuzz + libGL + libGLU + libgcrypt + libidn + libintl + libnotify + libpthreadstubs + libsecret + libtasn1 + libwebp + libxkbcommon + libxml2 + libxslt + nettle + openjpeg + p11-kit + pcre + sqlite + woff2 + ] ++ (with xorg; [ + libXdamage + libXdmcp + libXt + libXtst + ]) ++ optionals stdenv.isDarwin [ + libedit + readline + ] ++ optionals stdenv.isLinux [ + bubblewrap + libseccomp + wayland + xdg-dbus-proxy + ] ++ optional enableGeoLocation geoclue2 + ++ optional enableGtk2Plugins gtk2; + + propagatedBuildInputs = [ + gtk3 + libsoup + ]; + + cmakeFlags = [ + "-DENABLE_INTROSPECTION=ON" + "-DPORT=GTK" + "-DUSE_LIBHYPHEN=OFF" + "-DUSE_WPE_RENDERER=OFF" + ] ++ optionals stdenv.isDarwin [ + "-DENABLE_GRAPHICS_CONTEXT_3D=OFF" + "-DENABLE_GTKDOC=OFF" + "-DENABLE_MINIBROWSER=OFF" + "-DENABLE_OPENGL=OFF" + "-DENABLE_QUARTZ_TARGET=ON" + "-DENABLE_VIDEO=ON" + "-DENABLE_WEBGL=OFF" + "-DENABLE_WEB_AUDIO=OFF" + "-DENABLE_X11_TARGET=OFF" + "-DUSE_ACCELERATE=0" + "-DUSE_SYSTEM_MALLOC=ON" + ] ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF" + ++ optional stdenv.isLinux "-DENABLE_GLES2=ON"; + + postPatch = '' + patchShebangs . + ''; + + meta = { + description = "Web content rendering engine, GTK port"; + homepage = https://webkitgtk.org/; + license = licenses.bsd2; + platforms = platforms.linux; + hydraPlatforms = []; + maintainers = gnome3.maintainers; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/fix-bubblewrap-paths.patch b/nixpkgs/pkgs/development/libraries/webkitgtk/fix-bubblewrap-paths.patch new file mode 100644 index 000000000000..6485ba0f261f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/webkitgtk/fix-bubblewrap-paths.patch @@ -0,0 +1,23 @@ +diff -ru old/webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp +--- old/webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp 2019-09-09 04:47:07.000000000 -0400 ++++ webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp 2019-09-20 21:14:10.537921173 -0400 +@@ -585,7 +585,7 @@ + { SCMP_SYS(keyctl), nullptr }, + { SCMP_SYS(request_key), nullptr }, + +- // Scary VM/NUMA ops ++ // Scary VM/NUMA ops + { SCMP_SYS(move_pages), nullptr }, + { SCMP_SYS(mbind), nullptr }, + { SCMP_SYS(get_mempolicy), nullptr }, +@@ -724,6 +724,10 @@ + "--ro-bind-try", "/usr/local/lib64", "/usr/local/lib64", + + "--ro-bind-try", PKGLIBEXECDIR, PKGLIBEXECDIR, ++ ++ // Nix Directories ++ "--ro-bind", "@storeDir@", "@storeDir@", ++ "--ro-bind", "/run/current-system", "/run/current-system", + }; + // We would have to parse ld config files for more info. + bindPathVar(sandboxArgs, "LD_LIBRARY_PATH"); diff --git a/nixpkgs/pkgs/development/libraries/webkitgtk/libglvnd-headers.patch b/nixpkgs/pkgs/development/libraries/webkitgtk/libglvnd-headers.patch new file mode 100644 index 000000000000..17264f3b5886 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/webkitgtk/libglvnd-headers.patch @@ -0,0 +1,586 @@ +diff --git a/Source/ThirdParty/ANGLE/scripts/generate_loader.py b/Source/ThirdParty/ANGLE/scripts/generate_loader.py +index a408dac4..92ddca90 100644 +--- a/Source/ThirdParty/ANGLE/scripts/generate_loader.py ++++ b/Source/ThirdParty/ANGLE/scripts/generate_loader.py +@@ -201,6 +201,8 @@ def main(): + + libegl_preamble = """#include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> ++#include <EGL/eglmesaext.h> + """ + + util_gles_preamble = """#if defined(GL_GLES_PROTOTYPES) && GL_GLES_PROTOTYPES +@@ -215,6 +217,8 @@ util_egl_preamble = """#include "util/util_export.h" + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> ++#include <EGL/eglmesaext.h> + """ + + util_wgl_preamble = """ +diff --git a/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h b/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h +index 68c65d8b..0dc9c8e3 100644 +--- a/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h ++++ b/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h +@@ -14,6 +14,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <angle_gl.h> + + #include <cstdint> +diff --git a/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h b/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h +index cd651150..17719bc2 100644 +--- a/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h ++++ b/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h +@@ -14,6 +14,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <angle_gl.h> + + #include <cstdint> +diff --git a/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py b/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py +index 2f77e725..5ea54f1f 100644 +--- a/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py ++++ b/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py +@@ -71,6 +71,7 @@ header_template = """// GENERATED FILE - DO NOT EDIT. + #include <angle_gl.h> + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include <cstdint> + +diff --git a/Source/ThirdParty/ANGLE/src/common/utilities.h b/Source/ThirdParty/ANGLE/src/common/utilities.h +index 7a1429a4..dd20bcca 100644 +--- a/Source/ThirdParty/ANGLE/src/common/utilities.h ++++ b/Source/ThirdParty/ANGLE/src/common/utilities.h +@@ -11,6 +11,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include <math.h> + #include <string> +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp +index 4134226d..5dd1065f 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp +@@ -15,6 +15,7 @@ + #include <vector> + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include "angle_gl.h" + + #include "common/debug.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp +index 13ae4e61..b964b755 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp +@@ -12,6 +12,7 @@ + #include <iterator> + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <platform/Platform.h> + + #include "common/debug.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp +index 21064073..a46628bd 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp +@@ -17,6 +17,7 @@ + #include <vector> + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <platform/Platform.h> + + #include "common/debug.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Error.h b/Source/ThirdParty/ANGLE/src/libANGLE/Error.h +index 37df5b0c..b2e3885b 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/Error.h ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Error.h +@@ -11,6 +11,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include "angle_gl.h" + #include "common/angleutils.h" + #include "common/debug.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp +index b7bc84c8..538cb3e0 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp +@@ -10,6 +10,7 @@ + #include "libANGLE/Stream.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <platform/Platform.h> + + #include "common/debug.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h +index 9157aa51..d8e58f2d 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h +@@ -14,6 +14,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include "common/angleutils.h" + #include "libANGLE/AttributeMap.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp +index 6daec4f6..941f34ca 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp +@@ -11,6 +11,7 @@ + #include "libANGLE/Surface.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include "libANGLE/Config.h" + #include "libANGLE/Context.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h +index ea1a0510..db7cf0c8 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h +@@ -11,6 +11,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include "common/angleutils.h" + #include "libANGLE/Error.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp +index ba5cf532..43304da5 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp +@@ -13,6 +13,7 @@ + #include "libANGLE/Display.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + namespace rx + { +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp +index de60dfff..93b5bdf8 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp +@@ -9,6 +9,7 @@ + #include "libANGLE/renderer/d3d/DisplayD3D.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include "libANGLE/Config.h" + #include "libANGLE/Context.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp +index a7255d0d..a7e37777 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp +@@ -20,6 +20,7 @@ + #include "libANGLE/renderer/d3d/TextureStorage.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + namespace rx + { +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp +index 61dc8ffa..87276514 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp +@@ -19,6 +19,7 @@ + #include "libANGLE/renderer/d3d/d3d11/formatutils11.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <tchar.h> + #include <algorithm> + +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h +index 443cadd6..e64bdfc4 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h +@@ -12,6 +12,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <GLES2/gl2.h> + + #include "common/angleutils.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp +index 33dfa6b0..eb3393d2 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp +@@ -9,6 +9,7 @@ + #include "libANGLE/renderer/d3d/d3d11/Renderer11.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <versionhelpers.h> + #include <sstream> + +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp +index fe4def6e..2550b52c 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp +@@ -9,6 +9,7 @@ + #include "libANGLE/renderer/d3d/d3d11/SwapChain11.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include "libANGLE/features.h" + #include "libANGLE/renderer/d3d/DisplayD3D.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp +index f4a4ce43..0cad5540 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp +@@ -9,6 +9,7 @@ + #include "libANGLE/renderer/d3d/d3d9/Renderer9.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <sstream> + + #include "common/utilities.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp +index a89e1365..0fe4fa98 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp +@@ -18,6 +18,7 @@ + #include "libANGLE/renderer/gl/SurfaceGL.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + namespace rx + { +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp +index 10b15594..7ae1ac6b 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp +@@ -9,6 +9,7 @@ + #include "libANGLE/renderer/gl/RendererGL.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include "common/debug.h" + #include "libANGLE/AttributeMap.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h +index 115a7afb..abb200e6 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h +@@ -11,6 +11,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include <string> + #include <vector> +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp +index 47ed6ce0..9d11560c 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp +@@ -14,6 +14,7 @@ + #include <unistd.h> + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include <drm_fourcc.h> + #include <gbm.h> +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp +index 23b4a5c5..daeb5789 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp +@@ -9,6 +9,7 @@ + #include "libANGLE/renderer/gl/glx/DisplayGLX.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <algorithm> + #include <cstring> + #include <fstream> +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp +index 698b51e2..32e6126f 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp +@@ -27,6 +27,7 @@ + #include "libANGLE/renderer/gl/formatutilsgl.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <algorithm> + #include <sstream> + +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp +index 5b686321..16ae890f 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp +@@ -18,6 +18,7 @@ + #include "libANGLE/renderer/gl/wgl/FunctionsWGL.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + namespace rx + { +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp +index 12679ba7..93503812 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp +@@ -28,6 +28,7 @@ + #include "platform/Platform.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <sstream> + #include <string> + +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp +index df900f4d..4385be88 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp +@@ -13,6 +13,7 @@ + #include "libANGLE/renderer/vulkan/vk_utils.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include "common/debug.h" + #include "common/platform.h" +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp +index 1c0b25f4..64e96f73 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp +@@ -22,6 +22,7 @@ + #include "libANGLE/formatutils.h" + + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + namespace egl + { +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h +index a671bb0d..248f0ae8 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h +@@ -15,6 +15,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + namespace gl + { +diff --git a/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h b/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h +index ae4a427c..a802b65d 100644 +--- a/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h ++++ b/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h +@@ -13,6 +13,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + extern PFNEGLCHOOSECONFIGPROC EGL_ChooseConfig; + extern PFNEGLCOPYBUFFERSPROC EGL_CopyBuffers; +diff --git a/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h b/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h +index 3c64b290..96201b31 100644 +--- a/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h ++++ b/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h +@@ -11,6 +11,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <export.h> + + extern "C" { +diff --git a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp +index 777b09e1..dbb0bd2f 100644 +--- a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp ++++ b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp +@@ -24,6 +24,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include "deClock.h" + #include "deMemory.h" +diff --git a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp +index 6b4a25bf..1c4ac864 100644 +--- a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp ++++ b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp +@@ -22,6 +22,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include "egluGLContextFactory.hpp" + #include "tcuANGLENativeDisplayFactory.h" +diff --git a/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp b/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp +index 90abb931..aea4e153 100644 +--- a/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp ++++ b/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp +@@ -10,6 +10,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <X11/Xlib.h> + + #include "test_utils/ANGLETest.h" +diff --git a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h +index e888a239..71606b8c 100644 +--- a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h ++++ b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h +@@ -11,6 +11,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include <string> + +diff --git a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp +index 7fdddcc6..e40b8905 100644 +--- a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp ++++ b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp +@@ -10,6 +10,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include <map> + #include <string> +diff --git a/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h b/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h +index 7bc7a027..ebb2827b 100644 +--- a/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h ++++ b/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h +@@ -16,6 +16,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include "GLSLANG/ShaderLang.h" + #include "angle_test_instantiate.h" +diff --git a/Source/ThirdParty/ANGLE/util/OSPixmap.h b/Source/ThirdParty/ANGLE/util/OSPixmap.h +index ba6ccf4a..563d2578 100644 +--- a/Source/ThirdParty/ANGLE/util/OSPixmap.h ++++ b/Source/ThirdParty/ANGLE/util/OSPixmap.h +@@ -13,6 +13,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include "util/Event.h" + #include "util/util_export.h" +diff --git a/Source/ThirdParty/ANGLE/util/OSWindow.h b/Source/ThirdParty/ANGLE/util/OSWindow.h +index 3cdb458c..3178fa44 100644 +--- a/Source/ThirdParty/ANGLE/util/OSWindow.h ++++ b/Source/ThirdParty/ANGLE/util/OSWindow.h +@@ -15,6 +15,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + #include "util/Event.h" + #include "util/util_export.h" +diff --git a/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h b/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h +index 5fbec82f..77a30330 100644 +--- a/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h ++++ b/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h +@@ -15,6 +15,7 @@ + + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + + ANGLE_UTIL_EXPORT extern PFNEGLCHOOSECONFIGPROC eglChooseConfig; + ANGLE_UTIL_EXPORT extern PFNEGLCOPYBUFFERSPROC eglCopyBuffers; +diff --git a/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp b/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp +index a8a82d70..050893a9 100644 +--- a/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp ++++ b/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp +@@ -29,6 +29,7 @@ + #else + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #endif + + #if USE(CAIRO) +diff --git a/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp b/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp +index 05f92c22..636df34a 100644 +--- a/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp ++++ b/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp +@@ -35,6 +35,7 @@ + #include <wayland-egl.h> + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <wtf/Assertions.h> + + namespace WebCore { +diff --git a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp +index 8c81119b..bf9ed4bd 100644 +--- a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp ++++ b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp +@@ -38,6 +38,7 @@ + #if USE(EGL) + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #endif + + namespace WebCore { +diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp +index 973b3168..5586236a 100644 +--- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp ++++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp +@@ -35,6 +35,7 @@ + #include <gdk/gdkwayland.h> + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <WebCore/CairoUtilities.h> + #include <WebCore/GLContext.h> + +diff --git a/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp b/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp +index 8d848ce4..46d42c11 100644 +--- a/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp ++++ b/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp +@@ -31,6 +31,7 @@ + #include "WebKitWaylandServerProtocol.h" + #include <EGL/egl.h> + #include <EGL/eglext.h> ++#include <EGL/eglmesaext.h> + #include <WebCore/GLContext.h> + #include <WebCore/PlatformDisplayWayland.h> + #include <WebCore/Region.h> |