summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/dep/dep_check.py5
-rw-r--r--pym/portage/tests/resolver/test_eapi.py2
2 files changed, 5 insertions, 2 deletions
diff --git a/pym/portage/dep/dep_check.py b/pym/portage/dep/dep_check.py
index 691e1b50b..be24ad81a 100644
--- a/pym/portage/dep/dep_check.py
+++ b/pym/portage/dep/dep_check.py
@@ -8,7 +8,7 @@ import logging
import portage
from portage.dep import Atom, dep_opconvert, match_from_list, \
remove_slot, use_reduce
-from portage.eapi import eapi_has_strong_blocks, eapi_has_use_deps
+from portage.eapi import eapi_has_strong_blocks, eapi_has_use_deps, eapi_has_slot_deps
from portage.exception import InvalidAtom, InvalidDependString, ParseError
from portage.localization import _
from portage.util import writemsg, writemsg_level
@@ -72,6 +72,9 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/",
if x.use and not eapi_has_use_deps(eapi):
raise ParseError(
_("invalid atom: '%s'") % (x,))
+ if x.slot and not eapi_has_slot_deps(eapi):
+ raise ParseError(
+ _("invalid atom: '%s'") % (x,))
if repoman:
x = x._eval_qa_conditionals(use_mask, use_force)
diff --git a/pym/portage/tests/resolver/test_eapi.py b/pym/portage/tests/resolver/test_eapi.py
index d9f34f43e..a18b2c7c6 100644
--- a/pym/portage/tests/resolver/test_eapi.py
+++ b/pym/portage/tests/resolver/test_eapi.py
@@ -60,7 +60,7 @@ class EAPITestCase(TestCase):
(["=dev-libs/A-1.3"], {}, None, True, ["dev-libs/A-1.3"]),
#~ (["=dev-libs/A-1.4"], {}, None, True, ["dev-libs/A-1.4"]),
- #~ (["=dev-libs/A-2.0"], {}, None, False, None),
+ (["=dev-libs/A-2.0"], {}, None, False, None),
(["=dev-libs/A-2.1"], {}, None, True, ["dev-libs/B-1", "dev-libs/A-2.1"]),
(["=dev-libs/A-2.2"], {}, None, True, ["dev-libs/B-1", "dev-libs/A-2.2"]),
(["=dev-libs/A-2.3"], {}, None, True, ["dev-libs/B-1", "dev-libs/A-2.3"]),