commit: 4434195e636e2bada4965493718e81532cc64a29
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 30 10:02:13 2025 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Sep 30 11:55:20 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4434195e
dev-qt/qtmultimedia: add 6.9.3
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
dev-qt/qtmultimedia/Manifest | 1 +
dev-qt/qtmultimedia/qtmultimedia-6.9.3.ebuild | 155 ++++++++++++++++++++++++++
2 files changed, 156 insertions(+)
diff --git a/dev-qt/qtmultimedia/Manifest b/dev-qt/qtmultimedia/Manifest
index 6e2ec911b736..0b346d734877 100644
--- a/dev-qt/qtmultimedia/Manifest
+++ b/dev-qt/qtmultimedia/Manifest
@@ -2,3 +2,4 @@ DIST qtmultimedia-5.15.17-gentoo-kde-1.tar.xz 1496 BLAKE2B
dccdf66e3c1447ed50f49
DIST qtmultimedia-everywhere-opensource-src-5.15.17.tar.xz 3825964 BLAKE2B
e1e24c2a93ebd75e20e7fe14256d1c8c40bd17767f0936256c8b3b926bfe4f3d5725ddc90c24af42274e4d2c0bb776981e746d8059cae4b874317c9ebcd826d4
SHA512
50679719d500abd32e66d957b1cede6f49de9b4170b4da527cc49715bae5048b68f6e9c0e4e83c01b63350816ef1b02b329233321dfed858ee5806fafb233a52
DIST qtmultimedia-everywhere-src-6.10.0-rc.tar.xz 9882176 BLAKE2B
78813ed2ca154f81d1e666cdb259ffa8a66f39dcc60cf87c35eaa299476527c5064d9ad1542de64ba1070dfd76192c54b28bf67b2feb4bfc77ec91f8aa976eef
SHA512
10d21ff0ebf4626f4506bb149929b6109d25609c42d6d3b246966afa9ffec3fc9302fde6f11bcfd7f261c8b9defbd227c616515b749bcdfe8f5c2c37d6a4c49e
DIST qtmultimedia-everywhere-src-6.9.2.tar.xz 9768828 BLAKE2B
86ffbb444d36045087cc9524ca888f664edd4f8014184a5afe778ef496f125a56d5203fcad1b6085e879f0e8926402770499332e9cea86151bbe953f6dd1653a
SHA512
58cb438247cc5230d72775cf30311b346f097c2946c63b47c8aea9d4a8ca6599940dff93744f7cf3652340793a1a418dd1e86b61f7a786b7764d50b04396e8a8
+DIST qtmultimedia-everywhere-src-6.9.3.tar.xz 9771140 BLAKE2B
8d71033bc22500a6254c6c709535db9ed2008fc2712c57a0e62efcac9a07c1563eb607467d709c9ea61705cea8a488fb8a9f7bc2de7b80a536d9a4a938f9f590
SHA512
086cb84d345054d4d262de3824044101fb30d1309cc80e917db4d696a38ca8f1aa0ecde2bb8b4a343f49454acdbf52802e38cf684a087bfdfe9b35d901fde55a
diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.9.3.ebuild
b/dev-qt/qtmultimedia/qtmultimedia-6.9.3.ebuild
new file mode 100644
index 000000000000..a67a5ac76b8d
--- /dev/null
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.9.3.ebuild
@@ -0,0 +1,155 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+QT6_HAS_STATIC_LIBS=1
+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 +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio
+ qml v4l vaapi vulkan wayland
+"
+# tst_qmediaplayerbackend hard requires qml, review in case becomes optional
+REQUIRED_USE="
+ || ( ffmpeg gstreamer )
+ eglfs? ( ffmpeg opengl qml )
+ test? ( qml )
+ vaapi? ( ffmpeg opengl )
+"
+
+# dlopen/dbus: pipewire
+RDEPEND="
+ ~dev-qt/qtbase-${PV}:6[concurrent,gui,network,opengl=,vulkan=,widgets]
+ alsa? (
+ !pulseaudio? ( 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
+ media-libs/gstreamer:1.0
+ opengl? (
+ ~dev-qt/qtbase-${PV}:6[X?,wayland?]
+ media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?]
+ )
+ )
+ opengl? ( media-libs/libglvnd )
+ pipewire? (
+ ~dev-qt/qtbase-${PV}:6[dbus?]
+ media-video/pipewire:=
+ )
+ 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_qmediacapture_gstreamer
+ tst_qmediacapturesession
+ tst_qmediaframeinputsbackend
+ tst_qmediaplayer_gstreamer
+ tst_qmediaplayerbackend
+ tst_qsoundeffect
+ # may try to use v4l2 or hardware acceleration depending on availability
+ tst_qmediarecorderbackend
+ tst_qscreencapture_integration
+ tst_qscreencapturebackend
+ tst_qvideoframebackend
+ # seems flaky depending on what codecs system libraries support or not
+ tst_qmediaformatbackend
+ # fails with offscreen rendering
+ tst_qvideoframecolormanagement
+ tst_qwindowcapturebackend
+ # >=ffmpeg-8 changed SWS_* defines to an enum and this confuses a
test-only
+ # assert, should have no negative runtime effect so just skip for now
+ tst_qffmpegvideoencoderutils
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.7.3-eigen-ppc-no-vsx.patch
+ "${FILESDIR}"/${PN}-6.8.1-qversionnumber.patch
+)
+
+src_configure() {
+ # eigen + ppc32 seems broken w/ -maltivec (forced by Qt, bug #943402)
+ use ppc && append-cppflags -DEIGEN_DONT_VECTORIZE
+
+ # normally passed by the build system, but needed for 32-on-64 chroots
+ use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
+
+ local mycmakeargs=(
+ $(cmake_use_find_package qml Qt6Qml)
+ $(qt_feature ffmpeg)
+ $(qt_feature gstreamer)
+ $(usev gstreamer "
+ $(qt_feature opengl gstreamer_gl)
+ $(usev opengl "
+ $(qt_feature X gstreamer_gl_x11)
+ $(qt_feature wayland gstreamer_gl_wayland)
+ ")
+ ")
+ $(qt_feature pipewire)
+ $(usev pipewire $(qt_feature dbus pipewire_screencapture))
+ $(qt_feature pulseaudio)
+ $(qt_feature v4l linux_v4l)
+ $(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
+}
+
+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
+}