From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D86B2159C96 for ; Wed, 24 Jul 2024 02:20:58 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 40651E29F7; Wed, 24 Jul 2024 02:20: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 1EB50E29F7 for ; Wed, 24 Jul 2024 02:20:57 +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 20F68340BE0 for ; Wed, 24 Jul 2024 02:20:56 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 2C86D1E62 for ; Wed, 24 Jul 2024 02:20:54 +0000 (UTC) From: "Ionen Wolkens" 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" Message-ID: <1721787577.b0a889f4e2fbd63db77ecd5a08792e5dcf66ed4a.ionen@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtmultimedia/files/, dev-qt/qtmultimedia/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-qt/qtmultimedia/files/qtmultimedia-6.8.0-gst-x11-wayland-detect.patch dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild X-VCS-Directories: dev-qt/qtmultimedia/ dev-qt/qtmultimedia/files/ X-VCS-Committer: ionen X-VCS-Committer-Name: Ionen Wolkens X-VCS-Revision: b0a889f4e2fbd63db77ecd5a08792e5dcf66ed4a X-VCS-Branch: master Date: Wed, 24 Jul 2024 02:20:54 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: da2b581e-c6f5-4cfb-86bf-d24ec2208ba5 X-Archives-Hash: e9dfe25ca0400e905266413f52b18a7a commit: b0a889f4e2fbd63db77ecd5a08792e5dcf66ed4a Author: Ionen Wolkens gentoo org> AuthorDate: Tue Jul 23 23:20:08 2024 +0000 Commit: Ionen Wolkens gentoo org> CommitDate: Wed Jul 24 02:19:37 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0a889f4 dev-qt/qtmultimedia: update >=6.8 live Originally thought it added native pipewire audio support, but this is only for screencast and so not doing USE=pipewire. Split off [X=] hack and add a redundant [X?] in case we are ever able to remove it (aka gst not broken without xorg-proto, xorg-proto in RDEPEND, or if a new EAPI adds a way declare DEPEND-only deps for reverse deps). gst[egl] could technically be optional, but feel it's not worth introducing a USE. Arguably feel it should be unconditionally enabled on gst if USE=opengl. Updating the ebuild also exposed a bug in cmake's checks with gl_x11 and gl_wayland, been reported and doing a temporary workaround for now. Signed-off-by: Ionen Wolkens gentoo.org> ...qtmultimedia-6.8.0-gst-x11-wayland-detect.patch | 19 ++++++++++++ dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild | 34 +++++++++++++++++++--- dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild | 34 +++++++++++++++++++--- 3 files changed, 79 insertions(+), 8 deletions(-) diff --git a/dev-qt/qtmultimedia/files/qtmultimedia-6.8.0-gst-x11-wayland-detect.patch b/dev-qt/qtmultimedia/files/qtmultimedia-6.8.0-gst-x11-wayland-detect.patch new file mode 100644 index 000000000000..dab821a3bdb3 --- /dev/null +++ b/dev-qt/qtmultimedia/files/qtmultimedia-6.8.0-gst-x11-wayland-detect.patch @@ -0,0 +1,19 @@ +Temporary workaround while waiting for upstream's fix. + +https://bugreports.qt.io/browse/QTBUG-127484 +--- a/cmake/FindGStreamer.cmake ++++ b/cmake/FindGStreamer.cmake +@@ -163,5 +163,5 @@ + HEADER gst/gl/x11/gstgldisplay_x11.h + LIBRARY gstgl-1.0 +- DEPENDENCIES GStreamer::Video GStreamer::Base GStreamer::Core GStreamer::Gl XCB::XCB ) ++ DEPENDENCIES GStreamer::Video GStreamer::Base GStreamer::Core GStreamer::Gl ) + endif() + +@@ -171,5 +171,5 @@ + HEADER gst/gl/wayland/gstgldisplay_wayland.h + LIBRARY gstgl-1.0 +- DEPENDENCIES GStreamer::Video GStreamer::Base GStreamer::Core GStreamer::Gl Wayland::Client ) ++ DEPENDENCIES GStreamer::Video GStreamer::Base GStreamer::Core GStreamer::Gl ) + endif() + diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild index 5c1df1f65c0e..59aa5849582b 100644 --- a/dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild +++ b/dev-qt/qtmultimedia/qtmultimedia-6.8.9999.ebuild @@ -11,15 +11,22 @@ 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 v4l vaapi vulkan" +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 ) - vaapi? ( ffmpeg opengl ) + 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? ( @@ -37,8 +44,12 @@ RDEPEND=" gstreamer? ( dev-libs/glib:2 media-libs/gst-plugins-bad:1.0 - media-libs/gst-plugins-base:1.0[X=,opengl?] + 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 ) @@ -46,6 +57,10 @@ RDEPEND=" ~dev-qt/qtdeclarative-${PV}:6 ~dev-qt/qtquick3d-${PV}:6 ) + screencast? ( + ~dev-qt/qtbase-${PV}:6[dbus] + media-video/pipewire + ) " DEPEND=" ${RDEPEND} @@ -73,6 +88,10 @@ CMAKE_SKIP_TESTS=( tst_qwindowcapturebackend ) +PATCHES=( + "${FILESDIR}"/${PN}-6.8.0-gst-x11-wayland-detect.patch +) + src_configure() { # normally passed by the build system, but needed for 32-on-64 chroots use x86 && append-cppflags -DPFFFT_SIMD_DISABLE @@ -81,8 +100,15 @@ src_configure() { $(cmake_use_find_package qml Qt6Qml) $(qt_feature ffmpeg) $(qt_feature gstreamer) - $(usev gstreamer $(qt_feature opengl gstreamer_gl)) + $(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 diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild index 5c1df1f65c0e..59aa5849582b 100644 --- a/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild +++ b/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild @@ -11,15 +11,22 @@ 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 v4l vaapi vulkan" +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 ) - vaapi? ( ffmpeg opengl ) + 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? ( @@ -37,8 +44,12 @@ RDEPEND=" gstreamer? ( dev-libs/glib:2 media-libs/gst-plugins-bad:1.0 - media-libs/gst-plugins-base:1.0[X=,opengl?] + 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 ) @@ -46,6 +57,10 @@ RDEPEND=" ~dev-qt/qtdeclarative-${PV}:6 ~dev-qt/qtquick3d-${PV}:6 ) + screencast? ( + ~dev-qt/qtbase-${PV}:6[dbus] + media-video/pipewire + ) " DEPEND=" ${RDEPEND} @@ -73,6 +88,10 @@ CMAKE_SKIP_TESTS=( tst_qwindowcapturebackend ) +PATCHES=( + "${FILESDIR}"/${PN}-6.8.0-gst-x11-wayland-detect.patch +) + src_configure() { # normally passed by the build system, but needed for 32-on-64 chroots use x86 && append-cppflags -DPFFFT_SIMD_DISABLE @@ -81,8 +100,15 @@ src_configure() { $(cmake_use_find_package qml Qt6Qml) $(qt_feature ffmpeg) $(qt_feature gstreamer) - $(usev gstreamer $(qt_feature opengl gstreamer_gl)) + $(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