From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 1D096138A1A for ; Thu, 22 Jan 2015 17:47:34 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 7AE74E08B0; Thu, 22 Jan 2015 17:47:32 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id F27B0E086F for ; Thu, 22 Jan 2015 17:47:31 +0000 (UTC) Received: from big_daddy.dol-sen.ca (S010634bdfa9ecf80.vc.shawcable.net [96.49.31.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: dolsen) by smtp.gentoo.org (Postfix) with ESMTPSA id 0E6163406A0 for ; Thu, 22 Jan 2015 17:47:30 +0000 (UTC) Date: Thu, 22 Jan 2015 09:47:07 -0800 From: Brian Dolbec To: gentoo-portage-dev@lists.gentoo.org Subject: Re: [gentoo-portage-dev] [PATCH] Support USE_EXPAND prefixes in package.use and relevant files Message-ID: <20150122094707.07c94c03.dolsen@gentoo.org> In-Reply-To: <1421752723-2045-1-git-send-email-mgorny@gentoo.org> References: <1421752723-2045-1-git-send-email-mgorny@gentoo.org> Organization: Gentoo Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-portage-dev@lists.gentoo.org Reply-to: gentoo-portage-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 9ace30ea-bfce-4363-bebf-257209679054 X-Archives-Hash: a3f7d13f36d6c2b247ba92e5da4a62f1 On Tue, 20 Jan 2015 12:18:43 +0100 Micha=C5=82 G=C3=B3rny wrote: > Support prefixing groups of USE_EXPAND flags with 'USE_EXPAND:' in > user configuration package.use and similar files. This provides a > convenient way of declaring specifying multiple USE_EXPAND flags and > matches the syntax supported by Paludis. Example: >=20 > dev-util/netbeans NETBEANS_MODULES: php webcommon extide > media-libs/mesa osmesa VIDEO_CARDS: intel nouveau > --- > pym/portage/package/ebuild/_config/UseManager.py | 20 > +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) >=20 > diff --git a/pym/portage/package/ebuild/_config/UseManager.py > b/pym/portage/package/ebuild/_config/UseManager.py index > 3a4ec22..59f474e 100644 --- > a/pym/portage/package/ebuild/_config/UseManager.py +++ > b/pym/portage/package/ebuild/_config/UseManager.py @@ -202,10 +202,17 > @@ class UseManager(object): useflag_re =3D _get_useflag_re(eapi) > for k, v in file_dict.items(): > useflags =3D [] > + use_expand_prefix =3D '' > for prefixed_useflag in v: > + if extended_syntax and > prefixed_useflag[-1] =3D=3D ":": > + use_expand_prefix =3D > prefixed_useflag[:-1].lower() + "_" > + continue > + > if prefixed_useflag[:1] =3D=3D "-": > useflag =3D > prefixed_useflag[1:] > + prefixed_useflag =3D "-" + > use_expand_prefix + useflag else: > + prefixed_useflag =3D > use_expand_prefix + prefixed_useflag useflag =3D prefixed_useflag > if useflag_re.match(useflag) is None: > writemsg(_("--- Invalid USE > flag for '%s' in '%s': '%s'\n") % @@ -227,7 +234,18 @@ class > UseManager(object): pusedict =3D grabdict_package( > os.path.join(location, file_name), > recursive=3D1, allow_wildcard=3DTrue, allow_repo=3DTrue, verify_eapi=3DFa= lse) > for k, v in pusedict.items(): > - ret.setdefault(k.cp, {})[k] =3D > tuple(v) > + l =3D [] > + use_expand_prefix =3D '' > + for flag in v: > + if flag[-1] =3D=3D ":": > + use_expand_prefix =3D > flag[:-1].lower() + "_" > + continue > + if flag[0] =3D=3D "-": > + nv =3D "-" + > use_expand_prefix + flag[1:] > + else: > + nv =3D > use_expand_prefix + flag > + l.append(nv) > + ret.setdefault(k.cp, {})[k] =3D > tuple(l)=20 > return ret > =20 It looks harmless enough, but I'd like to wait a bit before merge I think. This also needs a man page description update somewhere. We need to have another meeting, decide where to cut off for the next release. --=20 Brian Dolbec