From ab5e0528a481f52e406f552ad421709fb9fd0186 Mon Sep 17 00:00:00 2001 From: Bart Ribbers <bribbers@disroot.org> Date: Thu, 26 Mar 2020 16:17:15 +0100 Subject: [PATCH] temp/qt5-qtbase: fork from Alpine to build with OpenGLES (!1107) --- temp/qt5-qtbase/APKBUILD | 207 +++++++++++++++++++++ temp/qt5-qtbase/qt-musl-iconv-no-bom.patch | 11 ++ 2 files changed, 218 insertions(+) create mode 100644 temp/qt5-qtbase/APKBUILD create mode 100644 temp/qt5-qtbase/qt-musl-iconv-no-bom.patch diff --git a/temp/qt5-qtbase/APKBUILD b/temp/qt5-qtbase/APKBUILD new file mode 100644 index 00000000000..c4f645c5327 --- /dev/null +++ b/temp/qt5-qtbase/APKBUILD @@ -0,0 +1,207 @@ +# Forked from Alpine to built with OpenGLES +pkgname=qt5-qtbase +pkgver=9999 +_pkgver=5.14.1 +pkgrel=0 +pkgdesc="Qt5 - QtBase components" +url="https://qt.io/developers/" +arch="armv7 aarch64" +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" +depends_dev="mesa-dev libice-dev libsm-dev libx11-dev libxext-dev + openssl-dev fontconfig-dev freetype-dev glib-dev libpng-dev zlib-dev + sqlite-dev dbus-dev perl $_sub" +makedepends="$depends_dev + at-spi2-atk-dev + bison + cups-dev + eudev-dev + flex + freetds-dev + gawk + gperf + gtk+2.0-dev + hicolor-icon-theme + icu-dev + libinput-dev + libjpeg-turbo-dev + libxkbcommon-dev + libxi-dev + libxrandr-dev + libxrender-dev + libxslt-dev + libxv-dev + mariadb-connector-c-dev + mtdev-dev + pcre2-dev + postgresql-dev + unixodbc-dev + vulkan-headers + xcb-util-dev + xcb-util-image-dev + xcb-util-keysyms-dev + xcb-util-wm-dev + xcb-util-renderutil-dev + " +subpackages="$pkgname-dev $pkgname-doc $_sub" +builddir="$srcdir/qtbase-everywhere-src-$_pkgver" + +case $pkgver in + *_beta*|*_rc*) _rel=development_releases;; + *) _rel=official_releases;; +esac + +source="https://download.qt.io/$_rel/qt/${_pkgver%.*}/$_pkgver/submodules/qtbase-everywhere-src-$_pkgver.tar.xz + qt-musl-iconv-no-bom.patch + " + +_qt5_prefix=/usr/lib/qt5 +_qt5_datadir=/usr/share/qt5 + +prepare() { + default_prepare + + sed -i -e "s|-O2|$CXXFLAGS|" \ + -e "/^QMAKE_RPATH/s| -Wl,-rpath,||g" \ + -e "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" \ + mkspecs/common/*.conf +} + +build() { + ./configure -confirm-license -opensource \ + -archdatadir "$_qt5_prefix" \ + -bindir "$_qt5_prefix"/bin \ + -datadir "$_qt5_datadir" \ + -dbus-linked \ + -docdir /usr/share/doc/qt5 \ + -examplesdir /usr/share/doc/qt5/examples \ + -glib \ + -icu \ + -importdir "$_qt5_prefix"/imports \ + -libexecdir "$_qt5_prefix"/libexec \ + -no-rpath \ + -no-separate-debug-info \ + -no-pch \ + -nomake examples \ + -opengl es2 \ + -openssl-linked \ + -optimized-qmake \ + -plugin-sql-mysql \ + -plugin-sql-odbc \ + -plugin-sql-psql \ + -plugin-sql-sqlite \ + -plugin-sql-tds \ + -plugindir "$_qt5_prefix"/plugins \ + -prefix /usr \ + -silent \ + -sysconfdir /etc/xdg \ + -system-libjpeg \ + -system-libpng \ + -system-pcre \ + -system-sqlite \ + -system-xcb \ + -system-zlib \ + -translationdir "$_qt5_datadir"/translations \ + -no-reduce-relocations + make +} + +check() { + make check +} + +package() { + make INSTALL_ROOT="$pkgdir" install + mkdir -p "$pkgdir"/usr/bin/ + for i in "$pkgdir"/"$_qt5_prefix"/bin/*; do + _name=${i##*/} + case $_name in + *.*) _dest="$pkgdir"/usr/bin/${_name%.*}-qt5.${_name##*.};; + *) _dest="$pkgdir"/usr/bin/${_name%.*}-qt5;; + esac + ln -s ../lib/qt5/bin/"$_name" "$_dest" + done + + # Drop QMAKE_PRL_BUILD_DIR because reference the build dir + find "$pkgdir/usr/lib" -type f -name '*.prl' \ + -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 \ + usr/lib/cmake \ + usr/lib/qt5/bin \ + usr/bin + find usr/ -name '*.prl' | while read -r i + do + _mv_files "$i" + done + + default_dev +} + +sqlite() { + pkgdesc="SQLite driver for Qt5's SQL classes" + cd "$pkgdir" + _mv_files 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* +} + +postgresql() { + pkgdesc="PostgreSQL driver for Qt5's SQL classes" + cd "$pkgdir" + _mv_files 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* +} + +tds() { + pkgdesc="TDS driver for Qt5's SQL classes" + cd "$pkgdir" + _mv_files usr/lib/qt5/plugins/sqldrivers/libqsqltds* +} + +x11() { + pkgdesc="Qt5 GUI-related libraries" + depends="hicolor-icon-theme" + cd "$pkgdir" + _mv_files \ + usr/lib/libQt5EglFSDeviceIntegration.so.* \ + usr/lib/libQt5EglFsKmsSupport.so.* \ + usr/lib/libQt5Gui.so.* \ + usr/lib/libQt5OpenGL.so.* \ + usr/lib/libQt5PrintSupport.so.* \ + usr/lib/libQt5Widgets.so.* \ + usr/lib/libQt5XcbQpa.so.* \ + usr/lib/qt5/plugins/egldeviceintegrations \ + usr/lib/qt5/plugins/generic \ + usr/lib/qt5/plugins/image* \ + usr/lib/qt5/plugins/platform* \ + usr/lib/qt5/plugins/printsupport* \ + usr/lib/qt5/plugins/xcbglintegrations + + scanelf -Rn usr/ | grep -E '(libX|libQt5Gui|libGL)' && return 1 + return 0 +} + +sha512sums="964777323d0e3f9d355218c3493bb3b61d2750d9cb5ba71fce72cae3cd362acce88e39360f1fac0011f1b74d529a23621a7281191c622cc034ce78a77afa296b qtbase-everywhere-src-5.14.1.tar.xz +7d68421a14f0259535c977d8a521c98918193c107b76ac664571b12f5b0d7588a0d0e1297af412a26753a393b21f3f44c3274fa8ab5bc87f03705a3a03acb444 qt-musl-iconv-no-bom.patch" diff --git a/temp/qt5-qtbase/qt-musl-iconv-no-bom.patch b/temp/qt5-qtbase/qt-musl-iconv-no-bom.patch new file mode 100644 index 00000000000..8bf35ec1ec8 --- /dev/null +++ b/temp/qt5-qtbase/qt-musl-iconv-no-bom.patch @@ -0,0 +1,11 @@ +--- qtbase/src/corelib/codecs/qiconvcodec.cpp 2017-01-18 15:20:58.000000000 +0100 ++++ qtbase/src/corelib/codecs/qiconvcodec.cpp 2017-02-21 14:33:32.423808603 +0100 +@@ -64,7 +64,7 @@ + #elif defined(Q_OS_AIX) + # define NO_BOM + # define UTF16 "UCS-2" +-#elif defined(Q_OS_FREEBSD) ++#elif defined(Q_OS_FREEBSD) || (defined(Q_OS_LINUX) && !defined(__GLIBC__)) + # define NO_BOM + # if Q_BYTE_ORDER == Q_BIG_ENDIAN + # define UTF16 "UTF-16BE" -- GitLab