On Tue, 2024-11-12 at 15:00 -0500, Eli Schwartz wrote: > On 11/12/24 1:37 PM, Michał Górny wrote: > > > diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass > > > index 7ab8dcae3265..9b9ba4b803ac 100644 > > > --- a/eclass/distutils-r1.eclass > > > +++ b/eclass/distutils-r1.eclass > > > @@ -1360,6 +1360,17 @@ distutils_pep517_install() { > > > EOF > > > ) > > > fi > > > + if [[ ${BDEPEND} != *dev-python/trove-classifiers* ]]; then > > > > It's not valid to access stacked variables like BDEPEND from ebuilds. > > > For what reason is it invalid? Is it about whether this will work > correctly or is there a policy reason banning it or... ? Both. > e that this happens inside of a phase function, not at global scope. > So the value of the variable is determined by the contents of the > environment file, not from the incremental value when sourcing the > eclass at global scope. > Precisely. The spec doesn't guarantee that PM will reexport the merged BDEPEND back into ebuild env, rather than leaving whatever the last eclass sourced set. -- Best regards, Michał Górny