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 <ch...@gentoo.org>
> > > ---
> > >  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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to