On Wed, 2024-08-07 at 21:19 +0100, James Le Cuirot wrote: > On Wed, 2024-08-07 at 19:39 +0200, Michał Górny wrote: > > On Wed, 2024-08-07 at 16:52 +0100, James Le Cuirot wrote: > > > The flags we set an a target-specific environment variable override any > > > generic [build] flags set by the project, requiring ebuilds to set these > > > themselves, which is undesirable. Work around this by using tomlq to > > > read the flags from the config files checked by Cargo and prepending > > > them to our environment variable. > > > > > > Signed-off-by: James Le Cuirot > > > --- > > > eclass/cargo.eclass | 28 +++++++++++++++++----------- > > > 1 file changed, 17 insertions(+), 11 deletions(-) > > > > > > diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass > > > index 6d4cf1b425eb..dea8c49e4585 100644 > > > --- a/eclass/cargo.eclass > > > +++ b/eclass/cargo.eclass > > > @@ -36,7 +36,8 @@ esac > > > > > > inherit flag-o-matic multiprocessing rust-toolchain toolchain-funcs > > > > > > -[[ ! ${CARGO_OPTIONAL} ]] && BDEPEND="${RUST_DEPEND}" > > > +# app-misc/yq is needed for tomlq. > > > +[[ ! ${CARGO_OPTIONAL} ]] && BDEPEND="${RUST_DEPEND} app-misc/yq" > > > > > > > Doesn't this imply that all ebuilds using CARGO_OPTIONAL will now have > > to explicitly depend on yq? > > Good catch, thanks. I can update the eclass docs accordingly. I count 23 > ebuilds across 8 packages, and this can be done without a revbump, so it's not > too bad. Even if it were missing, it would just continue without applying > these extra flags. > Still, this sounds like hardcoding implementation details into ebuilds, and implementation details can change over time. -- Best regards, Michał Górny