commit:     28b3f2608777853f8a89942a83b3cc57ff611300
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  2 06:09:25 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jul  2 06:22:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28b3f260

dev-qt/qtmultimedia: disable alsa when pulseaudio is enabled (qt6)

Could revisit enabling both if qtmultimedia tries higher-end
backends like pulseaudio first in the future, but currently
it is both marked experimental and without autodetect:

    qt_feature("alsa" PUBLIC PRIVATE
        LABEL "ALSA (experimental)"
        AUTODETECT false

So only enable it if it's the only option we have.

Have not checked the state of this for Qt5, but probably better
off not touching at this point unless someone has problems
(it's possible the audio sink was going through gstreamer
preventing issues).

Closes: https://bugs.gentoo.org/935146
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 ...timedia-6.7.1.ebuild => qtmultimedia-6.7.1-r1.ebuild} | 16 ++++++++++++++--
 ...timedia-6.7.2.ebuild => qtmultimedia-6.7.2-r1.ebuild} | 16 ++++++++++++++--
 dev-qt/qtmultimedia/qtmultimedia-6.7.9999.ebuild         | 16 ++++++++++++++--
 dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild         | 16 ++++++++++++++--
 dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild           | 16 ++++++++++++++--
 5 files changed, 70 insertions(+), 10 deletions(-)

diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.7.1.ebuild 
b/dev-qt/qtmultimedia/qtmultimedia-6.7.1-r1.ebuild
similarity index 83%
rename from dev-qt/qtmultimedia/qtmultimedia-6.7.1.ebuild
rename to dev-qt/qtmultimedia/qtmultimedia-6.7.1-r1.ebuild
index 1d78a1de5024..ddf6bb150a26 100644
--- a/dev-qt/qtmultimedia/qtmultimedia-6.7.1.ebuild
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.7.1-r1.ebuild
@@ -22,7 +22,9 @@ REQUIRED_USE="
 
 RDEPEND="
        ~dev-qt/qtbase-${PV}:6[gui,network,opengl=,vulkan=,widgets]
