From 957cfb861b2bec8b7f91e1b960f9392e8923424a Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Wed, 9 Dec 2020 15:17:49 +0000 Subject: [PATCH] added extra/qt6-doc --- extra/qt6-doc/PKGBUILD | 75 ++++++++++++++++++++++++++++++ extra/qt6-doc/qt6-doc-bindir.patch | 18 +++++++ 2 files changed, 93 insertions(+) create mode 100644 extra/qt6-doc/PKGBUILD create mode 100644 extra/qt6-doc/qt6-doc-bindir.patch diff --git a/extra/qt6-doc/PKGBUILD b/extra/qt6-doc/PKGBUILD new file mode 100644 index 000000000..67588fc29 --- /dev/null +++ b/extra/qt6-doc/PKGBUILD @@ -0,0 +1,75 @@ +# 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.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) +sha256sums=('d39a1a557a0dc8dc5ea2eaaee0fa015c71dcbb79c25a6aea421c594227565296' + '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 +} diff --git a/extra/qt6-doc/qt6-doc-bindir.patch b/extra/qt6-doc/qt6-doc-bindir.patch new file mode 100644 index 000000000..ebd74ed9a --- /dev/null +++ b/extra/qt6-doc/qt6-doc-bindir.patch @@ -0,0 +1,18 @@ +diff --git a/cmake/QtDocsHelpers.cmake b/cmake/QtDocsHelpers.cmake +index 8e4bd28918..963114e1ec 100644 +--- a/cmake/QtDocsHelpers.cmake ++++ b/cmake/QtDocsHelpers.cmake +@@ -31,12 +31,7 @@ function(qt_internal_add_docs) + return() + endif() + +- if(QT_SUPERBUILD) +- set(doc_tools_dir "${QtBase_BINARY_DIR}/${INSTALL_BINDIR}") +- else() +- set(doc_tools_dir "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}/${INSTALL_BINDIR}") +- endif() +- ++ set(doc_tools_dir "/usr/lib/qt6/bin") + set(qdoc_bin "${doc_tools_dir}/qdoc${CMAKE_EXECUTABLE_SUFFIX}") + set(qtattributionsscanner_bin "${doc_tools_dir}/qtattributionsscanner${CMAKE_EXECUTABLE_SUFFIX}") + set(qhelpgenerator_bin "${doc_tools_dir}/qhelpgenerator${CMAKE_EXECUTABLE_SUFFIX}")