_vdb_use_conditional_keys = ('DEPEND', 'LICENSE', 'PDEPEND',
'PROPERTIES', 'PROVIDE', 'RDEPEND', 'RESTRICT',)
+_vdb_use_conditional_atoms = frozenset(['DEPEND', 'PDEPEND', 'RDEPEND'])
def _post_src_install_uid_fix(mysettings, out=None):
"""
v = dep.paren_enclose(v)
if not v:
continue
+ if v in _vdb_use_conditional_atoms:
+ v_split = []
+ for x in v.split():
+ try:
+ x = dep.Atom(x)
+ except exception.InvalidAtom:
+ v_split.append(x)
+ else:
+ v_split.append(str(x.evaluate_conditionals(use)))
+ v = ' '.join(v_split)
codecs.open(_unicode_encode(os.path.join(build_info_dir,
k), encoding=_encodings['fs'], errors='strict'),
mode='w', encoding=_encodings['repo.content'],
writemsg("%s: %s\n" % (k, str(e)),
noiselevel=-1)
raise
+ if k in portage._vdb_use_conditional_atoms:
+ v_split = []
+ for x in deps.split():
+ try:
+ x = portage.dep.Atom(x)
+ except portage.exception.InvalidAtom:
+ v_split.append(x)
+ else:
+ v_split.append(str(x.evaluate_conditionals(raw_use)))
+ deps = ' '.join(v_split)
metadata[k] = deps
def exists_specific(self, cpv):