Name: qt6-qtmultimedia Version: 6.10.3 Release: 1%{?dist} Summary: Qt6 - QtMultimedia component License: LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only URL: https://www.qt.io Source0: https://download.qt.io/official_releases/qt/6.10/%{version}/submodules/qtmultimedia-everywhere-src-%{version}.tar.xz BuildRequires: qt6-rpm-macros BuildRequires: cmake BuildRequires: ninja-build BuildRequires: gcc-c++ BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtbase-private-devel BuildRequires: qt6-qtdeclarative-devel BuildRequires: qt6-qtshadertools-devel BuildRequires: mesa-libEGL-devel BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(libva-drm) BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libswresample) BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(libpipewire-0.3) BuildRequires: alsa-lib-devel %description QtMultimedia is a Qt6 module providing camera, audio, and video capture/playback APIs -- the sixth package in the Wayland stack being built to unblock Spectacle, needed specifically because KF6Prison's PrisonScanner subcomponent (Spectacle's hard requirement for QR/ barcode scanning) is gated behind `if(TARGET Qt6::Multimedia AND TARGET ZXing::ZXing)`. Confirmed genuinely absent from this distro (unlike Qt6WaylandClient, which turned out to already be bundled inside qt6-qtbase-devel -- this one really does need building as a full Qt module from Qt's own official release tarball, matching qtwayland's build pattern via the real %%cmake_qt6 macro this distro's own qt6-rpm-macros package provides). Its own configure.cmake has a real native FFmpeg backend (qt_feature("ffmpeg", CONDITION ... AND (... OR QT_FEATURE_pipewire))) -- since real FFmpeg and real PipeWire are both already built earlier in this chain, camera/audio/video support routes entirely through those rather than needing GStreamer or its Qt-specific plugin glue. EGL, VAAPI (via libva/libva-drm), and Qt6ShaderTools (confirmed a real, separate Azure Linux package: qt6-qtshadertools-devel) round out the real hard deps found via qt_find_package()/pkg_check_modules() calls across configure.cmake and src/multimedia/, src/plugins/ multimedia/ffmpeg/ (the only two subdirectory CMakeLists.txt files with real find calls beyond top-level and configure.cmake -- verified via a full recursive scan; everything else is examples/tests/manual, which aren't built by default). %prep %autosetup -p1 -n qtmultimedia-everywhere-src-%{version} %build %cmake_qt6 -DFEATURE_ffmpeg=ON -DFEATURE_pipewire=ON -DFEATURE_alsa=ON -DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_TESTS=OFF %cmake_build %install %cmake_install %files %license LICENSES/* %{_qt6_libdir}/libQt6Multimedia.so.* %{_qt6_libdir}/libQt6MultimediaQuick.so.* %{_qt6_libdir}/libQt6MultimediaQuickPrivate.so.* %{_qt6_plugindir}/multimedia/ %{_qt6_qmldir}/QtMultimedia/ %{_qt6_includedir}/QtMultimedia/ %{_libdir}/cmake/Qt6Multimedia*/ %{_libdir}/pkgconfig/Qt6Multimedia*.pc %{_qt6_mkspecsdir}/modules/qt_lib_multimedia*.pri %changelog * Sun Aug 30 2026 Smech - 6.10.3-1 - Real upstream source (Qt's official release matching the exact qt6-qtbase version already on this distro, 6.10.3 -- same version- matching discipline established during the qtwayland investigation earlier this chain). Sixth package in the Wayland stack being built to unblock Spectacle, specifically for KF6Prison's PrisonScanner requirement. Steered toward the FFmpeg+PipeWire backend combo via explicit -DFEATURE_ffmpeg=ON -DFEATURE_pipewire=ON since both real dependencies are already built in this repo, avoiding the need to also wire up GStreamer's Qt Multimedia plugin glue. %%files is a first-pass estimate based on standard Qt6 module install conventions (matching the real paths already confirmed for Qt6WaylandClient/qtwaylandscanner during the earlier investigation); not yet verified against a real build log for this specific module -- expect a real-error correction round given the scale of this build.