summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtmultimedia/qtmultimedia-6.7.0.ebuild')
-rw-r--r--dev-qt/qtmultimedia/qtmultimedia-6.7.0.ebuild104
1 files changed, 104 insertions, 0 deletions
diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.7.0.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.7.0.ebuild
new file mode 100644
index 000000000000..b7fa9c982158
--- /dev/null
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.7.0.ebuild
@@ -0,0 +1,104 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic qt6-build
+
+DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
+
+if [[ ${QT6_BUILD_TYPE} == release ]]; then
+ KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+IUSE="+X alsa eglfs +ffmpeg gstreamer opengl pulseaudio qml v4l vaapi vulkan"
+# tst_qmediaplayerbackend hard requires qml, review in case becomes optional
+REQUIRED_USE="
+ || ( ffmpeg gstreamer )
+ eglfs? ( ffmpeg opengl )
+ vaapi? ( ffmpeg opengl )
+ test? ( qml )
+"
+
+RDEPEND="
+ ~dev-qt/qtbase-${PV}:6[gui,network,opengl=,vulkan=,widgets]
+ alsa? ( media-libs/alsa-lib )
+ ffmpeg? (
+ ~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
+ media-video/ffmpeg:=[vaapi?]
+ X? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXrandr
+ )
+ )
+ gstreamer? (
+ dev-libs/glib:2
+ media-libs/gst-plugins-bad:1.0
+ media-libs/gst-plugins-base:1.0[X=,opengl?]
+ media-libs/gstreamer:1.0
+ )
+ opengl? ( media-libs/libglvnd )
+ pulseaudio? ( media-libs/libpulse )
+ qml? (
+ ~dev-qt/qtdeclarative-${PV}:6
+ ~dev-qt/qtquick3d-${PV}:6
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ X? ( x11-base/xorg-proto )
+ v4l? ( sys-kernel/linux-headers )
+ vulkan? ( dev-util/vulkan-headers )
+"
+BDEPEND="~dev-qt/qtshadertools-${PV}:6"
+
+CMAKE_SKIP_TESTS=(
+ # unimportant and expects all backends to be available (bug #928420)
+ tst_backends
+ # tries to use real alsa or pulseaudio and fails in sandbox
+ tst_qaudiosink
+ tst_qaudiosource
+ tst_qmediacapturesession
+ tst_qmediaplayerbackend
+ tst_qsoundeffect
+ # may try to use v4l2 or hardware acceleration depending on availability
+ tst_qscreencapture_integration
+ tst_qscreencapturebackend
+ # fails with offscreen rendering
+ tst_qvideoframecolormanagement
+ tst_qwindowcapturebackend
+)
+
+src_configure() {
+ # normally passed by the build system, but needed for 32-on-64 chroots
+ 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)
+ )
+
+ qt6-build_src_configure
+}
+
+src_install() {
+ qt6-build_src_install
+
+ if use test; then
+ local delete=( # sigh
+ "${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake
+ "${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri
+ "${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.*
+ "${D}${QT6_PLUGINDIR}"/multimedia/objects-*
+ )
+ # using -f given not tracking which tests may be skipped or not
+ rm -rf -- "${delete[@]}" || die
+ fi
+}