1 |
On Sat, 8 Jul 2017 16:14:09 +0200 |
2 |
Alexis Ballier <aballier@g.o> wrote: |
3 |
> On Sat, 8 Jul 2017 13:01:39 +0100 |
4 |
> Ciaran McCreesh <ciaran.mccreesh@××××××××××.com> wrote: |
5 |
> > On Sat, 8 Jul 2017 13:49:56 +0200 |
6 |
> > Alexis Ballier <aballier@g.o> wrote: |
7 |
> > > On Sat, 8 Jul 2017 12:26:59 +0200 |
8 |
> > > Ulrich Mueller <ulm@g.o> wrote: |
9 |
> > > > | * An any-of group (||) evaluates to true if at least one of |
10 |
> > > > the | items in it evaluates to true. |
11 |
> > > > | * An exactly-one-of group (^^) evaluates to true if exactly |
12 |
> > > > one of | the items in it evaluates to true, and all the |
13 |
> > > > remaining items | evaluate to false. |
14 |
> > > > | * An at-most-one-of group (??) evaluates to true if at most |
15 |
> > > > one of | the items in it evaluates to true. |
16 |
> > > > |
17 |
> > > > It should be added that any empty group (|| or ^^ or ??) |
18 |
> > > > evalutates to true, because that's what PMS specifies: |
19 |
> > > > https://projects.gentoo.org/pms/6/pms.html#x1-780008.2 |
20 |
> > > |
21 |
> > > A bit OT, but that is *definitely* counter intuitive. What's the |
22 |
> > > rationale and usecase behind this ? |
23 |
> > |
24 |
> > Annoying special cases like || ( foo? ( ... ) bar? ( ... ) ) . The |
25 |
> > original reason was that old versions of Portage would simply remove |
26 |
> > unmet "flag? ( )" blocks internally. It was kept in EAPI 0 because |
27 |
> > stuff in the tree used it back then. |
28 |
> |
29 |
> Wasn't REQUIRED_USE something completely new with no prior usage in |
30 |
> EAPI 3 ? |
31 |
|
32 |
Yes, but the spec defines dependency-like structures and their meanings |
33 |
once and consistently, rather than all over the place and |
34 |
inconsistently. |
35 |
|
36 |
As much as I hate the weird || ( use ? ( ) ) and empty block rules, it |
37 |
would be worse to have them apply in some situations but not others. |
38 |
|
39 |
-- |
40 |
Ciaran McCreesh |