Gentoo Archives: gentoo-dev

From: Alexis Ballier <aballier@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] Forced/automatic USE flag constraints (codename: ENFORCED_USE)
Date: Tue, 06 Jun 2017 12:08:21
Message-Id: 20170606140803.051f8048@gentoo.org
In Reply to: Re: [gentoo-dev] [RFC] Forced/automatic USE flag constraints (codename: ENFORCED_USE) by "Michał Górny"
1 On Mon, 05 Jun 2017 20:10:12 +0200
2 Michał Górny <mgorny@g.o> wrote:
3 [...]
4 > > > Stand-alone makes little sense (and little trouble) but as you
5 > > > could have seen it's used nested in other thingies:
6 > > >
7 > > > 1. || ( ( a b ) ( c d ) e )
8 > > >
9 > > > 2. ?? ( ( a b ) ( c d ) e )
10 > > >
11 > > > 3. ^^ ( ( a b ) ( c d ) e )
12 > >
13 > > Yeah that's the nesting problem causing a parse error.
14 > > Those should be expanded to implications. What I'm relying onto is
15 > > all clauses to be of the form '[list of conditions]? [list of
16 > > constraints]'
17 >
18 > I've noticed that you turned the implications into multi-conditions,
19 > breaking all my scripts ;-). Is the [list of conditions] conjunctive
20 > or disjunctive?
21
22 conjunctive as in foo? ( bar? ( baz ) ) -> [foo,bar]?[baz]
23
24
25 [...]
26 > > > The question is whether we want to:
27 > > >
28 > > > a. actually try to solve this nesting insanity,
29 > > >
30 > > > b. declare it unsupported and throw REQUIRED_USE mismatch on user,
31 > > >
32 > > > c. ban it altogether.
33 > >
34 > >
35 > > I don't think it is *that* insane to support nesting :)
36 > >
37 >
38 > || ( ^^ ( ?? ( a b ) c ( d e ) ) f )
39
40 If you really need that then you'd need to expand it manually. It seems
41 better to have it expanded internally automatically.
42 Remember you were the one wanting to keep || & co because they're
43 simpler to read and write ;)
44
45 Alexis.

Replies