Bug 272843 - multimedia/mlt7: add option to allow build with audio/libebur128 instead audio/ebur128 if PLUS module enabled
Summary: multimedia/mlt7: add option to allow build with audio/libebur128 instead audi...
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-kde (group)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-31 12:50 UTC by Vladimir Druzenko
Modified: 2023-08-21 15:59 UTC (History)
7 users (show)

See Also:


Attachments
Add options EBUR128 and LIBEBUR128 to allow build without huge dependency lang/rust. (2.19 KB, patch)
2023-07-31 12:50 UTC, Vladimir Druzenko
vvd: maintainer-approval?
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Druzenko freebsd_committer freebsd_triage 2023-07-31 12:50:54 UTC
Created attachment 243736 [details]
Add options EBUR128 and LIBEBUR128 to allow build without huge dependency lang/rust.

Module PLUS require audio/ebur128 by default.
Port audio/ebur128 require lang/rust for build.
There is very small audio/libebur128 on C without any additional dependencies.
Comment 1 Charlie Li freebsd_committer freebsd_triage 2023-07-31 20:23:02 UTC
No.
Comment 2 Vladimir Druzenko freebsd_committer freebsd_triage 2023-07-31 22:17:53 UTC
Why are you so protective of rust ports?
Just let's not install an unnecessary dependency if someone doesn't want to.
The default behavior does not change.
Comment 3 Charlie Li freebsd_committer freebsd_triage 2023-07-31 23:23:27 UTC
This has nothing to do with protectionism. Based on use cases, it's not worth the additional maintenance burden to introduce such an option (which would need to happen on every consumer). And particularly for this port and its consumers, one cannot reasonably expect this to perform as intended on say a single-board not intended for multimedia creation, unless you want to have a bad time.
Comment 4 Li-Wen Hsu freebsd_committer freebsd_triage 2023-08-03 11:57:45 UTC
I think this should be decided by the maintainer.
Comment 5 Tobias C. Berner freebsd_committer freebsd_triage 2023-08-15 19:21:49 UTC
Moin moin 

I partially agree with vishwin@, that the maintenance burden is to be considered.

However, in this case, the options look maintainable at the moment -- and looks like it might outweigh the build-time burden of rust for some people.

So as kde@ this looks sensible enough for me to approve it.


mfg Tobias
Comment 6 Charlie Li freebsd_committer freebsd_triage 2023-08-15 23:28:15 UTC
You would need to add the same options or knobs to every libebur128 consumer, which introduces much more than just a maintenance burden, and certainly beyond just kde@ or any singular team or maintainer. At some point a line has to be drawn when it comes to functionally equivalent ports, with one oxidised and the other not, having option knobs or .mk or whatnot, because too many just becomes junk over time.
Comment 7 commit-hook freebsd_committer freebsd_triage 2023-08-21 14:25:05 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3b2ff2ef194c83835fe7dc6618427b8fd50ea31d

commit 3b2ff2ef194c83835fe7dc6618427b8fd50ea31d
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2023-08-21 13:57:29 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2023-08-21 14:24:20 +0000

    Mk: Add Uses/ebur128.mk

    Handles dependencies for the chosen implementation of libebur128 set
    via DEFAULT_VERSIONS: audio/libebur128 (legacy) and audio/ebur128
    (rust).

    PR:             272843

 CHANGES                    | 19 ++++++++++++++++
 Mk/Uses/ebur128.mk (new)   | 55 ++++++++++++++++++++++++++++++++++++++++++++++
 Mk/bsd.default-versions.mk |  8 ++++++-
 3 files changed, 81 insertions(+), 1 deletion(-)
Comment 8 commit-hook freebsd_committer freebsd_triage 2023-08-21 14:25:07 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f0f84332284139c74b5ec914154ef0ef6650beb3

commit f0f84332284139c74b5ec914154ef0ef6650beb3
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2023-08-21 14:15:28 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2023-08-21 14:24:21 +0000

    */*: Move consumers of audio/ebur128 to USES=ebur128

    PR:             272843

 audio/cantata/Makefile   | 2 +-
 audio/mixxx/Makefile     | 5 ++---
 audio/mixxx22/Makefile   | 3 +--
 audio/rsgain/Makefile    | 5 ++---
 multimedia/mlt7/Makefile | 4 ++--
 5 files changed, 8 insertions(+), 11 deletions(-)
Comment 9 Jason E. Hale freebsd_committer freebsd_triage 2023-08-21 15:17:35 UTC
I just added Mk/Uses/ebur128.mk to handle this. It's not worth bikeshedding over, but selecting the ebur128 implementation in individual ports just felt wrong. With most of the ports consuming ebur128 being maintained by kde@ or myself, it is much less of a maintenance burden doing it this way IMO.

For you de-oxidization pleasure, just add to make.conf:
DEFAULT_VERSIONS+= ebur128=legacy
Comment 10 Vladimir Druzenko freebsd_committer freebsd_triage 2023-08-21 15:59:08 UTC
Thanks!