Subject: Re: bug#52375: webkitgtk page crashes on core-updates-frozen

From: Jack Hill <[email-masked]>
Date: Wed, 22 Dec 2021 12:03:08 -0500 (EST)

On Tue, 21 Dec 2021, Maxim Cournoyer wrote:

> Hello Jack,
>
> Jack Hill <[email-masked]> writes:
>
>> Should leaf applications that use webkitgtk be wrapped to find the
>> right gst-plugins? This seems suboptimal to me. If the plugins are
>> really dependencies of webkitgtk then perhaps they should be encoded
>> that way in Guix.
>
> I think upstream should improve their software to display more
> informative messages when a plugin is missing to play some content (a
> tab crash is not very helpful!) :-).

Indeed. There actually is an upstream issue for this: 
https://bugs.webkit.org/show_bug.cgi?id=233949

>> Should webkitgtk be wrapped somehow to find the plugins on its own?
>> How would this wrapping be done? Do we want to force all webkitgtk
>> applications to carry around these dependencies?
>
> I think there's not much to do here other than document the availability
> of plugins to extend the capabilities of webkitgtk.  It's won't be
> obvious to leaf package users though, so fixing it upstream would still
> have value.
>
> As discussed on #guix, some reasons for not propagating them or even
> wrapping them is the fact that they are *plugins*, that is, they exist
> in that form so that users can compose them for runtime discovery as
> they see fit.  Propagating the plugins would go against this, and is not
> very "Guixy" :-).
>
> Another reason is that adding the gst-plugins-good and gst-plugins-bad
> would inflate the size of the webkitgtk package by more than 1 GiB!
> (compare "guix size webkitgtk" vs "guix size webkitgtk gst-plugins-good
> gst-plugins-bad").
>
> I'm tempted to make this change to the description of 'webkitgtk':
>
> --8<---------------cut here---------------start------------->8---
> modified   gnu/packages/webkit.scm
> @@ -350,7 +350,9 @@ (define-public webkitgtk
>     (description
>      "WebKitGTK+ is a full-featured port of the WebKit rendering engine,
> suitable for projects requiring any kind of web integration, from hybrid
> -HTML/CSS applications to full-fledged web browsers.")
> +HTML/CSS applications to full-fledged web browsers.  WebKitGTK+ can play
> +various video content through the use of the GStreamer plugins (not propagated
> +by default) such as @code{gst-plugins-good} and @code{gst-plugins-bad}.")
>     ;; WebKit's JavaScriptCore and WebCore components are available under
>     ;; the GNU LGPL, while the rest is available under a BSD-style license.
>     (license (list license:lgpl2.0
> --8<---------------cut here---------------end--------------->8---
>
> and close this as 'notabug'.  What do you think?

I think that this would good to add as a hint to WebKitGTK users. However, 
I don't agree that it is notabug because I think browsers should work on 
commonly encountered web content out of the box without asking folks to 
track down the needed dependencies. I've opened a thread on 
[email-masked] to solicit more thoughts/discussion on how to best 
address this issue: https://lists.gnu.org/archive/html/guix-devel/2021-12/msg00228.html

Thanks for helping think and work through this issue!
Jack