repo/gentoo:master commit in: dev-qt/qtmultimedia/

"Ionen Wolkens" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1787053233.a10fd2073cefa8d8109a2648a0df253dfe123d04.ionen@gentoo>
commit:     a10fd2073cefa8d8109a2648a0df253dfe123d04
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 18 11:15:19 2026 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Aug 18 11:40:33 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a10fd207

dev-qt/qtmultimedia: add 6.11.2

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-qt/qtmultimedia/Manifest                   |   1 +
 dev-qt/qtmultimedia/qtmultimedia-6.11.2.ebuild | 158 +++++++++++++++++++++++++
 2 files changed, 159 insertions(+)

diff --git a/dev-qt/qtmultimedia/Manifest b/dev-qt/qtmultimedia/Manifest
index 8a1701c10b5c..b0a6d78ef46d 100644
--- a/dev-qt/qtmultimedia/Manifest
+++ b/dev-qt/qtmultimedia/Manifest
@@ -1 +1,2 @@
 DIST qtmultimedia-everywhere-src-6.11.1.tar.xz 10243896 BLAKE2B 66e7a638a644a990e1c932bad40711f193ab8bae808a07ac1e8d58c18caaf89493519aedbec6fd42d3c9a2db701f06ad408edc601ccdbdf6e6cd26246c077ee5 SHA512 accd9534b96df8ff464c219bf579c3da43e30b33efb35fc7e311c9e133cb57252f433422ca917f83b738e67cf925b19e0847ffcfaa92fe0e3d21b603dd580cd5
+DIST qtmultimedia-everywhere-src-6.11.2.tar.xz 10255120 BLAKE2B 0b1f30356529668ca010bc36c3db328ce3eda2feb9c897ce70d7bf5ffa908d491de916a50fbdab8bf231ab39f4980249baa523d469c38d49fdd04e501ebe4308 SHA512 04bffd77a002ae55307412045c6231508626eac25a3c243ea3f2a6c1c3c3f316e977a97e4a050b2a0377bcff89f756312a6baa9c2fe8e8856b6e3c05eaceaaae

diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.11.2.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.11.2.ebuild
new file mode 100644
index 000000000000..5d7fca3a3a93
--- /dev/null
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.11.2.ebuild
@@ -0,0 +1,158 @@
+# Copyright 2021-2026 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 ~ppc64 ~riscv ~x86"
+fi
+
+IUSE="
+	+X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio
+	qml +v4l vaapi vulkan wayland
+"
+REQUIRED_USE="
+	|| ( ffmpeg gstreamer )
+	eglfs? ( ffmpeg opengl 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
+	)
+	vaapi? ( media-libs/libva:= )
+"
+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_qcamerabackend #972689
+	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
+)
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.11.1-ffmpeg9.patch
+)
+
+src_prepare() {
+	qt6-build_src_prepare
+
+	# test expects GStreamer to report an exact bitrate value, but
+	# this varies depending on version and Qt updates it only now
+	# and then (disabling permanently with a sed to avoid rebases)
+	sed -e '/bool validateBitRates = GST_CHECK_VERSION/s/= .*/= false;/' \
+		-i tests/auto/unit/plugins/multimedia/gstreamer/gstreamer_backend/tst_gstreamer_backend.cpp || die
+}
+
+src_configure() {
+	# 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
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.