jobextra/qt6-base/PKGBUILD

129 lines
5.1 KiB
Bash
Raw Permalink Normal View History

2022-03-20 13:34:07 +01:00
#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website : https://pozol.eu
2022-03-20 13:34:07 +01:00
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgbase=qt6-base
pkgname=(qt6-base qt6-xcb-private-headers)
_qtver=6.7.0
2022-03-20 13:34:07 +01:00
pkgver=${_qtver/-/}
2024-05-13 03:06:20 +02:00
pkgrel=07
2022-03-20 13:34:07 +01:00
url='https://www.qt.io'
2023-06-24 14:52:00 +02:00
pkgdesc='A cross-platform application and UI framework w/o systemd'
2023-10-12 21:17:42 +02: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 tslib vulkan-headers
xcb-util-cursor xcb-util-image xcb-util-keysyms xcb-util-renderutil
xcb-util-wm xdg-utils zlib)
makedepends=(alsa-lib cmake cups freetds gst-plugins-base-libs
gtk3 libfbclient libpulse mariadb-libs ninja
2024-04-04 15:54:22 +02:00
postgresql unixodbc xmlstarlet git)
2023-10-12 21:17:42 +02:00
optdepends=('freetds: MS SQL driver'
'gdk-pixbuf2: GTK platform plugin'
2022-03-20 13:34:07 +01:00
'gtk3: GTK platform plugin'
2023-10-12 21:17:42 +02: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')
2022-03-20 13:34:07 +01:00
groups=(qt6)
2022-03-25 18:36:52 +01:00
#options=(debug) # uncomment this to have qt6-base-debug produced
2024-04-04 15:54:22 +02:00
#_pkgfn=${pkgbase/6-/}-everywhere-src-$_qtver
#source=(https://download.qt.io/official_releases/qt/${pkgver%.*}/$_qtver/submodules/$_pkgfn.tar.xz
_pkgfn=${pkgbase/6-/}
source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver
2022-04-14 23:30:01 +02:00
qt6-base-cflags.patch
2024-04-04 15:54:22 +02:00
qt6-base-nostrip.patch
fix-wrong-cpp-if.patch::https://code.qt.io/cgit/qt/qtbase.git/patch/?id=68102202)
2024-02-17 09:09:38 +01:00
# qt-6.6.2-revert-ABI-break.patch::https://code.qt.io/cgit/qt/qtbase.git/patch/?id=fb92bb07)
2022-03-20 13:34:07 +01:00
prepare() {
2022-04-14 23:30:01 +02: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-04-04 15:54:22 +02:00
patch -d $_pkgfn -p1 < fix-wrong-cpp-if.patch # https://bugreports.qt.io/browse/QTBUG-123937
2024-05-13 03:06:20 +02:00
cd $_pkgfn
git cherry-pick -n 7c4e1357e49baebdd2d20710fccb5604cbb36c0d # CVE-2024-33861
git cherry-pick -n a8ef8ea55014546e0e835cd0eacf694919702a11 # https://bugreports.qt.io/browse/QTBUG-124386
git cherry-pick -n 062f701a11d2c46660f5c5edd73f245477918a47 # Fix dependencies in pc files
git cherry-pick -n 5ee9da89af7efe31ac45858bf1eb04e5155a3b50 # Fix dependencies in pc files
2022-03-20 13:34:07 +01:00
}
build() {
cmake -B build -S $_pkgfn -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
2023-10-12 21:17:42 +02:00
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
2022-03-20 13:34:07 +01:00
-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=OFF \
-DFEATURE_systemd=OFF \
2023-06-24 14:52:00 +02:00
-DFEATURE_libproxy=ON \
-DFEATURE_openssl_linked=ON \
-DFEATURE_system_sqlite=ON \
-DFEATURE_system_xcb_xinput=ON \
-DFEATURE_zstd=OFF \
2023-10-12 21:17:42 +02:00
-DFEATURE_no_direct_extern_access=ON \
-DFEATURE_IPv6_ifname=OFF \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
-DCMAKE_MESSAGE_LOG_LEVEL=STATUS
2022-03-25 18:36:52 +01:00
2022-03-20 13:34:07 +01:00
cmake --build build
}
package_qt6-base() {
pkgdesc='A cross-platform application and UI framework w/o systemd'
2022-03-20 13:34:07 +01:00
depends+=(qt6-translations)
DESTDIR="$pkgdir" cmake --install build
install -Dm644 $_pkgfn/LICENSES/* -t "$pkgdir"/usr/share/licenses/$pkgbase
2023-10-12 21:17:42 +02:00
2022-03-20 13:34:07 +01: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
}
package_qt6-xcb-private-headers() {
pkgdesc='Private headers for Qt6 Xcb w/o systemd'
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/
}
2023-03-16 20:51:23 +01:00
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
2022-03-20 13:34:07 +01:00
license=(GPL3 LGPL3 FDL custom)
2024-04-04 15:54:22 +02:00
sha256sums=(ee87abbfdf2d5bb204056bcb6c53e21c03e1abd779e3669faa56db7249c5e39e # qtbase
5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78 # qt6-base-cflags.patch
2024-04-04 15:54:22 +02:00
4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094 # qt6-base-nostrip.patch
81c4821fb1c258603474771a267d450aa8b5d1d298443bc04620d70719c7eab7) # fix-wrong-cpp-if.patch
2024-05-13 03:06:20 +02:00
## b13755f9aacc3f96794c7e28b9164d73f6f1f8739389ed2c97ed82e55138aff7 qt6-base-6.7.0-07-x86_64.pkg.tar.lz
## eadaa4f60b2d2f12aad193af1c87a4c416acec6b74a224b85284e3b6b1a5b49c qt6-xcb-private-headers-6.7.0-07-x86_64.pkg.tar.lz