List Archive: gentoo-dev
Note: Due to technical difficulties, the Archives are currently not up to date.
provides an alternative service for most mailing lists.c.f. bug 424647
On 03/08/2012 01:48 PM, Ciaran McCreesh wrote:
>> If they're code, they're code, and we need to execute them somehow.
> The notion of "execute them somehow" that's used doesn't fit in with
> the #! interpreter model. You aren't executing ebuilds via an
> interpreter. You're performing an action that involves using the data
> and code in an ebuild multiple times and in multiple different ways,
> and that may also involve doing the same to an installed package that
> is being replaced.
I do understand that; but the fact that the data are computed in an ugly
turing-complete language complicates things.
Did someone already propose replacing EAPI=foo with a function call akin
the call to eapi() would then set $EAPI accordingly. If the ebuild is
being executed directly, it could exit $EAPI; otherwise, it would
continue normally. That would give us an interface to the variable, and
we wouldn't need to know the EAPI ahead of time to do it as long as it's
the first function called in the ebuild.
This is of course isomorphic to requiring a specific EAPI=4 format, but
does allow you to do stupid things like x=`seq 4 4`; eapi $x; if you want.