From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-dev+bounces-50094-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1S5mpR-0004Lg-SG
	for garchives@archives.gentoo.org; Thu, 08 Mar 2012 23:33:02 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 98B6AE08BB;
	Thu,  8 Mar 2012 23:32:49 +0000 (UTC)
Received: from mail-we0-f181.google.com (mail-we0-f181.google.com [74.125.82.181])
	by pigeon.gentoo.org (Postfix) with ESMTP id F1DF2E08BA
	for <gentoo-dev@lists.gentoo.org>; Thu,  8 Mar 2012 23:31:48 +0000 (UTC)
Received: by werm13 with SMTP id m13so851849wer.40
        for <gentoo-dev@lists.gentoo.org>; Thu, 08 Mar 2012 15:31:48 -0800 (PST)
Precedence: bulk
List-Post: <mailto:gentoo-dev@lists.gentoo.org>
List-Help: <mailto:gentoo-dev+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org>
X-BeenThere: gentoo-dev@lists.gentoo.org
Reply-to: gentoo-dev@lists.gentoo.org
MIME-Version: 1.0
Received: by 10.180.85.35 with SMTP id e3mr39109212wiz.6.1331249508117; Thu,
 08 Mar 2012 15:31:48 -0800 (PST)
Sender: antarus@scriptkitty.com
Received: by 10.227.5.138 with HTTP; Thu, 8 Mar 2012 15:31:48 -0800 (PST)
In-Reply-To: <4F592612.6050203@orlitzky.com>
References: <20311.51166.725757.212932@a1i15.kph.uni-mainz.de>
	<4F57DDB5.3090503@orlitzky.com>
	<20120308130310.69c3c714@pomiocik.lan>
	<4F58D6A5.7070804@orlitzky.com>
	<20120308182844.11201771@pomiocik.lan>
	<4F58F103.5010503@orlitzky.com>
	<20120308175345.2c4b72ff@googlemail.com>
	<4F58FC55.7070005@orlitzky.com>
	<20120308184820.108fc30c@googlemail.com>
	<4F592612.6050203@orlitzky.com>
Date: Thu, 8 Mar 2012 15:31:48 -0800
X-Google-Sender-Auth: w7hg8DgcJfISjB4kre7KF28qmSs
Message-ID: <CAAr7Pr_m79AGcSuLgdz_EpWZjAzZZGyVMDRoW3nfab7YPN2OLw@mail.gmail.com>
Subject: Re: [gentoo-dev] RFD: EAPI specification in ebuilds
From: Alec Warner <antarus@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Gm-Message-State: ALoCoQn/ecvd/qizu3EWXCZo7UV6bmwMFi0LkkYv6lDx5TB98ZjRYHcvcAuE9C6vd3qn4/4u+xkC
X-Archives-Salt: 6d3d82ca-475f-4f98-8fd7-7791f2c09236
X-Archives-Hash: 6d0fb3db871fc006c1c3275754432d75

On Thu, Mar 8, 2012 at 1:35 PM, Michael Orlitzky <michael@orlitzky.com> wro=
te:
> 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=3Dfoo with a function call aki=
n to
> inherit?

the eapi function doesn't exist in earlier eapis, so you end up doing
the rename thing. Otherwise old package managers barf on the new
syntax. I still think going with a comment is better than this.

>
> =C2=A0eapi 4
> =C2=A0inherit whatever
> =C2=A0...
>
> the call to eapi() would then set $EAPI accordingly. If the ebuild is bei=
ng
> 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=3D4 format, but=
 does
> allow you to do stupid things like x=3D`seq 4 4`; eapi $x; if you want.
>