mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
155 lines
4.5 KiB
Bash
155 lines
4.5 KiB
Bash
# Maintainer: Antonio Rojas <arojas@archlinux.org>
|
|
# Maintainer: Felix Yan <felixonmars@archlinux.org>
|
|
# Contributor: Andrea Scarpino <andrea@archlinux.org>
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
# - disable ibase for now, FTBFS
|
|
# - removed -DFEATURE_no_direct_extern_access=ON
|
|
|
|
pkgbase=qt6-base
|
|
pkgname=(qt6-base
|
|
qt6-xcb-private-headers)
|
|
_qtver=6.7.0
|
|
pkgver=${_qtver/-/}
|
|
pkgrel=4
|
|
arch=(x86_64)
|
|
url='https://www.qt.io'
|
|
license=(GPL3 LGPL3 FDL custom)
|
|
pkgdesc='A cross-platform application and UI framework'
|
|
depends=(brotli
|
|
dbus
|
|
double-conversion
|
|
fontconfig
|
|
freetype2
|
|
gcc-libs
|
|
glib2
|
|
glibc
|
|
harfbuzz
|
|
icu
|
|
krb5
|
|
libb2
|
|
libcups
|
|
libdrm
|
|
libgl
|
|
libice
|
|
libinput
|
|
libjpeg-turbo
|
|
libpng
|
|
libproxy
|
|
libsm
|
|
libx11
|
|
libxcb
|
|
libxkbcommon
|
|
libxkbcommon-x11
|
|
md4c
|
|
mesa
|
|
mtdev
|
|
openssl
|
|
pcre2
|
|
shared-mime-info
|
|
sqlite
|
|
systemd-libs
|
|
tslib
|
|
vulkan-headers
|
|
xcb-util-cursor
|
|
xcb-util-image
|
|
xcb-util-keysyms
|
|
xcb-util-renderutil
|
|
xcb-util-wm
|
|
xdg-utils
|
|
zlib
|
|
zstd)
|
|
makedepends=(alsa-lib
|
|
cmake
|
|
cups
|
|
freetds
|
|
git
|
|
gst-plugins-base-libs
|
|
gtk3
|
|
libfbclient
|
|
libpulse
|
|
mariadb-libs
|
|
ninja
|
|
postgresql
|
|
unixodbc
|
|
xmlstarlet)
|
|
optdepends=('freetds: MS SQL driver'
|
|
'gdk-pixbuf2: GTK platform plugin'
|
|
'gtk3: GTK platform plugin'
|
|
'libfbclient: Firebird/iBase driver'
|
|
'mariadb-libs: MariaDB driver'
|
|
'pango: GTK platform plugin'
|
|
'perl: for syncqt'
|
|
'postgresql-libs: PostgreSQL driver'
|
|
'qt6-wayland: to run Qt6 applications in a Wayland session'
|
|
'unixodbc: ODBC driver')
|
|
groups=(qt6)
|
|
_pkgfn=${pkgbase/6-/}
|
|
source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver
|
|
qt6-base-cflags.patch
|
|
qt6-base-nostrip.patch
|
|
fix-wrong-cpp-if.patch::https://code.qt.io/cgit/qt/qtbase.git/patch/?id=68102202)
|
|
sha256sums=('ee87abbfdf2d5bb204056bcb6c53e21c03e1abd779e3669faa56db7249c5e39e'
|
|
'5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78'
|
|
'4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094'
|
|
'81c4821fb1c258603474771a267d450aa8b5d1d298443bc04620d70719c7eab7')
|
|
|
|
prepare() {
|
|
patch -d $_pkgfn -p1 < qt6-base-cflags.patch # Use system CFLAGS
|
|
patch -d $_pkgfn -p1 < qt6-base-nostrip.patch # Don't strip binaries with qmake
|
|
patch -d $_pkgfn -p1 < fix-wrong-cpp-if.patch # https://bugreports.qt.io/browse/QTBUG-123937
|
|
cd $_pkgfn
|
|
git cherry-pick -n 7c4e1357e49baebdd2d20710fccb5604cbb36c0d # CVE-2024-33861
|
|
}
|
|
|
|
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 \
|
|
-DFEATURE_journald=ON \
|
|
-DFEATURE_libproxy=ON \
|
|
-DFEATURE_openssl_linked=ON \
|
|
-DFEATURE_system_sqlite=ON \
|
|
-DFEATURE_system_xcb_xinput=ON \
|
|
-DQT_FEATURE_sql_ibase=OFF \
|
|
-DCMAKE_MESSAGE_LOG_LEVEL=STATUS
|
|
cmake --build build
|
|
}
|
|
|
|
package_qt6-base() {
|
|
pkgdesc='A cross-platform application and UI framework'
|
|
depends+=(qt6-translations)
|
|
DESTDIR="$pkgdir" cmake --install build
|
|
|
|
install -Dm644 $_pkgfn/LICENSES/* -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
|
|
}
|
|
|
|
package_qt6-xcb-private-headers() {
|
|
pkgdesc='Private headers for Qt6 Xcb'
|
|
|
|
depends=("qt6-base=$pkgver")
|
|
optdepends=()
|
|
groups=()
|
|
|
|
cd $_pkgfn
|
|
install -d -m755 "$pkgdir"/usr/include/qt6xcb-private/{gl_integrations,nativepainting}
|
|
cp -r src/plugins/platforms/xcb/*.h "$pkgdir"/usr/include/qt6xcb-private/
|
|
cp -r src/plugins/platforms/xcb/gl_integrations/*.h "$pkgdir"/usr/include/qt6xcb-private/gl_integrations/
|
|
cp -r src/plugins/platforms/xcb/nativepainting/*.h "$pkgdir"/usr/include/qt6xcb-private/nativepainting/
|
|
}
|