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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to