aboutsummaryrefslogtreecommitdiffstats
path: root/community/qt5-qtbase/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/qt5-qtbase/APKBUILD')
-rw-r--r--community/qt5-qtbase/APKBUILD134
1 files changed, 80 insertions, 54 deletions
diff --git a/community/qt5-qtbase/APKBUILD b/community/qt5-qtbase/APKBUILD
index 049b5452e20..12909e9218e 100644
--- a/community/qt5-qtbase/APKBUILD
+++ b/community/qt5-qtbase/APKBUILD
@@ -1,15 +1,18 @@
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=qt5-qtbase
-pkgver=5.15.3_git20210713
-pkgrel=0
-_commit="663d240a18f5acac82fd2bd0fd4a33c4f47b260a"
+pkgver=5.15.10_git20230714
+pkgrel=2
+_module="${pkgname#qt5-}"
+_pkgver=9815348dd2fdc8c0eac8abd6f6219a3c2e1978fa
+_fullname=$_module-$_pkgver
pkgdesc="Qt5 - QtBase components"
url="https://qt.io/developers/"
arch="all"
license="LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0"
-_sub="$pkgname-sqlite $pkgname-odbc $pkgname-postgresql $pkgname-mysql
- $pkgname-tds $pkgname-x11 $pkgname-dbg"
-depends="xdg-utils"
+_sub="$pkgname-sqlite $pkgname-odbc $pkgname-postgresql
+ $pkgname-mysql $pkgname-tds $pkgname-x11"
+# icu-data-full: see https://gitlab.alpinelinux.org/alpine/aports/-/issues/13814
+depends="icu-data-full"
depends_dev="$_sub
dbus-dev
fontconfig-dev
@@ -21,13 +24,13 @@ depends_dev="$_sub
libx11-dev
libxext-dev
mesa-dev
- openssl-dev
+ openssl-dev>3
perl
sqlite-dev
zlib-dev
"
makedepends="$depends_dev
- at-spi2-atk-dev
+ at-spi2-core-dev
bison
cups-dev
eudev-dev
@@ -35,11 +38,12 @@ makedepends="$depends_dev
freetds-dev
gawk
gperf
- gtk+2.0-dev
+ gtk+3.0-dev
hicolor-icon-theme
icu-dev
libinput-dev
libjpeg-turbo-dev
+ libpq-dev
libxi-dev
libxkbcommon-dev
libxrandr-dev
@@ -50,7 +54,6 @@ makedepends="$depends_dev
mariadb-dev
mtdev-dev
pcre2-dev
- postgresql-dev
unixodbc-dev
vulkan-headers
xcb-util-dev
@@ -58,22 +61,18 @@ makedepends="$depends_dev
xcb-util-keysyms-dev
xcb-util-renderutil-dev
xcb-util-wm-dev
+ xdg-utils
"
-subpackages="$pkgname-dev $pkgname-doc $_sub"
-provides="qtbase"
-builddir="$srcdir/qtbase-$_commit"
-
-# temp allow textrels on riscv64
-[ "$CARCH" = "riscv64" ] && options="$options textrels"
-
-case $pkgver in
- *_beta*|*_rc*) _rel=development_releases;;
- *) _rel=official_releases;;
-esac
-
-source="https://invent.kde.org/qt/qt/qtbase/-/archive/$_commit/qtbase-$_commit.tar.gz
+subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $_sub"
+source="https://dev.alpinelinux.org/archive/qt/$_fullname.tar.xz
+ egl-x11.patch
+ lfs64.patch
qt-musl-iconv-no-bom.patch
+ qt5-base-cflags.patch
+ qt5-base-nostrip.patch
+ fix-build-with-xkbcommon-160.patch
"
+builddir="$srcdir/$_fullname"
_qt5_prefix=/usr/lib/qt5
_qt5_datadir=/usr/share/qt5
@@ -83,14 +82,34 @@ case "$CTARGET_ARCH" in
*) _opengl="-opengl";;
esac
+case "$CTARGET_ARCH" in
+# XXX: these are meant to be runtime detected but still try to use sse4.1 on cpus without them
+x86) _no_sse3=-no-sse3 ;;
+*) _no_sse3= ;;
+esac
+
# secfixes:
+# 5.15.9_git20230505-r0:
+# - CVE-2023-32762
+# - CVE-2023-32763
# 5.15.0-r2:
# - CVE-2020-17507
+_disturl="dev.alpinelinux.org:/archive/qt/"
+snapshot() {
+ clean
+ makedepends="git xz rsync tar" deps
+ mkdir -p "$srcdir" && cd "$srcdir"
+ git clone --filter=tree:0 https://invent.kde.org/qt/qt/$_module.git .
+ git archive --format tar --prefix=$_fullname/ $_pkgver > "$SRCDEST"/$_fullname.tar
+ xz -vv -T0 -9 -e "$SRCDEST"/$_fullname.tar
+ rsync --progress -La "$SRCDEST"/$_fullname.tar.xz $_disturl
+}
+
prepare() {
default_prepare
- sed -i -e "s|-O2|$CXXFLAGS|" \
+ sed -i -e "s|-O3|$CXXFLAGS|" \
-e "/^QMAKE_RPATH/s| -Wl,-rpath,||g" \
-e "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" \
mkspecs/common/*.conf
@@ -127,7 +146,6 @@ build() {
-plugin-sql-tds \
-plugindir "$_qt5_prefix"/plugins \
-prefix /usr \
- -silent \
-sysconfdir /etc/xdg \
-system-libjpeg \
-system-libpng \
@@ -135,7 +153,10 @@ build() {
-system-sqlite \
-system-zlib \
-translationdir "$_qt5_datadir"/translations \
- -no-reduce-relocations
+ -no-reduce-relocations \
+ $_no_sse3
+ # significantly reduce debug symbol size
+ CFLAGS="$CFLAGS -g1" CXXFLAGS="$CXXFLAGS -g1" \
make
}
@@ -153,6 +174,7 @@ package() {
*) _dest="$pkgdir"/usr/bin/${_name%.*}-qt5;;
esac
ln -s ../lib/qt5/bin/"$_name" "$_dest"
+ ln -s ../lib/qt5/bin/"$_name" "$pkgdir"/usr/bin/$_name
done
# Drop QMAKE_PRL_BUILD_DIR because reference the build dir
@@ -160,23 +182,17 @@ package() {
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
}
-_mv_files() {
- local i
- for i; do
- mkdir -p "$subpkgdir"/${i%/*}
- mv "$pkgdir"/$i "$subpkgdir"/$i
- done
-}
-
dev() {
- cd "$pkgdir"
- _mv_files usr/lib/qt5/mkspecs \
+ provides="qtchooser=$pkgver-r$pkgrel"
+ replaces="qtchooser"
+ amove \
+ usr/lib/qt5/mkspecs \
usr/lib/cmake \
usr/lib/qt5/bin \
usr/bin
- find usr/ -name '*.prl' | while read -r i
- do
- _mv_files "$i"
+ cd "$pkgdir"
+ find usr/ -name '*.prl' | while read -r i; do
+ amove "$i"
done
default_dev
@@ -184,39 +200,44 @@ dev() {
sqlite() {
pkgdesc="SQLite driver for Qt5's SQL classes"
- cd "$pkgdir"
- _mv_files usr/lib/qt5/plugins/sqldrivers/libqsqlite*
+ depends=""
+
+ amove usr/lib/qt5/plugins/sqldrivers/libqsqlite*
}
odbc() {
pkgdesc="ODBC driver for Qt5's SQL classes"
- cd "$pkgdir"
- _mv_files usr/lib/qt5/plugins/sqldrivers/libqsqlodbc*
+ depends=""
+
+ amove usr/lib/qt5/plugins/sqldrivers/libqsqlodbc*
}
postgresql() {
pkgdesc="PostgreSQL driver for Qt5's SQL classes"
- cd "$pkgdir"
- _mv_files usr/lib/qt5/plugins/sqldrivers/libqsqlpsql*
+ depends=""
+
+ amove usr/lib/qt5/plugins/sqldrivers/libqsqlpsql*
}
mysql() {
pkgdesc="MySQL driver for Qt5's SQL classes"
- cd "$pkgdir"
- _mv_files usr/lib/qt5/plugins/sqldrivers/libqsqlmysql*
+ depends=""
+
+ amove usr/lib/qt5/plugins/sqldrivers/libqsqlmysql*
}
tds() {
pkgdesc="TDS driver for Qt5's SQL classes"
- cd "$pkgdir"
- _mv_files usr/lib/qt5/plugins/sqldrivers/libqsqltds*
+ depends=""
+
+ amove usr/lib/qt5/plugins/sqldrivers/libqsqltds*
}
x11() {
pkgdesc="Qt5 GUI-related libraries"
- depends="hicolor-icon-theme"
- cd "$pkgdir"
- _mv_files \
+ depends="hicolor-icon-theme xdg-utils"
+
+ amove \
usr/lib/libQt5EglFSDeviceIntegration.so.* \
usr/lib/libQt5EglFsKmsSupport.so.* \
usr/lib/libQt5Gui.so.* \
@@ -231,11 +252,16 @@ x11() {
usr/lib/qt5/plugins/printsupport* \
usr/lib/qt5/plugins/xcbglintegrations
- scanelf -Rn usr/ | grep -E '(libX|libQt5Gui|libGL)' && return 1
+ scanelf -Rn "$pkgdir"/usr/ | grep -E '(libX|libQt5Gui|libGL)' && return 1
return 0
}
sha512sums="
-fb67bbc097c5181fe27736f546df2ac3f53d99a1cd19f9227eaec1fdfbc62288cfd1fea75268f3d431a8cdd1bf7e581b189b8f08a56453205783190bbabf87d4 qtbase-663d240a18f5acac82fd2bd0fd4a33c4f47b260a.tar.gz
+7237f04e6b8c947cc87cbfff326f3b04c4dbd5de1799898849ba2ed0b5a2bb9f950facf3503109d9a2f62bbfa48945f7549c08730bb05a084b911d2ca16d1ed8 qtbase-9815348dd2fdc8c0eac8abd6f6219a3c2e1978fa.tar.xz
+d5bd9ace2cc15a96c3266603be067620f1a31d8e2636f2bdd6ee9d03d03329af0b86b823f5d3564572543e7b99bddbeed3f7c2a5aec1f4bb082dc118dafb14d6 egl-x11.patch
+390e2998483696e4af6f754be6611eb01f93b5185e81f8ad21c45cd267bab58a347902230b456b4c9fae339d6b8ecb6f7cf695e90fb086d92b9c5f7561993898 lfs64.patch
7d68421a14f0259535c977d8a521c98918193c107b76ac664571b12f5b0d7588a0d0e1297af412a26753a393b21f3f44c3274fa8ab5bc87f03705a3a03acb444 qt-musl-iconv-no-bom.patch
+fa3dddfe42b7f0ade45bd0530badfc3a3800adbd3798bd814597527713c9fe360a242f7cf39312f4cc3c88e9bd7aba233bd6674c0fc78e694a1fd868474c4240 qt5-base-cflags.patch
+af061bb56d5079d11407e6eb352fa4af7fefa6aed7f8cc40b5b2d591ef7ff04e9da6c6d534ca1904355ea7552951a1610fdcefb04ef9d696cb2b23ad6a0606e8 qt5-base-nostrip.patch
+1f97b8ac068df2169c114a44e277faec66e4b353a024c328dd506c6ca1270d124f84a61c0c5cf45f7458a6d702570bf7fcdd70e0ce2d040d0b4a8f4cf59d8776 fix-build-with-xkbcommon-160.patch
"