blob: 60a081c07253f48abf39237d91e0da406613f457 [file] [log] [blame]
# Copyright 2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
__all__ = ("iter_iuse_vars",)
def iter_iuse_vars(env):
"""
Iterate over (key, value) pairs of profile variables that contribute
to implicit IUSE for EAPI 5 and later.
@param env: Ebuild environment
@type env: Mapping
@rtype: iterator
@return: iterator over (key, value) pairs of profile variables
"""
for k in (
"IUSE_IMPLICIT",
"USE_EXPAND_IMPLICIT",
"USE_EXPAND_UNPREFIXED",
"USE_EXPAND",
):
v = env.get(k)
if v is not None:
yield (k, v)
use_expand_implicit = frozenset(env.get("USE_EXPAND_IMPLICIT", "").split())
for v in (
env.get("USE_EXPAND_UNPREFIXED", "").split() + env.get("USE_EXPAND", "").split()
):
if v in use_expand_implicit:
k = "USE_EXPAND_VALUES_" + v
v = env.get(k)
if v is not None:
yield (k, v)