diff options
Diffstat (limited to 'dev-qt')
| -rw-r--r-- | dev-qt/qtmultimedia/Manifest | 1 | ||||
| -rw-r--r-- | dev-qt/qtmultimedia/qtmultimedia-6.10.1.ebuild | 151 |
2 files changed, 152 insertions, 0 deletions
diff --git a/dev-qt/qtmultimedia/Manifest b/dev-qt/qtmultimedia/Manifest index 4c399d5a9b7d..7bf540c550d9 100644 --- a/dev-qt/qtmultimedia/Manifest +++ b/dev-qt/qtmultimedia/Manifest @@ -1,4 +1,5 @@ DIST qtmultimedia-5.15.18-gentoo-kde-1.tar.xz 1492 BLAKE2B 34ca71385153f3acf3d59797a7071838e6e8f9b0d119cf095e8d12724c485c55c4fc905cdaec4774a1279745af55dee1236ace0e702ed3e61395a21ff40cf6a7 SHA512 86acbce6620ec8242db9b76ba41692afca5a081f994038335a1419788a986e39a93116459ceeeb6835a4076d67b8fe777da54d62efd376623a937e4504431c86 DIST qtmultimedia-everywhere-opensource-src-5.15.18.tar.xz 3810252 BLAKE2B 4c69ae7d07b9d0edfadbaf5e51585c267466aba3e64a4841f768534bf87360144d987eddfa036baaab40066420aaf82bd081054bc4204244ec0b2ab6d2cb0724 SHA512 edebe73911c82ef5671602f895dd1cddcc39b8afb29267be54921848713344d531e49f4cbcfb9a57b095c4e736a9100c245290391102ddccdb08997057a12bd8 DIST qtmultimedia-everywhere-src-6.10.0.tar.xz 9873144 BLAKE2B 4efb768cbfa1b987d8c96c2c2f76d8ba5c585f8ff8c6f11a940861153d4b242c00d0ea2004c6465f8c7f2fad504d2408e6ca2b805e17cd0869bb3d69389d1974 SHA512 2b67d53fd004b5c2a98893253f21f47f980b08ee34d868b9acd5935211363e70e6fe189c950a8ce9dff752572b6b3055942aacf561523545b16cd105a7eb29fa +DIST qtmultimedia-everywhere-src-6.10.1.tar.xz 9923496 BLAKE2B a8a182036cf194116d12da6d391321288a3983a96f8429e9db7d3bed6e7f6fd4d78a1d7898fd799ef6863a5b0d5374a0834db5cc975a6bd59e3a8ecb32efb45f SHA512 282b052b8ff00ac649e73d199a8e3894306ea21a9d1b72b20c86f7cf20211839982a81989d30d5fc37bb669fff53bb4b4d0caea4cd0a58aa7585f389141496d7 DIST qtmultimedia-everywhere-src-6.9.3.tar.xz 9771140 BLAKE2B 8d71033bc22500a6254c6c709535db9ed2008fc2712c57a0e62efcac9a07c1563eb607467d709c9ea61705cea8a488fb8a9f7bc2de7b80a536d9a4a938f9f590 SHA512 086cb84d345054d4d262de3824044101fb30d1309cc80e917db4d696a38ca8f1aa0ecde2bb8b4a343f49454acdbf52802e38cf684a087bfdfe9b35d901fde55a diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.10.1.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.10.1.ebuild new file mode 100644 index 000000000000..b2433dac2439 --- /dev/null +++ b/dev-qt/qtmultimedia/qtmultimedia-6.10.1.ebuild @@ -0,0 +1,151 @@ +# 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 +) + +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 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 +} |
