Update android-*-qt5 to 5.15.1

This commit is contained in:
Martchus 2020-09-16 18:35:50 +02:00
parent 1340f3ecd7
commit b61be26214
22 changed files with 334 additions and 529 deletions

View File

@ -30,7 +30,7 @@ for pkgbuild_file in "${PKGBUILD_DIR:-.}"/*/*/PKGBUILD; do
# skip if version doesn't differ
source "$pkgbuild_file"
[[ $version == $pkgver ]] && continue
pattern='(android|apple-darwin)-.*'
pattern='(apple-darwin-.*|android-.*-(c\+\+utilities|qtutilities|passwordfile|passwordmanager))'
[[ $pkgname =~ $pattern ]] && continue
# check if template exists and modify template instead

View File

@ -1,29 +0,0 @@
From dbe68d96e7da8ba5e5484e6ad0bbd78c9b0a8eec Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 9 Dec 2018 14:29:59 +0100
Subject: [PATCH] Disable mapboxgl
---
src/plugins/geoservices/geoservices.pro | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/src/plugins/geoservices/geoservices.pro b/src/plugins/geoservices/geoservices.pro
index b81ad34a..98308c97 100644
--- a/src/plugins/geoservices/geoservices.pro
+++ b/src/plugins/geoservices/geoservices.pro
@@ -7,12 +7,3 @@ qtConfig(geoservices_mapbox): SUBDIRS += mapbox
qtConfig(geoservices_esri): SUBDIRS += esri
qtConfig(geoservices_itemsoverlay): SUBDIRS += itemsoverlay
qtConfig(geoservices_osm): SUBDIRS += osm
-
-qtConfig(geoservices_mapboxgl) {
- !exists(../../3rdparty/mapbox-gl-native/mapbox-gl-native.pro) {
- warning("Submodule mapbox-gl-native does not exist. Run 'git submodule update --init' on qtlocation.")
- } else {
- SUBDIRS += mapboxgl ../../3rdparty/mapbox-gl-native
- mapboxgl.depends = ../../3rdparty/mapbox-gl-native
- }
-}
--
2.23.0

View File

@ -1,40 +0,0 @@
From 2c8ca36b5f87ccfc039c0b669c80f21205769758 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 9 Dec 2018 14:28:07 +0100
Subject: [PATCH 1/4] Fix clang/libc++ build under Android
---
mkspecs/android-clang/qmake.conf | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf
index 05b7979142..83d030793b 100644
--- a/mkspecs/android-clang/qmake.conf
+++ b/mkspecs/android-clang/qmake.conf
@@ -30,11 +30,12 @@ QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH -fno-limit-debug-info
QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++
equals(ANDROID_TARGET_ARCH, armeabi-v7a): QMAKE_LINK += -Wl,--exclude-libs,libunwind.a
-QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
+QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$ANDROID_PLATFORM_ROOT_PATH \
-isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
-isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \
-isystem $$NDK_ROOT/sources/android/support/include \
- -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
+ -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include \
+ -isystem $$NDK_ROOT/sysroot/usr/include
ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH
@@ -44,6 +45,8 @@ ANDROID_USE_LLVM = true
exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so): \
ANDROID_CXX_STL_LIBS = -lc++
+else: exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so): \
+ ANDROID_CXX_STL_LIBS = -lc++_shared
else: \
ANDROID_CXX_STL_LIBS = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so.$$replace(ANDROID_PLATFORM, "android-", "")
--
2.23.0

View File

@ -1,24 +1,27 @@
From a71a1223328539ee403884a24d1dbc5a685d40dd Mon Sep 17 00:00:00 2001
From f21b3b1871deae16696c427ca95ffd0ace0a4f70 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 7 Apr 2019 09:54:49 +0200
Subject: [PATCH 3/4] Support pkg-config under Android
Subject: [PATCH 1/2] Support pkg-config under Android
from https://aur.archlinux.org/cgit/aur.git/commit/?h=android-aarch64-qt5&id=d901da324b2ceea2ac99b48137cb82b2bd920c77
Change-Id: I68ebfa818ab4eec34a170602ea2c1f4824e80213
---
mkspecs/android-clang/qmake.conf | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf
index 83d030793b..8f145a2bb7 100644
index 5cc5a20f71..c8725f1b6d 100644
--- a/mkspecs/android-clang/qmake.conf
+++ b/mkspecs/android-clang/qmake.conf
@@ -53,3 +53,6 @@ else: \
QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz
@@ -113,4 +113,7 @@ x86_64.dir_affix = x86_64
x86_64.CONFIG = x86_64
x86_64.deployment_identifier = x86_64
include(../common/android-base-tail.conf)
+
+QMAKE_PKG_CONFIG = $$[QT_INSTALL_PREFIX]
+QMAKE_PKG_CONFIG = android-$$section(QMAKE_PKG_CONFIG, /, 3, 3)-pkg-config
+
load(qt_config)
--
2.23.0
2.28.0

View File

