[Bug 243677] www/webkit2-gtk3: disable WPE renderer, unbreak liferea build
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Jan 28 18:53:15 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243677
Bug ID: 243677
Summary: www/webkit2-gtk3: disable WPE renderer, unbreak
liferea build
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Keywords: easy, patch, patch-ready
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: gnome at FreeBSD.org
Reporter: cmt at freebsd.org
Created attachment 211139
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=211139&action=edit
disable WPE renderer, unbreaks liferea
since updating webkit2-gtk3 to 2.26.x (ports r516196) build of net/liferea
fails during dumping of the introspection data (see BROKEN message in ports
r516629).
Testing shows that this problem only exists if webkit has option WAYLAND
enabled (unfortunately, that's the default).
Further digging revealed that that ABORT is raised in
Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp
AcceleratedBackingStore::checkRequirements() when the "display" is neither a
"WAYLAND" or "X11" display. In fact, since (I think)
https://bugs.webkit.org/show_bug.cgi?id=184406 creates "WPE" displays as the
fallback (if WPE support has been enabled) when no regular X11 display (via GDK
or similar) is available. That's exactly the situation with liferea: during
build in poudriere, there's no $DISPLAY and no way to initialize a "real"
display. That "WPE" fallback display later turns up in
AcceleratedBackingStore::checkRequirements() where it is not handled and causes
a fallthrough to the Abort. If WPE support hadn't been disabled, webkit would
create a X11 "dummy" display as before - and that would cause no problems, if
we got there.
Experimentation (filling in a few gaps in the code starting in
AcceleratedBackingStore::checkRequirements()) is a trip down the rabbit hole
(there're multiple missing pieces, I think), and the best I got was segfaults
from some destructor.
As an alternative, I found cmake switch "USE_WPE_RENDERER" (default on) - when
turned of, we get rid of the problematic code paths through WPE and liferea can
build again just fine and it's BROKEN flag could be reset. (I'm not sure what
use case WPE has in webkit-gtk on FreeBSD - surely we can use the GDK/GTK
paths, as that's literally in the package name?)
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-gnome
mailing list