PKGBUILDs/extra/qt6-base/PKGBUILD

157 lines
4.6 KiB
Bash
Raw Normal View History

2020-12-08 16:50:33 +00:00
# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
2021-05-28 16:23:40 +00:00
# - disable ibase for now, FTBFS
2023-04-12 23:10:05 +00:00
# - removed -DFEATURE_no_direct_extern_access=ON
2020-12-08 16:50:33 +00:00
2024-02-16 14:03:27 +00:00
pkgbase=qt6-base
2024-05-02 18:22:10 +00:00
pkgname=(qt6-base
qt6-xcb-private-headers)
2024-09-28 18:39:29 +00:00
pkgver=6.7.3
pkgrel=1
2020-12-08 16:50:33 +00:00
arch=(x86_64)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='A cross-platform application and UI framework'
2023-10-12 12:44:11 +00:00
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
2024-04-11 19:20:57 +00:00
git
2023-10-12 12:44:11 +00:00
gst-plugins-base-libs
gtk3
libfbclient
libpulse
mariadb-libs
ninja
postgresql
unixodbc
xmlstarlet)
optdepends=('freetds: MS SQL driver'
'gdk-pixbuf2: GTK platform plugin'
2020-12-08 16:50:33 +00:00
'gtk3: GTK platform plugin'
2023-10-12 12:44:11 +00:00
'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')
2020-12-08 16:50:33 +00:00
groups=(qt6)
2024-04-11 19:20:57 +00:00
_pkgfn=${pkgbase/6-/}
source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver
2022-04-13 00:20:08 +00:00
qt6-base-cflags.patch
2024-05-26 03:36:50 +00:00
qt6-base-nostrip.patch)
2024-09-28 18:39:29 +00:00
sha256sums=('3da3df07b4bbd6a963af0c975ab6ff18c8c0aa73454048b0318899362c4adab9'
2021-12-22 03:42:05 +00:00
'5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78'
2024-05-26 03:36:50 +00:00
'4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094')
2021-01-23 16:06:24 +00:00
prepare() {
2022-04-13 00:20:08 +00:00
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
2024-05-26 03:36:50 +00:00
2024-05-02 18:22:10 +00:00
cd $_pkgfn
2024-05-26 03:36:50 +00:00
git cherry-pick -n f05cf3f11f4e42e05d069b5d9249d4b9aff41ffe # Fix locale issues
2024-05-28 18:53:30 +00:00
git cherry-pick -n a8ef8ea55014546e0e835cd0eacf694919702a11 # https://bugreports.qt.io/browse/QTBUG-124386
2024-05-31 23:28:45 +00:00
git cherry-pick -n 062f701a11d2c46660f5c5edd73f245477918a47 # Fix dependencies in pc files
git cherry-pick -n 5ee9da89af7efe31ac45858bf1eb04e5155a3b50 # Fix dependencies in pc files
2024-08-24 10:29:15 +00:00
git cherry-pick -n 0f35729f2cb43f0eb94e2a8d5e2d478a2c6a5007 # Fix potential Plasma crashes
2021-01-23 16:06:24 +00:00
}
2020-12-08 16:50:33 +00:00
build() {
2021-10-01 13:05:05 +00:00
cmake -B build -S $_pkgfn -G Ninja \
2020-12-08 16:50:33 +00:00
-DCMAKE_INSTALL_PREFIX=/usr \
2022-01-31 18:14:47 +00:00
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
2020-12-08 16:50:33 +00:00
-DINSTALL_BINDIR=lib/qt6/bin \
2021-05-07 12:22:16 +00:00
-DINSTALL_PUBLICBINDIR=usr/bin \
2021-03-19 12:28:48 +00:00
-DINSTALL_LIBEXECDIR=lib/qt6 \
2020-12-08 16:50:33 +00:00
-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 \
2023-04-12 14:49:27 +00:00
-DFEATURE_journald=ON \
2023-06-24 03:13:21 +00:00
-DFEATURE_libproxy=ON \
2023-04-12 14:49:27 +00:00
-DFEATURE_openssl_linked=ON \
-DFEATURE_system_sqlite=ON \
-DFEATURE_system_xcb_xinput=ON \
2021-10-01 13:05:05 +00:00
-DQT_FEATURE_sql_ibase=OFF \
2022-10-01 15:46:50 +00:00
-DCMAKE_MESSAGE_LOG_LEVEL=STATUS
2020-12-08 16:50:33 +00:00
cmake --build build
}
2024-02-16 14:03:27 +00:00
package_qt6-base() {
pkgdesc='A cross-platform application and UI framework'
2021-12-18 01:19:20 +00:00
depends+=(qt6-translations)
2020-12-08 16:50:33 +00:00
DESTDIR="$pkgdir" cmake --install build
2022-10-01 15:46:50 +00:00
install -Dm644 $_pkgfn/LICENSES/* -t "$pkgdir"/usr/share/licenses/$pkgbase
2020-12-08 16:50:33 +00:00
2021-05-07 12:22:16 +00:00
# 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
2020-12-08 16:50:33 +00:00
}
2024-02-16 14:03:27 +00:00
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/
}