[Buildroot] [PATCH v3 1/1] package/qt6: add qt6 multimedia
Roy Kollen Svendsen
roykollensvendsen at gmail.com
Fri Jan 17 11:02:27 UTC 2025
Hi baxiche, Thomas,
I took a look at your patch again and did some changes.
https://patchwork.ozlabs.org/project/buildroot/list/?series=440774
Please review and test these changes.
Regards,
Roy
tir. 24. sep. 2024 kl. 22:43 skrev Roy Kollen Svendsen <
roykollensvendsen at gmail.com>:
> Hi baxiche,
>
> I also found some formatting errors:
>
> [roy at precision7530-arch-roy buildroot]$ ./utils/docker-run make
> check-package
> package/qt6/qt6multimedia/Config.in:8: help text: <tab><2 spaces><62
> chars> (https://nightly.buildroot.org/#writing-rules-config-in)
> package/qt6/qt6multimedia/Config.in:8: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:9: help text: <tab><2 spaces><62
> chars> (https://nightly.buildroot.org/#writing-rules-config-in)
> package/qt6/qt6multimedia/Config.in:9: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:10: help text: <tab><2 spaces><62
> chars> (https://nightly.buildroot.org/#writing-rules-config-in)
> package/qt6/qt6multimedia/Config.in:10: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:11: help text: <tab><2 spaces><62
> chars> (https://nightly.buildroot.org/#writing-rules-config-in)
> package/qt6/qt6multimedia/Config.in:11: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:12: help text: <tab><2 spaces><62
> chars> (https://nightly.buildroot.org/#writing-rules-config-in)
> package/qt6/qt6multimedia/Config.in:12: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:13: help text: <tab><2 spaces><62
> chars> (https://nightly.buildroot.org/#writing-rules-config-in)
> package/qt6/qt6multimedia/Config.in:13: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:14: help text: <tab><2 spaces><62
> chars> (https://nightly.buildroot.org/#writing-rules-config-in)
> package/qt6/qt6multimedia/Config.in:25: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:29: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:34: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:41: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:55: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:61: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:66: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:95: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:98: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:103: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:109: line contains trailing whitespace
> package/qt6/qt6multimedia/Config.in:114: line contains trailing whitespace
> package/qt6/qt6multimedia/qt6multimedia.mk:15: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:16: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:17: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:18: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:19: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:22: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:23: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:24: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:25: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:26: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:27: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:27: remove trailing backslash
> package/qt6/qt6multimedia/qt6multimedia.mk:30: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:31: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:34: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:35: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:36: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:37: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:38: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:39: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:40: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:41: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:42: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:43: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:44: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:45: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:46: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:47: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:48: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:49: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:65: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:66: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:67: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:68: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:70: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:71: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:72: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:73: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:74: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:75: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:76: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:77: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:78: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:83: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:84: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:85: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:85: line contains trailing
> whitespace
> package/qt6/qt6multimedia/qt6multimedia.mk:112: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:113: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:114: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:116: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:117: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:118: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:119: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:120: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:121: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:122: expected indent with tabs
> package/qt6/qt6multimedia/qt6multimedia.mk:123: expected indent with tabs
>
> 426759 lines processed
> 83 warnings generated
> make: *** [Makefile:1263: check-package] Error 1
>
> tir. 24. sep. 2024 kl. 22:34 skrev Roy Kollen Svendsen <
> roykollensvendsen at gmail.com>:
>
>> Hi baxiche,
>>
>> I did some testing.
>>
>> The buildfailed when i tried to enable everything except for alsa:
>>
>> >>> qt6multimedia 6.7.2 Configuring
>> (mkdir -p
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2//buildroot-build
>> && cd
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2//buildroot-build
>> && rm -f CMakeCache.txt &&
>> PATH="/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/bin:/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/sbin:/home/roy/.cargo/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/home/roy/.local/share/flatpak/exports/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/opt/depot_tools:/home/roy/.gem/ruby/3.0.0/bin:/home/roy/.local/bin"
>> /usr/bin/cmake
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/
>> -G"Ninja"
>> -DCMAKE_MAKE_PROGRAM="/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/bin/ninja"
>> -DCMAKE_TOOLCHAIN_FILE="/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/share/buildroot/toolchainfile.cmake"
>> -DCMAKE_INSTALL_PREFIX="/usr" -DCMAKE_INSTALL_RUNSTATEDIR="/run"
>> -DCMAKE_COLOR_MAKEFILE=OFF -DBUILD_DOC=OFF -DBUILD_DOCS=OFF
>> -DBUILD_EXAMPLE=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TEST=OFF -DBUILD_TESTS=OFF
>> -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON
>> -DQT_HOST_PATH=/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host
>> -DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_TESTS=OFF -DFEATURE_alsa=OFF
>> -DFEATURE_ffmpeg=OFF -DFEATURE_gstreamer=OFF -DFEATURE_gstreamer_1_0=OFF
>> -DFEATURE_gstreamer_app=OFF -DFEATURE_gstreamer_gl=OFF
>> -DFEATURE_gstreamer_photography=OFF -DFEATURE_linux_dmabuf=OFF
>> -DFEATURE_linux_v4l=OFF -DFEATURE_pulseaudio=OFF -DFEATURE_spatialaudio=OFF
>> -DFEATURE_spatialaudio_quick3d=OFF -DFEATURE_vaapi=OFF -DFEATURE_ffmpeg=ON
>> -DFEATURE_gstreamer=ON -DFEATURE_gstreamer_1_0=ON
>> -DFEATURE_gstreamer_app=ON -DFEATURE_linux_dmabuf=ON
>> -DFEATURE_linux_v4l=ON -DFEATURE_pulseaudio=ON -DFEATURE_spatialaudio=ON
>> -DFEATURE_vaapi=ON )
>> -- The CXX compiler identification is GNU 13.3.0
>> -- The C compiler identification is GNU 13.3.0
>> -- Detecting CXX compiler ABI info
>> -- Detecting CXX compiler ABI info - done
>> -- Check for working CXX compiler:
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/bin/aarch64-buildroot-linux-gnu-g++
>> - skipped
>> -- Detecting CXX compile features
>> -- Detecting CXX compile features - done
>> -- Detecting C compiler ABI info
>> -- Detecting C compiler ABI info - done
>> -- Check for working C compiler:
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/bin/aarch64-buildroot-linux-gnu-gcc
>> - skipped
>> -- Detecting C compile features
>> -- Detecting C compile features - done
>> -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
>> -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
>> -- Found Threads: TRUE
>> -- Performing Test HAVE_STDATOMIC
>> -- Performing Test HAVE_STDATOMIC - Success
>> -- Found WrapAtomic: TRUE
>> -- Performing Test HAVE_EGL
>> -- Performing Test HAVE_EGL - Success
>> -- Found EGL:
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include
>> (found version "1.5")
>> -- Performing Test HAVE_GLESv2
>> -- Performing Test HAVE_GLESv2 - Success
>> CMake Warning at
>> src/plugins/multimedia/ffmpeg/cmake/QtAddFFmpegStubs.cmake:38 (message):
>> QT_FEATURE_vaapi is ON but FFmpeg includes VAAPI and dynamic symbols
>> resolve is enabled.
>> Call Stack (most recent call first):
>> src/plugins/multimedia/ffmpeg/cmake/QtAddFFmpegStubs.cmake:182
>> (qt_internal_multimedia_check_ffmpeg_stubs_configuration)
>> src/plugins/multimedia/ffmpeg/CMakeLists.txt:95
>> (qt_internal_multimedia_add_ffmpeg_stubs)
>>
>>
>>
>> -- Configuration summary shown below. It has also been written to
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/config.summary
>> -- Configure with --log-level=STATUS or higher to increase CMake's
>> message verbosity. The log level does not persist across reconfigurations.
>>
>> -- Configure summary:
>>
>> Qt Multimedia:
>> Spatial Audio .......................... yes
>> Spatial Audio (Quick3D) ................ no
>> Low level Audio Backend:
>> ALSA (experimental) .................. no
>> PulseAudio ........................... yes
>> MMRenderer ........................... no
>> CoreAudio ............................ no
>> Windows Media SDK .................... no
>> Open SLES (Android) .................. no
>> Web Assembly ......................... no
>> Plugin:
>> GStreamer 1.0 ........................ yes
>> FFmpeg ............................... yes
>> MMRenderer ........................... no
>> AVFoundation ......................... no
>> Windows Media Foundation ............. no
>> Hardware acceleration and features:
>> Video for Linux ...................... yes
>> VAAPI support ........................ yes
>> Linux DMA buffer support ............. yes
>> VideoToolbox ......................... no
>>
>>
>> -- Configuring done (3.7s)
>> -- Generating done (0.2s)
>> CMake Warning:
>> Manually-specified variables were not used by the project:
>>
>> BUILD_DOC
>> BUILD_DOCS
>> BUILD_EXAMPLE
>> BUILD_EXAMPLES
>> BUILD_TEST
>> BUILD_TESTS
>> CMAKE_COLOR_MAKEFILE
>>
>>
>> -- Build files have been written to:
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build
>> >>> qt6multimedia 6.7.2 Building
>> GIT_DIR=.
>> PATH="/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/bin:/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/sbin:/home/roy/.cargo/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/home/roy/.local/share/flatpak/exports/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/opt/depot_tools:/home/roy/.gem/ruby/3.0.0/bin:/home/roy/.local/bin"
>> /usr/bin/cmake --build
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2//buildroot-build
>> -j13
>> [77/204] Building CXX object
>> src/multimedia/CMakeFiles/Multimedia.dir/pulseaudio/qpulseaudiosource.cpp.o
>> FAILED:
>> src/multimedia/CMakeFiles/Multimedia.dir/pulseaudio/qpulseaudiosource.cpp.o
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/bin/aarch64-buildroot-linux-gnu-g++
>> --sysroot=/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot
>> -DMultimedia_EXPORTS -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT
>> -DQT_BUILD_MULTIMEDIA_LIB -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS
>> -DQT_DISABLE_DEPRECATED_UP_TO=0x050000
>> -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_GUI_LIB -DQT_MOC_COMPAT
>> -DQT_NETWORK_LIB -DQT_NO_AS_CONST -DQT_NO_AS_CONST=1 -DQT_NO_CAST_TO_ASCII
>> -DQT_NO_CONTEXTLESS_CONNECT=1 -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS
>> -DQT_NO_FOREACH -DQT_NO_FOREACH=1 -DQT_NO_JAVA_STYLE_ITERATORS
>> -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QEXCHANGE
>> -DQT_USE_QSTRINGBUILDER -DQT_WARN_DEPRECATED_UP_TO=0x070000
>> -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/src/multimedia/Multimedia_autogen/include
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/include
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/include/QtMultimedia
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/src/multimedia
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/audio
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/camera
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/controls
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/platform
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/playback
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/recording
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/video
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/include/QtMultimedia/6.7.2
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/include/QtMultimedia/6.7.2/QtMultimedia
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/pulseaudio
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtCore
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/mkspecs/linux-g++
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtGui
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtNetwork
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtCore/6.7.2
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtCore/6.7.2/QtCore
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtGui/6.7.2
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtGui/6.7.2/QtGui
>> -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0
>> -D_FORTIFY_SOURCE=1 -DNDEBUG -O2 -std=c++17 -fPIC -fvisibility=hidden
>> -fvisibility-inlines-hidden -Wall -Wextra -fno-exceptions
>> -Wsuggest-override -MD -MT
>> src/multimedia/CMakeFiles/Multimedia.dir/pulseaudio/qpulseaudiosource.cpp.o
>> -MF
>> src/multimedia/CMakeFiles/Multimedia.dir/pulseaudio/qpulseaudiosource.cpp.o.d
>> -o
>> src/multimedia/CMakeFiles/Multimedia.dir/pulseaudio/qpulseaudiosource.cpp.o
>> -c
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/pulseaudio/qpulseaudiosource.cpp
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/pulseaudio/qpulseaudiosource.cpp:566:10:
>> fatal error: moc_qpulseaudiosource_p.cpp: Ingen slik fil eller filkatalog
>> 566 | #include "moc_qpulseaudiosource_p.cpp"
>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> compilation terminated.
>> [78/204] Building CXX object
>> src/multimedia/CMakeFiles/Multimedia.dir/pulseaudio/qpulseaudiosink.cpp.o
>> FAILED:
>> src/multimedia/CMakeFiles/Multimedia.dir/pulseaudio/qpulseaudiosink.cpp.o
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/bin/aarch64-buildroot-linux-gnu-g++
>> --sysroot=/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot
>> -DMultimedia_EXPORTS -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT
>> -DQT_BUILD_MULTIMEDIA_LIB -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS
>> -DQT_DISABLE_DEPRECATED_UP_TO=0x050000
>> -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_GUI_LIB -DQT_MOC_COMPAT
>> -DQT_NETWORK_LIB -DQT_NO_AS_CONST -DQT_NO_AS_CONST=1 -DQT_NO_CAST_TO_ASCII
>> -DQT_NO_CONTEXTLESS_CONNECT=1 -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS
>> -DQT_NO_FOREACH -DQT_NO_FOREACH=1 -DQT_NO_JAVA_STYLE_ITERATORS
>> -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QEXCHANGE
>> -DQT_USE_QSTRINGBUILDER -DQT_WARN_DEPRECATED_UP_TO=0x070000
>> -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/src/multimedia/Multimedia_autogen/include
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/include
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/include/QtMultimedia
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/src/multimedia
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/audio
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/camera
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/controls
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/platform
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/playback
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/recording
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/video
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/include/QtMultimedia/6.7.2
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/buildroot-build/include/QtMultimedia/6.7.2/QtMultimedia
>> -I/home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/pulseaudio
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtCore
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/mkspecs/linux-g++
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtGui
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtNetwork
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtCore/6.7.2
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtCore/6.7.2/QtCore
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtGui/6.7.2
>> -isystem
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/QtGui/6.7.2/QtGui
>> -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g0
>> -D_FORTIFY_SOURCE=1 -DNDEBUG -O2 -std=c++17 -fPIC -fvisibility=hidden
>> -fvisibility-inlines-hidden -Wall -Wextra -fno-exceptions
>> -Wsuggest-override -MD -MT
>> src/multimedia/CMakeFiles/Multimedia.dir/pulseaudio/qpulseaudiosink.cpp.o
>> -MF
>> src/multimedia/CMakeFiles/Multimedia.dir/pulseaudio/qpulseaudiosink.cpp.o.d
>> -o
>> src/multimedia/CMakeFiles/Multimedia.dir/pulseaudio/qpulseaudiosink.cpp.o
>> -c
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/pulseaudio/qpulseaudiosink.cpp
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/src/multimedia/pulseaudio/qpulseaudiosink.cpp:749:10:
>> fatal error: moc_qpulseaudiosink_p.cpp: Ingen slik fil eller filkatalog
>> 749 | #include "moc_qpulseaudiosink_p.cpp"
>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> compilation terminated.
>> [89/203] Building CXX object
>> src/multimedia/CMakeFiles/Multimedia.dir/pulseaudio/qaudioengine_pulse.cpp.o
>> ninja: build stopped: subcommand failed.
>> make[2]: *** [package/pkg-generic.mk:289:
>> /home/roy/hymatek/connexi-touchpanel-firmware/ex7xxm/output/build/qt6multimedia-6.7.2/.stamp_built]
>> Error 1
>> make[1]: *** [Makefile:83: _all] Error 2
>> make[1]: Leaving directory
>> '/home/roy/hymatek/connexi-touchpanel-firmware/buildroot'
>> make: *** [Makefile:86: ex7xxm/qt6multimedia-reconfigure] Error 2
>>
>> søn. 22. sep. 2024 kl. 11:21 skrev Roy Kollen Svendsen <
>> roykollensvendsen at gmail.com>:
>>
>>> Hi Baxiche, Hi Thomas,
>>>
>>> Baxiche, good to see you are working on getting this module upstream!
>>> I'll do some testing and dig deeper into the details later.
>>>
>>> I'm a but unsure about the non-qt dependencies, especially the kernel
>>> feature dependencies.
>>>
>>> You can also probably drop more of the license information, that does
>>> not apply to things that don't end up on target.
>>>
>>> I think it would be nice to be able to enable the examples for testing.
>>> The same goes for the other Qt6 packages. Have you looked into that?
>>>
>>> What do you think about adding options to enable the tests, Thomas?
>>>
>>> But until I get the time to do some testing and checking, here are some
>>> things I noticed while reading through your patch:
>>>
>>> fre. 20. sep. 2024 kl. 18:06 skrev baxiche su <baxiche at gmail.com>:
>>>
>>>> Signed-off-by: baxiche su <baxiche at gmail.com>
>>>> ---
>>>> DEVELOPERS | 3 +
>>>> package/qt6/Config.in | 1 +
>>>> package/qt6/qt6multimedia/Config.in | 117 ++++++++++++++++
>>>> package/qt6/qt6multimedia/qt6multimedia.hash | 26 ++++
>>>> package/qt6/qt6multimedia/qt6multimedia.mk | 137 +++++++++++++++++++
>>>> 5 files changed, 284 insertions(+)
>>>> create mode 100644 package/qt6/qt6multimedia/Config.in
>>>> create mode 100644 package/qt6/qt6multimedia/qt6multimedia.hash
>>>> create mode 100644 package/qt6/qt6multimedia/qt6multimedia.mk
>>>>
>>>> diff --git a/DEVELOPERS b/DEVELOPERS
>>>> index ea4ee3377f..5b6f60444d 100644
>>>> --- a/DEVELOPERS
>>>> +++ b/DEVELOPERS
>>>> @@ -343,6 +343,9 @@ F: package/tcpdump/
>>>> F: package/ti-uim/
>>>> F: package/uhubctl/
>>>>
>>>> +N: Baxiche Su <baxiche at gmail.com>
>>>> +F: package/qt6/qt6multimedia
>>>>
>>>
>>> The common pattern is to use a slash at the end of a directory entry:
>>>
>>> package/qt6/qt6multimedia/
>>>
>>>
>>>> +
>>>> N: Ben Boeckel <mathstuf at gmail.com>
>>>> F: package/taskd/
>>>>
>>>> diff --git a/package/qt6/Config.in b/package/qt6/Config.in
>>>> index 4cbb60322c..debf4f4733 100644
>>>> --- a/package/qt6/Config.in
>>>> +++ b/package/qt6/Config.in
>>>> @@ -48,6 +48,7 @@ source "package/qt6/qt6core5compat/Config.in"
>>>> source "package/qt6/qt6declarative/Config.in"
>>>> source "package/qt6/qt6languageserver/Config.in"
>>>> source "package/qt6/qt6mqtt/Config.in"
>>>> +source "package/qt6/qt6multimedia/Config.in"
>>>> source "package/qt6/qt6opcua/Config.in"
>>>> source "package/qt6/qt6scxml/Config.in"
>>>> source "package/qt6/qt6serialbus/Config.in"
>>>> diff --git a/package/qt6/qt6multimedia/Config.in
>>>> b/package/qt6/qt6multimedia/Config.in
>>>> new file mode 100644
>>>> index 0000000000..1aebef840d
>>>> --- /dev/null
>>>> +++ b/package/qt6/qt6multimedia/Config.in
>>>> @@ -0,0 +1,117 @@
>>>> +config BR2_PACKAGE_QT6MULTIMEDIA
>>>> + bool "qt6multimedia"
>>>> + select BR2_PACKAGE_QT6BASE_GUI
>>>> + select BR2_PACKAGE_QT6BASE_NETWORK
>>>> + select BR2_PACKAGE_QT6SHADERTOOLS
>>>> +
>>>> + help
>>>> + Qt Multimedia is an add-on module that provides
>>>> + a rich set of QML types and C++ classes to handle
>>>> + multimedia content. It contains an easy to use API
>>>> + for playing back audio and video files and rendering
>>>> + those on screen, as well as a comprehensive API for
>>>> + recording audio and video from the system's cameras
>>>> + and microphones.
>>>>
>>>
>>> You wrap the help text at 62 characters i think. I think it is better to
>>> wrap it at 62 + 2 + tab(8 chars). See manual.
>>>
>>>> +
>>>> + https://doc.qt.io/qt-6/qtmultimedia-index.html
>>>> +
>>>> +if BR2_PACKAGE_QT6MULTIMEDIA
>>>> +
>>>> +comment "alsa support requires disabling pulseaudio"
>>>> + depends on BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO
>>>> +
>>>> +config BR2_PACKAGE_QT6MULTIMEDIA_ALSA
>>>> + bool "alsa support"
>>>> + # qt6-multimedia audio backend requires selection
>>>> + # of either PulseAudio or ALSA.
>>>>
>>>
>>> Maybe this could be reflected in a choice instead?
>>>
>>>
>>>> + depends on !BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO
>>>> + select BR2_PACKAGE_ALSA_LIB
>>>> + help
>>>> + This option select Alsa as audio backend.
>>>> +
>>>> +config BR2_PACKAGE_QT6MULTIMEDIA_FFMPEG
>>>> + bool "ffmpeg plugin"
>>>>
>>>
>>> Does it make sense to make this a choice between ffmpeg and gstreamer
>>> instead?
>>>
>>>
>>>> + # qt6-multimedia ffmpeg plugin needs
>>>> + # qt6base-concurrent, PulseAudio and ffmpeg-swcale.
>>>>
>>>
>>> I think this comment just repeats the info bellow. Can we drop it?
>>>
>>>
>>>> + select BR2_PACKAGE_QT6BASE_CONCURRENT
>>>> + select BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO
>>>> + select BR2_PACKAGE_FFMPEG
>>>> + select BR2_PACKAGE_FFMPEG_SWSCALE
>>>> + select BR2_PACKAGE_PULSEAUDIO
>>>>
>>>
>>> I also like when the select statements are sorted alphabetically. Have
>>> you ordered them this way intentionally?
>>>
>>>
>>>> + help
>>>> + This option enables ffmpeg media backend
>>>> +
>>>> +if BR2_PACKAGE_QT6MULTIMEDIA_FFMPEG
>>>> +
>>>> +comment "VAAPI support needs Linux DMA buffer feature"
>>>> + depends on !BR2_PACKAGE_QT6MULTIMEDIA_LINUX_DMA_BUF
>>>> +
>>>>
>>>
>>>
>>>> +config BR2_PACKAGE_QT6MULTIMEDIA_VAAPI
>>>> + bool "vaapi support"
>>>> + depends on BR2_PACKAGE_QT6MULTIMEDIA_LINUX_DMA_BUF
>>>>
>>> + select BR2_PACKAGE_LIBVA
>>>> + # ffmpeg-vaapi support needs qt6base-opengl
>>>> + select BR2_PACKAGE_QT6BASE_OPENGL
>>>> + help
>>>> + This option enables the vaapi support.
>>>> +endif
>>>> +
>>>> +config BR2_PACKAGE_QT6MULTIMEDIA_GSTREAMER
>>>> + bool "gstreamer plugin"
>>>> + # gstreamer 1.x and gst-plugins-base-app are required
>>>> + # for gstreamer support in qt6-multimedia
>>>> + select BR2_PACKAGE_GSTREAMER1
>>>> + select BR2_PACKAGE_GST1_PLUGINS_BASE
>>>> + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP
>>>> + help
>>>> + This option enables gstreamer media backend
>>>> +
>>>> +if BR2_PACKAGE_QT6MULTIMEDIA_GSTREAMER
>>>> +
>>>> +comment "GStreamer OpenGL support needs an OpenGL-capable backend"
>>>> + depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES
>>>> +
>>>> +config BR2_PACKAGE_QT6MULTIMEDIA_GST1_PLUGINS_OPENGL
>>>> + bool "opengl support"
>>>> + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES
>>>> + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL
>>>> + help
>>>> + This option enables gstreamer-opengl support
>>>> +
>>>> +config BR2_PACKAGE_QT6MULTIMEDIA_GST1_PLUGINS_PHOTOGRAPHY
>>>> + bool "photography support"
>>>> + select BR2_PACKAGE_GST1_PLUGINS_BAD
>>>> + help
>>>> + This option enables gstreamer-photography support
>>>> +
>>>> +endif
>>>> +
>>>> +comment "Linux DMA buffer support needs DMA buffer feature of libgbm"
>>>> + depends on !BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
>>>> +
>>>> +config BR2_PACKAGE_QT6MULTIMEDIA_LINUX_DMA_BUF
>>>> + bool "linux dma buffer support"
>>>> + depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
>>>>
>>> + # qt6 configure script needs EGL to check
>>>> + # for linux dma buffer support
>>>> + depends on BR2_PACKAGE_HAS_LIBEGL
>>>> + help
>>>> + This option enables the linux dma buffer support
>>>> +
>>>> +config BR2_PACKAGE_QT6MULTIMEDIA_LINUX_V4L
>>>> + bool "v4l support"
>>>> + help
>>>> + This option enables the video for linux support
>>>> +
>>>> +config BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO
>>>>
>>> + bool "pulseaudio support"
>>>> + select BR2_PACKAGE_PULSEAUDIO
>>>> + help
>>>> + This option select PulseAudio as audio backend.
>>>> +
>>>> +config BR2_PACKAGE_QT6MULTIMEDIA_SPATIALAUDIO
>>>> + bool "spatial audio module"
>>>> + help
>>>> + This option enables the Qt6SpatialAudio library.
>>>> +
>>>> +endif
>>>> diff --git a/package/qt6/qt6multimedia/qt6multimedia.hash
>>>> b/package/qt6/qt6multimedia/qt6multimedia.hash
>>>> new file mode 100644
>>>> index 0000000000..b63aedc1d9
>>>> --- /dev/null
>>>> +++ b/package/qt6/qt6multimedia/qt6multimedia.hash
>>>> @@ -0,0 +1,26 @@
>>>> +# Hash from:
>>>> https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtmultimedia-everywhere-src-6.7.2.tar.xz.sha256
>>>> +sha256
>>>> <https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtmultimedia-everywhere-src-6.7.2.tar.xz.sha256+sha256>
>>>> 8ef835115acb9a1d3d2c9f23cfacb43f2c537e3786a8ab822299a2a7765651d3
>>>> qtmultimedia-everywhere-src-6.7.2.tar.xz
>>>> +
>>>> +# Hashes for license files
>>>> +sha256
>>>> f32fb3b417a194167cfad068223fc975ba96c5960513a10f66a3c28720aec1df
>>>> LICENSES/BSD-2-Clause.txt
>>>> +sha256
>>>> 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce
>>>> LICENSES/BSD-3-Clause.txt
>>>> +sha256
>>>> 1f1b677d26ab73e159a55c3a914cf12d888e18a9d0d469fedab4aa6e5a48b1c0
>>>> LICENSES/BSD-Source-Code.txt
>>>> +sha256
>>>> 84c6ef3ea9e3254a54d0acf5d3e0c61ae011b8fef7dd6940591cf060e6380a8f
>>>> LICENSES/BSL-1.0.txt
>>>> +sha256
>>>> 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4
>>>> LICENSES/GFDL-1.3-no-invariants-only.txt
>>>> +sha256
>>>> 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643
>>>> LICENSES/GPL-2.0-only.txt
>>>> +sha256
>>>> 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903
>>>> LICENSES/GPL-3.0-only.txt
>>>> +sha256
>>>> 7658542977bfdced9e1059a6c934ce4281de76d103b831007b825917dc62511a
>>>> LICENSES/IJG.txt
>>>> +sha256
>>>> f2ec607f67bb0dd3053b49835b02110d5cd0f8eb6da3aac4dc0b142a6b299be9
>>>> LICENSES/ISC.txt
>>>> +sha256
>>>> fa6f36630bb1e0c571d34b2bbdf188d08495c9dbf58f28cac112f303fc1f58fb
>>>> LICENSES/LGPL-2.1-or-later.txt
>>>> +sha256
>>>> da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768
>>>> LICENSES/LGPL-3.0-only.txt
>>>> +sha256
>>>> b85dcd3e453d05982552c52b5fc9e0bdd6d23c6f8e844b984a88af32570b0cc0
>>>> LICENSES/MIT.txt
>>>> +sha256
>>>> 66a3107d5ad6a058aab753eaac2047ccb2ed0e39465dd0fe5844da3e300d5172
>>>> LICENSES/MPL-2.0.txt
>>>> +sha256
>>>> 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2
>>>> LICENSES/Qt-GPL-exception-1.0.txt
>>>> +sha256
>>>> bfb1112d49db5b1daecdfef24bd7e2f3ea0bafb33aa67aa0ab51e2bf8407c03d
>>>> LICENSES/Zlib.txt
>>>> +sha256
>>>> 85da7c29c2d2f2e6b3116b1219584cb513474cab797b3312a779be4c2181e51e
>>>> src/3rdparty/eigen/COPYING.BSD
>>>> +sha256
>>>> fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85
>>>> src/3rdparty/eigen/COPYING.MPL2
>>>> +sha256
>>>> 8b69cf3ac3ddd34df478c4ae6eaacf5e6c63ea7ee6403c8dad97e4d1438bc3c4
>>>> src/3rdparty/eigen/COPYRIGHTS
>>>> +sha256
>>>> b522f821df94da3bad917e98ef04817b3af421c3b8c23e8247ae7e517b289934
>>>> src/3rdparty/pffft/COPYRIGHTS
>>>> +sha256
>>>> a46200592eb193853527250da098e6bb0c75424e7a2c7db8da526c4f301c3d88
>>>> src/3rdparty/pffft/LICENSE
>>>> +sha256
>>>> 2513c5ad87ce9e7feed2c9a159d336f0a0d12ff93adcd411f7a15a1ab678f7ac
>>>> src/3rdparty/resonance-audio/COPYRIGHTS
>>>> +sha256
>>>> cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30
>>>> src/3rdparty/resonance-audio/LICENSE
>>>> diff --git a/package/qt6/qt6multimedia/qt6multimedia.mk
>>>> b/package/qt6/qt6multimedia/qt6multimedia.mk
>>>> new file mode 100644
>>>> index 0000000000..ec81abc1de
>>>> --- /dev/null
>>>> +++ b/package/qt6/qt6multimedia/qt6multimedia.mk
>>>> @@ -0,0 +1,137 @@
>>>>
>>>> +################################################################################
>>>> +#
>>>> +# qt6multimedia
>>>> +#
>>>>
>>>> +################################################################################
>>>> +
>>>> +QT6MULTIMEDIA_VERSION = $(QT6_VERSION)
>>>> +QT6MULTIMEDIA_SITE = $(QT6_SITE)
>>>> +QT6MULTIMEDIA_SOURCE =
>>>> qtmultimedia-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6MULTIMEDIA_VERSION).tar.xz
>>>> +QT6MULTIMEDIA_INSTALL_STAGING = YES
>>>> +QT6MULTIMEDIA_SUPPORTS_IN_SOURCE_BUILD = NO
>>>> +QT6MULTIMEDIA_CMAKE_BACKEND = ninja
>>>> +
>>>> +QT6MULTIMEDIA_LICENSE = \
>>>> + BSD-3-Clause (buildsystem, examples, pfft, snippets), \
>>>> + GFDL-1.3-no-invariants (docs), \
>>>> + GPL-3.0 (tests), \
>>>> + GPL-3.0 with Qt-GPL-exception-1.0 (utils), \
>>>> + LGPL-3.0 or GPL-2.0 or GPL-3.0 (modules, plugins)
>>>> +
>>>> +QT6MULTIMEDIA_LICENSE_FILES = \
>>>> + LICENSES/BSD-3-Clause.txt \
>>>> + LICENSES/GFDL-1.3-no-invariants-only.txt \
>>>> + LICENSES/GPL-2.0-only.txt \
>>>> + LICENSES/GPL-3.0-only.txt \
>>>> + LICENSES/LGPL-3.0-only.txt \
>>>> + LICENSES/Qt-GPL-exception-1.0.txt \
>>>> +
>>>> +QT6MULTIMEDIA_DEPENDENCIES = \
>>>> + qt6base \
>>>> + qt6shadertools
>>>> +
>>>> +QT6MULTIMEDIA_CONF_OPTS = \
>>>> + -DQT_HOST_PATH=$(HOST_DIR) \
>>>> + -DQT_BUILD_EXAMPLES=OFF \
>>>> + -DQT_BUILD_TESTS=OFF \
>>>>
>>> + -DFEATURE_alsa=OFF \
>>>>
>>>
>>> I think is better to gather all code related to one option in one place.
>>> So this should be moved down into the ifeq-statement for alsa.
>>> The same goes for the other options.
>>>
>>> + -DFEATURE_ffmpeg=OFF \
>>>> + -DFEATURE_gstreamer=OFF \
>>>> + -DFEATURE_gstreamer_1_0=OFF \
>>>> + -DFEATURE_gstreamer_app=OFF \
>>>> + -DFEATURE_gstreamer_gl=OFF \
>>>> + -DFEATURE_gstreamer_photography=OFF \
>>>> + -DFEATURE_linux_dmabuf=OFF \
>>>> + -DFEATURE_linux_v4l=OFF \
>>>> + -DFEATURE_pulseaudio=OFF \
>>>> + -DFEATURE_spatialaudio=OFF \
>>>> + -DFEATURE_spatialaudio_quick3d=OFF \
>>>> + -DFEATURE_vaapi=OFF
>>>> +
>>>> +# for multimedia quick module
>>>> +ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y)
>>>> +QT6MULTIMEDIA_DEPENDENCIES += qt6declarative
>>>> +endif
>>>> +
>>>> +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_ALSA),y)
>>>> +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_alsa=ON
>>>> +QT6MULTIMEDIA_DEPENDENCIES += alsa-lib
>>>>
>>>
>>> Gather all code related to the alsa option here:
>>>
>>> else
>>> QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_alsa=OFF
>>>
>>>
>>>> +endif
>>>> +
>>>> +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_FFMPEG),y)
>>>> +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_ffmpeg=ON
>>>> +QT6MULTIMEDIA_DEPENDENCIES += ffmpeg
>>>> +QT6MULTIMEDIA_LICENSE += , \
>>>> + BSL-1.0 (ffmpeg-boost), \
>>>> + IJG (ffmpeg-libjpeg), \
>>>> + LGPL-2.1+ and BSD-3-Clause and BSD-2-Clause and BSD-Source-Code
>>>> and ISC and MIT and MPL-2.0 (ffmpeg), \
>>>> + Zlib (ffmpeg-zlib)
>>>> +QT6MULTIMEDIA_LICENSE_FILES += \
>>>> + LICENSES/BSD-2-Clause.txt \
>>>> + LICENSES/BSD-Source-Code.txt \
>>>> + LICENSES/BSL-1.0.txt \
>>>> + LICENSES/IJG.txt \
>>>> + LICENSES/ISC.txt \
>>>> + LICENSES/LGPL-2.1-or-later.txt \
>>>> + LICENSES/MIT.txt \
>>>> + LICENSES/MPL-2.0.txt \
>>>> + LICENSES/Zlib.txt
>>>> +endif
>>>> +
>>>> +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_GSTREAMER),y)
>>>> +QT6MULTIMEDIA_CONF_OPTS += \
>>>> + -DFEATURE_gstreamer=ON \
>>>> + -DFEATURE_gstreamer_1_0=ON \
>>>> + -DFEATURE_gstreamer_app=ON
>>>> +QT6MULTIMEDIA_DEPENDENCIES += gstreamer1 gst1-plugins-base
>>>> +endif
>>>> +
>>>> +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_GST_PLUGINS_PHOTOGRAPHY),y)
>>>> +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_gstreamer_photography=ON
>>>> +QT6MULTIMEDIA_DEPENDENCIES += gst1-plugins-bad
>>>> +endif
>>>> +
>>>> +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_LINUX_DMA_BUF),y)
>>>> +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_linux_dmabuf=ON
>>>> +QT6MULTIMEDIA_DEPENDENCIES += libgbm libegl
>>>> +endif
>>>> +
>>>> +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_LINUX_V4L),y)
>>>> +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_linux_v4l=ON
>>>> +QT6MULTIMEDIA_DEPENDENCIES += linux
>>>>
>>>
>>> I was probably wrong here in my last comment, I don't think the
>>> dependency on linux is necessary... I have no experience with dependencies
>>> on kernel config, so you should ask Thomas or someone else about how
>>> dependencies on linux config options are handled. Maybe this is relevant?:
>>>
>>> https://www.marcusfolkesson.se/til/buildroot-libfoo-linux-config-fixup/
>>>
>>>
>>>> +endif
>>>> +
>>>> +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_PULSEAUDIO),y)
>>>> +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_pulseaudio=ON
>>>> +QT6MULTIMEDIA_DEPENDENCIES += pulseaudio
>>>> +endif
>>>> +
>>>> +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_SPATIALAUDIO),y)
>>>> +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_spatialaudio=ON
>>>> +QT6MULTIMEDIA_LICENSE += , \
>>>> + Apache-2.0 (resonance-audio, eigen), \
>>>> + LGPL-3.0 or GPL-3.0 (resonance-audio, spatialaudio,
>>>> spatialaudioquick3d), \
>>>> + MPL-2.0 and BSD-3-Clause (eigen)
>>>> +QT6MULTIMEDIA_LICENSE_FILES += \
>>>> + LICENSES/MPL-2.0.txt \
>>>> + src/3rdparty/eigen/COPYING.BSD \
>>>> + src/3rdparty/eigen/COPYING.MPL2 \
>>>> + src/3rdparty/eigen/COPYRIGHTS \
>>>> + src/3rdparty/pffft/COPYRIGHTS \
>>>> + src/3rdparty/pffft/LICENSE \
>>>> + src/3rdparty/resonance-audio/COPYRIGHTS \
>>>> + src/3rdparty/resonance-audio/LICENSE
>>>> +
>>>> +# for spatialaudio quick3d module
>>>> +ifeq ($(BR2_PACKAGE_QT6QUICK3D),y)
>>>> +QT6MULTIMEDIA_DEPENDENCIES += qt6quick3d
>>>> +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_spatialaudio_quick3d=ON
>>>> +endif
>>>> +endif
>>>> +
>>>> +ifeq ($(BR2_PACKAGE_QT6MULTIMEDIA_VAAPI),y)
>>>> +QT6MULTIMEDIA_CONF_OPTS += -DFEATURE_vaapi=ON
>>>> +QT6MULTIMEDIA_DEPENDENCIES += libva
>>>> +endif
>>>> +
>>>> +$(eval $(cmake-package))
>>>> --
>>>> 2.34.1
>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.buildroot.org/pipermail/buildroot/attachments/20250117/ffa126dc/attachment-0001.htm>
More information about the buildroot
mailing list