diff options
Diffstat (limited to 'community/qt5-qtbase/APKBUILD')
-rw-r--r-- | community/qt5-qtbase/APKBUILD | 136 |
1 files changed, 82 insertions, 54 deletions
diff --git a/community/qt5-qtbase/APKBUILD b/community/qt5-qtbase/APKBUILD index 049b5452e20..43aec5bee09 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,19 @@ 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 + loongarch64.patch " +builddir="$srcdir/$_fullname" _qt5_prefix=/usr/lib/qt5 _qt5_datadir=/usr/share/qt5 @@ -83,14 +83,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 +147,6 @@ build() { -plugin-sql-tds \ -plugindir "$_qt5_prefix"/plugins \ -prefix /usr \ - -silent \ -sysconfdir /etc/xdg \ -system-libjpeg \ -system-libpng \ @@ -135,7 +154,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 +175,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 +183,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 +201,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 +253,17 @@ 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 +7f0a3f255e25b47b1a45632207f6c0b506119b9cf84edcf1bc02c1a31c4487d1b52359861a731522613f32147890c171446a9c05f166dcf97c046a45964e03d1 loongarch64.patch " |