summaryrefslogtreecommitdiffstats
path: root/pym/portage/dep/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage/dep/__init__.py')
-rw-r--r--pym/portage/dep/__init__.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py
index 5de6de1ae..5fbe0dc3b 100644
--- a/pym/portage/dep/__init__.py
+++ b/pym/portage/dep/__init__.py
@@ -687,7 +687,7 @@ class Atom(_atom_base):
if self.slot:
atom += ":%s" % self.slot
atom += str(self.use.evaluate_conditionals(use))
- return Atom(atom, self)
+ return Atom(atom, unevaluated_atom=self)
def violated_conditionals(self, other_use, parent_use=None):
"""
@@ -706,7 +706,16 @@ class Atom(_atom_base):
if self.slot:
atom += ":%s" % self.slot
atom += str(self.use.violated_conditionals(other_use, parent_use))
- return Atom(atom, self)
+ return Atom(atom, unevaluated_atom=self)
+
+ def _eval_qa_conditionals(self, use_mask, use_force):
+ if not (self.use and self.use.conditional):
+ return self
+ atom = remove_slot(self)
+ if self.slot:
+ atom += ":%s" % self.slot
+ atom += str(self.use._eval_qa_conditionals(use_mask, use_force))
+ return Atom(atom, unevaluated_atom=self)
def __copy__(self):
"""Immutable, so returns self."""