[oe] [meta-browser][PATCH] chromium-wayland: fix compilation problem on non-X11 builds

Herve Jourdain herve.jourdain at neuf.fr
Thu Feb 2 12:46:52 UTC 2017


Hi Jacobo,

I'm using "master", and I do have patches for enabling armv7ve. But since they're needed only for raspberrypi, I planned to submit them only for meta-raspberrypi.
If you think it could be useful in meta-browser, though, I can submit them there.

Cheers,
Herve

-----Original Message-----
From: Jacobo Aragunde Pérez [mailto:jaragunde at igalia.com] 
Sent: jeudi 2 février 2017 13:30
To: openembedded-devel at lists.openembedded.org
Cc: otavio at ossystems.com.br; Herve Jourdain <herve.jourdain at neuf.fr>
Subject: Re: [meta-browser][PATCH] chromium-wayland: fix compilation problem on non-X11 builds

Thank you all for your reviews. This should be the last patch, it addresses Herve's problem when building on a Raspberry Pi.

Unfortunately, I haven't been able to reproduce his problem myself, but this patch is actually a backport of an upstream patch, so it makes no harm in my opinion.

Another question, are you using krogoth in you rpi build? I found problems with the declared architecture in releases newer than jethro, it is called "armv7ve" and chromium doesn't build because it expects "armv7a". We could use a patch if you have worked around this problem :)

Thanks again,
--
Jacobo Aragunde
Software Engineer at Igalia


On 02/02/17 13:17, Jacobo Aragunde Pérez wrote:
> Certain build configurations enable a code path that includes
> keyboard_code_conversion_xkb.cc, but it eventually fails in non-X11
> environments because of a missing patch that is present upstream.
> 
> This commit adds the missing patch from
> https://codereview.chromium.org/2239833003
> 
> There are two versions of the patch in the code review URL above.
> The first version fixes the problem both under the gyp and GN build
> systems. That patch was rejected because gyp is considered deprecated
> upstream. The second version fixes the problem only on GN and it was
> merged upstream. We are picking the first version because our recipes
> still use gyp to build.
> 
> Signed-off-by: Jacobo Aragunde Pérez <jaragunde at igalia.com>
> ---
>  .../chromium/chromium-wayland_53.0.2785.143.bb     |  1 +
>  .../fix-non-x11-build-when-use_xkbcommon-1.patch   | 51 ++++++++++++++++++++++
>  2 files changed, 52 insertions(+)
>  create mode 100644 recipes-browser/chromium/chromium/chromium-wayland/fix-non-x11-build-when-use_xkbcommon-1.patch
> 
> diff --git a/recipes-browser/chromium/chromium-wayland_53.0.2785.143.bb b/recipes-browser/chromium/chromium-wayland_53.0.2785.143.bb
> index a75918b..ef913a7 100644
> --- a/recipes-browser/chromium/chromium-wayland_53.0.2785.143.bb
> +++ b/recipes-browser/chromium/chromium-wayland_53.0.2785.143.bb
> @@ -13,6 +13,7 @@ SRC_URI += "\
>          file://chromium-wayland/0011-Replace-readdir_r-with-readdir.patch \
>          file://chromium-wayland/remove-Werror.patch \
>          file://chromium-wayland/guard-x11_desktop_handler-inclusion.patch \
> +        file://chromium-wayland/fix-non-x11-build-when-use_xkbcommon-1.patch \
>          ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
>          ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
>  "
> diff --git a/recipes-browser/chromium/chromium/chromium-wayland/fix-non-x11-build-when-use_xkbcommon-1.patch b/recipes-browser/chromium/chromium/chromium-wayland/fix-non-x11-build-when-use_xkbcommon-1.patch
> new file mode 100644
> index 0000000..976ece9
> --- /dev/null
> +++ b/recipes-browser/chromium/chromium/chromium-wayland/fix-non-x11-build-when-use_xkbcommon-1.patch
> @@ -0,0 +1,51 @@
> +From: jbriance <jbriance at cisco.com>
> +Subject: keycodes: Fix non-X11 build when use_xkbcommon=1
> +
> +Since M51, ui/events/keycodes/xkb_keysym.h follows X11 path, even if
> +use_xkbcommon=1 is set because USE_XKBCOMMON is not defined, leading
> +to the following compilation error in this case:
> +
> +  In file included from ../../ui/events/keycodes/keyboard_code_conversion_xkb.h:12:0,
> +                   from ../../ui/events/keycodes/keyboard_code_conversion_xkb.cc:5:
> +  ../../ui/events/keycodes/xkb_keysym.h:19:19: fatal error: X11/X.h: No such file or directory
> +
> +BUG=none
> +
> +Review-Url: https://codereview.chromium.org/2239833003
> +--
> +
> +Index: ui/events/keycodes/BUILD.gn
> +diff --git a/ui/events/keycodes/BUILD.gn b/ui/events/keycodes/BUILD.gn
> +index 4f2d47c2497d321332c79d0dd4e9007b50c319c7..716c7ed17cc8049ea65b95a5062e7c6e0adc6e48 100644
> +--- a/ui/events/keycodes/BUILD.gn
> ++++ b/ui/events/keycodes/BUILD.gn
> +@@ -17,6 +17,10 @@ source_set("xkb") {
> +     "//base",
> +     "//ui/events:dom_keycode_converter",
> +   ]
> ++
> ++  if (use_xkbcommon) {
> ++    defines = [ "USE_XKBCOMMON" ]
> ++  }
> + }
> + 
> + if (use_x11 || ozone_platform_x11) {
> +Index: ui/events/keycodes/events_keycodes.gyp
> +diff --git a/ui/events/keycodes/events_keycodes.gyp b/ui/events/keycodes/events_keycodes.gyp
> +index b0796b4e2ead8bffe88fb01ed136814be505d967..248e961bad2ad3996ca99624b6c489c7835f6241 100644
> +--- a/ui/events/keycodes/events_keycodes.gyp
> ++++ b/ui/events/keycodes/events_keycodes.gyp
> +@@ -21,6 +21,13 @@
> +         'scoped_xkb.h',
> +         'xkb_keysym.h',
> +       ],
> ++      'conditions': [
> ++        ['use_xkbcommon==1', {
> ++          'defines': [
> ++            'USE_XKBCOMMON',
> ++          ],
> ++        }],
> ++      ],
> +     },
> +   ],
> +   'conditions': [
> 



More information about the Openembedded-devel mailing list