summaryrefslogtreecommitdiffstats
path: root/pym/portage/package/ebuild/config.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-09-23 16:22:35 -0700
committerZac Medico <zmedico@gentoo.org>2012-09-23 16:22:35 -0700
commit439b2c8e8a09bc048de66d30905dbc086ee6796d (patch)
treea68a18524ee2a8434c4f6bdaa8170b1eef2a5bd6 /pym/portage/package/ebuild/config.py
parent6d8d0c02457c2e94c759fe89db0bef196b78158a (diff)
downloadportage-439b2c8e8a09bc048de66d30905dbc086ee6796d.tar.gz
portage-439b2c8e8a09bc048de66d30905dbc086ee6796d.tar.bz2
portage-439b2c8e8a09bc048de66d30905dbc086ee6796d.zip
Add _get_feature_flags(eapi_attrs) function.
This will be useful for adding flags that behave specially in experimental EAPIs, such as the targetroot/sysroot flag which is planned for EAPI 5-hdepend.
Diffstat (limited to 'pym/portage/package/ebuild/config.py')
-rw-r--r--pym/portage/package/ebuild/config.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
index 684de16db..894d14cd3 100644
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@ -60,7 +60,21 @@ from portage.package.ebuild._config.helper import ordered_by_atom_specificity, p
if sys.hexversion >= 0x3000000:
basestring = str
-_feature_flags = frozenset(["test"])
+_feature_flags_cache = {}
+
+def _get_feature_flags(eapi_attrs):
+ cache_key = (eapi_attrs.feature_flag_test,)
+ flags = _feature_flags_cache.get(cache_key)
+ if flags is not None:
+ return flags
+
+ flags = []
+ if eapi_attrs.feature_flag_test:
+ flags.append("test")
+
+ flags = frozenset(flags)
+ _feature_flags_cache[cache_key] = flags
+ return flags
def autouse(myvartree, use_cache=1, mysettings=None):
warnings.warn("portage.autouse() is deprecated",