Sync android-*-qt5 with AUR version
To be tested when rebuilding anyways
This commit is contained in:
parent
5eb3e8f464
commit
be11dd7ef5
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/bash -e
|
||||||
|
cd "$(dirname "$0")/../../qt5"
|
||||||
|
../devel/sync-variants.sh . android-aarch64 android-*
|
|
@ -1,7 +1,7 @@
|
||||||
From a2e98de3e73003272729e4393e32ac49fa991f5a Mon Sep 17 00:00:00 2001
|
From a2e98de3e73003272729e4393e32ac49fa991f5a Mon Sep 17 00:00:00 2001
|
||||||
From: Martchus <martchus@gmx.net>
|
From: Martchus <martchus@gmx.net>
|
||||||
Date: Sun, 9 Dec 2018 14:28:07 +0100
|
Date: Sun, 9 Dec 2018 14:28:07 +0100
|
||||||
Subject: [PATCH 1/2] Fix clang/libc++ build under Android
|
Subject: [PATCH 1/3] Fix clang/libc++ build under Android
|
||||||
|
|
||||||
---
|
---
|
||||||
mkspecs/android-clang/qmake.conf | 7 +++++--
|
mkspecs/android-clang/qmake.conf | 7 +++++--
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From e209f40d45c9ca8dfc8f7704904c49dd9998de28 Mon Sep 17 00:00:00 2001
|
From e209f40d45c9ca8dfc8f7704904c49dd9998de28 Mon Sep 17 00:00:00 2001
|
||||||
From: Martchus <martchus@gmx.net>
|
From: Martchus <martchus@gmx.net>
|
||||||
Date: Sun, 9 Dec 2018 14:31:30 +0100
|
Date: Sun, 9 Dec 2018 14:31:30 +0100
|
||||||
Subject: [PATCH 2/2] Fix androiddeployqt search paths
|
Subject: [PATCH 2/3] Fix androiddeployqt search paths
|
||||||
|
|
||||||
---
|
---
|
||||||
src/tools/androiddeployqt/main.cpp | 4 ++--
|
src/tools/androiddeployqt/main.cpp | 4 ++--
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
From fc643d716b33387759d9be0eeff250deb624d5e9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martchus <martchus@gmx.net>
|
||||||
|
Date: Sun, 7 Apr 2019 09:54:49 +0200
|
||||||
|
Subject: [PATCH 3/3] Support pkg-config under Android
|
||||||
|
|
||||||
|
from https://aur.archlinux.org/cgit/aur.git/commit/?h=android-aarch64-qt5&id=d901da324b2ceea2ac99b48137cb82b2bd920c77
|
||||||
|
---
|
||||||
|
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 5cc6ee79e2..c731b4ef23 100644
|
||||||
|
--- a/mkspecs/android-clang/qmake.conf
|
||||||
|
+++ b/mkspecs/android-clang/qmake.conf
|
||||||
|
@@ -57,3 +57,6 @@ else: \
|
||||||
|
QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz
|
||||||
|
|
||||||
|
include(../common/android-base-tail.conf)
|
||||||
|
+
|
||||||
|
+QMAKE_PKG_CONFIG = $$[QT_INSTALL_PREFIX]
|
||||||
|
+QMAKE_PKG_CONFIG = android-$$section(QMAKE_PKG_CONFIG, /, 3, 3)-pkg-config
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
|
@ -5,23 +5,13 @@
|
||||||
# Contributor: Ricardo (XenGi) Band <email@ricardo.band>
|
# Contributor: Ricardo (XenGi) Band <email@ricardo.band>
|
||||||
# Contributor: Martchus <martchus@gmx.net>
|
# Contributor: Martchus <martchus@gmx.net>
|
||||||
|
|
||||||
# Useful link to keep track of latest API changes:
|
|
||||||
# https://developer.android.com/ndk/downloads/revision_history
|
|
||||||
|
|
||||||
_pkg_arch=aarch64
|
_pkg_arch=aarch64
|
||||||
_android_arch=arm64-v8a
|
_android_arch=arm64-v8a
|
||||||
_android_platform=22
|
_android_platform=22
|
||||||
|
|
||||||
# Minimum Android platform based on:
|
|
||||||
# https://developer.android.com/about/dashboards/
|
|
||||||
export ANDROID_MINIMUM_PLATFORM=${ANDROID_MINIMUM_PLATFORM:-$_android_platform}
|
|
||||||
|
|
||||||
export ANDROID_NDK_ROOT=${ANDROID_NDK_ROOT:-/opt/android-ndk}
|
|
||||||
export ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT:-/opt/android-sdk}
|
|
||||||
|
|
||||||
pkgname=android-$_pkg_arch-qt5
|
pkgname=android-$_pkg_arch-qt5
|
||||||
pkgver=5.12.2
|
pkgver=5.12.2
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc="Qt 5 for Android"
|
pkgdesc="Qt 5 for Android"
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
url='https://www.qt.io'
|
url='https://www.qt.io'
|
||||||
|
@ -36,11 +26,12 @@ makedepends=('libgl'
|
||||||
'libxslt'
|
'libxslt'
|
||||||
'fontconfig'
|
'fontconfig'
|
||||||
'java-environment-openjdk<=8'
|
'java-environment-openjdk<=8'
|
||||||
|
'android-pkg-config'
|
||||||
"android-$_pkg_arch-openssl")
|
"android-$_pkg_arch-openssl")
|
||||||
depends=('java-runtime-headless-openjdk<=8'
|
depends=('java-runtime-headless-openjdk<=8'
|
||||||
'apache-ant'
|
'apache-ant'
|
||||||
'android-ndk'
|
'android-ndk'
|
||||||
"android-platform-$ANDROID_MINIMUM_PLATFORM"
|
"android-platform-$_android_platform"
|
||||||
'android-sdk'
|
'android-sdk'
|
||||||
'android-sdk-build-tools'
|
'android-sdk-build-tools'
|
||||||
'android-sdk-platform-tools')
|
'android-sdk-platform-tools')
|
||||||
|
@ -70,28 +61,31 @@ case "$_pkg_arch" in
|
||||||
esac
|
esac
|
||||||
optdepends+=("android-$_pkg_arch-openssl: SSL support for Qt Network")
|
optdepends+=("android-$_pkg_arch-openssl: SSL support for Qt Network")
|
||||||
|
|
||||||
options=('!strip'
|
options=(!strip !buildflags staticlibs !emptydirs)
|
||||||
'!buildflags'
|
|
||||||
'staticlibs'
|
|
||||||
'!emptydirs')
|
|
||||||
_pkgfqn="qt-everywhere-src-${pkgver}"
|
_pkgfqn="qt-everywhere-src-${pkgver}"
|
||||||
source=("http://download.qt-project.org/official_releases/qt/${pkgver:0:4}/${pkgver}/single/${_pkgfqn}.tar.xz"
|
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'
|
'0001-Fix-clang-libc-build-under-Android.patch'
|
||||||
'0002-Fix-androiddeployqt-search-paths.patch'
|
'0002-Fix-androiddeployqt-search-paths.patch'
|
||||||
'0001-Disable-mapboxgl.patch')
|
'0003-Support-pkg-config-under-Android.patch'
|
||||||
|
'0001-Disable-mapboxgl.patch'
|
||||||
|
'android-env.sh')
|
||||||
sha256sums=('59b8cb4e728450b21224dcaaa40eb25bafc5196b6988f2225c394c6b7f881ff5'
|
sha256sums=('59b8cb4e728450b21224dcaaa40eb25bafc5196b6988f2225c394c6b7f881ff5'
|
||||||
'0a7e5d8d2192b69af5b648db57de2feb2e70348c73e0e7d9570d8dc170437aad'
|
'fixme'
|
||||||
'a958611bef4385b4e2d91ece10ab5cd48f621628c07612a18e36abae3cfbf440'
|
'fixme'
|
||||||
'add336aab427a319203205355029229592713cebcda2e8bc4ce99efdb0322b76')
|
'fixme'
|
||||||
|
'fixme'
|
||||||
_pref=/opt/android-libs/$_pkg_arch
|
'fixme')
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
cd ${_pkgfqn}
|
cd ${_pkgfqn}
|
||||||
|
|
||||||
|
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
|
||||||
|
source android-env.sh ${_android_arch}
|
||||||
|
|
||||||
pushd qtbase
|
pushd qtbase
|
||||||
patch -Np1 -i "../../0001-Fix-clang-libc-build-under-Android.patch"
|
patch -Np1 -i "../../0001-Fix-clang-libc-build-under-Android.patch"
|
||||||
patch -Np1 -i "../../0002-Fix-androiddeployqt-search-paths.patch"
|
patch -Np1 -i "../../0002-Fix-androiddeployqt-search-paths.patch"
|
||||||
|
patch -Np1 -i "../../0003-Support-pkg-config-under-Android.patch"
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd qtlocation
|
pushd qtlocation
|
||||||
|
@ -107,29 +101,24 @@ prepare() {
|
||||||
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/configure.pri
|
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/configure.pri
|
||||||
}
|
}
|
||||||
|
|
||||||
get_last() {
|
|
||||||
ls $1 | sort -V | tail -n 1
|
|
||||||
}
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd ${_pkgfqn}
|
cd ${_pkgfqn}
|
||||||
|
|
||||||
unset CC CXX CFLAGS CXXFLAGS LDFLAGS CHOST QMAKESPEC QTDIR CARCH
|
unset CC CXX CFLAGS CXXFLAGS LDFLAGS CHOST QMAKESPEC QTDIR CARCH
|
||||||
|
|
||||||
export ANDROID_BUILD_TOOLS_REVISION=${ANDROID_BUILD_TOOLS_REVISION:-$(get_last ${ANDROID_SDK_ROOT}/build-tools)}
|
export PKG_CONFIG=$ANDROID_PKGCONFIG
|
||||||
export ANDROID_API_VERSION=${ANDROID_API_VERSION:-android-$ANDROID_MINIMUM_PLATFORM}
|
|
||||||
export ANDROID_NDK_PLATFORM=${ANDROID_NDK_PLATFORM:-android-$ANDROID_MINIMUM_PLATFORM}
|
|
||||||
export PYTHON=/usr/bin/python2
|
export PYTHON=/usr/bin/python2
|
||||||
|
|
||||||
|
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
|
||||||
|
source android-env.sh ${_android_arch}
|
||||||
|
|
||||||
configue_opts="
|
configue_opts="
|
||||||
-confirm-license
|
-confirm-license
|
||||||
-opensource
|
-opensource
|
||||||
-silent
|
-silent
|
||||||
-prefix ${_pref}
|
-prefix ${ANDROID_LIBS}
|
||||||
-archdatadir ${_pref}/lib/qt
|
-examplesdir ${ANDROID_LIBS}/share/qt5/examples
|
||||||
-datadir ${_pref}/share/qt
|
-testsdir ${ANDROID_LIBS}/share/qt5/tests
|
||||||
-examplesdir ${_pref}/share/qt/examples
|
|
||||||
-testsdir ${_pref}/share/qt/tests
|
|
||||||
-xplatform android-clang
|
-xplatform android-clang
|
||||||
-nomake tests
|
-nomake tests
|
||||||
-nomake examples
|
-nomake examples
|
||||||
|
@ -145,7 +134,7 @@ build() {
|
||||||
-openssl-runtime
|
-openssl-runtime
|
||||||
-android-arch ${_android_arch}
|
-android-arch ${_android_arch}
|
||||||
-android-ndk-platform ${ANDROID_NDK_PLATFORM}
|
-android-ndk-platform ${ANDROID_NDK_PLATFORM}
|
||||||
-I/opt/android-libs/$_pkg_arch/include"
|
-I${ANDROID_LIBS}/$_pkg_arch/include"
|
||||||
|
|
||||||
[[ $ANDROID_DEBUG_BUILD ]] \
|
[[ $ANDROID_DEBUG_BUILD ]] \
|
||||||
&& configue_opts+=' -debug-and-release' \
|
&& configue_opts+=' -debug-and-release' \
|
||||||
|
@ -170,6 +159,9 @@ build() {
|
||||||
package() {
|
package() {
|
||||||
cd ${_pkgfqn}
|
cd ${_pkgfqn}
|
||||||
|
|
||||||
|
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
|
||||||
|
source android-env.sh ${_android_arch}
|
||||||
|
|
||||||
make INSTALL_ROOT=${pkgdir} install
|
make INSTALL_ROOT=${pkgdir} install
|
||||||
|
|
||||||
case "$_pkg_arch" in
|
case "$_pkg_arch" in
|
||||||
|
@ -191,11 +183,13 @@ package() {
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
local STRIP=${ANDROID_NDK_ROOT}/toolchains/${toolchain}/prebuilt/linux-x86_64/${stripFolder}/bin/strip
|
make INSTALL_ROOT=${pkgdir} install
|
||||||
find ${pkgdir}/${_pref}/bin -type f ! -name '*.pl' -exec strip {} \;
|
STRIP=${ANDROID_NDK_ROOT}/toolchains/${toolchain}/prebuilt/linux-x86_64/${stripFolder}/bin/strip
|
||||||
find ${pkgdir}/${_pref}/lib -type f -name 'lib*.so' -exec ${STRIP} {} \;
|
find ${pkgdir}/${ANDROID_LIBS}/bin -type f ! -name '*.pl' -exec strip {} \;
|
||||||
find ${pkgdir}/${_pref}/lib \( -type f -name 'lib*.a' ! -name 'libQt5Bootstrap.a' ! -name 'libQt5QmlDevTools.a' \) -exec ${STRIP} {} \;
|
find ${pkgdir}/${ANDROID_LIBS}/lib -type f -name 'lib*.so' -exec ${ANDROID_STRIP} {} \;
|
||||||
find ${pkgdir}/${_pref}/lib/qt/plugins -type f -name 'lib*.so' -exec ${STRIP} {} \;
|
find ${pkgdir}/${ANDROID_LIBS}/lib -type f \( -name 'lib*.a' ! -name 'libQt5Bootstrap.a' ! -name 'libQt5QmlDevTools.a' \) -exec ${ANDROID_STRIP} {} \;
|
||||||
|
find ${pkgdir}/${ANDROID_LIBS}/plugins -type f -name 'lib*.so' -exec ${ANDROID_STRIP} {} \;
|
||||||
|
find ${pkgdir}/${ANDROID_LIBS}/qml -type f -name 'lib*.so' -exec ${ANDROID_STRIP} {} \;
|
||||||
|
|
||||||
# fix plugin path in Android-specific dependency file
|
# fix plugin path in Android-specific dependency file
|
||||||
sed -i 's/\"plugins\//\"lib\/qt\/plugins\//g' ${pkgdir}/${_pref}/lib/*-android-dependencies.xml
|
sed -i 's/\"plugins\//\"lib\/qt\/plugins\//g' ${pkgdir}/${_pref}/lib/*-android-dependencies.xml
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Useful link to keep track of latest API changes:
|
||||||
|
#
|
||||||
|
# https://developer.android.com/ndk/downloads/revision_history
|
||||||
|
|
||||||
|
_android_arch=$1
|
||||||
|
|
||||||
|
# Minimum Android platform based on:
|
||||||
|
#
|
||||||
|
# https://developer.android.com/about/dashboards/
|
||||||
|
if [ -z "${ANDROID_MINIMUM_PLATFORM}" ]; then
|
||||||
|
export ANDROID_MINIMUM_PLATFORM=22
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${ANDROID_NDK_ROOT}" ]; then
|
||||||
|
export ANDROID_NDK_ROOT=/opt/android-ndk
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${ANDROID_SDK_ROOT}" ]; then
|
||||||
|
export ANDROID_SDK_ROOT=/opt/android-sdk
|
||||||
|
fi
|
||||||
|
|
||||||
|
get_last() {
|
||||||
|
ls $1 | sort -V | tail -n 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -z "${ANDROID_BUILD_TOOLS_REVISION}" ]; then
|
||||||
|
export ANDROID_BUILD_TOOLS_REVISION=$(get_last ${ANDROID_SDK_ROOT}/build-tools)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${ANDROID_API_VERSION}" ]; then
|
||||||
|
export ANDROID_API_VERSION=android-$ANDROID_MINIMUM_PLATFORM
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${ANDROID_NDK_PLATFORM}" ]; then
|
||||||
|
export ANDROID_NDK_PLATFORM=android-$ANDROID_MINIMUM_PLATFORM
|
||||||
|
fi
|
||||||
|
|
||||||
|
export ANDROID_PLATFORM=${ANDROID_NDK_ROOT}/platforms/$ANDROID_NDK_PLATFORM
|
||||||
|
export ANDROID_TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64
|
||||||
|
export ANDROID_SYSROOT=${ANDROID_TOOLCHAIN}/sysroot
|
||||||
|
export ANDROID_CROSS_PREFIX=$ANDROID_TOOLCHAIN/bin/
|
||||||
|
export ANDROID_PKGCONFIG=android-${_android_arch}-pkg-config
|
||||||
|
|
||||||
|
case "$_android_arch" in
|
||||||
|
aarch64)
|
||||||
|
export ANDROID_TOOLS_COMPILER_PREFIX=${ANDROID_CROSS_PREFIX}aarch64-linux-android${ANDROID_MINIMUM_PLATFORM}-
|
||||||
|
export ANDROID_TOOLS_PREFIX=${ANDROID_CROSS_PREFIX}aarch64-linux-android-
|
||||||
|
;;
|
||||||
|
armv7a-eabi)
|
||||||
|
export ANDROID_TOOLS_COMPILER_PREFIX=${ANDROID_CROSS_PREFIX}armv7a-linux-androideabi${ANDROID_MINIMUM_PLATFORM}-
|
||||||
|
export ANDROID_TOOLS_PREFIX=${ANDROID_CROSS_PREFIX}arm-linux-androideabi-
|
||||||
|
;;
|
||||||
|
x86)
|
||||||
|
export ANDROID_TOOLS_COMPILER_PREFIX=${ANDROID_CROSS_PREFIX}i686-linux-android${ANDROID_MINIMUM_PLATFORM}-
|
||||||
|
export ANDROID_TOOLS_PREFIX=${ANDROID_CROSS_PREFIX}i686-linux-android-
|
||||||
|
;;
|
||||||
|
x86-64)
|
||||||
|
export ANDROID_TOOLS_COMPILER_PREFIX=${ANDROID_CROSS_PREFIX}x86_64-linux-android${ANDROID_MINIMUM_PLATFORM}-
|
||||||
|
export ANDROID_TOOLS_PREFIX=${ANDROID_CROSS_PREFIX}x86_64-linux-android-
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
export ANDROID_CC=${ANDROID_TOOLS_COMPILER_PREFIX}clang
|
||||||
|
export ANDROID_CXX=${ANDROID_TOOLS_COMPILER_PREFIX}clang++
|
||||||
|
export ANDROID_AR=${ANDROID_TOOLS_PREFIX}ar
|
||||||
|
export ANDROID_NM=${ANDROID_TOOLS_PREFIX}nm
|
||||||
|
export ANDROID_RANLIB=${ANDROID_TOOLS_PREFIX}ranlib
|
||||||
|
export ANDROID_STRIP=${ANDROID_TOOLS_PREFIX}strip
|
||||||
|
export ANDROID_LIBS=/opt/android-libs/${_android_arch}
|
||||||
|
export PKG_CONFIG_SYSROOT_DIR=${ANDROID_LIBS}
|
||||||
|
export PKG_CONFIG_LIBDIR=${PKG_CONFIG_SYSROOT_DIR}/lib/pkgconfig:${PKG_CONFIG_SYSROOT_DIR}/share/pkgconfig
|
|
@ -1,7 +1,7 @@
|
||||||
From a2e98de3e73003272729e4393e32ac49fa991f5a Mon Sep 17 00:00:00 2001
|
From a2e98de3e73003272729e4393e32ac49fa991f5a Mon Sep 17 00:00:00 2001
|
||||||
From: Martchus <martchus@gmx.net>
|
From: Martchus <martchus@gmx.net>
|
||||||
Date: Sun, 9 Dec 2018 14:28:07 +0100
|
Date: Sun, 9 Dec 2018 14:28:07 +0100
|
||||||
Subject: [PATCH 1/2] Fix clang/libc++ build under Android
|
Subject: [PATCH 1/3] Fix clang/libc++ build under Android
|
||||||
|
|
||||||
---
|
---
|
||||||
mkspecs/android-clang/qmake.conf | 7 +++++--
|
mkspecs/android-clang/qmake.conf | 7 +++++--
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
From e209f40d45c9ca8dfc8f7704904c49dd9998de28 Mon Sep 17 00:00:00 2001
|
From e209f40d45c9ca8dfc8f7704904c49dd9998de28 Mon Sep 17 00:00:00 2001
|
||||||
From: Martchus <martchus@gmx.net>
|
From: Martchus <martchus@gmx.net>
|
||||||
Date: Sun, 9 Dec 2018 14:31:30 +0100
|
Date: Sun, 9 Dec 2018 14:31:30 +0100
|
||||||
Subject: [PATCH 2/2] Fix androiddeployqt search paths
|
Subject: [PATCH 2/3] Fix androiddeployqt search paths
|
||||||
|
|
||||||
---
|
---
|
||||||
src/tools/androiddeployqt/main.cpp | 4 ++--
|
src/tools/androiddeployqt/main.cpp | 4 ++--
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
From fc643d716b33387759d9be0eeff250deb624d5e9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martchus <martchus@gmx.net>
|
||||||
|
Date: Sun, 7 Apr 2019 09:54:49 +0200
|
||||||
|
Subject: [PATCH 3/3] Support pkg-config under Android
|
||||||
|
|
||||||
|
from https://aur.archlinux.org/cgit/aur.git/commit/?h=android-aarch64-qt5&id=d901da324b2ceea2ac99b48137cb82b2bd920c77
|
||||||
|
---
|
||||||
|
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 5cc6ee79e2..c731b4ef23 100644
|
||||||
|
--- a/mkspecs/android-clang/qmake.conf
|
||||||
|
+++ b/mkspecs/android-clang/qmake.conf
|
||||||
|
@@ -57,3 +57,6 @@ else: \
|
||||||
|
QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz
|
||||||
|
|
||||||
|
include(../common/android-base-tail.conf)
|
||||||
|
+
|
||||||
|
+QMAKE_PKG_CONFIG = $$[QT_INSTALL_PREFIX]
|
||||||
|
+QMAKE_PKG_CONFIG = android-$$section(QMAKE_PKG_CONFIG, /, 3, 3)-pkg-config
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
|
@ -5,23 +5,13 @@
|
||||||
# Contributor: Ricardo (XenGi) Band <email@ricardo.band>
|
# Contributor: Ricardo (XenGi) Band <email@ricardo.band>
|
||||||
# Contributor: Martchus <martchus@gmx.net>
|
# Contributor: Martchus <martchus@gmx.net>
|
||||||
|
|
||||||
# Useful link to keep track of latest API changes:
|
|
||||||
# https://developer.android.com/ndk/downloads/revision_history
|
|
||||||
|
|
||||||
_pkg_arch=armv7a-eabi
|
_pkg_arch=armv7a-eabi
|
||||||
_android_arch=armeabi-v7a
|
_android_arch=armeabi-v7a
|
||||||
_android_platform=21
|
_android_platform=21
|
||||||
|
|
||||||
# Minimum Android platform based on:
|
|
||||||
# https://developer.android.com/about/dashboards/
|
|
||||||
export ANDROID_MINIMUM_PLATFORM=${ANDROID_MINIMUM_PLATFORM:-$_android_platform}
|
|
||||||
|
|
||||||
export ANDROID_NDK_ROOT=${ANDROID_NDK_ROOT:-/opt/android-ndk}
|
|
||||||
export ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT:-/opt/android-sdk}
|
|
||||||
|
|
||||||
pkgname=android-$_pkg_arch-qt5
|
pkgname=android-$_pkg_arch-qt5
|
||||||
pkgver=5.12.2
|
pkgver=5.12.2
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc="Qt 5 for Android"
|
pkgdesc="Qt 5 for Android"
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
url='https://www.qt.io'
|
url='https://www.qt.io'
|
||||||
|
@ -36,11 +26,12 @@ makedepends=('libgl'
|
||||||
'libxslt'
|
'libxslt'
|
||||||
'fontconfig'
|
'fontconfig'
|
||||||
'java-environment-openjdk<=8'
|
'java-environment-openjdk<=8'
|
||||||
|
'android-pkg-config'
|
||||||
"android-$_pkg_arch-openssl")
|
"android-$_pkg_arch-openssl")
|
||||||
depends=('java-runtime-headless-openjdk<=8'
|
depends=('java-runtime-headless-openjdk<=8'
|
||||||
'apache-ant'
|
'apache-ant'
|
||||||
'android-ndk'
|
'android-ndk'
|
||||||
"android-platform-$ANDROID_MINIMUM_PLATFORM"
|
"android-platform-$_android_platform"
|
||||||
'android-sdk'
|
'android-sdk'
|
||||||
'android-sdk-build-tools'
|
'android-sdk-build-tools'
|
||||||
'android-sdk-platform-tools')
|
'android-sdk-platform-tools')
|
||||||
|
@ -70,28 +61,31 @@ case "$_pkg_arch" in
|
||||||
esac
|
esac
|
||||||
optdepends+=("android-$_pkg_arch-openssl: SSL support for Qt Network")
|
optdepends+=("android-$_pkg_arch-openssl: SSL support for Qt Network")
|
||||||
|
|
||||||
options=('!strip'
|
options=(!strip !buildflags staticlibs !emptydirs)
|
||||||
'!buildflags'
|
|
||||||
'staticlibs'
|
|
||||||
'!emptydirs')
|
|
||||||
_pkgfqn="qt-everywhere-src-${pkgver}"
|
_pkgfqn="qt-everywhere-src-${pkgver}"
|
||||||
source=("http://download.qt-project.org/official_releases/qt/${pkgver:0:4}/${pkgver}/single/${_pkgfqn}.tar.xz"
|
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'
|
'0001-Fix-clang-libc-build-under-Android.patch'
|
||||||
'0002-Fix-androiddeployqt-search-paths.patch'
|
'0002-Fix-androiddeployqt-search-paths.patch'
|
||||||
'0001-Disable-mapboxgl.patch')
|
'0003-Support-pkg-config-under-Android.patch'
|
||||||
|
'0001-Disable-mapboxgl.patch'
|
||||||
|
'android-env.sh')
|
||||||
sha256sums=('59b8cb4e728450b21224dcaaa40eb25bafc5196b6988f2225c394c6b7f881ff5'
|
sha256sums=('59b8cb4e728450b21224dcaaa40eb25bafc5196b6988f2225c394c6b7f881ff5'
|
||||||
'0a7e5d8d2192b69af5b648db57de2feb2e70348c73e0e7d9570d8dc170437aad'
|
'fixme'
|
||||||
'a958611bef4385b4e2d91ece10ab5cd48f621628c07612a18e36abae3cfbf440'
|
'fixme'
|
||||||
'add336aab427a319203205355029229592713cebcda2e8bc4ce99efdb0322b76')
|
'fixme'
|
||||||
|
'fixme'
|
||||||
_pref=/opt/android-libs/$_pkg_arch
|
'fixme')
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
cd ${_pkgfqn}
|
cd ${_pkgfqn}
|
||||||
|
|
||||||
|
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
|
||||||
|
source android-env.sh ${_android_arch}
|
||||||
|
|
||||||
pushd qtbase
|
pushd qtbase
|
||||||
patch -Np1 -i "../../0001-Fix-clang-libc-build-under-Android.patch"
|
patch -Np1 -i "../../0001-Fix-clang-libc-build-under-Android.patch"
|
||||||
patch -Np1 -i "../../0002-Fix-androiddeployqt-search-paths.patch"
|
patch -Np1 -i "../../0002-Fix-androiddeployqt-search-paths.patch"
|
||||||
|
patch -Np1 -i "../../0003-Support-pkg-config-under-Android.patch"
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd qtlocation
|
pushd qtlocation
|
||||||
|
@ -107,29 +101,24 @@ prepare() {
|
||||||
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/configure.pri
|
sed -i "s/android-16/android-$ANDROID_MINIMUM_PLATFORM/g" qtbase/configure.pri
|
||||||
}
|
}
|
||||||
|
|
||||||
get_last() {
|
|
||||||
ls $1 | sort -V | tail -n 1
|
|
||||||
}
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd ${_pkgfqn}
|
cd ${_pkgfqn}
|
||||||
|
|
||||||
unset CC CXX CFLAGS CXXFLAGS LDFLAGS CHOST QMAKESPEC QTDIR CARCH
|
unset CC CXX CFLAGS CXXFLAGS LDFLAGS CHOST QMAKESPEC QTDIR CARCH
|
||||||
|
|
||||||
export ANDROID_BUILD_TOOLS_REVISION=${ANDROID_BUILD_TOOLS_REVISION:-$(get_last ${ANDROID_SDK_ROOT}/build-tools)}
|
export PKG_CONFIG=$ANDROID_PKGCONFIG
|
||||||
export ANDROID_API_VERSION=${ANDROID_API_VERSION:-android-$ANDROID_MINIMUM_PLATFORM}
|
|
||||||
export ANDROID_NDK_PLATFORM=${ANDROID_NDK_PLATFORM:-android-$ANDROID_MINIMUM_PLATFORM}
|
|
||||||
export PYTHON=/usr/bin/python2
|
export PYTHON=/usr/bin/python2
|
||||||
|
|
||||||
|
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
|
||||||
|
source android-env.sh ${_android_arch}
|
||||||
|
|
||||||
configue_opts="
|
configue_opts="
|
||||||
-confirm-license
|
-confirm-license
|
||||||
-opensource
|
-opensource
|
||||||
-silent
|
-silent
|
||||||
-prefix ${_pref}
|
-prefix ${ANDROID_LIBS}
|
||||||
-archdatadir ${_pref}/lib/qt
|
-examplesdir ${ANDROID_LIBS}/share/qt5/examples
|
||||||
-datadir ${_pref}/share/qt
|
-testsdir ${ANDROID_LIBS}/share/qt5/tests
|
||||||
-examplesdir ${_pref}/share/qt/examples
|
|
||||||
-testsdir ${_pref}/share/qt/tests
|
|
||||||
-xplatform android-clang
|
-xplatform android-clang
|
||||||
-nomake tests
|
-nomake tests
|
||||||
-nomake examples
|
-nomake examples
|
||||||
|
@ -145,7 +134,7 @@ build() {
|
||||||
-openssl-runtime
|
-openssl-runtime
|
||||||
-android-arch ${_android_arch}
|
-android-arch ${_android_arch}
|
||||||
-android-ndk-platform ${ANDROID_NDK_PLATFORM}
|
-android-ndk-platform ${ANDROID_NDK_PLATFORM}
|
||||||
-I/opt/android-libs/$_pkg_arch/include"
|
-I${ANDROID_LIBS}/$_pkg_arch/include"
|
||||||
|
|
||||||
[[ $ANDROID_DEBUG_BUILD ]] \
|
[[ $ANDROID_DEBUG_BUILD ]] \
|
||||||
&& configue_opts+=' -debug-and-release' \
|
&& configue_opts+=' -debug-and-release' \
|
||||||
|
@ -170,6 +159,9 @@ build() {
|
||||||
package() {
|
package() {
|
||||||
cd ${_pkgfqn}
|
cd ${_pkgfqn}
|
||||||
|
|
||||||
|
export ANDROID_MINIMUM_PLATFORM=${_android_platform}
|
||||||
|
source android-env.sh ${_android_arch}
|
||||||
|
|
||||||
make INSTALL_ROOT=${pkgdir} install
|
make INSTALL_ROOT=${pkgdir} install
|
||||||
|
|
||||||
case "$_pkg_arch" in
|
case "$_pkg_arch" in
|
||||||
|
@ -191,11 +183,13 @@ package() {
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
local STRIP=${ANDROID_NDK_ROOT}/toolchains/${toolchain}/prebuilt/linux-x86_64/${stripFolder}/bin/strip
|
make INSTALL_ROOT=${pkgdir} install
|
||||||
find ${pkgdir}/${_pref}/bin -type f ! -name '*.pl' -exec strip {} \;
|
STRIP=${ANDROID_NDK_ROOT}/toolchains/${toolchain}/prebuilt/linux-x86_64/${stripFolder}/bin/strip
|
||||||
find ${pkgdir}/${_pref}/lib -type f -name 'lib*.so' -exec ${STRIP} {} \;
|
find ${pkgdir}/${ANDROID_LIBS}/bin -type f ! -name '*.pl' -exec strip {} \;
|
||||||
find ${pkgdir}/${_pref}/lib \( -type f -name 'lib*.a' ! -name 'libQt5Bootstrap.a' ! -name 'libQt5QmlDevTools.a' \) -exec ${STRIP} {} \;
|
find ${pkgdir}/${ANDROID_LIBS}/lib -type f -name 'lib*.so' -exec ${ANDROID_STRIP} {} \;
|
||||||
find ${pkgdir}/${_pref}/lib/qt/plugins -type f -name 'lib*.so' -exec ${STRIP} {} \;
|
find ${pkgdir}/${ANDROID_LIBS}/lib -type f \( -name 'lib*.a' ! -name 'libQt5Bootstrap.a' ! -name 'libQt5QmlDevTools.a' \) -exec ${ANDROID_STRIP} {} \;
|
||||||
|
find ${pkgdir}/${ANDROID_LIBS}/plugins -type f -name 'lib*.so' -exec ${ANDROID_STRIP} {} \;
|
||||||
|
find ${pkgdir}/${ANDROID_LIBS}/qml -type f -name 'lib*.so' -exec ${ANDROID_STRIP} {} \;
|
||||||
|
|
||||||
# fix plugin path in Android-specific dependency file
|
# fix plugin path in Android-specific dependency file
|
||||||
sed -i 's/\"plugins\//\"lib\/qt\/plugins\//g' ${pkgdir}/${_pref}/lib/*-android-dependencies.xml
|
sed -i 's/\"plugins\//\"lib\/qt\/plugins\//g' ${pkgdir}/${_pref}/lib/*-android-dependencies.xml
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Useful link to keep track of latest API changes:
|
||||||
|
#
|
||||||
|
# https://developer.android.com/ndk/downloads/revision_history
|
||||||
|
|
||||||
|
_android_arch=$1
|
||||||
|
|
||||||
|
# Minimum Android platform based on:
|
||||||
|
#
|
||||||
|
# https://developer.android.com/about/dashboards/
|
||||||
|
if [ -z "${ANDROID_MINIMUM_PLATFORM}" ]; then
|
||||||
|
export ANDROID_MINIMUM_PLATFORM=22
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${ANDROID_NDK_ROOT}" ]; then
|
||||||
|
export ANDROID_NDK_ROOT=/opt/android-ndk
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${ANDROID_SDK_ROOT}" ]; then
|
||||||
|
export ANDROID_SDK_ROOT=/opt/android-sdk
|
||||||
|
fi
|
||||||
|
|
||||||
|
get_last() {
|
||||||
|
ls $1 | sort -V | tail -n 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -z "${ANDROID_BUILD_TOOLS_REVISION}" ]; then
|
||||||
|
export ANDROID_BUILD_TOOLS_REVISION=$(get_last ${ANDROID_SDK_ROOT}/build-tools)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${ANDROID_API_VERSION}" ]; then
|
||||||
|
export ANDROID_API_VERSION=android-$ANDROID_MINIMUM_PLATFORM
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${ANDROID_NDK_PLATFORM}" ]; then
|
||||||
|
export ANDROID_NDK_PLATFORM=android-$ANDROID_MINIMUM_PLATFORM
|
||||||
|
fi
|
||||||
|
|
||||||
|
export ANDROID_PLATFORM=${ANDROID_NDK_ROOT}/platforms/$ANDROID_NDK_PLATFORM
|
||||||
|
export ANDROID_TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64
|
||||||
|
export ANDROID_SYSROOT=${ANDROID_TOOLCHAIN}/sysroot
|
||||||
|
export ANDROID_CROSS_PREFIX=$ANDROID_TOOLCHAIN/bin/
|
||||||
|
export ANDROID_PKGCONFIG=android-${_android_arch}-pkg-config
|
||||||
|
|
||||||
|
case "$_android_arch" in
|
||||||
|
aarch64)
|
||||||
|
export ANDROID_TOOLS_COMPILER_PREFIX=${ANDROID_CROSS_PREFIX}aarch64-linux-android${ANDROID_MINIMUM_PLATFORM}-
|
||||||
|
export ANDROID_TOOLS_PREFIX=${ANDROID_CROSS_PREFIX}aarch64-linux-android-
|
||||||
|
;;
|
||||||
|
armv7a-eabi)
|
||||||
|
export ANDROID_TOOLS_COMPILER_PREFIX=${ANDROID_CROSS_PREFIX}armv7a-linux-androideabi${ANDROID_MINIMUM_PLATFORM}-
|
||||||
|
export ANDROID_TOOLS_PREFIX=${ANDROID_CROSS_PREFIX}arm-linux-androideabi-
|
||||||
|
;;
|
||||||
|
x86)
|
||||||
|
export ANDROID_TOOLS_COMPILER_PREFIX=${ANDROID_CROSS_PREFIX}i686-linux-android${ANDROID_MINIMUM_PLATFORM}-
|
||||||
|
export ANDROID_TOOLS_PREFIX=${ANDROID_CROSS_PREFIX}i686-linux-android-
|
||||||
|
;;
|
||||||
|
x86-64)
|
||||||
|
export ANDROID_TOOLS_COMPILER_PREFIX=${ANDROID_CROSS_PREFIX}x86_64-linux-android${ANDROID_MINIMUM_PLATFORM}-
|
||||||
|
export ANDROID_TOOLS_PREFIX=${ANDROID_CROSS_PREFIX}x86_64-linux-android-
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
export ANDROID_CC=${ANDROID_TOOLS_COMPILER_PREFIX}clang
|
||||||
|
export ANDROID_CXX=${ANDROID_TOOLS_COMPILER_PREFIX}clang++
|
||||||
|
export ANDROID_AR=${ANDROID_TOOLS_PREFIX}ar
|
||||||
|
export ANDROID_NM=${ANDROID_TOOLS_PREFIX}nm
|
||||||
|
export ANDROID_RANLIB=${ANDROID_TOOLS_PREFIX}ranlib
|
||||||
|
export ANDROID_STRIP=${ANDROID_TOOLS_PREFIX}strip
|
||||||
|
export ANDROID_LIBS=/opt/android-libs/${_android_arch}
|
||||||
|
export PKG_CONFIG_SYSROOT_DIR=${ANDROID_LIBS}
|
||||||
|
export PKG_CONFIG_LIBDIR=${PKG_CONFIG_SYSROOT_DIR}/lib/pkgconfig:${PKG_CONFIG_SYSROOT_DIR}/share/pkgconfig
|
Loading…
Reference in New Issue