On 06/09/2012 05:15 AM, Ciaran McCreesh wrote:
> On Fri, 08 Jun 2012 12:31:55 -0700
> Zac Medico <firstname.lastname@example.org> wrote:
>> We can just write a specification for this one feature, and ask the
>> Council to approve it.
> The last feature someone did that way was REQUIRED_USE, and we all know
> how that turned out...
> What you *should* do is get an implementation, then try converting lots
> of ebuilds with and without being able to use ABI_SLOT.
Okay, so let's create an ABI_SLOT operator specification, just for
testing purposes. In order to keep things as simple as possible, let's
make our model as close as possible to the existing SLOT operator model.
Ebuilds that do not define ABI_SLOT will be considered to have an
implicit ABI_SLOT value that is equal to their SLOT value. This way,
ABI_SLOT operator deps will behave identically to SLOT operator deps
when ABI_SLOT is undefined.
A dependency atom will have optional SLOT and ABI_SLOT parts. Using the
dbus-glib depedency on glib:2 as an example , the dbus-glib
dependency will be expressed with an atom such as dev-libs/glib:2:= and
the package manager will translate that atom to dev-libs/glib:2:=2.32 at
build time. So, ':' is always used to distinguish SLOT deps, and ':=' is
always used to distinguish ABI_SLOT deps. Is that syntax good?