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. >