#967713 purple-plugin-pack: depends on deprecated GTK 2

#967713#5
Date:
2020-08-04 11:00:11 UTC
From:
To:
This package has Build-Depends on GTK 2 (libgtk2.0-dev), or produces
binary packages with a Depends on GTK 2.

GTK 2 was superseded by GTK 3 in 2011 (see
<https://bugs.debian.org/947713>). It no longer receives any significant
upstream maintenance, and in particular does not get feature development
for new features like UI scaling on high-pixel-density displays (HiDPI)
and native Wayland support. GTK 3 is in maintenance mode and GTK 4 is
approaching release, so it seems like a good time to be thinking about
minimizing the amount of GTK 2 in the archive.

GTK 2 is used by some important productivity applications like GIMP, and
has also historically been a popular UI toolkit for proprietary software
that we can't change, so perhaps removing GTK 2 from Debian will never be
feasible. However, it has reached the point where a dependency on it is
a bug - not a release-critical bug, and not a bug that can necessarily
be fixed quickly, but a piece of technical debt that maintainers should
be aware of.

A porting guide is provided in the GTK 3 documentation:
https://developer.gnome.org/gtk3/stable/migrating.html

Some libraries (for example libgtkspell0) expose GTK as part of their
API/ABI, in which case removing the deprecated dependency requires
breaking API/ABI. For these libraries, in many cases there will already
be a corresponding GTK 3 version (for example libgtkspell3-3-0), in which
case the GTK 2-based library should probably be deprecated or removed
itself. If there is no GTK 3 equivalent, of a GTK 2-based library,
maintainers should talk to the dependent library's upstream developers
about whether the dependent library should break API/ABI and switch
to GTK 3, or whether the dependent library should itself be deprecated
or removed.

A few packages extend GTK 2 by providing plugins (theme engines, input
methods, etc.) or themes, for example ibus and mate-themes. If these
packages deliberately support GTK 2 even though it is deprecated, and
they also support GTK 3, then it is appropriate to mark this mass-filed
bug as wontfix for now. I have tried to exclude these packages from
the mass-bug-filing, but I probably missed some of them.

Regards,
    smcv

#967713#12
Date:
2020-08-04 13:15:42 UTC
From:
To:
Porting from GTK 2 to GTK 3 will also involve removing use of gtkspell 2.x,
or replacing it by use of gtkspell 3.x. I'm using the same bug report to
represent this because it will likely have to be done at the same time
(if you drop use of gtkspell 2.x without also porting to GTK 3, please
clone the bug and adjust metadata as needed).

    smcv

#967713#19
Date:
2020-08-05 00:40:16 UTC
From:
To:
This is the current upstream maintainer for both pidgin and the purple
plugin pack.  While I knew this was coming I thought we had a bit more
time.  That said, there is a *LOT* or work we're doing that is more or
less eventually going to make this package obsolete.  That said we are
preparing a release of the plugin pack to try and shore up some of the
loose ends before we get the gtk3 stuff going.

A few weeks ago, I opened a merge request on salsa [1] to start
getting ready for that release.  There's a lot of changes there and I
was meaning to report a bug to get the packager's attention but then
this one showed up.

At any rate, we're aiming for an alpha release of Pidgin 3 by the end
of the year.  Pidgin 3 is Gtk3 which is what makes the plugin pack as
it stands right now a Pidgin 2 only thing.  Furthermore, when we
released Pidgin 2.14.0 we announced that that would be the last
feature release of Pidgin 2 so that we could focus on 3.0.

[1] https://salsa.debian.org/debian/purple-plugin-pack/-/merge_requests/1