Gentoo Archives: gentoo-dev

From: Marius Mauch <genone@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: use flags -> use options
Date: Mon, 08 Oct 2007 19:54:54
Message-Id: 20071008214058.3d647e4e.genone@gentoo.org
In Reply to: Re: [gentoo-dev] Re: use flags -> use options by "Marijn Schouten (hkBst)"
1 On Mon, 08 Oct 2007 13:45:04 +0200
2 "Marijn Schouten (hkBst)" <hkBst@g.o> wrote:
3
4 > -----BEGIN PGP SIGNED MESSAGE-----
5 > Hash: SHA1
6 >
7 > Marius Mauch wrote:
8 > >>> "Marijn Schouten (hkBst)" <hkBst@g.o>:
9 > >>>> I imagine there are a lot more cases where the simple on/off
10 > >>>> system we have now is suboptimal. I could be wrong of course.
11 > >>>> Please comment.
12 > >>> This key=value systems sounds interesting. Another use could be
13 > >>> the choice between xulrunner, seamonkey, firefox.
14 > >
15 > > We already have this with USE_EXPAND. Not exactly the same syntax,
16 > > but I don't see a terrible problem in that, and we don't have to
17 > > fix all three trillion related tools to handle it. Unless you can
18 > > come up with a case that can't be handled with USE_EXPAND.
19 >
20 > No, USE_EXPAND is only a way to abbreviate use flags with a common
21 > substring in their name, such as "impl_guile impl_sbcl impl_clisp"
22 > which could be encoded interchangeably as either
23 >
24 > # without USE_EXPAND
25 > IUSE="impl_guile impl_sbcl impl_clisp"
26 >
27 > or
28 >
29 > # with USE_EXPAND
30 > for impl in IMPL; do IUSE+="impl_${impl}"; done
31 >
32 > but the effect is that there are 3 use flags with a total of 2^3=8
33 > combinations, while really something with exactly 3 combinations is
34 > needed:
35 >
36 > IUSE="impl"
37 >
38 > case ${impl} in
39 > guile) #use guile as backend
40 > sbcl) #use sbcl as backend
41 > clisp) #use clisp as backend
42
43 So what you want is a USE_EXPAND version that only allows one value
44 per variable. That wouldn't be terribly difficult to do.
45 As for your idea (ignoring implementation issues), I'd expect that
46 sooner or later people will request multivalue functionality as well,
47 so we'd have the same situation there. Also in the given example, how
48 would the user/package manager actually know what values were
49 valid/available for "impl"?
50
51 Marius
52 --
53 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] Re: use flags -> use options "Marijn Schouten (hkBst)" <hkBst@g.o>