Bug 199094 - [WPE][GTK] Bump minimum versions of GLib, GTK, libsoup, ATK, GStreamer, and Cairo
Summary: [WPE][GTK] Bump minimum versions of GLib, GTK, libsoup, ATK, GStreamer, and C...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Linux
: P2 Normal
Assignee: Michael Catanzaro
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-20 17:41 PDT by Michael Catanzaro
Modified: 2019-06-21 07:20 PDT (History)
4 users (show)

See Also:


Attachments
Patch (206.70 KB, patch)
2019-06-20 18:30 PDT, Michael Catanzaro
cgarcia: review+
pnormand: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Catanzaro 2019-06-20 17:41:33 PDT
We can remove a lot of preprocessor guards in our code if we bump the minimum required versions of certain dependencies:

GStreamer 1.8 -> 1.10
GTK 3.6 -> 3.22
ATK 2.16
libsoup 2.42 -> 2.54
glib 2.40 -> 2.44
cairo 1.14

I'm being extremely conservative with all these dependency bumps. All of these versions are already available in Debian Stretch, which we no longer support building on anyway due to GCC 7 requirement.

We still have a few preprocessor guards remaining for everything here except glib and cairo, but this removes the vast majority of them. Deleting code is fun!
Comment 1 Michael Catanzaro 2019-06-20 17:44:47 PDT
Also there were some fallthroughs in the a11y code that seemed plainly incorrect, which this fixes.
Comment 2 Michael Catanzaro 2019-06-20 18:30:40 PDT
Created attachment 372607 [details]
Patch
Comment 3 Carlos Garcia Campos 2019-06-20 22:30:34 PDT
Could yopu explain in the ChangeLog where the new numbers come from? Are those the versions of the deps in Debian stretch? what about other distros?
Comment 4 Philippe Normand 2019-06-21 00:50:36 PDT
Comment on attachment 372607 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=372607&action=review

> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:-406
> -#if GST_CHECK_VERSION(1, 11, 0)
>          gst_structure_set(structure, "context", GST_TYPE_GL_CONTEXT, gstGLContext(), nullptr);
> -#else
> -        gst_structure_set(structure, "context", GST_GL_TYPE_CONTEXT, gstGLContext(), nullptr);
> -#endif

This one needs to remain, and s/11/12/
Comment 5 Michael Catanzaro 2019-06-21 07:08:03 PDT
(In reply to Carlos Garcia Campos from comment #3)
> Could yopu explain in the ChangeLog where the new numbers come from? Are
> those the versions of the deps in Debian stretch? what about other distros?

The new versions are MIN(whatever's available in Stretch, whatever we have a CHECK_VERSION for). E.g. we have ATK_CHECK_VERSIONs looking for very recent ATKs like 2.30 or whatever, but only ATK 2.22 is available in Stretch, and the highest CHECK_VERSION we have below 2.22 is 2.16, so I set the minimum to 2.16.

Other distros should all be at least as new as Stretch or they will no longer be able to update.

(In reply to Philippe Normand from comment #4) 
> This one needs to remain, and s/11/12/

Oops, good catch!
Comment 6 Michael Catanzaro 2019-06-21 07:16:34 PDT
> (In reply to Philippe Normand from comment #4) 
> > This one needs to remain, and s/11/12/
> 
> Oops, good catch!

I also missed removing runtime checks for 1.8 and 1.10 using webkitGstCheckVersion().
Comment 7 Michael Catanzaro 2019-06-21 07:20:04 PDT
Committed r246677: <https://trac.webkit.org/changeset/246677>