-       alsa? ( media-libs/alsa-lib )
+       alsa? (
+               !pulseaudio? ( media-libs/alsa-lib )
+       )
        ffmpeg? (
                ~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
                media-video/ffmpeg:=[vaapi?]
@@ -77,7 +79,6 @@ src_configure() {
 
        local mycmakeargs=(
                $(cmake_use_find_package qml Qt6Qml)
-               $(qt_feature alsa)
                $(qt_feature ffmpeg)
                $(qt_feature gstreamer)
                $(usev gstreamer $(qt_feature opengl gstreamer_gl))
@@ -86,6 +87,17 @@ src_configure() {
                $(qt_feature vaapi)
        )
 
+       # ALSA backend is experimental off-by-default and can take priority
+       # causing problems (bug #935146), disable if USE=pulseaudio is set
+       # (also do not want unnecessary usage of ALSA plugins -> pulse)
+       if use alsa && use pulseaudio; then
+               # einfo should be enough given pure-ALSA users tend to disable 
pulse
+               einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
+               mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
+       else
+               mycmakeargs+=( $(qt_feature alsa) )
+       fi
+
        qt6-build_src_configure
 }
 

diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.7.2.ebuild 
b/dev-qt/qtmultimedia/qtmultimedia-6.7.2-r1.ebuild
similarity index 84%
rename from dev-qt/qtmultimedia/qtmultimedia-6.7.2.ebuild
rename to dev-qt/qtmultimedia/qtmultimedia-6.7.2-r1.ebuild
index 25d6f40c49e6..3325d8cc1142 100644
--- a/dev-qt/qtmultimedia/qtmultimedia-6.7.2.ebuild
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.7.2-r1.ebuild
@@ -22,7 +22,9 @@ REQUIRED_USE="
 
 RDEPEND="
        ~dev-qt/qtbase-${PV}:6[gui,network,opengl=,vulkan=,widgets]
-       alsa? ( media-libs/alsa-lib )
+       alsa? (
+               !pulseaudio? ( media-libs/alsa-lib )
+       )
        ffmpeg? (
                ~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
                media-video/ffmpeg:=[vaapi?]
@@ -81,7 +83,6 @@ src_configure() {
 
        local mycmakeargs=(
                $(cmake_use_find_package qml Qt6Qml)
-               $(qt_feature alsa)
                $(qt_feature ffmpeg)
                $(qt_feature gstreamer)
                $(usev gstreamer $(qt_feature opengl gstreamer_gl))
@@ -90,6 +91,17 @@ src_configure() {
                $(qt_feature vaapi)
        )
 
+       # ALSA backend is experimental off-by-default and can take priority
+       # causing problems (bug #935146), disable if USE=pulseaudio is set
+       # (also do not want unnecessary usage of ALSA plugins -> pulse)
+       if use alsa && use pulseaudio; then
+               # einfo should be enough given pure-ALSA users tend to disable 
pulse
+               einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
+               mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
+       else
+               mycmakeargs+=( $(qt_feature alsa) )
+       fi
+
        qt6-build_src_configure
 }
 

diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.7.9999.ebuild 
b/dev-qt/qtmultimedia/qtmultimedia-6.7.9999.ebuild
index 99d03b1ca8be..3b8589664575 100644
--- a/dev-qt/qtmultimedia/qtmultimedia-6.7.9999.ebuild
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.7.9999.ebuild
@@ -22,7 +22,9 @@ REQUIRED_USE="
 
 RDEPEND="
        ~dev-qt/qtbase-${PV}:6[gui,network,opengl=,vulkan=,widgets]
-       alsa? ( media-libs/alsa-lib )
+       alsa? (
+               !pulseaudio? ( media-libs/alsa-lib )
+       )
        ffmpeg? (
                ~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
                media-video/ffmpeg:=[vaapi?]
@@ -77,7 +79,6 @@ src_configure() {
 
        local mycmakeargs=(
                $(cmake_use_find_package qml Qt6Qml)
-               $(qt_feature alsa)
                $(qt_feature ffmpeg)
                $(qt_feature gstreamer)
                $(usev gstreamer $(qt_feature opengl gstreamer_gl))
@@ -86,6 +87,17 @@ src_configure() {
                $(qt_feature vaapi)
        )
 
+       # ALSA backend is experimental off-by-default and can take priority
+       # causing problems (bug #935146), disable if USE=pulseaudio is set
+       # (also do not want unnecessary usage of ALSA plugins -> pulse)
+       if use alsa && use pulseaudio; then
+               # einfo should be enough given pure-ALSA users tend to disable 
pulse
+               einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
+               mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
+       else
+               mycmakeargs+=( $(qt_feature alsa) )
+       fi
+
        qt6-build_src_configure
 }
 

diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild 
b/dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild
index 99d03b1ca8be..3b8589664575 100644
--- a/dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild
@@ -22,7 +22,9 @@ REQUIRED_USE="
 
 RDEPEND="
        ~dev-qt/qtbase-${PV}:6[gui,network,opengl=,vulkan=,widgets]
-       alsa? ( media-libs/alsa-lib )
+       alsa? (
+               !pulseaudio? ( media-libs/alsa-lib )
+       )
        ffmpeg? (
                ~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
                media-video/ffmpeg:=[vaapi?]
@@ -77,7 +79,6 @@ src_configure() {
 
        local mycmakeargs=(
                $(cmake_use_find_package qml Qt6Qml)
-               $(qt_feature alsa)
                $(qt_feature ffmpeg)
                $(qt_feature gstreamer)
                $(usev gstreamer $(qt_feature opengl gstreamer_gl))
@@ -86,6 +87,17 @@ src_configure() {
                $(qt_feature vaapi)
        )
 
+       # ALSA backend is experimental off-by-default and can take priority
+       # causing problems (bug #935146), disable if USE=pulseaudio is set
+       # (also do not want unnecessary usage of ALSA plugins -> pulse)
+       if use alsa && use pulseaudio; then
+               # einfo should be enough given pure-ALSA users tend to disable 
pulse
+               einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
+               mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
+       else
+               mycmakeargs+=( $(qt_feature alsa) )
+       fi
+
        qt6-build_src_configure
 }
 

diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild 
b/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild
index 99d03b1ca8be..3b8589664575 100644
--- a/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild
@@ -22,7 +22,9 @@ REQUIRED_USE="
 
 RDEPEND="
        ~dev-qt/qtbase-${PV}:6[gui,network,opengl=,vulkan=,widgets]
-       alsa? ( media-libs/alsa-lib )
+       alsa? (
+               !pulseaudio? ( media-libs/alsa-lib )
+       )
        ffmpeg? (
                ~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
                media-video/ffmpeg:=[vaapi?]
@@ -77,7 +79,6 @@ src_configure() {
 
        local mycmakeargs=(
                $(cmake_use_find_package qml Qt6Qml)
-               $(qt_feature alsa)
                $(qt_feature ffmpeg)
                $(qt_feature gstreamer)
                $(usev gstreamer $(qt_feature opengl gstreamer_gl))
@@ -86,6 +87,17 @@ src_configure() {
                $(qt_feature vaapi)
        )
 
+       # ALSA backend is experimental off-by-default and can take priority
+       # causing problems (bug #935146), disable if USE=pulseaudio is set
+       # (also do not want unnecessary usage of ALSA plugins -> pulse)
+       if use alsa && use pulseaudio; then
+               # einfo should be enough given pure-ALSA users tend to disable 
pulse
+               einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
+               mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
+       else
+               mycmakeargs+=( $(qt_feature alsa) )
+       fi
+
        qt6-build_src_configure
 }
 

Reply via email to