From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1696306-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 53A9A1581F3
	for <garchives@archives.gentoo.org>; Mon,  2 Dec 2024 07:23:59 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id F22D9E07C9;
	Mon,  2 Dec 2024 07:23:57 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id CB188E07E1
	for <gentoo-commits@lists.gentoo.org>; Mon,  2 Dec 2024 07:23:56 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 6FB55342FAB
	for <gentoo-commits@lists.gentoo.org>; Mon,  2 Dec 2024 07:23:55 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id CCF851EC5
	for <gentoo-commits@lists.gentoo.org>; Mon,  2 Dec 2024 07:23:53 +0000 (UTC)
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Ionen Wolkens" <ionen@gentoo.org>
Message-ID: <1733124163.aad3bed7f652024b2a05039e01c5a48cbcf1ec97.ionen@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtmultimedia/
X-VCS-Repository: repo/gentoo
X-VCS-Files: dev-qt/qtmultimedia/Manifest dev-qt/qtmultimedia/qtmultimedia-6.8.1.ebuild
X-VCS-Directories: dev-qt/qtmultimedia/
X-VCS-Committer: ionen
X-VCS-Committer-Name: Ionen Wolkens
X-VCS-Revision: aad3bed7f652024b2a05039e01c5a48cbcf1ec97
X-VCS-Branch: master
Date: Mon,  2 Dec 2024 07:23:53 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 43a8ed2c-acba-43f2-97c4-580f34bc3c8c
X-Archives-Hash: 8ad105aa5be144df532aed186c54be53

commit:     aad3bed7f652024b2a05039e01c5a48cbcf1ec97
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Dec  2 06:24:53 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Dec  2 07:22:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aad3bed7

dev-qt/qtmultimedia: add 6.8.1

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

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

diff --git a/dev-qt/qtmultimedia/Manifest b/dev-qt/qtmultimedia/Manifest
index 1a750205cc28..9e26e0a9ed01 100644
--- a/dev-qt/qtmultimedia/Manifest
+++ b/dev-qt/qtmultimedia/Manifest
@@ -5,3 +5,4 @@ DIST qtmultimedia-everywhere-opensource-src-5.15.16.tar.xz 3824912 BLAKE2B d98fc
 DIST qtmultimedia-everywhere-src-6.7.2.tar.xz 8451800 BLAKE2B 44523ebe4f1b0c910fdad8ff29f24273c1b7872e9f5dd58b2dd779e61fe3b5c1a97ee900009ca693c740a6e578f9dd62995ac101ef70e1cd718af1bd1c355430 SHA512 bfcd04a5ba142e2a3bee3b67a261ffb4f651ac4e043e3dcafc0175bd25409de375041aa6fdda4f6899b00e4bad6c06ae9fd0d6a1e7db0b874f1bcf0a578d3c70
 DIST qtmultimedia-everywhere-src-6.7.3.tar.xz 9360356 BLAKE2B c3ba0c1729b412022959900d4ee7b31f92df5c1b03326ffaea974a59a217be8f39cacf62e03374d63e1d804798ac1bfcfda011a42047ebaa53f5dc1511a44f06 SHA512 6c8c7c18ad71e32507af57456d1c11544f3e6c67c9cd3811a83fd0c20e12d6457ab294d91905e3911bdef1977ec1b535de82e9d92b2a38bd9eef7851e6349b5a
 DIST qtmultimedia-everywhere-src-6.8.0.tar.xz 9591692 BLAKE2B fd55d8a97573c6eef6af605e0564746cb2aa1fa8ac604c62283e6508f2bcb0ac5f0cacdee919b71dfb8a8c94b34d876e0811c5a2b428d4c8c3ee78dc127ad6c0 SHA512 1374db720141d09ca3081b5a7dd6d0f1b4457ab87096b4bfac0b9ab97de1dadf36ded5cf04ae01824fd9e16cfe7f45f45f2ebebc464696a348284462a731388e
+DIST qtmultimedia-everywhere-src-6.8.1.tar.xz 9664564 BLAKE2B 675544811c845ddb34908fe82e33824451e6ec8fecb66730a2f4dbe754c4466db3ae6e157fac9e8d5d0505adf90ac65bed807bd52eaad0de05047e4532b8ebeb SHA512 77f8e913116ff75cf4602e9c5ee01c48161fb40aaadca0e09ca2f89292071fc6f2918403932b9b0653bbc2b007f25362e0cb84a382baedd67e9e4c31bc414463

diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.8.1.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.8.1.ebuild
new file mode 100644
index 000000000000..5c9d4372dcb4
--- /dev/null
+++ b/dev-qt/qtmultimedia/qtmultimedia-6.8.1.ebuild
@@ -0,0 +1,150 @@
+# 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_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
+	# 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 pulseaudio)
+		$(qt_feature screencast pipewire)
+		$(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
+}