On Tue, 2005-03-29 at 12:15 +0200, Fabian Zeindl wrote: > Hello > > There was a discussion on the gentoo-user-de list about this two > Useflags: gtk and gtk2. Because not everybody is sure what the mean, so > if you have -gtk +gtk2 some think that gtk2 should be installed and soon. > > Wouldn't it be better if "gtk" meaned that the newest available gtk > version ist installed (gtk1 or gtk2) and a flag like oldgtk take the > older version gtk1. > > Another question which occured: Is there a performancedrawback if a > program is compile with gtk1 AND gtk2 build in? Does this happen when > someone installs with +gtk +gtk2?
Common misconception, it tends to crop up once every 6 months or so since I ever was foolish enough not to stomp a hard policy and beat the people who want gtk+-1.2 support with a sledgehammer. Okay. Here's the deal and the logic: USE="gtk" I want gtk support. Legacy. classic. Doesn't matter if the version is gtk+-1.2 or 2.0. ( When it was introduced, there was only gtk+-1.2, and that was it) Then came a few, troublesome beasts and started to make our days annoying. Mozilla was one of them, gFtp another. Enough of them cropped up that used -both- gtk+-1.2 and gtk+-2 interfaces _AS A TRANSITION PERIOD_ The gtk+-1.2 interfaces were planned to be deprecated when the new and shiney(!) interfaces were usable, and have so been done. The gtk2 USE flag came up for -only- theese packages. Nothing else. Its a mistake, abusing the redundancy that boolean nested flags work with, however, I was young, naive, and expected people to be able to comprehend written instructions and nested logic blocks. DEPEND="gtk? ( gtk2? ( >=x11-libs/gtk+-2.0 ) !gtk2? ( =x11-libs/gtk+-1.2* )) !gtk? ( sys-libs/ncurses )" is obvious and fairly logical in my mind, and is the code that describes what the gtk2 USE flag is for. Along with the following descriptions: gtk - Adds support for x11-libs/gtk+ (The GIMP Toolkit) gtk2 - Use gtk+-2.0.0 over gtk+-1.2 in cases where a program supports both. If someone can suggest a better formulation for this, please go ahead. Lets face it, gtk+-1.2 is _deprecated_ and all packages that use it should either be taken out and shot in the head, ( for mercy's sake, that and utf8 ) or updated to track the new and maintained library API. We all know this isn't feasible, most projects are just recently wiping stale code for interfaces ( Hi mozilla! ) and as such, the mistake is left to stay. -Changing- existing logic is -not- going to solve this solution cleanly. We suggested to remove the gtk2 flag, (make it default) and implement : USE="shoot-me-in-the-head-with-deprecated-libraries-please" instead, however people considered it as offending our users for some reason. As for the discussion of USE="-gtk +gtk2" : there is one case where this could be a acceptable and will produce expected results. That is when there is only a gtk+ interface, no alternative ( ergo, the -gtk is ignored ) and there is a choice between gtk+-1.2 or 2.0 (the gtk2 selection flag) However, this is such a corner case only because the "gtk" flag is completely ignored. //Spider -- begin .signature Tortured users / Laughing in pain See Microsoft KB Article Q265230 for more information. end
signature.asc
Description: This is a digitally signed message part