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

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Mon, 31 Jul 2023 18:15:59 UTC
On 2023-07-31 17:37, Jason E. Hale wrote:
> 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

While that would be the correct way of handling multiple conflicting 
libraries I just think it adds unnecessary complexity to very little 
benefit as I don't see the issue since its a build dependency. Poudriere 
does also support overlay if you want to modify the tree with local 
patches.

Best regards,
Daniel