On Wed, Sep 14, 2011 at 01:18, Ciaran McCreesh wrote:
> On Tue, 13 Sep 2011 10:29:48 -0400 Mike Frysinger wrote:
>> > You don't do it by checking IUSE. You do it by having the ebuild
>> > define a variable like WANT_MONKEY_SUPPORT.
>> it's a crap shoot. as long as Michał's proposed func doesnt attempt
>> to make guarantees that don't exist now, i think it's fine. we have
>> ebuilds/eclasses that are already using it, so unifying it purely for
>> the [+-] cleanup makes sense to me.
> Providing a function, especially in eutils, makes people think that it
> will work. It won't work, so the solution is to fix ebuilds and
> eclasses that are doing it and make sure people realise why they can't
> do that.
it depends on the context. in global scope, eclasses cant leverage
IUSE from the ebuild. this is semi-obvious, and you provided some
however, why wont this work sanely in src_* or pkg_* funcs ? the env
there is the one constructed by the PM which includes the merged IUSE
and it should work sanely for eclasses/ebuilds checking their own
IUSE. toolchain.eclass for example does just this ... based on the
version of gcc the eclass is being used, it selectively adds flags to
IUSE. then the rest of the eclass tests that for available
functionality rather than copying & pasting version limits all over.
granted toolchain.eclass isnt the norm, but if it's going to work
there, it has to work in general.