I would like to use media-sound/apulse for spotify's pulseaudio dependancy, but how the dependancies are currently written in the ebuilds, pulseaudio will always be picked up, unless apulse is already installed. Would it be possible to add a USE flag - I suppose an exclusive double of "apulse" and "pulseaudio", or just one of them - so I can force the ebuild to depend on media/apulse instead of media-sound/pulseaudio? for example, in the ebuild: IUSE="${IUSE} pulseaudio" RDEPEND="${RDEPEND} pulseaudio? ( media-sound/pulseaudio ) !pulseaudio? ( media-sound/apulse ) " Reproducible: Always
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7834e6ae179065f800c06187e0fe0d8265e9313a commit 7834e6ae179065f800c06187e0fe0d8265e9313a Author: Matthew Thode <prometheanfire@gentoo.org> AuthorDate: 2020-06-27 21:05:22 +0000 Commit: Matthew Thode <prometheanfire@gentoo.org> CommitDate: 2020-06-27 21:05:28 +0000 media-sound/spotify: fix pulseaudio / apulse dependency Closes: https://bugs.gentoo.org/728800 Package-Manager: Portage-2.3.99, Repoman-2.3.23 Signed-off-by: Matthew Thode <prometheanfire@gentoo.org> media-sound/spotify/metadata.xml | 1 + .../spotify/{spotify-1.1.26.ebuild => spotify-1.1.26-r1.ebuild} | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-)
Please undo this change. apulse should only be used by those who know what they are getting themselves into, which means that having it as a second option in a || () is perfectly fine. Having it controlled via pulseaudio use flag being disabled just leads to confusion, as seen today on #gentoo when a user tried to emerge media-sound/spotify[-pulseaudio] but for some reason they had media-plugins/alsa-plugins[pulseaudio] pulled in as a dependency (most likely the person is selectively setting pulseaudio USE flag on some packages). USE=-pulseaudio does not mean that apulse is desired or wanted. ;(
ping(?)
I do not use spotify but if (most likely) this package brings it's own libpulse binary then it should depend sound server impl like libpulse does, e.g. || ( media-video/pipewire[sound-server(+)) media-sound/pulseaudio-daemon ) and maybe add apulse into the mix if spotify works with that. If spotify needs system libpulse, then just depend on libpulse or apulse[sdk] if that is desired.