diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-09-23 16:22:35 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-09-23 16:22:35 -0700 |
commit | 439b2c8e8a09bc048de66d30905dbc086ee6796d (patch) | |
tree | a68a18524ee2a8434c4f6bdaa8170b1eef2a5bd6 /pym/portage/package/ebuild/config.py | |
parent | 6d8d0c02457c2e94c759fe89db0bef196b78158a (diff) | |
download | portage-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.py | 16 |
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", |