commit:     486e7bc8a07a7b03afe99a4052d73965a41d6530
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 24 09:19:39 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Sep 24 09:56:39 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=486e7bc8

dev-qt/qtmultimedia: add 6.8.0_rc

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

 dev-qt/qtmultimedia/Manifest                     |   1 +
 dev-qt/qtmultimedia/qtmultimedia-6.8.0_rc.ebuild | 142 +++++++++++++++++++++++
 2 files changed, 143 insertions(+)

diff --git a/dev-qt/qtmultimedia/Manifest b/dev-qt/qtmultimedia/Manifest
index d701db23541e..02ae09a38678 100644
--- a/dev-qt/qtmultimedia/Manifest
+++ b/dev-qt/qtmultimedia/Manifest
@@ -1,3 +1,4 @@
 DIST qtmultimedia-5.15.14-gentoo-kde-1.tar.xz 1492 BLAKE2B 
e2474990d9efc327f35a979c1f317cb213c6121b4e1285294c132a1266eaeb559e7239c7cd58da072e50dc85dd9aa0c1b6aa493f95fe31268171780cd3346883
 SHA512 
5427c7a5e06f8296b091b2bb3fc67e678ac01bd1179de5a11c38cfe9f87ba8e3ac87a1395c2c3044ad31fc5c040230e35a1e71e173e12109c24cd97da70d9e9d
 DIST qtmultimedia-everywhere-opensource-src-5.15.14.tar.xz 3842164 BLAKE2B 
0065c95b4f14e566c667e16c4eb264e466174a9548c6a4bd39dbab9cf14ddad444cc3318ecdf18ca9e3999a3f95a669fd121937287d466a6b9a9c14af74ff686
 SHA512 
6059bd9aec65888ed6f3a1f87506a94ea567f9e064bb4a586859bc8f76ee4dca573eb256623452ddd9daf2305f49c707673425ea08edca9cd2db7b56bf5cab9c
 DIST qtmultimedia-everywhere-src-6.7.2.tar.xz 8451800 BLAKE2B 
44523ebe4f1b0c910fdad8ff29f24273c1b7872e9f5dd58b2dd779e61fe3b5c1a97ee900009ca693c740a6e578f9dd62995ac101ef70e1cd718af1bd1c355430
 SHA512 
bfcd04a5ba142e2a3bee3b67a261ffb4f651ac4e043e3dcafc0175bd25409de375041aa6fdda4f6899b00e4bad6c06ae9fd0d6a1e7db0b874f1bcf0a578d3c70
+DIST qtmultimedia-everywhere-src-6.8.0-rc.tar.xz 9596792 BLAKE2B 
0961eb1acb796311eb9120c69913276e00e3ce335174439d07aff92ca5b5ad2c3decf0f5254080e52a4a4952397798f204a4c8c7c0b9930f91faac4ca0ad834d
 SHA512 
9abc28f994c8d4922eb726fb87c64f079d59bb3b698e3dd9470909b9a03e24a54c89ccd64f946218f0bd915d7a0086e3ebd21e16d6e00380180a475d1015589a

diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.8.0_rc.ebuild 
b/dev-qt/qtmultimedia/qtmultimedia-6.8.0_rc.ebuild
new file mode 100644
index 000000000000..abc7252aee13
--- /dev/null
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.8.0_rc.ebuild
@@ -0,0 +1,142 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 eglfs +ffmpeg gstreamer opengl pulseaudio
+       qml screencast v4l vaapi vulkan wayland
+"
+# tst_qmediaplayerbackend hard requires qml, review in case becomes optional
+REQUIRED_USE="
+       || ( ffmpeg gstreamer )
+       eglfs? ( ffmpeg opengl qml )
+       screencast? ( ffmpeg )
+       test? ( qml )
+       vaapi? ( ffmpeg opengl )
+"
+
+# gstreamer[X=] is to avoid broken gst detect if -X w/ gst[X] w/o xorg-proto
+# (*could* be removed if gst-plugins-base[X] RDEPENDs on xorg-proto)
+# := skipped on pipewire due to only being used through dbus
+RDEPEND="
+       ~dev-qt/qtbase-${PV}:6[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[X=]
+               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 )
+       pulseaudio? ( media-libs/libpulse )
+       qml? (
+               ~dev-qt/qtdeclarative-${PV}:6
+               ~dev-qt/qtquick3d-${PV}:6
+       )
+       screencast? (
+               ~dev-qt/qtbase-${PV}:6[dbus]
+               media-video/pipewire
+       )
+"
+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_qmediaplayerbackend
+       tst_qsoundeffect
+       # may try to use v4l2 or hardware acceleration depending on availability
+       tst_qscreencapture_integration
+       tst_qscreencapturebackend
+       tst_qvideoframebackend
+       # fails with offscreen rendering
+       tst_qvideoframecolormanagement
+       tst_qwindowcapturebackend
+)
+
+src_configure() {
+       # normally passed by the build system, but needed for 32-on-64 chroots
+       use x86 && append-cppflags -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 pulseaudio)
+               $(qt_feature screencast pipewire)
+               $(qt_feature v4l linux_v4l)
+               $(qt_feature vaapi)
+               -DQT_UNITY_BUILD=OFF # currently fails to build with
+       )
+
+       # 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