For those installs using (depending on the exact definition of those flags, but generally) USE="+gles2 -opengl" (i.e. only GL ES, not full GL), webkit-gtk should not try to pull in cairo[opengl] due to webgl, but should be satisfied by cairo[gles2] or cairo[opengl], possibly depending on the choice of USE flags in webkit-gtk.
Tried to change webgl cairo dep to cairo[opengl?,gles2?] but repoman put a wrench in it, as cairo[gles2] seems use masked. Feel free to help investigating why that is. I can't make the changes in webkit-gtk without use.masking things too, as it stands. Additionally gst-plugins-bad[opengl] stuff probably would need the same treatment, and I'm not sure what the story is for non-webgl opengl usages (there's no cairo[gles2] dep for USE=gles2, though a cairo_gl_surface_create seems required, which could come from either cairo[gles2] or cairo[opengl]).
The gles2 use masking looks to be caused by cairo gl and gles2 being mutually exclusive: https://bugs.freedesktop.org/show_bug.cgi?id=57379
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73d95b14d48bc96582f3dca2029ffdf790d1aafd commit 73d95b14d48bc96582f3dca2029ffdf790d1aafd Author: Mart Raudsepp <leio@gentoo.org> AuthorDate: 2018-07-23 09:36:00 +0000 Commit: Mart Raudsepp <leio@gentoo.org> CommitDate: 2018-07-23 22:23:43 +0000 net-libs/webkit-gtk-2.20.3: disable experimental accelerated 2D canvas ACCELERATED_2D_CANVAS is considered experimental by upstream. I'm not sure what the justification was for enabling it with USE="webgl opengl" for us. The only reason this code isn't removed fully from upstream is because it _MIGHT_ be useful for some embedded use cases, yet it doesn't work with GLES2 yet, only desktop opengl. Additionally, for us this is causing additional cairo[opengl] dependency that can't be avoided for just non-experimental WebGL support via desktop GL as it was setup before in ebuild. No-one but Gentoo is building with this experimental option (not even upstream developers), and any issues about it won't really be cared about. Disable it and drop the cairo[opengl] dependency. https://lists.webkit.org/pipermail/webkit-gtk/2017-March/002969.html https://lists.webkit.org/pipermail/webkit-gtk/2017-April/003004.html If this is ever added back for any reason, make sure cairo[opengl] isn't depended on when not necessary (when accelerated 2d canvas is disabled, e.g. previously USE="opengl gles2" pulled in cairo[opengl] still, albeit that combination was not allowed previously, but a future webkit-gtk upstream version may support them together) and review if cairo-glesv2 is supported (and so it'd be supported with USE=gles2 too, unlike now). Bug: https://bugs.gentoo.org/581248 Closes: https://bugs.gentoo.org/643726 Package-Manager: Portage-2.3.43, Repoman-2.3.10 net-libs/webkit-gtk/webkit-gtk-2.20.3.ebuild | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-)