Created attachment 675949 [details] Example of possible ebuild update I've checked the ebuilds for Strawberry and its pulling both GStreamer and VLC, but according to their documentation over GitHub, you can build it with just one. In the end, the actual build won't be using both at the same time, since by default GStreamer its selected in the Settings window (Settings > Backend > Audio output). Right now you have the dropdown enabled and you can select either GStreamer or VLC. If you remove for example VLC from the ebuild, you end with only GStreamer as the selected Engine and the option its grayed out, so you can't change it. I would like to suggest an update the ebuild to make gstreamer and vlc as variable as possible. Not sure if make gstreamer default and VLC toggled via USE variable for example or any other fancier way.
The problem here is that strawberry links against both gstreamer and vlc if they are present in the system no matter if we have corresponding USE flags in the ebuild or not. This is a typical situation of automagic dependencies[1] and I have no idea how to properly handle these here. The best solution would be switches in the CMakeLists.txt file to explicitly en-/disable these sound backends. [1]: https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependencies
Yeah, I understand that behaviour from Strawberry and its ok, what I'm asking its to avoid emerging both GStreamer and VLC if the user already has one (or the other). For example, if a user has already GStreamer or just wants to use that package, we should avoid emerging VLC just because Strawberry can work with it. To be more precise, if the user has already emerged a media player aside VLC, I think we shouldn't force its installation just for the sake of Strawberry. The same with the other way arround, if a VLC user wants to use Strawberry and doesn't need or use GStreamer, we should try to avoid installing it. This is just for the sake of avoiding the need to install packages that you might not even use, but they end installing several dependencies that you will still need to compile each upgrade. Basically to try to declutter the current ebuild. Aside that we have the fact that Strawberry will try to use one or another, but that's ok, since the idea its to try to use one or another (or both if the user needs both GStreamer and VLC).
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5536290056e8a9443ff4f3df7e7a71521e46167e commit 5536290056e8a9443ff4f3df7e7a71521e46167e Author: Lars Wendler <polynomial-c@gentoo.org> AuthorDate: 2021-01-04 17:08:53 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2021-01-04 17:13:24 +0000 media-sound/strawberry: Bump to version 0.8.5 Bug: https://bugs.gentoo.org/757780 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> media-sound/strawberry/Manifest | 1 + .../strawberry-0.8.5-make_backends_optional.patch | 56 +++++++++ media-sound/strawberry/metadata.xml | 3 + media-sound/strawberry/strawberry-0.8.5.ebuild | 130 +++++++++++++++++++++ 4 files changed, 190 insertions(+)