#!/usr/bin/env bash name='qt6-base' release='2' version='6.7.0' url='https://qt.io/developers/' description='A cross-platform application and UI framework' email='brkt8khn@gmail.com' maintainer='brkt8khn' license=('GPL3' 'LGPL3' 'FDL' 'custom') source=("https://download.qt.io/archive/qt/${version%.*}/${version}/submodules/qtbase-everywhere-src-${version}.tar.xz") #source=("https://invent.kde.org/qt/qt/qtbase/-/archive/v${version}/qtbase-v${version}.tar.gz") depends=(sqlite libX11 fontconfig mesa harfbuzz libXi openssl double-conversion libproxy xcb-util-cursor xcb-util-wm xcb-util-keysyms) makedepends=(vulkan-headers) sha256sums=('11b2e29e2e52fb0e3b453ea13bbe51a10fdff36e1c192d8868c5a40233b8b254') group=(dev.qt) uses=() arch=('x86_64') dontstrip="31" cd "qtbase-everywhere-src-"$version setup () { cmake -B build -G Ninja -Wno-dev \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \ -DINSTALL_BINDIR=bin/qt6 \ -DINSTALL_PUBLICBINDIR=usr/bin/qt6 \ -DINSTALL_DOCDIR=share/doc/qt6 \ -DINSTALL_ARCHDATADIR=lib64/qt6 \ -DINSTALL_DATADIR=share/qt6 \ -DINSTALL_INCLUDEDIR=include/qt6 \ -DINSTALL_MKSPECSDIR=lib64/qt6/mkspecs \ -DINSTALL_EXAMPLESDIR=share/doc/qt6/examples \ -DQT_FEATURE_journald=OFF \ -DQT_FEATURE_opengles3=ON \ -DFEATURE_libproxy=ON \ -DFEATURE_openssl_linked=ON \ -DFEATURE_system_sqlite=ON \ -DFEATURE_system_xcb_xinput=ON \ -DFEATURE_no_direct_extern_access=ON \ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \ -DCMAKE_MESSAGE_LOG_LEVEL=STATUS \ -DQT_FEATURE_reduce_relocations=OFF \ -DQT_FEATURE_vulkan=ON \ -DQT_FEATURE_xcb=ON } build () { ninja -C build $jobs } package () { ninja -C build install $jobs install -d -m755 "$DESTDIR"/usr/include/qt6xcb-private/{gl_integrations,nativepainting} cp -r src/plugins/platforms/xcb/*.h "$DESTDIR"/usr/include/qt6xcb-private/ cp -r src/plugins/platforms/xcb/gl_integrations/*.h "$DESTDIR"/usr/include/qt6xcb-private/gl_integrations/ cp -r src/plugins/platforms/xcb/nativepainting/*.h "$DESTDIR"/usr/include/qt6xcb-private/nativepainting/ }