[cairo] Release management for Cairo

Dave Yeo dave.r.yeo at gmail.com
Sun Apr 25 23:56:08 UTC 2021


On 04/25/21 09:12 AM, Emmanuele Bassi wrote:
> First of all: Cairo is full of conditionally built code that is barely
> maintained, and seldom enabled. This makes maintenance more complicated
> because nobody is really exercising the whole code base except for some
> long tail end user. Cairo has too many science experiments, and too many
> small fiefdoms, and not enough people that care about the whole project.
> People end up enabling some random feature without realising that it's a
> trap; downstream packagers don't really know what to enable at compile
> time, either.
>
> For this reason, I'd like to whittle down the size of the code base. The
> following backends would need to go:
>
>  - OS/2
>  - BeOS
>  - Qt
>  - DRM
>  - GL (GLES, EGL, GLX, WGL)
>  - Cogl
>  - DirectFB
>  - XML
>
> The supported backends would be:
>
>  - image
>  - recording
>  - Xlib
>  - XCB
>  - Win32
>  - Quartz [1]
>  - Tee [2]
>  - SVG
>  - PDF
>  - PS
>
> This is, essentially, the currently exercised subset of Cairo that GTK
> needs in order to work, plus the requirements of other users of Cairo
> according to Debian's code search. I'd like to be able to say: "if you
> want to keep a backend alive, please show up and maintain it", but the
> truth is: none of the backends I'd like to remove are really used by
> anything that is currently relevant outside of a moderately long tail of
> niche users. If you rely on custom builds for your project/product, I'm
> sure you can also continue using Cairo 1.16. I'd be happy to backport
> all the relevant changes to the 1.16 branch, before sealing it for good.

As an OS/2 user, it would be a shame to see the os2surface dropped, 
though I do notice that currently "yum info cairo" reports that it is 
version 1.12.18 that ships with current OS/2.
It is understandable about the maintenance burden, and currently we 
don't have meson support and meson seems pretty rigid so adding support 
would be non-trivial from a quick look, especially as OS/2 (actually 
ArcOS, www.arcanoae.com) currently only ships Python2.
I do think that even after backporting any relevant fixes to the 1.16 
branch, it should be left open for other fixes. I maintain a few parts 
of OS/2 such as the screensaver which uses Cairo for some modules and 
have patches that should be applied. I haven't posted them due to the 
lack of maintainer-ship amongst other reasons.
Dave


More information about the cairo mailing list