# Maintainer: Felix Yan # Contributor: Andrea Scarpino # Contributor: Michael Hansen # ALARM: Kevin Mihelich # - skip qtwebengine on v5 pkgbase=qt5-doc pkgname=(qt5-doc qt5-examples) _qtver=5.15.2 pkgver=${_qtver/-/} pkgrel=2 arch=('any') url='https://www.qt.io' license=('GPL3' 'LGPL3' 'FDL' 'custom') makedepends=('qt5-tools' 'python' 'pciutils' 'libxtst' 'libxcursor' 'libxrandr' 'libxss' 'libxcomposite' 'gperf' 'nss' 'clang') groups=('qt' 'qt5') _pkgfqn="qt-everywhere-src-${_qtver}" source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/single/${_pkgfqn}.tar.xz" https://invent.kde.org/qt/qt/qtbase/-/commit/8252ef5f.patch https://invent.kde.org/qt/qt/qtbase/-/commit/cb2da673.patch qt5-webengine-python3.patch) sha256sums=('3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240' '8ab742b991ed5c43e8da4b1ce1982fd38fe611aaac3d57ee37728b59932b518a' '33304570431c0dd3becc22f3f0911ccfc781a1ce6c7926c3acb08278cd2e60c3' '54de45621463a7c07f87482fbcbb9eacbc60d840bb69b34bc6c776d1df720453') prepare() { cd ${_pkgfqn} ln -s /usr/bin qttools/ ln -s /usr/bin/{rcc,uic,moc} qtbase/bin/ patch -d qtbase -p1 < "$srcdir"/8252ef5f.patch # Fix build with GCC 11 patch -d qtbase -p1 < "$srcdir"/cb2da673.patch patch -d qtwebengine -p1 < "$srcdir"/qt5-webengine-python3.patch # Fix build with Python 3 } build() { cd ${_pkgfqn} [[ $CARCH == "arm" ]] && CONFIG="-skip qtwebengine" ./configure -confirm-license -opensource \ -prefix /usr \ -docdir /usr/share/doc/qt \ -headerdir /usr/include/qt \ -archdatadir /usr/lib/qt \ -datadir /usr/share/qt \ -sysconfdir /etc/xdg \ -nomake examples $CONFIG make docs } package_qt5-doc() { pkgdesc='A cross-platform application and UI framework (Documentation)' depends=('qt5-base') cd ${_pkgfqn} make INSTALL_ROOT="$pkgdir" install_docs install -d "$pkgdir"/usr/share/licenses ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname} } package_qt5-examples() { pkgdesc='Examples and demos from qt5 documentation' depends=('qt5-doc') _base="$pkgdir"/usr/share/doc/qt/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 ${_pkgfqn}/qtbase/examples/examples.pro $_base _fdirs=$(find "${_pkgfqn}" -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 }