mate-desktop / atril

A document viewer for MATE
http://www.mate-desktop.org
GNU General Public License v2.0
197 stars 62 forks source link

Atril since 1.27.1 depends on mate-desktop #605

Closed fulalas closed 4 months ago

fulalas commented 4 months ago

Atril has been a stand-alone project that could run in any environment, but now it requires mate-desktop to be built (and possibly to be present in run-time).

Please don't do that.

Thanks!

raveit65 commented 4 months ago

Atril is designed for mate-desktop and it is valid to use mate-desktop libs. This was needed to fix deprecations. See https://github.com/mate-desktop/atril/commit/5fbd44b2f5b99d44ddf1b7a8521a61c0183d0bb3 Bad times for xfce users :P

lukefromdc commented 4 months ago

Atril can still run standalone. Only the mate-desktop library (often named something like libmate-desktop by distros) is needed for it, not the whole MATE desktop environment. The functions added to the mate-desktop library re-implement deprecated GTK functions. Not enough of it to justify splitting it out into a separate library with a name like say, GTK3-extensions. The whole mate-desktop package is (in my last build) only 4.8 MB.

Some confusion comes from the name of the library. Back when we released 1.10, the first package out was mate-desktop. Someone at Phoronix thought that means the whole DE had been released due to the name.

fulalas commented 4 months ago

I see. Still a bummer though because it adds more complexity in the build process. :(

What I don't understand is the willing to do that when GTK3 is basically dead, receiving basically just critical updates in the last years. It seems nothing is going to be removed from it because GNOME is focused in GTK4 only.

lukefromdc commented 4 months ago

Deprecated functions are unmaintained entirely, do not get those critical updates. Way back in the GTK 3.21 development era, we got a nasty desktop redraw failure (nothing ever erased) from exactly such breakage. Today such things would most likely come from an underlying library (e.g. glib) changing. Best to maintain these ourselves.