SLOT "3" is for gtk+:2 support while SLOT "3.10" is for gtk3 support. That is confusing.
I think this is for historical reasons... but I am not sure if moving the slots and changing all reverse deps deserves the effort :/ Will wait for other team members opinions
This is well explained in changelog. *glade-3.10.0-r1 (19 Jun 2011) 19 Jun 2011; Nirbheek Chauhan <nirbheek@gentoo.org> +glade-3.10.0-r1.ebuild, metadata.xml: Add new 3.10 version that uses gtk3 and GNOME 3 libraries. Slotted because it removes support for all deprecated widgets. Thanks to tetromino. The two slots co-exist because they do not support the same things and some packages still link to one or the other. Being linked to gtk 2 or 3, the libs are incompatible.
(In reply to Gilles Dartiguelongue from comment #2) > This is well explained in changelog. > > *glade-3.10.0-r1 (19 Jun 2011) > > 19 Jun 2011; Nirbheek Chauhan <nirbheek@gentoo.org> > +glade-3.10.0-r1.ebuild, > metadata.xml: > Add new 3.10 version that uses gtk3 and GNOME 3 libraries. Slotted because > it > removes support for all deprecated widgets. Thanks to tetromino. > > The two slots co-exist because they do not support the same things and some > packages still link to one or the other. > > Being linked to gtk 2 or 3, the libs are incompatible. So why are they not named :2 and :3?
As written in the ebuild, the rule of common sense is to use soversion for slot, or the version suffix in the pkgconfig file which is what we do here.
(In reply to Gilles Dartiguelongue from comment #4) > As written in the ebuild, the rule of common sense is to use soversion for > slot, or the version suffix in the pkgconfig file which is what we do here. I don't see how that makes sense. Afaiu the first version that supported gtk3 was given a slot named "3.10" just because that version happened to be "3.10"? Now all versions that are totally unrelated to the long gone 3.10 version still have that slot. How is that user friendly in any way? The fact is that :3 supports gtk2 and :3.10 supports gtk3. That's not obvious to the user and doesn't solve any actual problem compared to naming them :2 and :3.
Sorry, but you will not have your way getting these labelled after gtk being linked.
(In reply to Gilles Dartiguelongue from comment #6) > Sorry, but you will not have your way getting these labelled after gtk being > linked. I don't understand your reasoning, if there is any.
There is, but you don't want to hear it. Slot is not a reflection of which gtk slot is being linked. Libraries provided by glade are both slot 3 even if you don't like it, 3.10 might feel like a bad choice to you, but it is clear that this is the version that started linking to gtk3 while the API remained the same. And don't try to compare to webkit-gtk, slot 2 ought to be slot 1 since that's the actual version of the library. Slot 2 was added by mistake and we did not change it to avoid useless modifications to a good load of ebuilds.
(In reply to Gilles Dartiguelongue from comment #8) > There is, but you don't want to hear it. > Slot is not a reflection of which gtk slot is being linked. > Libraries provided by glade are both slot 3 even if you don't like it, 3.10 > might feel like a bad choice to you, but it is clear that this is the > version that started linking to gtk3 while the API remained the same. > > And don't try to compare to webkit-gtk, slot 2 ought to be slot 1 since > that's the actual version of the library. Slot 2 was added by mistake and we > did not change it to avoid useless modifications to a good load of ebuilds. You just explain why you added slot 3.10, not why that sort of versioning has better usability and is less confusing for people who don't deal with gnome policies every day. The user will end up installing both just to figure out the difference between them.
Looks like new glade should have been slot 2.0 or 2, and old 1.0 or 1, based on pkg-config naming; but I don't see much point in bothering with slotmoves either way. Maybe we can remove the old slot soon. As far as user choice goes: They just emerge the newest. glade is a development utility, where you design your UI graphically and get a GtkBuilder xml file outputted for you (or maybe also the old deprecated .glade format that libglade reads in case of the old glade slot). So you want the newest, which you get by not specifying any slot. It has nothing to do with using it at general purpose gtk application runtime, and only some other development tools might link to it. Some depend on it purely to get some location variables out of the pkg-config file it ships, to add their own widget descriptions there. I can't see anything obvious in our package tree that would actually link to the libgladeui-*.so library.
To be more clear on what I actually meant - we probably kept it so that (upstream) developers using Gentoo can get the old version until they port their project away from those deprecated widgets. Hopefully this is long done by everyone that cares and we can really look into removing it now.