dev-qt/qtmultimedia: add 6.10.0

Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
This commit is contained in:
Ionen Wolkens 2025-10-07 01:24:54 -04:00
parent 8601c43942
commit 8547ba42f6
No known key found for this signature in database
GPG Key ID: B24406B0B0AC4334
2 changed files with 156 additions and 0 deletions

View File

@ -1,5 +1,6 @@
DIST qtmultimedia-5.15.17-gentoo-kde-1.tar.xz 1496 BLAKE2B dccdf66e3c1447ed50f492f8ddd8fc1464932c97b31564197f228baf6c279b51029e9244cd6c13d6a1bd313caea97a6fbe84dc5df5d98b6921ae72c3564b19e4 SHA512 4b124981981d7c9a40d549e89decaac9ae6b3b034f186697accc4fb44fd5851ec178d96789305f00b7be8de2b59198933d8b37f1ee18f051c66a11f81ba01220
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.10.0.tar.xz 9873144 BLAKE2B 4efb768cbfa1b987d8c96c2c2f76d8ba5c585f8ff8c6f11a940861153d4b242c00d0ea2004c6465f8c7f2fad504d2408e6ca2b805e17cd0869bb3d69389d1974 SHA512 2b67d53fd004b5c2a98893253f21f47f980b08ee34d868b9acd5935211363e70e6fe189c950a8ce9dff752572b6b3055942aacf561523545b16cd105a7eb29fa
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

View File

@ -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
}