Gentoo Archives: gentoo-portage-dev

From: Brian Dolbec <dolsen@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [PATCH] Support USE_EXPAND prefixes in package.use and relevant files
Date: Thu, 22 Jan 2015 17:47:34
Message-Id: 20150122094707.07c94c03.dolsen@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH] Support USE_EXPAND prefixes in package.use and relevant files by "Michał Górny"
1 On Tue, 20 Jan 2015 12:18:43 +0100
2 Michał Górny <mgorny@g.o> wrote:
3
4 > Support prefixing groups of USE_EXPAND flags with 'USE_EXPAND:' in
5 > user configuration package.use and similar files. This provides a
6 > convenient way of declaring specifying multiple USE_EXPAND flags and
7 > matches the syntax supported by Paludis. Example:
8 >
9 > dev-util/netbeans NETBEANS_MODULES: php webcommon extide
10 > media-libs/mesa osmesa VIDEO_CARDS: intel nouveau
11 > ---
12 > pym/portage/package/ebuild/_config/UseManager.py | 20
13 > +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-)
14 >
15 > diff --git a/pym/portage/package/ebuild/_config/UseManager.py
16 > b/pym/portage/package/ebuild/_config/UseManager.py index
17 > 3a4ec22..59f474e 100644 ---
18 > a/pym/portage/package/ebuild/_config/UseManager.py +++
19 > b/pym/portage/package/ebuild/_config/UseManager.py @@ -202,10 +202,17
20 > @@ class UseManager(object): useflag_re = _get_useflag_re(eapi)
21 > for k, v in file_dict.items():
22 > useflags = []
23 > + use_expand_prefix = ''
24 > for prefixed_useflag in v:
25 > + if extended_syntax and
26 > prefixed_useflag[-1] == ":":
27 > + use_expand_prefix =
28 > prefixed_useflag[:-1].lower() + "_"
29 > + continue
30 > +
31 > if prefixed_useflag[:1] == "-":
32 > useflag =
33 > prefixed_useflag[1:]
34 > + prefixed_useflag = "-" +
35 > use_expand_prefix + useflag else:
36 > + prefixed_useflag =
37 > use_expand_prefix + prefixed_useflag useflag = prefixed_useflag
38 > if useflag_re.match(useflag) is None:
39 > writemsg(_("--- Invalid USE
40 > flag for '%s' in '%s': '%s'\n") % @@ -227,7 +234,18 @@ class
41 > UseManager(object): pusedict = grabdict_package(
42 > os.path.join(location, file_name),
43 > recursive=1, allow_wildcard=True, allow_repo=True, verify_eapi=False)
44 > for k, v in pusedict.items():
45 > - ret.setdefault(k.cp, {})[k] =
46 > tuple(v)
47 > + l = []
48 > + use_expand_prefix = ''
49 > + for flag in v:
50 > + if flag[-1] == ":":
51 > + use_expand_prefix =
52 > flag[:-1].lower() + "_"
53 > + continue
54 > + if flag[0] == "-":
55 > + nv = "-" +
56 > use_expand_prefix + flag[1:]
57 > + else:
58 > + nv =
59 > use_expand_prefix + flag
60 > + l.append(nv)
61 > + ret.setdefault(k.cp, {})[k] =
62 > tuple(l)
63 > return ret
64 >
65
66
67 It looks harmless enough, but I'd like to wait a bit before merge I
68 think. This also needs a man page description update somewhere.
69
70 We need to have another meeting, decide where to cut off for the next
71 release.
72
73
74 --
75 Brian Dolbec <dolsen>