Re: git: 7ebddd96d372 - main - multimedia/mlt7*: Update to 7.18.0

From: Jason E. Hale <jhale_at_freebsd.org>
Date: Mon, 31 Jul 2023 15:37:38 UTC
On Sun, Jul 30, 2023 at 9:15 PM Vladimir Druzenko <vvd@freebsd.org> wrote:
>
> 31.07.2023 03:02, Daniel Engberg пишет:
> > On 2023-07-31 01:45, Charlie Li wrote:
> >> Vladimir Druzenko wrote:
> >>> It's very big dependency. I can create patch for multimedia/mlt7
> >>> with choice which libebur128 to use: 1) huge external on rust or 2)
> >>> small internal on C.
> >>>
> >> There is no rust code anywhere in audio/libebur128 or its
> >> dependencies. So don't even think about it any further.
> >>
> >> Furthermore, MLT and its consumers are not designed or intended to be
> >> used in insufficiently-resourced computing environments.
> >
> > We actually have two implementations available in tree,
> >
> > audio/ebur128 and audio/libebur128
> >
> > audio/ebur128 is a Rust implementation that performs noticably better
> > and we moved all consumers almost 3 months ago to that variant.
> > https://cgit.freebsd.org/ports/commit/?id=4cd440845e24202042e8b35a1c1db08a928b5946
> >
> >
> > Worth mentioning is that it's only a build dependency
> >
> > Best regards,
> > Daniel
>
> > If there's a need further down the road we can add an option to choose
> > between.
> The need has arisen.
>

I think the most sensible approach would be to handle the ebur128
dependency similar to librsvg2 and pycryptography. It would be trivial
to create a Mk/Uses/ebur128.mk and allow the user to set whether they
wanted to use the legacy C implementation via DEFAULT_VERSIONS in
/etc/make.conf. The rust version would still be the default, however.
Does that sound like an agreeable solution?

-Jason