[gtkada] End of life for gtk+extra and GTK+2
ludovic at ludovic-brenta.org
Tue Jun 30 15:42:03 CEST 2009
As you all know, development of GTK+ 3.0 is in progress with a target release
date around March 2010. GTK+ 3.0 will remove some functions that are
presently deprecated in GTK+ 2.16. GtkAda uses gtk+extra2 (in src/gtkextra),
which is dead upstream and uses these deprecated symbols heavily.
I would like to give you an advance warning that Debian plans to drop GTK+ 2
and gtk+extra at some point in the future after GTK+ 3.0 is introduced. My
estimate is that this removal might happen in June 2010. When gtk+extra and
GTK+ 2 are removed from Debian, it will no longer be possible to build GtkAda,
or to run GtkAda applications on Debian; this applies both to Debian's
packages and to the GPS in GNAT GPL Edition, since it is linked dynamically
against GTK+ 2.
It is time to walk, not run, to the exit.
I can think of several possible solutions:
- adopt maintainership of gtk+extra2 and port it to to GTK+ 3. This is a
undertaking according to the current Debian maintainer of gtk+extra2.
- reimplement the GtkAda widgets that currently depend on gtk+extra2 with
equivalent widgets from GTK+ 3 and drop gtk+extra2. This reimplementation
could be done in Ada, too :)
- Drop the GtkAda widgets that depend on gtk+extra2 altogether. I do not
this is desirable, especially if paying customers rely on those widgets.
Note that neither of the first two solutions depend on GTK+ 3 being released.
It is possible to do the porting early (i.e. right now) by using GTK+ 2.16 and
making sure not
to use any of the deprecated symbols; GTK+ 2.16 provides C preprocessor
defines that detect and warn against uses of deprecated symbols. GTK+ 2.16
guarantees upward compatibility with 3.0 provided no deprecated symbols are
I do not know which of the three solutions is more realistic. I suggest you
guys do an assessment and tell me what you decide.
For more information, please see the recent thread on debian-devel starting
This issue is not specific to Debian. I anticipate that community
(Fedora, Gentoo, etc.) will drop GTK+ 2 first, followed by the other
"long-term support" distributions (Red Hat, SuSE, FreeBSD, etc).
More information about the gtkada