From 00e1167f7c399caf8d328a9a89e81295eaa2d5da Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Thu, 27 May 2021 10:58:53 +0200 Subject: [PATCH] cog: adapt .bbappend to Yocto 3.2 Update the version from 0.7.1 to 0.8.0 and remove two patches that are already being applied in meta-webkit. https://onedigi.atlassian.net/browse/DEL-7545 Signed-off-by: Gabriel Valcazar --- ...atform-parameter-and-hardcode-the-F.patch} | 2 +- ...ommon-EGL-proc-address-loader-with-d.patch | 84 ------------------- ...form-fdo-always-use-fullscreen-mode.patch} | 2 +- ...-proc-address.h-add-a-license-header.patch | 23 ----- .../recipes-browser/cog/cog_0.7.1.bbappend | 12 --- .../recipes-browser/cog/cog_0.8.0.bbappend | 10 +++ 6 files changed, 12 insertions(+), 121 deletions(-) rename meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/{0003-cog-remove-the-platform-parameter-and-hardcode-the-F.patch => 0001-cog-remove-the-platform-parameter-and-hardcode-the-F.patch} (97%) delete mode 100644 meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-platform-add-a-common-EGL-proc-address-loader-with-d.patch rename meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/{0004-cog-platform-fdo-always-use-fullscreen-mode.patch => 0002-cog-platform-fdo-always-use-fullscreen-mode.patch} (97%) delete mode 100644 meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-egl-proc-address.h-add-a-license-header.patch delete mode 100644 meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_0.7.1.bbappend create mode 100644 meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_0.8.0.bbappend diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0003-cog-remove-the-platform-parameter-and-hardcode-the-F.patch b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-cog-remove-the-platform-parameter-and-hardcode-the-F.patch similarity index 97% rename from meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0003-cog-remove-the-platform-parameter-and-hardcode-the-F.patch rename to meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-cog-remove-the-platform-parameter-and-hardcode-the-F.patch index 693fb3700..ba486efc5 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0003-cog-remove-the-platform-parameter-and-hardcode-the-F.patch +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-cog-remove-the-platform-parameter-and-hardcode-the-F.patch @@ -1,6 +1,6 @@ From: Gabriel Valcazar Date: Tue, 10 Nov 2020 16:32:15 +0100 -Subject: [PATCH 3/4] cog: remove the --platform parameter and hardcode the FDO +Subject: [PATCH 1/2] cog: remove the --platform parameter and hardcode the FDO platform We don't want users to accidentally generate errors by using different diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-platform-add-a-common-EGL-proc-address-loader-with-d.patch b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-platform-add-a-common-EGL-proc-address-loader-with-d.patch deleted file mode 100644 index ed1d3b057..000000000 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0001-platform-add-a-common-EGL-proc-address-loader-with-d.patch +++ /dev/null @@ -1,84 +0,0 @@ -From: Zan Dobersek -Date: Tue, 10 Nov 2020 09:23:16 +0100 -Subject: [PATCH 1/4] platform: add a common EGL proc address loader with dlsym - fallback - -Provide a common EGL proc address loader function that incorporates -a dlsym-based fallback in case eglGetProcAddress() refuses to find -an otherwise-existing entrypoint. - -This should avoid some drivers that fail to handle proc address -requests for specific entrypoints, but have those entrypoints -exported as regular symbols loadable through dlsym(). ---- - platform/cog-platform-drm.c | 4 +++- - platform/cog-platform-fdo.c | 4 +++- - platform/common/egl-proc-address.h | 15 +++++++++++++++ - 3 files changed, 21 insertions(+), 2 deletions(-) - create mode 100644 platform/common/egl-proc-address.h - -diff --git a/platform/cog-platform-drm.c b/platform/cog-platform-drm.c -index 6fa4a25..27b4521 100644 ---- a/platform/cog-platform-drm.c -+++ b/platform/cog-platform-drm.c -@@ -16,6 +16,8 @@ - #include - #include - -+#include "common/egl-proc-address.h" -+ - - #if !defined(EGL_EXT_platform_base) - typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list); -@@ -379,7 +381,7 @@ init_egl (void) - { - static PFNEGLGETPLATFORMDISPLAYEXTPROC s_eglGetPlatformDisplay = NULL; - if (!s_eglGetPlatformDisplay) -- s_eglGetPlatformDisplay = (PFNEGLGETPLATFORMDISPLAYEXTPROC) eglGetProcAddress ("eglGetPlatformDisplayEXT"); -+ s_eglGetPlatformDisplay = (PFNEGLGETPLATFORMDISPLAYEXTPROC) load_egl_proc_address ("eglGetPlatformDisplayEXT"); - - if (s_eglGetPlatformDisplay) - egl_data.display = s_eglGetPlatformDisplay (EGL_PLATFORM_GBM_KHR, gbm_data.device, NULL); -diff --git a/platform/cog-platform-fdo.c b/platform/cog-platform-fdo.c -index 960bc98..7bdf075 100644 ---- a/platform/cog-platform-fdo.c -+++ b/platform/cog-platform-fdo.c -@@ -32,6 +32,8 @@ - #include - #include - -+#include "common/egl-proc-address.h" -+ - #include "xdg-shell-client.h" - #include "fullscreen-shell-unstable-v1-client.h" - #include "presentation-time-client.h" -@@ -1586,7 +1588,7 @@ on_export_fdo_egl_image(void *data, struct wpe_fdo_egl_exported_image *image) - s_eglCreateWaylandBufferFromImageWL; - if (s_eglCreateWaylandBufferFromImageWL == NULL) { - s_eglCreateWaylandBufferFromImageWL = (PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL) -- eglGetProcAddress ("eglCreateWaylandBufferFromImageWL"); -+ load_egl_proc_address ("eglCreateWaylandBufferFromImageWL"); - g_assert (s_eglCreateWaylandBufferFromImageWL); - } - -diff --git a/platform/common/egl-proc-address.h b/platform/common/egl-proc-address.h -new file mode 100644 -index 0000000..44dd6a9 ---- /dev/null -+++ b/platform/common/egl-proc-address.h -@@ -0,0 +1,15 @@ -+#pragma once -+ -+#define __USE_GNU -+#include -+ -+#include -+ -+static void* -+load_egl_proc_address (const char *name) -+{ -+ void *proc_address = eglGetProcAddress (name); -+ if (!proc_address) -+ proc_address = dlsym (RTLD_NEXT, name); -+ return proc_address; -+} diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0004-cog-platform-fdo-always-use-fullscreen-mode.patch b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-cog-platform-fdo-always-use-fullscreen-mode.patch similarity index 97% rename from meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0004-cog-platform-fdo-always-use-fullscreen-mode.patch rename to meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-cog-platform-fdo-always-use-fullscreen-mode.patch index 7ea9720f9..3c4687e89 100644 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0004-cog-platform-fdo-always-use-fullscreen-mode.patch +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-cog-platform-fdo-always-use-fullscreen-mode.patch @@ -1,6 +1,6 @@ From: Gabriel Valcazar Date: Tue, 10 Nov 2020 16:36:21 +0100 -Subject: [PATCH 4/4] cog-platform-fdo: always use fullscreen mode +Subject: [PATCH 2/2] cog-platform-fdo: always use fullscreen mode Otherwise, the browser will spawn on a random place on the desktop every time. diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-egl-proc-address.h-add-a-license-header.patch b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-egl-proc-address.h-add-a-license-header.patch deleted file mode 100644 index bfbfadb4b..000000000 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog/0002-egl-proc-address.h-add-a-license-header.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Zan Dobersek -Date: Tue, 10 Nov 2020 09:42:01 +0100 -Subject: [PATCH 2/4] egl-proc-address.h: add a license header. - ---- - platform/common/egl-proc-address.h | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/platform/common/egl-proc-address.h b/platform/common/egl-proc-address.h -index 44dd6a9..83ad90a 100644 ---- a/platform/common/egl-proc-address.h -+++ b/platform/common/egl-proc-address.h -@@ -1,3 +1,10 @@ -+/* -+ * egl-proc-address.h -+ * Copyright (C) 2020 Igalia S.L. -+ * -+ * Distributed under terms of the MIT license. -+ */ -+ - #pragma once - - #define __USE_GNU diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_0.7.1.bbappend b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_0.7.1.bbappend deleted file mode 100644 index 954f8d9f8..000000000 --- a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_0.7.1.bbappend +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2020, Digi International Inc. - -FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" - -SRC_URI_append = " \ - file://0001-platform-add-a-common-EGL-proc-address-loader-with-d.patch \ - file://0002-egl-proc-address.h-add-a-license-header.patch \ - file://0003-cog-remove-the-platform-parameter-and-hardcode-the-F.patch \ - file://0004-cog-platform-fdo-always-use-fullscreen-mode.patch \ -" - -EXTRA_OECMAKE += "-DCOG_HOME_URI=http://127.0.0.1/" diff --git a/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_0.8.0.bbappend b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_0.8.0.bbappend new file mode 100644 index 000000000..d99521cd0 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/webkit/recipes-browser/cog/cog_0.8.0.bbappend @@ -0,0 +1,10 @@ +# Copyright 2020-2021 Digi International Inc. + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" + +SRC_URI_append = " \ + file://0001-cog-remove-the-platform-parameter-and-hardcode-the-F.patch \ + file://0002-cog-platform-fdo-always-use-fullscreen-mode.patch \ +" + +EXTRA_OECMAKE += "-DCOG_HOME_URI=http://127.0.0.1/"