Gentoo Archives: gentoo-dev

From: Kent Fredric <kentfredric@×××××.com>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] Re: RFC: c++14 global USE flag
Date: Sun, 03 May 2015 19:07:32
Message-Id: CAATnKFD0dLUkjciKb--r=ytxeLkkSBh0vecjS5EVSnHW=EKmtA@mail.gmail.com
In Reply to: Re: [gentoo-dev] Re: RFC: c++14 global USE flag by Georg Rudoy <0xd34df00d@gmail.com>
1 On 4 May 2015 at 02:04, Georg Rudoy <0xd34df00d@×××××.com> wrote:
2
3 > Why should the user care if python is supported? What does python support
4 > per se offer to the user? I would argue that what's important are the
5 > features exposed via Python stuff (unless the user theyself is expected to
6 > write some Python code, of course).
7 >
8 >
9 By support "for" python, I mean "This flag exposes a new feature to
10 userspace".
11
12 For instance, it may install python modules that a user may desire to
13 consume in the course of their programming.
14
15 Thus, they are not likely to want that flag on, unless they are doing
16 exactly that.
17
18 Or a dependant may require those modules to be available, and may depend on
19 that package with the flag enabled to access those libraries.
20
21 Thus, the "feature" that the flag exposes is "Support for people or code
22 who explicitly need something python related in using it".
23
24 Same logic applies for C++14, IMHO.
25 >
26
27 The same logic here would be:
28
29 - People are developing their own code for leechcraft that needs leechcraft
30 to be compiled differently for them to do that, and that flag changes how
31 leechcraft is compiled so that they can do that
32 - Some dependent is in the above situation, and wishes to be able to force
33 leechcraft to be compiled so that it may work.
34
35 Simply put: "Compiled using C++14" is not a "feature" unless somebody
36 somewhere explicitly needs C++14 compilation.
37
38
39 >
40 >> What does it matter to a user that its in C++14 ? It doesn't.
41 >>
42 > And end user is more concerned with "what does this do for me".
43 >>
44 >> If a useflag doesn't tell me what it does for me, then what impetus is
45 >> there for me to toggle it?
46 >>
47 >
48 > The consequences do matter, like pulling and building llvm/clang, if not
49 > present already. Toggle it if you're ready to deal with the consequences
50 > (having clang in your system, particularly).
51 >
52 > Speaking of llvm, media-libs/mesa has "llvm" use flag. Why should user
53 > care if it's llvm or whatever?
54 >
55 >
56 >
57 For instance, Seamonkey doesn't have a USE=perl flag. Nor should it have
58 >> one.
59 >>
60 >
61 > Nice example with USE=perl, thanks! git has that, for instance. Without
62 > that, `git add -i` won't work, but I still have USE=perl, not
63 > USE=add_interactive and possibly a bunch of other features depending on
64 > Perl that would pull it when enabled.
65 >
66
67 Right, its not a black/white thing, and I would argue that flag on git is
68 poorly named.
69
70 But the general pattern is its recommended to express useflags to users in
71 terms of "things I can see will be useful to me", thus, if you can make a
72 more purpose-specific flag, it is wise to do so.
73
74 Its not that doing it that way is "wrong" per say. Just a sub-optimal
75 choice that requires more thinking.
76
77 --
78 Kent
79
80 *KENTNL* - https://metacpan.org/author/KENTNL