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

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


And BTW, I'll try to test your patch tomorrow - I'm back now, so I'll have access to my build server.

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

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-w
> hen-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-b
> +++ uild-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..716c7ed17cc8049ea65b95a5062
> +e7c6e0adc6e48 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..248e961bad2ad3996ca99624b6c
> +489c7835f6241 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