84 lines
3.1 KiB
Plaintext
84 lines
3.1 KiB
Plaintext
# Description: A cross-platform application and UI framework
|
|
# URL: https://www.qt.io/
|
|
# Maintainer: Tim Biermann, tbier at posteo dot de
|
|
# Depends on: at-spi2-core harfbuzz libb2 libtiff libxkbcommon mesa xorg-xcb-util-cursor xorg-xcb-util-keysyms xorg-xcb-util-wm
|
|
# Optional: brotli cups double-conversion gtk3 icu krb5 libinput libproxy mariadb md4c pipewire postgresql pulseaudio tslib unixodbc xdg-utils xmlstarlet vulkan-headers
|
|
|
|
name=qt6-base
|
|
version=6.7.0
|
|
release=2
|
|
source=(https://download.qt.io/official_releases/qt/${version%.*}/$version/submodules/qtbase-everywhere-src-$version.tar.xz
|
|
qt6-base-cflags.patch
|
|
qt6-base-nostrip.patch
|
|
fix-qeventlooplocker-regression.patch
|
|
icu.patch
|
|
ifdef.patch)
|
|
|
|
build() {
|
|
patch -d qtbase-everywhere-src-$version -p1 -i $SRC/qt6-base-cflags.patch
|
|
patch -d qtbase-everywhere-src-$version -p1 -i $SRC/qt6-base-nostrip.patch
|
|
patch -d qtbase-everywhere-src-$version -p1 -i $SRC/ifdef.patch
|
|
patch -d qtbase-everywhere-src-$version -p1 -i $SRC/fix-qeventlooplocker-regression.patch
|
|
patch -d qtbase-everywhere-src-$version -p1 -i $SRC/icu.patch
|
|
|
|
if prt-get isinst ccache; then
|
|
PKGMK_QT6+=' -D QT_USE_CCACHE=ON'
|
|
PATH="$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')"
|
|
fi
|
|
|
|
if [[ -e /usr/include/xkbcommon/xkbcommon-x11.h ]]; then
|
|
PKGMK_QT6+=' -D QT_FEATURE_xcb=ON -D QT_FEATURE_xkbcommon_x11=ON'
|
|
else
|
|
PKGMK_QT6+=' -D QT_FEATURE_xcb=OFF -D QT_FEATURE_xkbcommon_x11=OFF'
|
|
printf '\e[33m%s\e[m\n' "
|
|
Your currently installed version of opt/libxkbcommon is not providing
|
|
support for the x11-platform.
|
|
This is not mandatory at this point, but depending on your needs, you may
|
|
want to install xorg/xkeyboard-config, rebuild opt/libxkbcommon and then
|
|
build opt/qt6-base again.
|
|
"
|
|
fi
|
|
|
|
cmake -S qtbase-everywhere-src-$version -B build -G Ninja $PKGMK_QT6 \
|
|
-D BUILD_SHARED_LIBS=ON \
|
|
-D CMAKE_INSTALL_PREFIX=/usr \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS -flto=auto" \
|
|
-D CMAKE_C_FLAGS_RELEASE="$CFLAGS -flto=auto" \
|
|
-D CMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
|
-D BUILD_WITH_PCH=OFF \
|
|
-D INSTALL_BINDIR=lib/qt6/bin \
|
|
-D INSTALL_PUBLICBINDIR=usr/bin \
|
|
-D INSTALL_LIBEXECDIR=lib/qt6 \
|
|
-D INSTALL_DOCDIR=share/doc/qt6 \
|
|
-D INSTALL_ARCHDATADIR=lib/qt6 \
|
|
-D INSTALL_DATADIR=share/qt6 \
|
|
-D INSTALL_INCLUDEDIR=include/qt6 \
|
|
-D INSTALL_MKSPECSDIR=lib/qt6/mkspecs \
|
|
-D INSTALL_PLUGINSDIR=lib/qt6/plugins \
|
|
-D INSTALL_QMLDIR=lib/qt6/qml \
|
|
-D INSTALL_SYSCONFDIR=/etc/xdg \
|
|
-D INSTALL_TRANSLATIONSDIR=share/qt6/translations \
|
|
-D INSTALL_EXAMPLESDIR=share/doc/qt6/examples \
|
|
-D QT_FEATURE_no_direct_extern_access=ON \
|
|
-D QT_FEATURE_openssl_linked=ON \
|
|
-D QT_FEATURE_system_sqlite=ON \
|
|
-D QT_BUILD_TESTS_BY_DEFAULT=OFF \
|
|
-D QT_FEATURE_reduce_relocations=OFF \
|
|
-D QT_FEATURE_androiddeployqt=OFF \
|
|
-D QT_FEATURE_rpath=OFF \
|
|
-Wno-dev
|
|
|
|
cmake --build build
|
|
DESTDIR=$PKG cmake --install build
|
|
|
|
rm -r $PKG/usr/share/doc
|
|
|
|
# Install useful symlinks
|
|
cd $PKG
|
|
mkdir -p usr/bin
|
|
while read -r _line; do
|
|
ln -sv $_line
|
|
done < $SRC/build/user_facing_tool_links.txt
|
|
}
|