# 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.0.2 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) sha256sums=('67a076640647783b95a907d2231e4f34cec69be5ed338c1c1b33124cadf10bdf' '60eebdf88559fefdb2b7c65b5f4ec091942aa1ffa371bedb4080545383b46109') 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 \ -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 }