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