@ -1,34 +0,0 @@
From 996c53a388705a0bbf778faaf7660efad98e1eff Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 9 Dec 2018 14:31:30 +0100
Subject: [PATCH 2/4] Fix androiddeployqt search paths
---
src/tools/androiddeployqt/main.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp
index 01c392f8f9..9600d657cb 100644
--- a/src/tools/androiddeployqt/main.cpp
+++ b/src/tools/androiddeployqt/main.cpp
@@ -1721,7 +1721,7 @@ bool scanImports(Options *options, QSet<QString> *usedDependencies)
rootPath += QLatin1Char('/');
QStringList importPaths;
- importPaths += shellQuote(options->qtInstallDirectory + QLatin1String("/qml"));
+ importPaths += shellQuote(options->qtInstallDirectory + QLatin1String("/lib/qt/qml"));
importPaths += shellQuote(rootPath);
for (const QString &qmlImportPath : qAsConst(options->qmlImportPaths))
importPaths += shellQuote(qmlImportPath);
@@ -1857,7 +1857,7 @@ bool readDependencies(Options *options)
return false;
// Jam in the dependencies of the platform plugin, since the application will crash without it
- if (!readDependenciesFromElf(options, options->qtInstallDirectory + QLatin1String("/plugins/platforms/android/libqtforandroid.so"), &usedDependencies, &remainingDependencies))
+ if (!readDependenciesFromElf(options, options->qtInstallDirectory + QLatin1String("/lib/qt/plugins/platforms/android/libqtforandroid.so"), &usedDependencies, &remainingDependencies))
return false;
while (!remainingDependencies.isEmpty()) {
--
2.23.0

View File

@ -0,0 +1,50 @@
From 95b37ab2ddb476326fd803c7b0551ac3b88215b9 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 16 Sep 2020 18:18:26 +0200
Subject: [PATCH 2/2] Force 64-bit atomics usage
From hipersayan_x's AUR package (added with 5.14.2 update).
Change-Id: I0c94983b5ddc2897eeabbd6ef4703f455d23f9a2
---
src/corelib/configure.json | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
index c5e0423273..bd7ef73fe0 100644
--- a/src/corelib/configure.json
+++ b/src/corelib/configure.json
@@ -135,27 +135,17 @@
"label": "64 bit atomics",
"test": {
"tail": [
- "void test(volatile std::atomic<std::int64_t> &a)",
+ "void test()",
"{",
- " std::int64_t v = a.load(std::memory_order_acquire);",
- " while (!a.compare_exchange_strong(v, v + 1,",
- " std::memory_order_acq_rel,",
- " std::memory_order_acquire)) {",
- " v = a.exchange(v - 1);",
- " }",
- " a.store(v + 1, std::memory_order_release);",
"}"
],
"main": [
- "void *ptr = (void*)0xffffffc0; // any random pointer",
- "test(*reinterpret_cast<std::atomic<std::int64_t> *>(ptr));"
+ "test();"
],
"qmake": "CONFIG += c++11"
},
- "headers": [ "atomic", "cstdint" ],
"sources": [
- "",
- "-latomic"
+ ""
]
},
"librt": {
--
2.28.0

View File

@ -1,24 +0,0 @@
From 9cd435c730949e29104bbfa2bdd82ed2c662ca3d Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sat, 7 Sep 2019 13:21:37 +0200
Subject: [PATCH 4/4] Use pkg-config to find libjpeg
---
src/gui/configure.json | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gui/configure.json b/src/gui/configure.json
index 6280b4dfa2..206f83984a 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
@@ -373,6 +373,7 @@
},
"headers": "jpeglib.h",
"sources": [
+ { "type": "pkgConfig", "args": "libjpeg" },
{ "libs": "-llibjpeg", "condition": "config.msvc" },
"-ljpeg"
]
--
2.23.0

View File

