From c9fc1fd5f68549ec905d23aebcf814c16aa6e086 Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Tue, 23 Sep 2025 00:37:23 -0400 Subject: [PATCH] dev-qt/qtmultimedia: add 6.10.0_rc Signed-off-by: Ionen Wolkens --- dev-qt/qtmultimedia/Manifest | 1 + .../qtmultimedia-6.10.0_rc.ebuild | 155 ++++++++++++++++++ 2 files changed, 156 insertions(+) create mode 100644 dev-qt/qtmultimedia/qtmultimedia-6.10.0_rc.ebuild diff --git a/dev-qt/qtmultimedia/Manifest b/dev-qt/qtmultimedia/Manifest index 8c1da41168463..53930fb434bcc 100644 --- a/dev-qt/qtmultimedia/Manifest +++ b/dev-qt/qtmultimedia/Manifest @@ -1,4 +1,5 @@ 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.9.1.tar.xz 9776408 BLAKE2B 78056f97fc474615c5d4f7d261565f0a194ba7b749680aeb5f9f59c031a61ef04efa48c5934a5af8a3a0ef0f30f9f964ea7968e91edbe8177f4492bc534afb26 SHA512 8b246af98d643699017713614e441068e5adea8b825be2776934716875b04a4fdb5ff48984ad9b63cc10c78d57dc653b00d9648c00236f4755840da911d5845e DIST qtmultimedia-everywhere-src-6.9.2.tar.xz 9768828 BLAKE2B 86ffbb444d36045087cc9524ca888f664edd4f8014184a5afe778ef496f125a56d5203fcad1b6085e879f0e8926402770499332e9cea86151bbe953f6dd1653a SHA512 58cb438247cc5230d72775cf30311b346f097c2946c63b47c8aea9d4a8ca6599940dff93744f7cf3652340793a1a418dd1e86b61f7a786b7764d50b04396e8a8 diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.10.0_rc.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.10.0_rc.ebuild new file mode 100644 index 0000000000000..a67a5ac76b8db --- /dev/null +++ b/dev-qt/qtmultimedia/qtmultimedia-6.10.0_rc.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 +}