Gentoo Archives: gentoo-dev

From: Kent Fredric <kentfredric@×××××.com>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] "Lazy" use flags?
Date: Thu, 11 Feb 2016 04:57:35
Message-Id: CAATnKFCLTg0X-Of7JGv=qXFP2xK5Mfkk8vjGzDveGYBD6vsVkw@mail.gmail.com
In Reply to: Re: [gentoo-dev] "Lazy" use flags? by Rich Freeman
1 On 11 February 2016 at 15:51, Rich Freeman <rich0@g.o> wrote:
2 > In this case you just wouldn't enable python 2.7 support, but you
3 > wouldn't disable it either. Portage would just pull it in where it is
4 > needed.
5
6
7 But you still need a mechanism in place if you *dont* want that to happen.
8
9 I might choose to forbid python2.7 support, and portage really
10 shouldn't "auto enable" python 2.7 support if I've explicitly
11 indicated I don't want python 2.7 support.
12
13 Unless of course you're suggesting "USE=-python_targets_python2_7"
14 would not be "auto-enableable"
15
16 But then you're *still* requiring a tri-state USE.
17
18 USE="-foo" + IUSE="+foo" => "-foo" => autouse enables foo if required
19 USE="" + IUSE="+foo" => "foo" => standard EFFECTIVE_USE="foo"
20 USE="foo" + IUSE = "+foo" => "foo" => standard EFFECTIVE_USE="foo"
21 USE="-foo" + IUSE="foo" => "-foo" => autouse enables foo if required
22 USE="" + IUSE="foo" => "-foo" => autouse enables foo if required
23 USE="foo" + IUSE="foo" => "foo" => standard EFFECTIVE_USE="foo"
24
25
26 So the logic composing USE + IUSE has to change in generating the
27 effective USE set so that USE + IUSE can emit a 3rd and 4th state.
28
29 USE="-foo" + IUSE="+foo" => "-foo!!" => autouse fails if foo is required
30 USE="" + IUSE="+foo" => "foo" => standard
31 EFFECTIVE_USE="foo", auto-unuses foo if blocked by a dep
32 USE="foo" + IUSE = "+foo" => "foo!!" => standard EFFECTIVE_USE="foo",
33 fails if foo is "blocked" by a dep
34 USE="-foo" + IUSE="foo" => "-foo!!" => autouse fails if foo is required
35 USE="" + IUSE="foo" => "-foo" => autouse enables foo if required
36 USE="foo" + IUSE="foo" => "foo!!" => standard EFFECTIVE_USE="foo",
37 fails if "foo" is blocked by a dep.
38
39
40 Mentally keeping track of this accounting magic would be complicating matters.
41
42 --
43 Kent
44
45 KENTNL - https://metacpan.org/author/KENTNL

Replies

Subject Author
Re: [gentoo-dev] "Lazy" use flags? Raymond Jennings <shentino@×××××.com>
Re: [gentoo-dev] "Lazy" use flags? Rich Freeman <rich0@g.o>