diff options
Diffstat (limited to 'community/qt6-qtmultimedia/APKBUILD')
-rw-r--r-- | community/qt6-qtmultimedia/APKBUILD | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/community/qt6-qtmultimedia/APKBUILD b/community/qt6-qtmultimedia/APKBUILD new file mode 100644 index 00000000000..5244c1aa0d1 --- /dev/null +++ b/community/qt6-qtmultimedia/APKBUILD @@ -0,0 +1,98 @@ +# Contributor: Bart Ribbers <bribbers@disroot.org> +# Maintainer: Bart Ribbers <bribbers@disroot.org> + +# The group tag is just to easily find this APKBUILD by some scripts for automation +# group=qt6 +pkgname=qt6-qtmultimedia +pkgver=6.6.3 +pkgrel=0 +pkgdesc="Classes for audio, video, radio and camera functionality" +url="https://qt.io/" +arch="all" +license="LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0" +depends_dev=" + $pkgname-ffmpeg=$pkgver-r$pkgrel + $pkgname-gstreamer=$pkgver-r$pkgrel + alsa-lib-dev + ffmpeg-dev + gst-plugins-base-dev + gstreamer-dev + libva-glx-dev + pulseaudio-dev + qt6-qtbase-dev + qt6-qtdeclarative-dev + qt6-qtshadertools-dev + qt6-qtsvg-dev + " +makedepends="$depends_dev + cmake + perl + samurai + " +subpackages=" + $pkgname-dev + $pkgname-ffmpeg + $pkgname-gstreamer + " +builddir="$srcdir/qtmultimedia-everywhere-src-${pkgver/_/-}" + +case $pkgver in + *_alpha*|*_beta*|*_rc*) _rel=development_releases;; + *) _rel=official_releases;; +esac + +source="https://download.qt.io/$_rel/qt/${pkgver%.*}/${pkgver/_/-}/submodules/qtmultimedia-everywhere-src-${pkgver/_/-}.tar.xz + select.patch + " + +build() { + # alsa disabled due to build failure for now + # src/multimedia/platform/alsa/qalsaaudiosink.cpp:270:5: error: 'timeStamp' was not declared in this scope + export CFLAGS="$CFLAGS -g1 -flto=auto" + export CXXFLAGS="$CXXFLAGS -g1 -flto=auto" + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DINSTALL_BINDIR=lib/qt6/bin \ + -DINSTALL_DOCDIR=share/doc/qt6 \ + -DINSTALL_ARCHDATADIR=lib/qt6 \ + -DINSTALL_DATADIR=share/qt6 \ + -DINSTALL_INCLUDEDIR=include/qt6 \ + -DINSTALL_MKSPECSDIR=lib/qt6/mkspecs \ + -DINSTALL_EXAMPLESDIR=share/doc/qt6/examples \ + -DQT_FEATURE_alsa=OFF \ + -DQT_FEATURE_pulseaudio=ON + cmake --build build --parallel +} + +check() { + cd build + CTEST_OUTPUT_ON_FAILURE=TRUE ctest +} + +package() { + DESTDIR="$pkgdir" cmake --install build +} + +ffmpeg() { + pkgdesc="$pkgdesc (ffmpeg plugin)" + # autopull if main dep exists anyway + install_if="$pkgname=$pkgver-r$pkgrel ffmpeg-libavcodec" + + amove usr/lib/qt6/plugins/multimedia/libffmpegmediaplugin.so +} + +gstreamer() { + pkgdesc="$pkgdesc (gstreamer plugin)" + # unlike above, these deps are not that obvious. + # -base is pulled by e.g. gtk4 anyway, but practically nothing + # would use this unless people added good, etc. so use that + install_if="$pkgname=$pkgver-r$pkgrel gst-plugins-good" + + amove usr/lib/qt6/plugins/multimedia/libgstreamermediaplugin.so +} + +sha512sums=" +4cad4a7c248adba709f5fda91780151a1136bd7ebb3a249602e401c2e3ae5aceb57a3ddc3825079bfbdb0200af403ad5cf3aa252b2090102f5ab22122445dc02 qtmultimedia-everywhere-src-6.6.3.tar.xz +1777a0c30cfa9fbcdcc1cf44e95822c6521b3ba95fb7a49e01a11e8107f24c0850b18fe2ac88fb1c1f88dfc5c2ed4ef17e081ef4e5a3cfbf4fb28c715f3935c5 select.patch +" |