commit:     f6d52048388977b6af47f6c97f67d2b46c1c1478
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 20 12:07:17 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Nov 20 12:51:53 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6d52048

dev-qt/qtmultimedia: add 6.10.1

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

 dev-qt/qtmultimedia/Manifest                   |   1 +
 dev-qt/qtmultimedia/qtmultimedia-6.10.1.ebuild | 151 +++++++++++++++++++++++++
 2 files changed, 152 insertions(+)

diff --git a/dev-qt/qtmultimedia/Manifest b/dev-qt/qtmultimedia/Manifest
index 4c399d5a9b7d..7bf540c550d9 100644
--- a/dev-qt/qtmultimedia/Manifest
+++ b/dev-qt/qtmultimedia/Manifest
@@ -1,4 +1,5 @@
 DIST qtmultimedia-5.15.18-gentoo-kde-1.tar.xz 1492 BLAKE2B 
34ca71385153f3acf3d59797a7071838e6e8f9b0d119cf095e8d12724c485c55c4fc905cdaec4774a1279745af55dee1236ace0e702ed3e61395a21ff40cf6a7
 SHA512 
86acbce6620ec8242db9b76ba41692afca5a081f994038335a1419788a986e39a93116459ceeeb6835a4076d67b8fe777da54d62efd376623a937e4504431c86
 DIST qtmultimedia-everywhere-opensource-src-5.15.18.tar.xz 3810252 BLAKE2B 
4c69ae7d07b9d0edfadbaf5e51585c267466aba3e64a4841f768534bf87360144d987eddfa036baaab40066420aaf82bd081054bc4204244ec0b2ab6d2cb0724
 SHA512 
edebe73911c82ef5671602f895dd1cddcc39b8afb29267be54921848713344d531e49f4cbcfb9a57b095c4e736a9100c245290391102ddccdb08997057a12bd8
 DIST qtmultimedia-everywhere-src-6.10.0.tar.xz 9873144 BLAKE2B 
4efb768cbfa1b987d8c96c2c2f76d8ba5c585f8ff8c6f11a940861153d4b242c00d0ea2004c6465f8c7f2fad504d2408e6ca2b805e17cd0869bb3d69389d1974
 SHA512 
2b67d53fd004b5c2a98893253f21f47f980b08ee34d868b9acd5935211363e70e6fe189c950a8ce9dff752572b6b3055942aacf561523545b16cd105a7eb29fa
+DIST qtmultimedia-everywhere-src-6.10.1.tar.xz 9923496 BLAKE2B 
a8a182036cf194116d12da6d391321288a3983a96f8429e9db7d3bed6e7f6fd4d78a1d7898fd799ef6863a5b0d5374a0834db5cc975a6bd59e3a8ecb32efb45f
 SHA512 
282b052b8ff00ac649e73d199a8e3894306ea21a9d1b72b20c86f7cf20211839982a81989d30d5fc37bb669fff53bb4b4d0caea4cd0a58aa7585f389141496d7
 DIST qtmultimedia-everywhere-src-6.9.3.tar.xz 9771140 BLAKE2B 
8d71033bc22500a6254c6c709535db9ed2008fc2712c57a0e62efcac9a07c1563eb607467d709c9ea61705cea8a488fb8a9f7bc2de7b80a536d9a4a938f9f590
 SHA512 
086cb84d345054d4d262de3824044101fb30d1309cc80e917db4d696a38ca8f1aa0ecde2bb8b4a343f49454acdbf52802e38cf684a087bfdfe9b35d901fde55a

diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.10.1.ebuild 
b/dev-qt/qtmultimedia/qtmultimedia-6.10.1.ebuild
new file mode 100644
index 000000000000..b2433dac2439
--- /dev/null
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.10.1.ebuild
@@ -0,0 +1,151 @@
+# 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
+)
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-6.7.3-eigen-ppc-no-vsx.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
+}

Reply via email to