# Maintainer: Antonio Rojas # Maintainer: Felix Yan # Contributor: Andrea Scarpino # ALARM: Kevin Mihelich # - explicitly link v5/v6 with libatomic pkgbase=qt6-doc pkgname=(qt6-doc qt6-examples) _qtver=6.1.0 pkgver=${_qtver/-/} pkgrel=1 arch=('any') url='https://www.qt.io' license=(GPL3 LGPL3 FDL custom) makedepends=(cmake mariadb-libs unixodbc postgresql alsa-lib gst-plugins-base-libs gtk3 libpulse cups freetds vulkan-headers clang python llvm qt6-tools) groups=(qt6) _pkgfn="qt-everywhere-src-$_qtver" source=(https://download.qt.io/official_releases/qt/${pkgver%.*}/$_qtver/single/$_pkgfn.tar.xz qt6-doc-bindir.patch::https://code.qt.io/cgit/qt/qtbase.git/patch/?id=582fdf06) sha256sums=('326a710b08b0973bb4f5306a786548d8b8dd656db75ce9f3f85ea32680d3c88a' '7ab018729ae933f7f4ba0a4783f8f66277c681aa9dd7657ecdf011120b56bda1') prepare() { patch -d $_pkgfn/qtbase -p1 -i ../../qt6-doc-bindir.patch # Use installed tools } build() { [[ $CARCH == "arm" || $CARCH == "armv6h" ]] && echo "target_link_libraries(Core PRIVATE atomic)" >> ${_pkgfn}/qtbase/src/corelib/CMakeLists.txt cmake -B build -S $_pkgfn \ -DCMAKE_INSTALL_PREFIX=/usr \ -DQT_HOST_PATH=/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_journald=ON \ -DQT_FEATURE_openssl_linked=ON cmake --build build --target docs } package_qt6-doc() { pkgdesc='A cross-platform application and UI framework (Documentation)' DESTDIR="$pkgdir" cmake --build build --target install_docs install -Dm644 $_pkgfn/LICENSE* -t "$pkgdir"/usr/share/licenses/$pkgbase } package_qt6-examples() { pkgdesc='Examples and demos from qt6 documentation' depends=('qt6-doc') _base="$pkgdir"/usr/share/doc/qt6/examples # The various example dirs have conflicting .pro files, but # QtCreator requires them to be in the same top-level directory. # Matching the Qt5 installer, only the qtbase project is kept. mkdir -p $_base cp ${_pkgfn}/qtbase/examples/examples.pro $_base _fdirs=$(find "${_pkgfn}" -maxdepth 2 -type d -name examples) for _dir in $_fdirs; do _mod=$(basename ${_dir%/examples}) if [ -e "$_dir/README" ]; then cp $_dir/README $_dir/README.$_mod fi # mkdir $_base/$_mod cp -rn $_dir/* $_base done }