diff options
author | Ambroz Bizjak <ambrop7@gmail.com> | 2012-09-24 13:13:46 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-09-24 13:13:46 -0700 |
commit | 814e82f24afc221eee72f2b53a3fb7587605cbf9 (patch) | |
tree | abfd103526de9dfb1373d7cc3b3b499af53ace96 /pym/portage/package | |
parent | c4703d79878e4e0eb8e2b36e49c0bdee835b847e (diff) | |
download | portage-814e82f24afc221eee72f2b53a3fb7587605cbf9.tar.gz portage-814e82f24afc221eee72f2b53a3fb7587605cbf9.tar.bz2 portage-814e82f24afc221eee72f2b53a3fb7587605cbf9.zip |
Add experimental EAPI 5-hdepend support.
Diffstat (limited to 'pym/portage/package')
-rw-r--r-- | pym/portage/package/ebuild/_config/special_env_vars.py | 3 | ||||
-rw-r--r-- | pym/portage/package/ebuild/config.py | 13 | ||||
-rw-r--r-- | pym/portage/package/ebuild/doebuild.py | 2 |
3 files changed, 14 insertions, 4 deletions
diff --git a/pym/portage/package/ebuild/_config/special_env_vars.py b/pym/portage/package/ebuild/_config/special_env_vars.py index 1bcbbf7ef..a3a95404b 100644 --- a/pym/portage/package/ebuild/_config/special_env_vars.py +++ b/pym/portage/package/ebuild/_config/special_env_vars.py @@ -16,7 +16,8 @@ env_blacklist = frozenset(( "EBUILD_FORCE_TEST", "EBUILD_PHASE", "EBUILD_PHASE_FUNC", "EBUILD_SKIP_MANIFEST", "ED", "EMERGE_FROM", "EPREFIX", "EROOT", - "GREP_OPTIONS", "HOMEPAGE", "INHERITED", "IUSE", "IUSE_EFFECTIVE", + "GREP_OPTIONS", "HDEPEND", "HOMEPAGE", + "INHERITED", "IUSE", "IUSE_EFFECTIVE", "KEYWORDS", "LICENSE", "MERGE_TYPE", "PDEPEND", "PF", "PKGUSE", "PORTAGE_BACKGROUND", "PORTAGE_BACKGROUND_UNMERGE", "PORTAGE_BUILDIR_LOCKED", diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py index 894d14cd3..164014fb3 100644 --- a/pym/portage/package/ebuild/config.py +++ b/pym/portage/package/ebuild/config.py @@ -63,7 +63,7 @@ if sys.hexversion >= 0x3000000: _feature_flags_cache = {} def _get_feature_flags(eapi_attrs): - cache_key = (eapi_attrs.feature_flag_test,) + cache_key = (eapi_attrs.feature_flag_test, eapi_attrs.feature_flag_targetroot) flags = _feature_flags_cache.get(cache_key) if flags is not None: return flags @@ -71,6 +71,8 @@ def _get_feature_flags(eapi_attrs): flags = [] if eapi_attrs.feature_flag_test: flags.append("test") + if eapi_attrs.feature_flag_targetroot: + flags.append("targetroot") flags = frozenset(flags) _feature_flags_cache[cache_key] = flags @@ -142,7 +144,7 @@ class config(object): _constant_keys = frozenset(['PORTAGE_BIN_PATH', 'PORTAGE_GID', 'PORTAGE_PYM_PATH']) - _setcpv_aux_keys = ('DEFINED_PHASES', 'DEPEND', 'EAPI', + _setcpv_aux_keys = ('DEFINED_PHASES', 'DEPEND', 'EAPI', 'HDEPEND', 'INHERITED', 'IUSE', 'REQUIRED_USE', 'KEYWORDS', 'LICENSE', 'PDEPEND', 'PROPERTIES', 'PROVIDE', 'RDEPEND', 'SLOT', 'repository', 'RESTRICT', 'LICENSE',) @@ -1503,6 +1505,13 @@ class config(object): self.usemask = \ frozenset(x for x in self.usemask if x != "test") + if eapi_attrs.feature_flag_targetroot and \ + ("targetroot" in explicit_iuse or iuse_implicit_match("targetroot")): + if self["ROOT"] != "/": + use.add("targetroot") + else: + use.discard("targetroot") + # Allow _* flags from USE_EXPAND wildcards to pass through here. use.difference_update([x for x in use \ if (x not in explicit_iuse and \ diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py index e7a8983da..b50b452ea 100644 --- a/pym/portage/package/ebuild/doebuild.py +++ b/pym/portage/package/ebuild/doebuild.py @@ -1735,7 +1735,7 @@ def _post_src_install_write_metadata(settings): errors='strict') as f: f.write(_unicode_decode(v + '\n')) -_vdb_use_conditional_keys = ('DEPEND', 'LICENSE', 'PDEPEND', +_vdb_use_conditional_keys = ('DEPEND', 'HDEPEND', 'LICENSE', 'PDEPEND', 'PROPERTIES', 'PROVIDE', 'RDEPEND', 'RESTRICT',) def _preinst_bsdflags(mysettings): |