Gentoo Archives: gentoo-dev

From: Michael Orlitzky <michael@××××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFD: EAPI specification in ebuilds
Date: Thu, 08 Mar 2012 21:36:27
In Reply to: Re: [gentoo-dev] RFD: EAPI specification in ebuilds by Ciaran McCreesh
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 to inherit? eapi 4 inherit whatever ... 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.


Subject Author
Re: [gentoo-dev] RFD: EAPI specification in ebuilds Alec Warner <antarus@g.o>
Re: [gentoo-dev] RFD: EAPI specification in ebuilds "Michał Górny" <mgorny@g.o>