public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Spider <spider@gentoo.org>
To: gentoo-dev@robin.gentoo.org
Subject: Re: [gentoo-dev] GTK und GTK2 Use Flag
Date: Tue, 29 Mar 2005 22:49:00 +0200	[thread overview]
Message-ID: <1112129340.3694.13.camel@Darkmere> (raw)
In-Reply-To: <42492AB5.8080903@gmx.at>

[-- Attachment #1: Type: text/plain, Size: 3405 bytes --]

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 #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2005-03-29 20:44 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-29 10:15 [gentoo-dev] GTK und GTK2 Use Flag Fabian Zeindl
2005-03-29 10:58 ` Stefan Sperling
2005-03-29 11:04   ` Diego "Flameeyes" Pettenò
2005-03-29 11:11     ` Stefan Sperling
2005-03-29 11:24       ` Diego "Flameeyes" Pettenò
2005-03-29 11:35         ` David Morgan
2005-03-29 11:50           ` Brian Harring
2005-03-29 13:09             ` David Morgan
2005-03-29 13:39               ` Brian Harring
2005-03-29 14:19                 ` David Morgan
2005-03-29 15:38                   ` Stefan Sperling
2005-03-29 17:20                     ` Markus Nigbur
2005-03-29 21:35                       ` foser
2005-03-29 21:42                         ` Ciaran McCreesh
2005-03-30  9:00                           ` Paul de Vrieze
2005-03-29 22:29                         ` Brian Harring
2005-03-29 22:46                           ` Ciaran McCreesh
2005-03-29 23:09                             ` Olivier Crête
2005-03-29 23:13                           ` foser
2005-03-29 23:33                             ` Brian Harring
2005-03-30  4:32                               ` Dulmandakh Sukhbaatar
2005-03-30  8:44                             ` Diego "Flameeyes" Pettenò
2005-03-29 11:05   ` Stefan Sperling
2005-03-29 11:11   ` Brian Harring
2005-03-29 20:49 ` Spider [this message]
2005-03-29 22:43   ` Brian Harring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1112129340.3694.13.camel@Darkmere \
    --to=spider@gentoo.org \
    --cc=gentoo-dev@gentoo.org \
    --cc=gentoo-dev@robin.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox