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:
The bug has been closed via the following commit(s):
Author: Mart Raudsepp <firstname.lastname@example.org>
AuthorDate: 2018-07-23 09:36:00 +0000
Commit: Mart Raudsepp <email@example.com>
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.
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).
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(-)