1SUMMARY="Classes for audio, video, radio and camera functionality" 2DESCRIPTION="Qt is a cross-platform application framework that is widely \ 3used for developing software with a graphical user interface, and also used \ 4for developing non-GUI programs such as command-line tools and consoles for \ 5servers." 6HOMEPAGE="https://qt.io/" 7COPYRIGHT="2015-2024 The Qt Company Ltd." 8LICENSE="GNU LGPL v2.1 9 GNU LGPL v3 10 GNU FDL v1" 11REVISION="1" 12QT_MIRROR_URI="https://qt-mirror.dannhauer.de/archive" 13SOURCE_URI="$QT_MIRROR_URI/qt/${portVersion%.*}/$portVersion/submodules/qtmultimedia-everywhere-src-$portVersion.tar.xz" 14CHECKSUM_SHA256="f394bae49e3d4ee6a3b0c9e1e5e31bb870cc04a4b44f4cda3615baf7bd078c70" 15SOURCE_DIR="qtmultimedia-everywhere-src-$portVersion" 16PATCHES="qt6_multimedia-$portVersion.patchset" 17 18ARCHITECTURES="all !x86_gcc2" 19SECONDARY_ARCHITECTURES="x86" 20 21PROVIDES=" 22 qt6_multimedia$secondaryArchSuffix = $portVersion compat >= 6 23 lib:libQt6Multimedia$secondaryArchSuffix = $portVersion compat >= 6 24 lib:libQt6MultimediaQuick$secondaryArchSuffix = $portVersion compat >= 6 25 lib:libQt6MultimediaWidgets$secondaryArchSuffix = $portVersion compat >= 6 26 lib:libQt6SpatialAudio$secondaryArchSuffix = $portVersion compat >= 6 27 " 28REQUIRES=" 29 haiku$secondaryArchSuffix 30 lib:libavcodec$secondaryArchSuffix 31 lib:libavformat$secondaryArchSuffix 32 lib:libgl$secondaryArchSuffix 33 lib:libintl$secondaryArchSuffix 34 lib:libopenal$secondaryArchSuffix 35 lib:libQt6Core$secondaryArchSuffix 36 lib:libQt6Gui$secondaryArchSuffix 37 lib:libQt6Qml$secondaryArchSuffix 38 lib:libQt6Quick$secondaryArchSuffix 39 lib:libQt6QmlModels$secondaryArchSuffix 40 lib:libQt6ShaderTools$secondaryArchSuffix 41 lib:libQt6Svg$secondaryArchSuffix 42 lib:libvulkan$secondaryArchSuffix 43 lib:libz$secondaryArchSuffix 44 " 45 46PROVIDES_devel=" 47 qt6_multimedia${secondaryArchSuffix}_devel = $portVersion compat >= 6 48 devel:libQt6Multimedia$secondaryArchSuffix = $portVersion compat >= 6 49 devel:libQt6MultimediaQuick$secondaryArchSuffix = $portVersion compat >= 6 50 devel:libQt6MultimediaWidgets$secondaryArchSuffix = $portVersion compat >= 6 51 devel:libQt6SpatialAudio$secondaryArchSuffix = $portVersion compat >= 6 52 devel:libQt6BundledResonanceAudio$secondaryArchSuffix = $portVersion compat >= 6 53 " 54REQUIRES_devel=" 55 qt6_multimedia$secondaryArchSuffix == $portVersion base 56 qt6_base${secondaryArchSuffix}_devel 57 devel:libopenal$secondaryArchSuffix 58 " 59 60BUILD_REQUIRES=" 61 haiku${secondaryArchSuffix}_devel 62 devel:libcrypto$secondaryArchSuffix 63 devel:libavcodec$secondaryArchSuffix >= 59 64 devel:libgl$secondaryArchSuffix 65 devel:libopenal$secondaryArchSuffix 66 devel:libQt6Core$secondaryArchSuffix 67 devel:libQt6Gui$secondaryArchSuffix 68 devel:libQt6Qml$secondaryArchSuffix 69 devel:libQt6QmlModels$secondaryArchSuffix 70 devel:libQt6Quick$secondaryArchSuffix 71 devel:libQt6ShaderTools$secondaryArchSuffix 72 devel:libQt6Svg$secondaryArchSuffix 73 devel:libssl$secondaryArchSuffix 74 devel:libvulkan$secondaryArchSuffix 75 devel:libz$secondaryArchSuffix 76 " 77BUILD_PREREQUIRES=" 78 cmd:awk 79 cmd:cmake 80 cmd:find 81 cmd:g++$secondaryArchSuffix 82 cmd:ld$secondaryArchSuffix 83 cmd:make 84 cmd:ninja 85 cmd:perl 86 cmd:pkg_config$secondaryArchSuffix 87 cmd:python3 88 cmd:sed 89 cmd:xargs 90 " 91 92BUILD() 93{ 94 export DISABLE_ASLR=1 95 96 # disable simd code for x86_gcc2 97 if [ $targetArchitecture == x86_gcc2 ]; then 98 sed -i -e 's|//#define PFFFT_SIMD_DISABLE|#define PFFFT_SIMD_DISABLE|' src/3rdparty/pffft/pffft.c 99 fi 100 101 cmake -B build -S $sourceDir -G Ninja \ 102 -DCMAKE_BUILD_TYPE=Release \ 103 -DCMAKE_CXX_FLAGS=-fPIC \ 104 -DFEATURE_linux_dmabuf=OFF 105 106 find -name cmake_install.cmake -exec sed -i "s|set(CMAKE_INSTALL_PREFIX.*|set(CMAKE_INSTALL_PREFIX \"$prefix\")|" {} \; 107 108 ninja -v -C build $jobArgs 109} 110 111INSTALL() 112{ 113 ninja -C build install 114 115 prepareInstalledDevelLibs \ 116 libQt6Multimedia \ 117 libQt6MultimediaQuick \ 118 libQt6MultimediaWidgets \ 119 libQt6SpatialAudio \ 120 libQt6BundledResonanceAudio 121 122 # fix pkgconfig files 123 fixPkgconfig 124 sed -i "s|includedir=.*|includedir=$includeDir/Qt6|" \ 125 $developLibDir/pkgconfig/*.pc 126 127 cd $libDir 128 for i in lib*.so.6.*;do 129 ln -fs $i $(echo $i | cut -f1,2 -d.) 130 done 131 132 packageEntries devel \ 133 $developDir \ 134 $libDir/cmake \ 135 $dataDir/Qt6/mkspecs 136} 137