diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2023-08-26 11:38:45 -0400 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2023-09-05 09:01:08 -0400 |
commit | 027ad31d186fbd6a120cb83b4086e6d5c234debd (patch) | |
tree | 99498ed5b1933a15c0538974c734b395145c57a7 /dev-qt/qtmultimedia | |
parent | qt6-build.eclass: drop qtbase dependency (diff) | |
download | gentoo-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.ebuild | 44 | ||||
-rw-r--r-- | dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild | 44 |
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) |