# Maintainer: Stephan Springer # Contributor: Antonio Rojas # Contributor: Felix Yan # Contributor: Andrea Scarpino pkgname=qt6-base-headless _qtver=6.2.3 pkgver=${_qtver/-/} pkgrel=1 arch=(x86_64) url='https://www.qt.io' license=(GPL3 LGPL3 FDL custom) pkgdesc='A cross-platform application and UI framework - headless build, no QtGui or QtWidgets' depends=(sqlite double-conversion brotli libb2) makedepends=(cmake ninja mariadb-libs unixodbc postgresql xmlstarlet systemd) optdepends=('postgresql-libs: PostgreSQL driver' 'mariadb-libs: MariaDB driver' 'md4c: C Markdown parser' 'unixodbc: ODBC driver' 'shared-mime-info: Freedesktop.org Shared MIME Info') groups=(qt6) conflicts=(qt6-base) provides=(qt6-base) options=(debug) _pkgfn="qtbase-everywhere-src-$_qtver" source=(https://download.qt.io/official_releases/qt/${pkgver%.*}/$_qtver/submodules/$_pkgfn.tar.xz qmake-cflags.patch qmake-config.patch) sha256sums=('34d6d0072e197241463c417ad72610c3d44e2efd6062868e9a95283103d75df4' '5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78' '4abc22150fa3e06b2fdcec32146abc9be4e316692aa4d5bd5aa53b4b726783fa') prepare() { patch -d $_pkgfn -p1 < qmake-cflags.patch # Use system CFLAGS patch -d $_pkgfn -p1 < qmake-config.patch # Don't strip binaries with qmake and use -ltcg, cf. QTBUG-73834 } build() { cmake -B build -S "$_pkgfn" -G Ninja \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DINSTALL_BINDIR=lib/qt6/bin \ -DINSTALL_PUBLICBINDIR=usr/bin \ -DINSTALL_LIBEXECDIR=lib/qt6 \ -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 \ -DQT_FEATURE_system_sqlite=ON \ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \ \ -DQT_FEATURE_gui=OFF \ -DQT_FEATURE_widgets=OFF \ -DQT_FEATURE_freetype=OFF \ -DQT_FEATURE_harfbuzz=OFF cmake --build build } package() { optdepends+=(qt6-translations Translations) DESTDIR="$pkgdir" cmake --install build install -Dm644 $_pkgfn/LICENSE* -t "$pkgdir"/usr/share/licenses/$pkgbase # Install symlinks for user-facing tools cd "$pkgdir" mkdir usr/bin while read _line; do ln -s $_line done < "$srcdir"/build/user_facing_tool_links.txt }