@ -7,10 +7,12 @@
_pkg_arch=aarch64
_android_arch=arm64-v8a
_android_platform=22
_android_min_platform=24
_android_api_platform=30
_android_ndk_platform=$_android_min_platform
pkgname=android-$_pkg_arch-qt5
pkgver=5.13.1
pkgver=5.15.1
pkgrel=1
pkgdesc="Qt 5 for Android"
arch=('x86_64')
@ -25,20 +27,23 @@ makedepends=('libgl'
'gperf'
'libxslt'
'fontconfig'
'ninja'
'java-environment-openjdk<=8'
'android-environment'
'android-pkg-config'
"android-$_pkg_arch-openssl")
'android-pkg-config')
depends=('java-runtime-headless-openjdk<=8'
'apache-ant'
'android-ndk'
"android-platform-$_android_platform"
'android-sdk'
'android-sdk-build-tools'
'android-sdk-platform-tools'
"android-$_pkg_arch-zlib"
'android-platform'
"android-$_pkg_arch-libjpeg-turbo"
"android-$_pkg_arch-libpng"
"android-$_pkg_arch-libjpeg-turbo")
"android-$_pkg_arch-libwebp"
"android-$_pkg_arch-libtiff"
"android-$_pkg_arch-openssl"
"android-$_pkg_arch-zlib")
groups=('android-qt5')
conflicts=("android-qt5-${_android_arch}")
replaces=("android-qt5-${_android_arch}")
@ -68,51 +73,47 @@ optdepends+=("android-$_pkg_arch-openssl: SSL support for Qt Network")
options=(!strip !buildflags staticlibs !emptydirs)
_pkgfqn="qt-everywhere-src-${pkgver}"
source=("http://download.qt-project.org/official_releases/qt/${pkgver:0:4}/${pkgver}/single/${_pkgfqn}.tar.xz"
'0001-Fix-clang-libc-build-under-Android.patch'
'0002-Fix-androiddeployqt-search-paths.patch'
'0003-Support-pkg-config-under-Android.patch'
'0004-Use-pkg-config-to-find-libjpeg.patch'
'0001-Disable-mapboxgl.patch')
sha256sums=('adf00266dc38352a166a9739f1a24a1e36f1be9c04bf72e16e142a256436974e'
'29bcb93f9c79ad4b0709efa42694ed917b6e4cfce69a805e79a7dc3144be7765'
'7a5520311ba2edee2ffcd546cd6e08248c8f73deed33bd8075649577f8cb1446'
'5c3f0725f3c27263661ff5ebb4b279e4483de8ed70dee4fe42a84d31b3f2e4a9'
'4f3ba22616040a2979bfdf840b44bf105374ea2fac866c42977ad7ec6e87ddcc'
'6151b784050f9d4ef3eec22dd33360d3f566d4834592f1171df91a10c95fab77')
'0001-Support-pkg-config-under-Android.patch'
'0002-Force-64-bit-atomics-usage.patch')
sha256sums=('44da876057e21e1be42de31facd99be7d5f9f07893e1ea762359bcee0ef64ee9'
'435047d2f09baf2e706c86604c944686e71ab6d7678203b68e7d28af7beb5ce8'
'1f0aab5dcf7976285ffbb9069f127087f15d60a23485fadf17312090453d6784')
prepare() {
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
export ANDROID_MINIMUM_PLATFORM=$_android_min_platform
export ANDROID_API_VERSION=android-$_android_api_platform
export ANDROID_NDK_PLATFORM=android-$_android_ndk_platform
source android-env ${_pkg_arch}
check_ndk_version_ge_than 18.0
check_android_platform
cd ${_pkgfqn}
pushd qtbase
patch -Np1 -i "../../0001-Fix-clang-libc-build-under-Android.patch"
#patch -Np1 -i "../../0002-Fix-androiddeployqt-search-paths.patch"
patch -Np1 -i "../../0003-Support-pkg-config-under-Android.patch"
patch -Np1 -i "../../0004-Use-pkg-config-to-find-libjpeg.patch"
patch -Np1 -i "../../0001-Support-pkg-config-under-Android.patch"
case "$_android_arch" in
aarch64 | x86-64)
patch -Np1 -i "../../0002-Force-64-bit-atomics-usage.patch"
;;
*)
;;
esac
popd
pushd qtlocation
# skip building mapboxgl as it increases compile time significantly and
# likely not a lot of people actually using it; if you need it, just remove the
# following line:
patch -Np1 -i "../../0001-Disable-mapboxgl.patch"
popd
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/mkspecs/features/android/sdk.prf
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/src/android/jar/jar.pro
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtgamepad/src/plugins/gamepads/android/jar/jar.pro
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/configure.pri
sed -i "s/android-21/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/configure.pri
}
build() {
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
export ANDROID_MINIMUM_PLATFORM=$_android_min_platform
export ANDROID_API_VERSION=android-$_android_api_platform
export ANDROID_NDK_PLATFORM=android-$_android_ndk_platform
source android-env ${_pkg_arch}
unset CC CXX CFLAGS CXXFLAGS LDFLAGS CHOST QMAKESPEC QTDIR CARCH
export PKG_CONFIG=$ANDROID_PKGCONFIG
export ANDROID_TARGET_ARCH=${ANDROID_ABI}
export PYTHON=/usr/bin/python2
cd ${_pkgfqn}
@ -126,24 +127,30 @@ build() {
-xplatform android-clang
-nomake tests
-nomake examples
-android-ndk ${ANDROID_NDK_HOME}
-android-sdk ${ANDROID_HOME}
-android-ndk ${ANDROID_NDK_HOME}
-android-ndk-host linux-x86_64
-android-toolchain-version 4.9
-android-ndk-platform ${ANDROID_NDK_PLATFORM}
-android-abis ${ANDROID_ABI}
-skip qtserialport
-skip qtwebengine
-no-warnings-are-errors
-pkg-config
-system-zlib
-system-libpng
-system-libjpeg
-system-webp
-system-tiff
-no-feature-geoservices_mapbox
-no-feature-geoservices_mapboxgl
-qt-freetype
-openssl-runtime
-android-arch ${ANDROID_ABI}
-android-ndk-platform ${ANDROID_NDK_PLATFORM}
-recheck-all
-verbose
-optimized-qmake
-I${ANDROID_PREFIX}/include"
# note: use -recheck-all and/or -redo to continue
[[ $ANDROID_DEBUG_BUILD ]] \
&& configue_opts+=' -debug-and-release' \
|| configue_opts+=' -release'
@ -165,7 +172,9 @@ build() {
}
package() {
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
export ANDROID_MINIMUM_PLATFORM=$_android_min_platform
export ANDROID_API_VERSION=android-$_android_api_platform
export ANDROID_NDK_PLATFORM=android-$_android_ndk_platform
source android-env ${_pkg_arch}
cd ${_pkgfqn}

View File

@ -1,29 +0,0 @@
From dbe68d96e7da8ba5e5484e6ad0bbd78c9b0a8eec Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 9 Dec 2018 14:29:59 +0100
Subject: [PATCH] Disable mapboxgl
---
src/plugins/geoservices/geoservices.pro | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/src/plugins/geoservices/geoservices.pro b/src/plugins/geoservices/geoservices.pro
index b81ad34a..98308c97 100644
--- a/src/plugins/geoservices/geoservices.pro
+++ b/src/plugins/geoservices/geoservices.pro
@@ -7,12 +7,3 @@ qtConfig(geoservices_mapbox): SUBDIRS += mapbox
qtConfig(geoservices_esri): SUBDIRS += esri
qtConfig(geoservices_itemsoverlay): SUBDIRS += itemsoverlay
qtConfig(geoservices_osm): SUBDIRS += osm
-
-qtConfig(geoservices_mapboxgl) {
- !exists(../../3rdparty/mapbox-gl-native/mapbox-gl-native.pro) {
- warning("Submodule mapbox-gl-native does not exist. Run 'git submodule update --init' on qtlocation.")
- } else {
- SUBDIRS += mapboxgl ../../3rdparty/mapbox-gl-native
- mapboxgl.depends = ../../3rdparty/mapbox-gl-native
- }
-}
--
2.23.0

View File

@ -1,40 +0,0 @@
From 2c8ca36b5f87ccfc039c0b669c80f21205769758 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 9 Dec 2018 14:28:07 +0100
Subject: [PATCH 1/4] Fix clang/libc++ build under Android
---
mkspecs/android-clang/qmake.conf | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf
index 05b7979142..83d030793b 100644
--- a/mkspecs/android-clang/qmake.conf
+++ b/mkspecs/android-clang/qmake.conf
@@ -30,11 +30,12 @@ QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH -fno-limit-debug-info
QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++
equals(ANDROID_TARGET_ARCH, armeabi-v7a): QMAKE_LINK += -Wl,--exclude-libs,libunwind.a
-QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
+QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$ANDROID_PLATFORM_ROOT_PATH \
-isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
-isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \
-isystem $$NDK_ROOT/sources/android/support/include \
- -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
+ -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include \
+ -isystem $$NDK_ROOT/sysroot/usr/include
ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH
@@ -44,6 +45,8 @@ ANDROID_USE_LLVM = true
exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so): \
ANDROID_CXX_STL_LIBS = -lc++
+else: exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so): \
+ ANDROID_CXX_STL_LIBS = -lc++_shared
else: \
ANDROID_CXX_STL_LIBS = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so.$$replace(ANDROID_PLATFORM, "android-", "")
--
2.23.0

View File

@ -1,24 +1,27 @@
From a71a1223328539ee403884a24d1dbc5a685d40dd Mon Sep 17 00:00:00 2001
From f21b3b1871deae16696c427ca95ffd0ace0a4f70 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 7 Apr 2019 09:54:49 +0200
Subject: [PATCH 3/4] Support pkg-config under Android
Subject: [PATCH 1/2] Support pkg-config under Android
from https://aur.archlinux.org/cgit/aur.git/commit/?h=android-aarch64-qt5&id=d901da324b2ceea2ac99b48137cb82b2bd920c77
Change-Id: I68ebfa818ab4eec34a170602ea2c1f4824e80213
---
mkspecs/android-clang/qmake.conf | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf
index 83d030793b..8f145a2bb7 100644
index 5cc5a20f71..c8725f1b6d 100644
--- a/mkspecs/android-clang/qmake.conf
+++ b/mkspecs/android-clang/qmake.conf
@@ -53,3 +53,6 @@ else: \
QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz
@@ -113,4 +113,7 @@ x86_64.dir_affix = x86_64
x86_64.CONFIG = x86_64
x86_64.deployment_identifier = x86_64
include(../common/android-base-tail.conf)
+
+QMAKE_PKG_CONFIG = $$[QT_INSTALL_PREFIX]
+QMAKE_PKG_CONFIG = android-$$section(QMAKE_PKG_CONFIG, /, 3, 3)-pkg-config
+
load(qt_config)
--
2.23.0
2.28.0

View File

@ -1,34 +0,0 @@
From 996c53a388705a0bbf778faaf7660efad98e1eff Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 9 Dec 2018 14:31:30 +0100
Subject: [PATCH 2/4] Fix androiddeployqt search paths
---
src/tools/androiddeployqt/main.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp
index 01c392f8f9..9600d657cb 100644
--- a/src/tools/androiddeployqt/main.cpp
+++ b/src/tools/androiddeployqt/main.cpp
@@ -1721,7 +1721,7 @@ bool scanImports(Options *options, QSet<QString> *usedDependencies)
rootPath += QLatin1Char('/');
QStringList importPaths;
- importPaths += shellQuote(options->qtInstallDirectory + QLatin1String("/qml"));
+ importPaths += shellQuote(options->qtInstallDirectory + QLatin1String("/lib/qt/qml"));
importPaths += shellQuote(rootPath);
for (const QString &qmlImportPath : qAsConst(options->qmlImportPaths))
importPaths += shellQuote(qmlImportPath);
@@ -1857,7 +1857,7 @@ bool readDependencies(Options *options)
return false;
// Jam in the dependencies of the platform plugin, since the application will crash without it
- if (!readDependenciesFromElf(options, options->qtInstallDirectory + QLatin1String("/plugins/platforms/android/libqtforandroid.so"), &usedDependencies, &remainingDependencies))
+ if (!readDependenciesFromElf(options, options->qtInstallDirectory + QLatin1String("/lib/qt/plugins/platforms/android/libqtforandroid.so"), &usedDependencies, &remainingDependencies))
return false;
while (!remainingDependencies.isEmpty()) {
--
2.23.0

View File

@ -0,0 +1,50 @@
From 95b37ab2ddb476326fd803c7b0551ac3b88215b9 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 16 Sep 2020 18:18:26 +0200
Subject: [PATCH 2/2] Force 64-bit atomics usage
From hipersayan_x's AUR package (added with 5.14.2 update).
Change-Id: I0c94983b5ddc2897eeabbd6ef4703f455d23f9a2
---
src/corelib/configure.json | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
index c5e0423273..bd7ef73fe0 100644
--- a/src/corelib/configure.json
+++ b/src/corelib/configure.json
@@ -135,27 +135,17 @@
"label": "64 bit atomics",
"test": {
"tail": [
- "void test(volatile std::atomic<std::int64_t> &a)",
+ "void test()",
"{",
- " std::int64_t v = a.load(std::memory_order_acquire);",
- " while (!a.compare_exchange_strong(v, v + 1,",
- " std::memory_order_acq_rel,",
- " std::memory_order_acquire)) {",
- " v = a.exchange(v - 1);",
- " }",
- " a.store(v + 1, std::memory_order_release);",
"}"
],
"main": [
- "void *ptr = (void*)0xffffffc0; // any random pointer",
- "test(*reinterpret_cast<std::atomic<std::int64_t> *>(ptr));"
+ "test();"
],
"qmake": "CONFIG += c++11"
},
- "headers": [ "atomic", "cstdint" ],
"sources": [
- "",
- "-latomic"
+ ""
]
},
"librt": {
--
2.28.0

View File

@ -1,24 +0,0 @@
From 9cd435c730949e29104bbfa2bdd82ed2c662ca3d Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sat, 7 Sep 2019 13:21:37 +0200
Subject: [PATCH 4/4] Use pkg-config to find libjpeg
---
src/gui/configure.json | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gui/configure.json b/src/gui/configure.json
index 6280b4dfa2..206f83984a 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
@@ -373,6 +373,7 @@
},
"headers": "jpeglib.h",
"sources": [
+ { "type": "pkgConfig", "args": "libjpeg" },
{ "libs": "-llibjpeg", "condition": "config.msvc" },
"-ljpeg"
]
--
2.23.0

View File

@ -7,10 +7,12 @@
_pkg_arch=armv7a-eabi
_android_arch=armeabi-v7a
_android_platform=21
_android_min_platform=24
_android_api_platform=30
_android_ndk_platform=$_android_min_platform
pkgname=android-$_pkg_arch-qt5
pkgver=5.13.1
pkgver=5.15.1
pkgrel=1
pkgdesc="Qt 5 for Android"
arch=('x86_64')
@ -25,20 +27,23 @@ makedepends=('libgl'
'gperf'
'libxslt'
'fontconfig'
'ninja'
'java-environment-openjdk<=8'
'android-environment'
'android-pkg-config'
"android-$_pkg_arch-openssl")
'android-pkg-config')
depends=('java-runtime-headless-openjdk<=8'
'apache-ant'
'android-ndk'
"android-platform-$_android_platform"
'android-sdk'
'android-sdk-build-tools'
'android-sdk-platform-tools'
"android-$_pkg_arch-zlib"
'android-platform'
"android-$_pkg_arch-libjpeg-turbo"
"android-$_pkg_arch-libpng"
"android-$_pkg_arch-libjpeg-turbo")
"android-$_pkg_arch-libwebp"
"android-$_pkg_arch-libtiff"
"android-$_pkg_arch-openssl"
"android-$_pkg_arch-zlib")
groups=('android-qt5')
conflicts=("android-qt5-${_android_arch}")
replaces=("android-qt5-${_android_arch}")
@ -68,51 +73,47 @@ optdepends+=("android-$_pkg_arch-openssl: SSL support for Qt Network")
options=(!strip !buildflags staticlibs !emptydirs)
_pkgfqn="qt-everywhere-src-${pkgver}"
source=("http://download.qt-project.org/official_releases/qt/${pkgver:0:4}/${pkgver}/single/${_pkgfqn}.tar.xz"
'0001-Fix-clang-libc-build-under-Android.patch'
'0002-Fix-androiddeployqt-search-paths.patch'
'0003-Support-pkg-config-under-Android.patch'
'0004-Use-pkg-config-to-find-libjpeg.patch'
'0001-Disable-mapboxgl.patch')
sha256sums=('adf00266dc38352a166a9739f1a24a1e36f1be9c04bf72e16e142a256436974e'
'29bcb93f9c79ad4b0709efa42694ed917b6e4cfce69a805e79a7dc3144be7765'
'7a5520311ba2edee2ffcd546cd6e08248c8f73deed33bd8075649577f8cb1446'
'5c3f0725f3c27263661ff5ebb4b279e4483de8ed70dee4fe42a84d31b3f2e4a9'
'4f3ba22616040a2979bfdf840b44bf105374ea2fac866c42977ad7ec6e87ddcc'
'6151b784050f9d4ef3eec22dd33360d3f566d4834592f1171df91a10c95fab77')
'0001-Support-pkg-config-under-Android.patch'
'0002-Force-64-bit-atomics-usage.patch')
sha256sums=('44da876057e21e1be42de31facd99be7d5f9f07893e1ea762359bcee0ef64ee9'
'435047d2f09baf2e706c86604c944686e71ab6d7678203b68e7d28af7beb5ce8'
'1f0aab5dcf7976285ffbb9069f127087f15d60a23485fadf17312090453d6784')
prepare() {
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
export ANDROID_MINIMUM_PLATFORM=$_android_min_platform
export ANDROID_API_VERSION=android-$_android_api_platform
export ANDROID_NDK_PLATFORM=android-$_android_ndk_platform
source android-env ${_pkg_arch}
check_ndk_version_ge_than 18.0
check_android_platform
cd ${_pkgfqn}
pushd qtbase
patch -Np1 -i "../../0001-Fix-clang-libc-build-under-Android.patch"
#patch -Np1 -i "../../0002-Fix-androiddeployqt-search-paths.patch"
patch -Np1 -i "../../0003-Support-pkg-config-under-Android.patch"
patch -Np1 -i "../../0004-Use-pkg-config-to-find-libjpeg.patch"
patch -Np1 -i "../../0001-Support-pkg-config-under-Android.patch"
case "$_android_arch" in
aarch64 | x86-64)
patch -Np1 -i "../../0002-Force-64-bit-atomics-usage.patch"
;;
*)
;;
esac
popd
pushd qtlocation
# skip building mapboxgl as it increases compile time significantly and
# likely not a lot of people actually using it; if you need it, just remove the
# following line:
patch -Np1 -i "../../0001-Disable-mapboxgl.patch"
popd
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/mkspecs/features/android/sdk.prf
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/src/android/jar/jar.pro
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtgamepad/src/plugins/gamepads/android/jar/jar.pro
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/configure.pri
sed -i "s/android-21/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/configure.pri
}
build() {
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
export ANDROID_MINIMUM_PLATFORM=$_android_min_platform
export ANDROID_API_VERSION=android-$_android_api_platform
export ANDROID_NDK_PLATFORM=android-$_android_ndk_platform
source android-env ${_pkg_arch}
unset CC CXX CFLAGS CXXFLAGS LDFLAGS CHOST QMAKESPEC QTDIR CARCH
export PKG_CONFIG=$ANDROID_PKGCONFIG
export ANDROID_TARGET_ARCH=${ANDROID_ABI}
export PYTHON=/usr/bin/python2
cd ${_pkgfqn}
@ -126,24 +127,30 @@ build() {
-xplatform android-clang
-nomake tests
-nomake examples
-android-ndk ${ANDROID_NDK_HOME}
-android-sdk ${ANDROID_HOME}
-android-ndk ${ANDROID_NDK_HOME}
-android-ndk-host linux-x86_64
-android-toolchain-version 4.9
-android-ndk-platform ${ANDROID_NDK_PLATFORM}
-android-abis ${ANDROID_ABI}
-skip qtserialport
-skip qtwebengine
-no-warnings-are-errors
-pkg-config
-system-zlib
-system-libpng
-system-libjpeg
-system-webp
-system-tiff
-no-feature-geoservices_mapbox
-no-feature-geoservices_mapboxgl
-qt-freetype
-openssl-runtime
-android-arch ${ANDROID_ABI}
-android-ndk-platform ${ANDROID_NDK_PLATFORM}
-recheck-all
-verbose
-optimized-qmake
-I${ANDROID_PREFIX}/include"
# note: use -recheck-all and/or -redo to continue
[[ $ANDROID_DEBUG_BUILD ]] \
&& configue_opts+=' -debug-and-release' \
|| configue_opts+=' -release'
@ -165,7 +172,9 @@ build() {
}
package() {
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
export ANDROID_MINIMUM_PLATFORM=$_android_min_platform
export ANDROID_API_VERSION=android-$_android_api_platform
export ANDROID_NDK_PLATFORM=android-$_android_ndk_platform
source android-env ${_pkg_arch}
cd ${_pkgfqn}

View File

@ -1,29 +0,0 @@
From dbe68d96e7da8ba5e5484e6ad0bbd78c9b0a8eec Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 9 Dec 2018 14:29:59 +0100
Subject: [PATCH] Disable mapboxgl
---
src/plugins/geoservices/geoservices.pro | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/src/plugins/geoservices/geoservices.pro b/src/plugins/geoservices/geoservices.pro
index b81ad34a..98308c97 100644
--- a/src/plugins/geoservices/geoservices.pro
+++ b/src/plugins/geoservices/geoservices.pro
@@ -7,12 +7,3 @@ qtConfig(geoservices_mapbox): SUBDIRS += mapbox
qtConfig(geoservices_esri): SUBDIRS += esri
qtConfig(geoservices_itemsoverlay): SUBDIRS += itemsoverlay
qtConfig(geoservices_osm): SUBDIRS += osm
-
-qtConfig(geoservices_mapboxgl) {
- !exists(../../3rdparty/mapbox-gl-native/mapbox-gl-native.pro) {
- warning("Submodule mapbox-gl-native does not exist. Run 'git submodule update --init' on qtlocation.")
- } else {
- SUBDIRS += mapboxgl ../../3rdparty/mapbox-gl-native
- mapboxgl.depends = ../../3rdparty/mapbox-gl-native
- }
-}
--
2.23.0

View File

@ -1,40 +0,0 @@
From 2c8ca36b5f87ccfc039c0b669c80f21205769758 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 9 Dec 2018 14:28:07 +0100
Subject: [PATCH 1/4] Fix clang/libc++ build under Android
---
mkspecs/android-clang/qmake.conf | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf
index 05b7979142..83d030793b 100644
--- a/mkspecs/android-clang/qmake.conf
+++ b/mkspecs/android-clang/qmake.conf
@@ -30,11 +30,12 @@ QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH -fno-limit-debug-info
QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++
equals(ANDROID_TARGET_ARCH, armeabi-v7a): QMAKE_LINK += -Wl,--exclude-libs,libunwind.a
-QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
+QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$ANDROID_PLATFORM_ROOT_PATH \
-isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
-isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \
-isystem $$NDK_ROOT/sources/android/support/include \
- -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
+ -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include \
+ -isystem $$NDK_ROOT/sysroot/usr/include
ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH
@@ -44,6 +45,8 @@ ANDROID_USE_LLVM = true
exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so): \
ANDROID_CXX_STL_LIBS = -lc++
+else: exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so): \
+ ANDROID_CXX_STL_LIBS = -lc++_shared
else: \
ANDROID_CXX_STL_LIBS = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so.$$replace(ANDROID_PLATFORM, "android-", "")
--
2.23.0

View File

@ -1,24 +1,27 @@
From a71a1223328539ee403884a24d1dbc5a685d40dd Mon Sep 17 00:00:00 2001
From f21b3b1871deae16696c427ca95ffd0ace0a4f70 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 7 Apr 2019 09:54:49 +0200
Subject: [PATCH 3/4] Support pkg-config under Android
Subject: [PATCH 1/2] Support pkg-config under Android
from https://aur.archlinux.org/cgit/aur.git/commit/?h=android-aarch64-qt5&id=d901da324b2ceea2ac99b48137cb82b2bd920c77
Change-Id: I68ebfa818ab4eec34a170602ea2c1f4824e80213
---
mkspecs/android-clang/qmake.conf | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf
index 83d030793b..8f145a2bb7 100644
index 5cc5a20f71..c8725f1b6d 100644
--- a/mkspecs/android-clang/qmake.conf
+++ b/mkspecs/android-clang/qmake.conf
@@ -53,3 +53,6 @@ else: \
QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz
@@ -113,4 +113,7 @@ x86_64.dir_affix = x86_64
x86_64.CONFIG = x86_64
x86_64.deployment_identifier = x86_64
include(../common/android-base-tail.conf)
+
+QMAKE_PKG_CONFIG = $$[QT_INSTALL_PREFIX]
+QMAKE_PKG_CONFIG = android-$$section(QMAKE_PKG_CONFIG, /, 3, 3)-pkg-config
+
load(qt_config)
--
2.23.0
2.28.0

View File

@ -1,34 +0,0 @@
From 996c53a388705a0bbf778faaf7660efad98e1eff Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 9 Dec 2018 14:31:30 +0100
Subject: [PATCH 2/4] Fix androiddeployqt search paths
---
src/tools/androiddeployqt/main.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp
index 01c392f8f9..9600d657cb 100644
--- a/src/tools/androiddeployqt/main.cpp
+++ b/src/tools/androiddeployqt/main.cpp
@@ -1721,7 +1721,7 @@ bool scanImports(Options *options, QSet<QString> *usedDependencies)
rootPath += QLatin1Char('/');
QStringList importPaths;
- importPaths += shellQuote(options->qtInstallDirectory + QLatin1String("/qml"));
+ importPaths += shellQuote(options->qtInstallDirectory + QLatin1String("/lib/qt/qml"));
importPaths += shellQuote(rootPath);
for (const QString &qmlImportPath : qAsConst(options->qmlImportPaths))
importPaths += shellQuote(qmlImportPath);
@@ -1857,7 +1857,7 @@ bool readDependencies(Options *options)
return false;
// Jam in the dependencies of the platform plugin, since the application will crash without it
- if (!readDependenciesFromElf(options, options->qtInstallDirectory + QLatin1String("/plugins/platforms/android/libqtforandroid.so"), &usedDependencies, &remainingDependencies))
+ if (!readDependenciesFromElf(options, options->qtInstallDirectory + QLatin1String("/lib/qt/plugins/platforms/android/libqtforandroid.so"), &usedDependencies, &remainingDependencies))
return false;
while (!remainingDependencies.isEmpty()) {
--
2.23.0

View File

@ -0,0 +1,50 @@
From 95b37ab2ddb476326fd803c7b0551ac3b88215b9 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Wed, 16 Sep 2020 18:18:26 +0200
Subject: [PATCH 2/2] Force 64-bit atomics usage
From hipersayan_x's AUR package (added with 5.14.2 update).
Change-Id: I0c94983b5ddc2897eeabbd6ef4703f455d23f9a2
---
src/corelib/configure.json | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
index c5e0423273..bd7ef73fe0 100644
--- a/src/corelib/configure.json
+++ b/src/corelib/configure.json
@@ -135,27 +135,17 @@
"label": "64 bit atomics",
"test": {
"tail": [
- "void test(volatile std::atomic<std::int64_t> &a)",
+ "void test()",
"{",
- " std::int64_t v = a.load(std::memory_order_acquire);",
- " while (!a.compare_exchange_strong(v, v + 1,",
- " std::memory_order_acq_rel,",
- " std::memory_order_acquire)) {",
- " v = a.exchange(v - 1);",
- " }",
- " a.store(v + 1, std::memory_order_release);",
"}"
],
"main": [
- "void *ptr = (void*)0xffffffc0; // any random pointer",
- "test(*reinterpret_cast<std::atomic<std::int64_t> *>(ptr));"
+ "test();"
],
"qmake": "CONFIG += c++11"
},
- "headers": [ "atomic", "cstdint" ],
"sources": [
- "",
- "-latomic"
+ ""
]
},
"librt": {
--
2.28.0

View File

@ -1,24 +0,0 @@
From 9cd435c730949e29104bbfa2bdd82ed2c662ca3d Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sat, 7 Sep 2019 13:21:37 +0200
Subject: [PATCH 4/4] Use pkg-config to find libjpeg
---
src/gui/configure.json | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gui/configure.json b/src/gui/configure.json
index 6280b4dfa2..206f83984a 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
@@ -373,6 +373,7 @@
},
"headers": "jpeglib.h",
"sources": [
+ { "type": "pkgConfig", "args": "libjpeg" },
{ "libs": "-llibjpeg", "condition": "config.msvc" },
"-ljpeg"
]
--
2.23.0

View File

@ -7,10 +7,12 @@
_pkg_arch=x86-64
_android_arch=x86_64
_android_platform=22
_android_min_platform=24
_android_api_platform=30
_android_ndk_platform=$_android_min_platform
pkgname=android-$_pkg_arch-qt5
pkgver=5.13.1
pkgver=5.15.1
pkgrel=1
pkgdesc="Qt 5 for Android"
arch=('x86_64')
@ -25,20 +27,23 @@ makedepends=('libgl'
'gperf'
'libxslt'
'fontconfig'
'ninja'
'java-environment-openjdk<=8'
'android-environment'
'android-pkg-config'
"android-$_pkg_arch-openssl")
'android-pkg-config')
depends=('java-runtime-headless-openjdk<=8'
'apache-ant'
'android-ndk'
"android-platform-$_android_platform"
'android-sdk'
'android-sdk-build-tools'
'android-sdk-platform-tools'
"android-$_pkg_arch-zlib"
'android-platform'
"android-$_pkg_arch-libjpeg-turbo"
"android-$_pkg_arch-libpng"
"android-$_pkg_arch-libjpeg-turbo")
"android-$_pkg_arch-libwebp"
"android-$_pkg_arch-libtiff"
"android-$_pkg_arch-openssl"
"android-$_pkg_arch-zlib")
groups=('android-qt5')
conflicts=("android-qt5-${_android_arch}")
replaces=("android-qt5-${_android_arch}")
@ -68,51 +73,47 @@ optdepends+=("android-$_pkg_arch-openssl: SSL support for Qt Network")
options=(!strip !buildflags staticlibs !emptydirs)
_pkgfqn="qt-everywhere-src-${pkgver}"
source=("http://download.qt-project.org/official_releases/qt/${pkgver:0:4}/${pkgver}/single/${_pkgfqn}.tar.xz"
'0001-Fix-clang-libc-build-under-Android.patch'
'0002-Fix-androiddeployqt-search-paths.patch'
'0003-Support-pkg-config-under-Android.patch'
'0004-Use-pkg-config-to-find-libjpeg.patch'
'0001-Disable-mapboxgl.patch')
sha256sums=('adf00266dc38352a166a9739f1a24a1e36f1be9c04bf72e16e142a256436974e'
'29bcb93f9c79ad4b0709efa42694ed917b6e4cfce69a805e79a7dc3144be7765'
'7a5520311ba2edee2ffcd546cd6e08248c8f73deed33bd8075649577f8cb1446'
'5c3f0725f3c27263661ff5ebb4b279e4483de8ed70dee4fe42a84d31b3f2e4a9'
'4f3ba22616040a2979bfdf840b44bf105374ea2fac866c42977ad7ec6e87ddcc'
'6151b784050f9d4ef3eec22dd33360d3f566d4834592f1171df91a10c95fab77')
'0001-Support-pkg-config-under-Android.patch'
'0002-Force-64-bit-atomics-usage.patch')
sha256sums=('44da876057e21e1be42de31facd99be7d5f9f07893e1ea762359bcee0ef64ee9'
'435047d2f09baf2e706c86604c944686e71ab6d7678203b68e7d28af7beb5ce8'
'1f0aab5dcf7976285ffbb9069f127087f15d60a23485fadf17312090453d6784')
prepare() {
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
export ANDROID_MINIMUM_PLATFORM=$_android_min_platform
export ANDROID_API_VERSION=android-$_android_api_platform
export ANDROID_NDK_PLATFORM=android-$_android_ndk_platform
source android-env ${_pkg_arch}
check_ndk_version_ge_than 18.0
check_android_platform
cd ${_pkgfqn}
pushd qtbase
patch -Np1 -i "../../0001-Fix-clang-libc-build-under-Android.patch"
#patch -Np1 -i "../../0002-Fix-androiddeployqt-search-paths.patch"
patch -Np1 -i "../../0003-Support-pkg-config-under-Android.patch"
patch -Np1 -i "../../0004-Use-pkg-config-to-find-libjpeg.patch"
patch -Np1 -i "../../0001-Support-pkg-config-under-Android.patch"
case "$_android_arch" in
aarch64 | x86-64)
patch -Np1 -i "../../0002-Force-64-bit-atomics-usage.patch"
;;
*)
;;
esac
popd
pushd qtlocation
# skip building mapboxgl as it increases compile time significantly and
# likely not a lot of people actually using it; if you need it, just remove the
# following line:
patch -Np1 -i "../../0001-Disable-mapboxgl.patch"
popd
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/mkspecs/features/android/sdk.prf
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/src/android/jar/jar.pro
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtgamepad/src/plugins/gamepads/android/jar/jar.pro
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/configure.pri
sed -i "s/android-21/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/configure.pri
}
build() {
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
export ANDROID_MINIMUM_PLATFORM=$_android_min_platform
export ANDROID_API_VERSION=android-$_android_api_platform
export ANDROID_NDK_PLATFORM=android-$_android_ndk_platform
source android-env ${_pkg_arch}
unset CC CXX CFLAGS CXXFLAGS LDFLAGS CHOST QMAKESPEC QTDIR CARCH
export PKG_CONFIG=$ANDROID_PKGCONFIG
export ANDROID_TARGET_ARCH=${ANDROID_ABI}
export PYTHON=/usr/bin/python2
cd ${_pkgfqn}
@ -126,24 +127,30 @@ build() {
-xplatform android-clang
-nomake tests
-nomake examples
-android-ndk ${ANDROID_NDK_HOME}
-android-sdk ${ANDROID_HOME}
-android-ndk ${ANDROID_NDK_HOME}
-android-ndk-host linux-x86_64
-android-toolchain-version 4.9
-android-ndk-platform ${ANDROID_NDK_PLATFORM}
-android-abis ${ANDROID_ABI}
-skip qtserialport
-skip qtwebengine
-no-warnings-are-errors
-pkg-config
-system-zlib
-system-libpng
-system-libjpeg
-system-webp
-system-tiff
-no-feature-geoservices_mapbox
-no-feature-geoservices_mapboxgl
-qt-freetype
-openssl-runtime
-android-arch ${ANDROID_ABI}
-android-ndk-platform ${ANDROID_NDK_PLATFORM}
-recheck-all
-verbose
-optimized-qmake
-I${ANDROID_PREFIX}/include"
# note: use -recheck-all and/or -redo to continue
[[ $ANDROID_DEBUG_BUILD ]] \
&& configue_opts+=' -debug-and-release' \
|| configue_opts+=' -release'
@ -165,7 +172,9 @@ build() {
}
package() {
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
export ANDROID_MINIMUM_PLATFORM=$_android_min_platform
export ANDROID_API_VERSION=android-$_android_api_platform
export ANDROID_NDK_PLATFORM=android-$_android_ndk_platform
source android-env ${_pkg_arch}
cd ${_pkgfqn}