summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2023-08-26 11:38:45 -0400
committerIonen Wolkens <ionen@gentoo.org>2023-09-05 09:01:08 -0400
commit027ad31d186fbd6a120cb83b4086e6d5c234debd (patch)
tree99498ed5b1933a15c0538974c734b395145c57a7 /dev-qt/qtmultimedia
parentqt6-build.eclass: drop qtbase dependency (diff)
downloadgentoo-027ad31d186fbd6a120cb83b4086e6d5c234debd.tar.gz
gentoo-027ad31d186fbd6a120cb83b4086e6d5c234debd.tar.bz2
gentoo-027ad31d186fbd6a120cb83b4086e6d5c234debd.zip
dev-qt/qtmultimedia: tighten deps, make X+qml optional (qt6)
Hopefully right, kind of confusing. Notes: * qtbase[X=]: checks qtbase for wether to use xlib or not, we "could" probably force xlib off safely in "this" case but that still tend to be messy with Qt's ABI * gst[X=]: similarly checks if enabled through defines, may possibly break without this if build against gst[X] then disable it * qtbase[opengl=,vulkan=]: untested but source is literred in QT_CONFIG(opengl) and some (vulkan) and would most likely break if not matching like others (e.g. qtdeclarative) are known to * ^ but for gstreamer, we can use gstreamer_gl feature * qtshadertools is only used to call qsb that I can see, so move to BDEPEND, albeit does come with the caveat that (unlike qtdeclarative), it does not look for it separately to find it during cross-compilation * qtsvg seems only used by examples, dropping may however have the downside that very few packages pull qtsvg and it is often needed by other applications (but it is wrong here) * pulse[glib] dropped, may have been needed in the past but failing to see the need for USE=glib right now X is enabled by default on qtbase, gst-plugins-base, and here, so it should hopefully not cause mismatch headaches even on non-desktop profiles (assuming users don't try to manually enable X/opengl/vulkan per-packages). Pure wayland systems should be able to avoid X11 entirely with Qt6. Note that it "looks" for gstreamer even when it is disabled, so it may give xorg-proto warnings (if missing) if gst was built with USE=X. Non-issue given in that situation we don't use gstreamer. If gst[-X], then xorg-proto is not needed at all. Closes: https://bugs.gentoo.org/910364 Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'dev-qt/qtmultimedia')
-rw-r--r--dev-qt/qtmultimedia/qtmultimedia-6.5.2-r1.ebuild (renamed from dev-qt/qtmultimedia/qtmultimedia-6.5.2.ebuild)44
-rw-r--r--dev-qt/qtmultimedia/qtmultimedia-6.5.9999.ebuild44
-rw-r--r--dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild44
3 files changed, 75 insertions, 57 deletions
diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.5.2.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.5.2-r1.ebuild
index 8e38c2afc14e..46ca49cb8d44 100644
--- a/dev-qt/qtmultimedia/qtmultimedia-6.5.2.ebuild
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.5.2-r1.ebuild
@@ -11,45 +11,49 @@ if [[ ${QT6_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64"
fi
-IUSE="alsa +ffmpeg gstreamer pulseaudio v4l vaapi"
+IUSE="+X alsa +ffmpeg gstreamer opengl pulseaudio qml v4l vaapi vulkan"
+# tst_qmediaplayerbackend hard requires qml, review in case becomes optional
REQUIRED_USE="
|| ( ffmpeg gstreamer )
vaapi? ( ffmpeg )
+ test? ( qml )
"
RDEPEND="
- =dev-qt/qtbase-${PV}*:6[gui,network,widgets]
- =dev-qt/qtdeclarative-${PV}*:6
- =dev-qt/qtquick3d-${PV}*:6
- =dev-qt/qtshadertools-${PV}*:6
- =dev-qt/qtsvg-${PV}*:6
+ =dev-qt/qtbase-${PV}*:6[gui,network,opengl=,vulkan=,widgets]
alsa? ( media-libs/alsa-lib )
ffmpeg? (
- media-libs/libva:=
- media-video/ffmpeg:=
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrandr
+ =dev-qt/qtbase-${PV}*:6[X=]
+ media-video/ffmpeg:=[vaapi?]
+ X? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXrandr
+ )
+ vaapi? (
+ media-libs/libglvnd
+ media-libs/libva:=
+ )
)
gstreamer? (
dev-libs/glib:2
media-libs/gst-plugins-bad:1.0
- media-libs/gst-plugins-base:1.0
+ media-libs/gst-plugins-base:1.0[X=,opengl?]
media-libs/gstreamer:1.0
- media-libs/libglvnd
+ opengl? ( media-libs/libglvnd )
)
- pulseaudio? ( media-libs/libpulse[glib] )
- vaapi? (
- =dev-qt/qtbase-${PV}*:6[opengl]
- media-libs/libglvnd
- media-libs/libva:=
+ pulseaudio? ( media-libs/libpulse )
+ qml? (
+ =dev-qt/qtdeclarative-${PV}*:6
+ =dev-qt/qtquick3d-${PV}*:6
)
"
DEPEND="
${RDEPEND}
- gstreamer? ( x11-base/xorg-proto )
+ X? ( x11-base/xorg-proto )
v4l? ( sys-kernel/linux-headers )
"
+BDEPEND="=dev-qt/qtshadertools-${PV}*:6"
CMAKE_SKIP_TESTS=(
# tries to use real alsa or pulseaudio and fails in sandbox
@@ -67,9 +71,11 @@ src_configure() {
use x86 && append-cppflags -DPFFFT_SIMD_DISABLE
local mycmakeargs=(
+ $(cmake_use_find_package qml Qt6Qml)
$(qt_feature alsa)
$(qt_feature ffmpeg)
$(qt_feature gstreamer)
+ $(usev gstreamer $(qt_feature opengl gstreamer_gl))
$(qt_feature pulseaudio)
$(qt_feature v4l linux_v4l)
$(qt_feature vaapi)
diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.5.9999.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.5.9999.ebuild
index 8e38c2afc14e..46ca49cb8d44 100644
--- a/dev-qt/qtmultimedia/qtmultimedia-6.5.9999.ebuild
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.5.9999.ebuild
@@ -11,45 +11,49 @@ if [[ ${QT6_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64"
fi
-IUSE="alsa +ffmpeg gstreamer pulseaudio v4l vaapi"
+IUSE="+X alsa +ffmpeg gstreamer opengl pulseaudio qml v4l vaapi vulkan"
+# tst_qmediaplayerbackend hard requires qml, review in case becomes optional
REQUIRED_USE="
|| ( ffmpeg gstreamer )
vaapi? ( ffmpeg )
+ test? ( qml )
"
RDEPEND="
- =dev-qt/qtbase-${PV}*:6[gui,network,widgets]
- =dev-qt/qtdeclarative-${PV}*:6
- =dev-qt/qtquick3d-${PV}*:6
- =dev-qt/qtshadertools-${PV}*:6
- =dev-qt/qtsvg-${PV}*:6
+ =dev-qt/qtbase-${PV}*:6[gui,network,opengl=,vulkan=,widgets]
alsa? ( media-libs/alsa-lib )
ffmpeg? (
- media-libs/libva:=
- media-video/ffmpeg:=
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrandr
+ =dev-qt/qtbase-${PV}*:6[X=]
+ media-video/ffmpeg:=[vaapi?]
+ X? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXrandr
+ )
+ vaapi? (
+ media-libs/libglvnd
+ media-libs/libva:=
+ )
)
gstreamer? (
dev-libs/glib:2
media-libs/gst-plugins-bad:1.0
- media-libs/gst-plugins-base:1.0
+ media-libs/gst-plugins-base:1.0[X=,opengl?]
media-libs/gstreamer:1.0
- media-libs/libglvnd
+ opengl? ( media-libs/libglvnd )
)
- pulseaudio? ( media-libs/libpulse[glib] )
- vaapi? (
- =dev-qt/qtbase-${PV}*:6[opengl]
- media-libs/libglvnd
- media-libs/libva:=
+ pulseaudio? ( media-libs/libpulse )
+ qml? (
+ =dev-qt/qtdeclarative-${PV}*:6
+ =dev-qt/qtquick3d-${PV}*:6
)
"
DEPEND="
${RDEPEND}
- gstreamer? ( x11-base/xorg-proto )
+ X? ( x11-base/xorg-proto )
v4l? ( sys-kernel/linux-headers )
"
+BDEPEND="=dev-qt/qtshadertools-${PV}*:6"
CMAKE_SKIP_TESTS=(
# tries to use real alsa or pulseaudio and fails in sandbox
@@ -67,9 +71,11 @@ src_configure() {
use x86 && append-cppflags -DPFFFT_SIMD_DISABLE
local mycmakeargs=(
+ $(cmake_use_find_package qml Qt6Qml)
$(qt_feature alsa)
$(qt_feature ffmpeg)
$(qt_feature gstreamer)
+ $(usev gstreamer $(qt_feature opengl gstreamer_gl))
$(qt_feature pulseaudio)
$(qt_feature v4l linux_v4l)
$(qt_feature vaapi)
diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild
index 8e38c2afc14e..46ca49cb8d44 100644
--- a/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild
@@ -11,45 +11,49 @@ if [[ ${QT6_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64"
fi
-IUSE="alsa +ffmpeg gstreamer pulseaudio v4l vaapi"
+IUSE="+X alsa +ffmpeg gstreamer opengl pulseaudio qml v4l vaapi vulkan"
+# tst_qmediaplayerbackend hard requires qml, review in case becomes optional
REQUIRED_USE="
|| ( ffmpeg gstreamer )
vaapi? ( ffmpeg )
+ test? ( qml )
"
RDEPEND="
- =dev-qt/qtbase-${PV}*:6[gui,network,widgets]
- =dev-qt/qtdeclarative-${PV}*:6
- =dev-qt/qtquick3d-${PV}*:6
- =dev-qt/qtshadertools-${PV}*:6
- =dev-qt/qtsvg-${PV}*:6
+ =dev-qt/qtbase-${PV}*:6[gui,network,opengl=,vulkan=,widgets]
alsa? ( media-libs/alsa-lib )
ffmpeg? (
- media-libs/libva:=
- media-video/ffmpeg:=
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrandr
+ =dev-qt/qtbase-${PV}*:6[X=]
+ media-video/ffmpeg:=[vaapi?]
+ X? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXrandr
+ )
+ vaapi? (
+ media-libs/libglvnd
+ media-libs/libva:=
+ )
)
gstreamer? (
dev-libs/glib:2
media-libs/gst-plugins-bad:1.0
- media-libs/gst-plugins-base:1.0
+ media-libs/gst-plugins-base:1.0[X=,opengl?]
media-libs/gstreamer:1.0
- media-libs/libglvnd
+ opengl? ( media-libs/libglvnd )
)
- pulseaudio? ( media-libs/libpulse[glib] )
- vaapi? (
- =dev-qt/qtbase-${PV}*:6[opengl]
- media-libs/libglvnd
- media-libs/libva:=
+ pulseaudio? ( media-libs/libpulse )
+ qml? (
+ =dev-qt/qtdeclarative-${PV}*:6
+ =dev-qt/qtquick3d-${PV}*:6
)
"
DEPEND="
${RDEPEND}
- gstreamer? ( x11-base/xorg-proto )
+ X? ( x11-base/xorg-proto )
v4l? ( sys-kernel/linux-headers )
"
+BDEPEND="=dev-qt/qtshadertools-${PV}*:6"
CMAKE_SKIP_TESTS=(
# tries to use real alsa or pulseaudio and fails in sandbox
@@ -67,9 +71,11 @@ src_configure() {
use x86 && append-cppflags -DPFFFT_SIMD_DISABLE
local mycmakeargs=(
+ $(cmake_use_find_package qml Qt6Qml)
$(qt_feature alsa)
$(qt_feature ffmpeg)
$(qt_feature gstreamer)
+ $(usev gstreamer $(qt_feature opengl gstreamer_gl))
$(qt_feature pulseaudio)
$(qt_feature v4l linux_v4l)
$(qt_feature vaapi)