summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD217
1 files changed, 217 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..eec3f06b722a
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,217 @@
+# PKGCONFIG for android-qt5
+# Maintainer: Gonzalo Exequiel Pedone <hipersayan DOT x AT gmail DOT com>
+# Contributor: Jiaxi Hu <sftrytry _AT_ gmail _DOT_ com>
+# Contributor: jimmy00784 <jimmy00784@gmail.com>
+# Contributor: Ricardo (XenGi) Band <email@ricardo.band>
+# Contributor: Martchus <martchus@gmx.net>
+
+# Useful link to keep track of latest API changes:
+#
+# https://developer.android.com/ndk/downloads/revision_history
+
+_android_arch=x86-64
+
+# 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
+
+pkgname=android-${_android_arch}-qt5
+pkgver=5.11.2
+pkgrel=1
+pkgdesc="Qt 5 for Android"
+arch=('x86_64')
+url='https://www.qt.io'
+license=('GPL3' 'LGPL')
+makedepends=('libgl'
+ 'sqlite'
+ 'zlib'
+ 'python2'
+ 'ruby'
+ 'gperf'
+ 'libxslt'
+ 'fontconfig')
+depends=('java-runtime-headless>=7'
+ 'apache-ant'
+ 'android-ndk'
+ "android-platform-$ANDROID_MINIMUM_PLATFORM"
+ 'android-sdk'
+ 'android-sdk-build-tools'
+ 'android-sdk-platform-tools')
+groups=('android-qt5')
+
+case "$_android_arch" in
+ aarch64)
+ optdepends=('android-google-apis-armv7a-eabi: AVD support'
+ 'android-armv7a-eabi-system-image: AVD support')
+ ;;
+ armv7a-eabi)
+ optdepends=('android-google-apis-armv7a-eabi: AVD support'
+ 'android-armv7a-eabi-system-image: AVD support')
+ ;;
+ x86)
+ optdepends=('android-google-apis-x86: AVD support'
+ 'android-x86-system-image: AVD support')
+ ;;
+ x86-64)
+ optdepends=('android-google-apis-x86-64: AVD support'
+ 'android-x86-64-system-image: AVD support')
+ ;;
+ *)
+ ;;
+esac
+
+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-build.patch"
+ "0002-Disable-mapbox.patch")
+md5sums=('152a8ade9c11fe33ff5bc95310a1bb64'
+ '511eafcabe9e0c6210f1dc5e26daa5c8'
+ '20d8bdd24102e9011b561b7361394728')
+
+_pref=/opt/android-libs/$_android_arch
+
+prepare() {
+ cd ${_pkgfqn}
+
+ # Platform specific patches.
+ patch -Np1 -i "../0001-Fix-clang-build.patch"
+ patch -Np1 -i "../0002-Disable-mapbox.patch"
+}
+
+get_last() {
+ ls $1 | sort -V | tail -n 1
+}
+
+build() {
+ cd ${_pkgfqn}
+
+ unset CC
+ unset CXX
+ unset CFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+ unset CHOST
+ unset QMAKESPEC
+ unset QTDIR
+ unset CARCH
+
+ 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
+
+ export PYTHON=/usr/bin/python2
+
+ if [ -z "${ANDROID_NDK_PLATFORM}" ]; then
+ export ANDROID_NDK_PLATFORM=android-$ANDROID_MINIMUM_PLATFORM
+ fi
+
+ case "$_android_arch" in
+ aarch64)
+ target_arch=arm64-v8a
+ ;;
+ armv7a-eabi)
+ target_arch=armeabi-v7a
+ ;;
+ x86)
+ target_arch=x86
+ ;;
+ x86-64)
+ target_arch=x86_64
+ ;;
+ esac
+
+ configue_opts="
+ -confirm-license
+ -opensource
+ -silent
+ -prefix ${_pref}
+ -archdatadir ${_pref}/lib/qt
+ -datadir ${_pref}/share/qt
+ -examplesdir ${_pref}/share/qt/examples
+ -testsdir ${_pref}/share/qt/tests
+ -xplatform android-clang
+ -nomake tests
+ -nomake examples
+ -android-ndk ${ANDROID_NDK_ROOT}
+ -android-sdk ${ANDROID_SDK_ROOT}
+ -android-ndk-host linux-x86_64
+ -android-toolchain-version 4.9
+ -skip qttranslations
+ -skip qtserialport
+ -no-warnings-are-errors
+ -no-pkg-config
+ -qt-zlib
+ -qt-freetype
+ -android-arch ${target_arch}
+ -android-ndk-platform ${ANDROID_NDK_PLATFORM}"
+
+ [[ $ANDROID_DEBUG_BUILD ]] \
+ && configue_opts+=' -debug-and-release' \
+ || configue_opts+=' -release'
+
+ # Platform specific patches
+ case "$_android_arch" in
+ x86*)
+ configue_opts+="
+ -no-sql-mysql
+ -no-sql-psql"
+ ;;
+ *)
+ ;;
+ esac
+
+ ./configure ${configue_opts}
+
+ make $MAKEFLAGS
+}
+
+package() {
+ cd ${_pkgfqn}
+
+ make INSTALL_ROOT=${pkgdir} install
+
+ case "$_android_arch" in
+ aarch64)
+ toolchain=aarch64-linux-android-4.9
+ stripFolder=aarch64-linux-android
+ ;;
+ armv7a-eabi)
+ toolchain=arm-linux-androideabi-4.9
+ stripFolder=arm-linux-androideabi
+ ;;
+ x86)
+ toolchain=x86-4.9
+ stripFolder=i686-linux-android
+ ;;
+ x86-64)
+ toolchain=x86_64-4.9
+ stripFolder=x86_64-linux-android
+ ;;
+ esac
+
+ STRIP=${ANDROID_NDK_ROOT}/toolchains/${toolchain}/prebuilt/linux-x86_64/${stripFolder}/bin/strip
+ find ${pkgdir}/${_pref}/bin ! -name '*.pl' -exec ${STRIP} {} \;
+ find ${pkgdir}/${_pref}/lib -name 'lib*.so' -exec ${STRIP} {} \;
+ find ${pkgdir}/${_pref}/lib \( -name 'lib*.a' ! -name 'libQt5Bootstrap.a' ! -name 'libQt5QmlDevTools.a' \) -exec ${STRIP} {} \;
+ find ${pkgdir}/${_pref}/lib/qt/plugins -name 'lib*.so' -exec ${STRIP} {} \;
+ sed -i '/QMAKE_PRL_BUILD_DIR/d' ${pkgdir}/${_pref}/lib/lib*.prl
+}