commit: 4bd982b59ab334c2c8da7f700034dc9ca71c048a
Author: Brian Harring <ferringb <AT> gmail <DOT> com>
AuthorDate: Mon Dec 26 00:32:13 2022 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Mon Dec 26 17:27:24 2022 +0000
URL:
https://gitweb.gentoo.org/proj/pkgcore/pkgcore.git/commit/?id=4bd982b5
Convert to eapi_obj usage for subslot/iuse defaults in atom parsing.
We already paid the cost of looking up the eapi obj constants, thus use it,
and remove the atom implementations awareness of magic eapi constants.
Signed-off-by: Brian Harring <ferringb <AT> gmail.com>
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
src/pkgcore/ebuild/atom.py | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/pkgcore/ebuild/atom.py b/src/pkgcore/ebuild/atom.py
index c24a6d9ef..0bcd76b6c 100644
--- a/src/pkgcore/ebuild/atom.py
+++ b/src/pkgcore/ebuild/atom.py
@@ -132,7 +132,13 @@ class atom(boolean.AndRestriction,
metaclass=klass.generic_equality):
elif x[0] == "-":
x = x[1:]
- if x[-1] == ")" and eapi not in ("0", "1", "2", "3"):
+ if x[-1] == ")":
+ if not eapi_obj.options.has_use_dep_defaults:
+ raise errors.MalformedAtom(
+ orig_atom,
+ f"use dep defaults are not allowed in EAPI
{eapi_obj}",
+ )
+
# use defaults.
if x[-3:] in ("(+)", "(-)"):
x = x[:-3]
@@ -182,7 +188,7 @@ class atom(boolean.AndRestriction,
metaclass=klass.generic_equality):
slot = None
else:
slots = (slot,)
- if eapi not in ("0", "1", "2", "3", "4"):
+ if eapi_obj.options.sub_slotting:
if slot[0:1] in ("*", "="):
if len(slot) > 1:
raise errors.MalformedAtom(