net-libs/webkit-gtk-2.20.3: disable experimental accelerated 2D canvas
authorMart Raudsepp <leio@gentoo.org>
Mon, 23 Jul 2018 09:36:00 +0000 (12:36 +0300)
committerMart Raudsepp <leio@gentoo.org>
Mon, 23 Jul 2018 22:23:43 +0000 (01:23 +0300)
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

index 56fbc1c1f50b02fa08c5b5d4d36223d97a29a151..af0b97e336e766dcb56d2a969e22f2bae5164842 100644 (file)
@@ -41,7 +41,7 @@ RESTRICT="test"
 # Various compile-time optionals for gtk+-3.22.0 - ensure it
 # Missing OpenWebRTC checks and conditionals, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF)
 RDEPEND="
-       >=x11-libs/cairo-1.10.2:=
+       >=x11-libs/cairo-1.10.2:=[X?]
        >=media-libs/fontconfig-2.8.0:1.0
        >=media-libs/freetype-2.4.2:2
        >=dev-libs/libgcrypt-1.6.0:0=
@@ -73,7 +73,6 @@ RDEPEND="
                >=media-libs/gst-plugins-bad-1.10:1.0[opengl?,egl?] )
 
        X? (
-               x11-libs/cairo[X]
                x11-libs/libX11
                x11-libs/libXcomposite
                x11-libs/libXdamage
@@ -85,10 +84,8 @@ RDEPEND="
 
        egl? ( media-libs/mesa[egl] )
        gles2? ( media-libs/mesa[gles2] )
-       opengl? ( virtual/opengl
-               x11-libs/cairo[opengl] )
+       opengl? ( virtual/opengl )
        webgl? (
-               x11-libs/cairo[opengl]
                x11-libs/libXcomposite
                x11-libs/libXdamage )
 "
@@ -215,14 +212,6 @@ src_configure() {
                opengl_enabled=OFF
        fi
 
-       # support for webgl (aka 2d-canvas accelerating)
-       local canvas_enabled
-       if use webgl && ! use gles2 ; then
-               canvas_enabled=ON
-       else
-               canvas_enabled=OFF
-       fi
-
        local mycmakeargs=(
                -DENABLE_QUARTZ_TARGET=$(usex aqua)
                -DENABLE_API_TESTS=$(usex test)
@@ -245,7 +234,6 @@ src_configure() {
                $(cmake-utils_use_find_package opengl OpenGL)
                -DENABLE_X11_TARGET=$(usex X)
                -DENABLE_OPENGL=${opengl_enabled}
-               -DENABLE_ACCELERATED_2D_CANVAS=${canvas_enabled}
                -DCMAKE_BUILD_TYPE=Release
                -DPORT=GTK
                ${ruby_interpreter}