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