From afbe1209a8de2b5a07aa1a26b21d8854f4499f91 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 24 Nov 2018 02:41:08 +0100 Subject: [PATCH] Update Android packages * Update to latest version(s) * Change name scheme * Use Clang/libc++ everywhere --- .../PKGBUILD | 21 ++-- .../no-versioned-shlibs.patch | 0 .../PKGBUILD | 24 +++-- .../PKGBUILD | 32 ++++--- .../android-aarch64}/PKGBUILD | 24 +++-- {kirigami => kirigami2}/default/PKGBUILD | 0 libiconv/android-aarch64/PKGBUILD | 90 +++++++++++++++++ libiconv/android-arm64-v8a/PKGBUILD | 68 ------------- .../PKGBUILD | 33 +++++-- .../setenv-android.sh | 0 .../PKGBUILD | 0 .../setenv-android.sh | 0 passwordfile/android-aarch64/PKGBUILD | 89 +++++++++++++++++ passwordfile/android-arm64-v8a/PKGBUILD | 64 ------------- .../PKGBUILD | 37 ++++--- .../0001-Fix-clang-build.patch | 0 .../PKGBUILD | 96 ++++++++++++------- .../PKGBUILD | 26 +++-- system-image/android-arm64-v8a/PKGBUILD | 10 +- 19 files changed, 357 insertions(+), 257 deletions(-) rename boost/{android-arm64-v8a => android-aarch64}/PKGBUILD (90%) rename boost/{android-arm64-v8a => android-aarch64}/no-versioned-shlibs.patch (100%) rename c++utilities/{android-arm64-v8a => android-aarch64}/PKGBUILD (82%) rename cppunit/{android-arm64-v8a => android-aarch64}/PKGBUILD (85%) rename {kirigami/android-arm64-v8a => kirigami2/android-aarch64}/PKGBUILD (66%) rename {kirigami => kirigami2}/default/PKGBUILD (100%) create mode 100644 libiconv/android-aarch64/PKGBUILD delete mode 100644 libiconv/android-arm64-v8a/PKGBUILD rename openssl/{android-arm64-v8a => android-aarch64}/PKGBUILD (70%) rename openssl/{android-arm64-v8a => android-aarch64}/setenv-android.sh (100%) rename openssl/{android-armeabi-v7a => android-armv7a-eabi}/PKGBUILD (100%) rename openssl/{android-armeabi-v7a => android-armv7a-eabi}/setenv-android.sh (100%) create mode 100644 passwordfile/android-aarch64/PKGBUILD delete mode 100644 passwordfile/android-arm64-v8a/PKGBUILD rename passwordmanager/{android-arm64-v8a => android-aarch64}/PKGBUILD (67%) rename qt5/{android-arm64-v8a => android-aarch64}/0001-Fix-clang-build.patch (100%) rename qt5/{android-arm64-v8a => android-aarch64}/PKGBUILD (58%) rename qtutilities/{android-arm64-v8a => android-aarch64}/PKGBUILD (66%) diff --git a/boost/android-arm64-v8a/PKGBUILD b/boost/android-aarch64/PKGBUILD similarity index 90% rename from boost/android-arm64-v8a/PKGBUILD rename to boost/android-aarch64/PKGBUILD index c810a5a1..3bb5a821 100644 --- a/boost/android-arm64-v8a/PKGBUILD +++ b/boost/android-aarch64/PKGBUILD @@ -4,26 +4,29 @@ # you also find the URL of a binary repository. _pkgname=boost +_pkg_arch=aarch64 _android_arch=arm64-v8a -_android_toolchain=aarch64-linux-android -_android_prefix=/opt/android-libs/$_android_arch +_android_toolchain=$_pkg_arch-linux-android +_android_platform=22 +_android_prefix=/opt/android-libs/$_pkg_arch _android_ndk_path=/opt/android-ndk -_android_api_level=21 -_android_platform=android-$_android_api_level/arch-arm64 +_android_platform_dir=android-$_android_platform/arch-arm64 _boost_arch=arm _boost_address_model=64 -pkgname=android-$_pkgname-$_android_arch +pkgname=android-$_pkg_arch-$_pkgname pkgver=1.68.0 _boostver=${pkgver//./_} pkgrel=1 url='http://www.boost.org/' arch=('any') license=('custom') -pkgdesc="Free peer-reviewed portable C++ source libraries (Android, $_android_arch)" -depends=("boost-libs=${pkgver}" "android-libiconv-$_android_arch") +pkgdesc="Free peer-reviewed portable C++ source libraries (Android, $_pkg_arch)" +depends=("android-$_pkg_arch-libiconv") options=(!buildflags staticlibs !strip !emptydirs) makedepends=('bzip2' 'zlib' 'android-ndk' 'android-sdk') +conflicts=("android-$_pkgname-$_android_arch") +replaces=("android-$_pkgname-$_android_arch") source=(https://downloads.sourceforge.net/project/${_pkgname}/${_pkgname}/${pkgver}/${_pkgname}_${_boostver}.tar.bz2 no-versioned-shlibs.patch) sha256sums=('7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7' @@ -40,7 +43,7 @@ build() { local target_flags=" \ --target=$_android_toolchain \ --gcc-toolchain=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64 \ - --sysroot=$_android_ndk_path/platforms/$_android_platform/usr" + --sysroot=$_android_ndk_path/platforms/$_android_platform_dir/usr" local common_flags=" \ $target_flags \ -isystem $_android_ndk_path/sources/android/support/include \ @@ -50,7 +53,7 @@ build() { -isystem $_android_ndk_path/sysroot/usr/include/$_android_toolchain \ -funwind-tables \ -no-canonical-prefixes \ - -D__ANDROID_API__=$_android_api_level \ + -D__ANDROID_API__=$_android_platform \ -O3 \ -fPIC \ -DBOOST_ASIO_HAS_STD_STRING_VIEW=1" diff --git a/boost/android-arm64-v8a/no-versioned-shlibs.patch b/boost/android-aarch64/no-versioned-shlibs.patch similarity index 100% rename from boost/android-arm64-v8a/no-versioned-shlibs.patch rename to boost/android-aarch64/no-versioned-shlibs.patch diff --git a/c++utilities/android-arm64-v8a/PKGBUILD b/c++utilities/android-aarch64/PKGBUILD similarity index 82% rename from c++utilities/android-arm64-v8a/PKGBUILD rename to c++utilities/android-aarch64/PKGBUILD index d3be43e8..52c17b14 100644 --- a/c++utilities/android-arm64-v8a/PKGBUILD +++ b/c++utilities/android-aarch64/PKGBUILD @@ -6,21 +6,25 @@ _reponame=cpp-utilities _pkgname=c++utilities _android_arch=arm64-v8a -_android_toolchain=aarch64-linux-android -_prefix=/opt/android-libs/$_android_arch +_pkg_arch=aarch64 +_android_toolchain=$_pkg_arch-linux-android +_android_platform=22 +_prefix=/opt/android-libs/$_pkg_arch -pkgname=android-$_pkgname-$_android_arch +pkgname=android-$_pkg_arch-$_pkgname pkgver=4.16.0 pkgrel=1 arch=('any') -pkgdesc="Common C++ classes and routines such as argument parser, IO and conversion utilities (Android, $_android_arch)" +pkgdesc="Common C++ classes and routines such as argument parser, IO and conversion utilities (Android, $_pkg_arch)" license=('GPL') -depends=("android-libiconv-$_android_arch" "android-boost-$_android_arch") +depends=("android-$_pkg_arch-libiconv" "android-$_pkg_arch-boost") optdepends=("$_pkgname-doc: API documentation") -checkdepends=("android-cppunit-$_android_arch") +checkdepends=("android-$_pkg_arch-cppunit") # FIXME: run tests with qemu -#checkdepends+=('qemu-binfmt-arm' "android-linker-$_android_arch") +#checkdepends+=('qemu-binfmt-arm' "android-$_pkg_arch-linker") makedepends=('cmake' 'android-ndk' 'android-sdk') +conflicts=("android-$_pkgname-$_android_arch") +replaces=("android-$_pkgname-$_android_arch") url="https://github.com/Martchus/${_reponame}" source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('c4487d6e684c523e596bfc91203a6f10609606786553517bcf44ffae181feaa5') @@ -39,7 +43,7 @@ build() { cmake \ -DCMAKE_SYSTEM_NAME=Android \ - -DCMAKE_SYSTEM_VERSION=21 \ + -DCMAKE_SYSTEM_VERSION=$_android_platform \ -DCMAKE_ANDROID_ARCH_ABI=$_android_arch \ -DCMAKE_ANDROID_SDK="$android_sdk_path" \ -DCMAKE_ANDROID_NDK="$android_ndk_path" \ @@ -82,8 +86,8 @@ package() { make DESTDIR="${pkgdir}" install # add tests to the package for possibly executing them later under Android - if [[ -f c++utilities_tests ]]; then + if [[ -f ${_pkgname}_tests ]]; then mkdir "${pkgdir}/$_prefix/bin" - cp c++utilities_tests "${pkgdir}/$_prefix/bin" + cp ${_pkgname}_tests "${pkgdir}/$_prefix/bin" fi } diff --git a/cppunit/android-arm64-v8a/PKGBUILD b/cppunit/android-aarch64/PKGBUILD similarity index 85% rename from cppunit/android-arm64-v8a/PKGBUILD rename to cppunit/android-aarch64/PKGBUILD index 171dd57a..e552e1b9 100644 --- a/cppunit/android-arm64-v8a/PKGBUILD +++ b/cppunit/android-aarch64/PKGBUILD @@ -5,9 +5,10 @@ # All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where # you also find the URL of a binary repository. -_name=cppunit +_pkgname=cppunit _android_arch=arm64-v8a -_android_toolchain=aarch64-linux-android +_pkg_arch=aarch64 +_android_toolchain=$_pkg_arch-linux-android _android_ndk_path=/opt/android-ndk _android_api_level=28 _android_platform=android-28/arch-arm64 @@ -16,9 +17,9 @@ _android_sysroot=${_android_ndk_path}/platforms/android-28/arch-arm64 _android_gcc_toolchain_path=$_android_ndk_path/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64 _android_gcc_tool_prefix=${_android_gcc_toolchain_path}/bin/${_android_toolchain} _android_clang_toolchain_path=$_android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/bin -_install_prefix=/opt/android-libs/$_android_arch +_install_prefix=/opt/android-libs/$_pkg_arch -pkgname=android-$_name-$_android_arch +pkgname=android-$_pkg_arch-$_pkgname pkgver=1.14.0 pkgrel=1 pkgdesc="A C++ unit testing framework (Android, $_android_arch)" @@ -26,11 +27,14 @@ arch=('any') url="http://www.freedesktop.org/wiki/Software/cppunit" license=('LGPL') depends=('android-ndk') +conflicts=("android-$_pkgname-$_android_arch") +replaces=("android-$_pkgname-$_android_arch") options=(!strip !buildflags !libtool staticlibs !emptydirs) -source=("https://dev-www.libreoffice.org/src/${_name}-${pkgver}.tar.gz") +source=("https://dev-www.libreoffice.org/src/${_pkgname}-${pkgver}.tar.gz") sha256sums=('3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780') build() { + # configure flags local target_flags=" \ --target=$_android_toolchain \ --gcc-toolchain=$_android_gcc_toolchain_path \ @@ -52,7 +56,12 @@ build() { local ld_flags=" \ $_android_ndk_path/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so \ -nostdlib++" + export CPPFLAGS="$common_flags" + export CFLAGS="$common_flags $ld_flags" + export CXXFLAGS="$common_flags -fexceptions -frtti -std=c++14 $ld_flags" + export LDFLAGS="$target_flags $ld_flags" + # configure tools export AR=${_android_gcc_tool_prefix}-ar export AS=${_android_gcc_tool_prefix}-as export NM=${_android_gcc_tool_prefix}-nm @@ -62,13 +71,8 @@ build() { export RANLIB=${_android_gcc_tool_prefix}-ranlib export STRIP=${_android_gcc_tool_prefix}-strip - export CPPFLAGS="$common_flags" - export CFLAGS="$common_flags $ld_flags" - export CXXFLAGS="$common_flags -fexceptions -frtti -std=c++14 $ld_flags" - export LDFLAGS="$target_flags $ld_flags" - - mkdir -p "${srcdir}/${_name}-${pkgver}/build-${_android_toolchain}" - cd "${srcdir}/${_name}-${pkgver}/build-${_android_toolchain}" + mkdir -p "${srcdir}/${_pkgname}-${pkgver}/build-${_android_toolchain}" + cd "${srcdir}/${_pkgname}-${pkgver}/build-${_android_toolchain}" ../configure \ --host=$_android_toolchain \ @@ -91,8 +95,8 @@ build() { } package() { - mkdir -p "${srcdir}/${_name}-${pkgver}/build-${_android_toolchain}" - cd "${srcdir}/${_name}-${pkgver}/build-${_android_toolchain}" + mkdir -p "${srcdir}/${_pkgname}-${pkgver}/build-${_android_toolchain}" + cd "${srcdir}/${_pkgname}-${pkgver}/build-${_android_toolchain}" cd src/cppunit make DESTDIR="${pkgdir}" install diff --git a/kirigami/android-arm64-v8a/PKGBUILD b/kirigami2/android-aarch64/PKGBUILD similarity index 66% rename from kirigami/android-arm64-v8a/PKGBUILD rename to kirigami2/android-aarch64/PKGBUILD index 802cb522..7a0a705f 100644 --- a/kirigami/android-arm64-v8a/PKGBUILD +++ b/kirigami2/android-aarch64/PKGBUILD @@ -6,19 +6,24 @@ _pkgname=kirigami2 _android_arch=arm64-v8a -_android_toolchain=aarch64-linux-android +_pkg_arch=aarch64 +_android_toolchain=$_pkg_arch-linux-android +_android_platform=22 +_prefix=/opt/android-libs/$_pkg_arch pkgname=android-$_pkgname-$_android_arch -pkgver=5.47.0 +pkgver=5.52.0 pkgrel=1 -pkgdesc="A QtQuick based components set (Android, $_android_arch)" +pkgdesc="A QtQuick based components set (Android, $_pkg_arch)" arch=('any') url='https://community.kde.org/Frameworks' license=(LGPL) -depends=( "android-qt5-$_android_arch") +depends=("android-$_pkg_arch-qt5") makedepends=('cmake' 'android-ndk' 'android-sdk' 'extra-cmake-modules') +conflicts=("android-$_pkgname-$_android_arch") +replaces=("android-$_pkgname-$_android_arch") source=("https://download.kde.org/stable/frameworks/${pkgver%.*}/$_pkgname-$pkgver.tar.xz"{,.sig}) -sha256sums=('ed2dd9e3a56f4728aca40c74ab02d48f9dda8d140b20328c5b29825f5683aad5' +sha256sums=('375ec103d56a71ee3a5f43de1cfb4720fc33c125b2b2de545f9e563851c38c24' 'SKIP') validpgpkeys=('53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB') # David Faure options=(!buildflags staticlibs !strip !emptydirs) @@ -29,17 +34,16 @@ prepare() { build() { cd build - local qt_version=$(pacman -Q "android-qt5-$_android_arch" | sed 's/.* \(.*\)-.*/\1/') cmake ../$_pkgname-$pkgver \ -DCMAKE_SYSTEM_NAME=Android \ - -DCMAKE_SYSTEM_VERSION=21 \ + -DCMAKE_SYSTEM_VERSION=$_android_platform \ -DCMAKE_ANDROID_ARCH_ABI=$_android_arch \ -DCMAKE_ANDROID_NDK=/opt/android-ndk \ -DCMAKE_ANDROID_SDK=/opt/android-sdk \ - -DCMAKE_ANDROID_STL_TYPE=gnustl_shared \ + -DCMAKE_ANDROID_STL_TYPE=c++_shared \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/opt/android-libs/$_android_arch \ - -DCMAKE_FIND_ROOT_PATH="/opt/android-ndk/sysroot;/opt/android-libs/$_android_arch;/opt/android-qt5/$qt_version/$_android_arch" \ + -DCMAKE_INSTALL_PREFIX="$_prefix" \ + -DCMAKE_FIND_ROOT_PATH="/opt/android-ndk/sysroot;$_prefix" \ -DBUILD_EXAMPLES=OFF \ -DBUILD_TESTING=OFF \ -DBUILD_QCH=OFF diff --git a/kirigami/default/PKGBUILD b/kirigami2/default/PKGBUILD similarity index 100% rename from kirigami/default/PKGBUILD rename to kirigami2/default/PKGBUILD diff --git a/libiconv/android-aarch64/PKGBUILD b/libiconv/android-aarch64/PKGBUILD new file mode 100644 index 00000000..a66b60e5 --- /dev/null +++ b/libiconv/android-aarch64/PKGBUILD @@ -0,0 +1,90 @@ +# Maintainer: Martchus +# Contributor: Arthur Darcet +# Contributor: Techlive Zheng + +_pkgname=libiconv +_android_arch=arm64-v8a +_pkg_arch=aarch64 +_android_toolchain=$_pkg_arch-linux-android +_android_platform=22 +_prefix=/opt/android-libs/$_pkg_arch + +pkgname=android-$_pkg_arch-$_pkgname +pkgver=1.15 +pkgrel=1 +pkgdesc="Provides libiconv.so and libcharset.so (Android $_pkg_arch)" +arch=('any') +url='http://www.gnu.org/software/libiconv/' +license=('LGPL') +makedepends=('android-ndk') +conflicts=("android-$_pkgname-$_android_arch") +replaces=("android-$_pkgname-$_android_arch") +source=("http://ftp.gnu.org/pub/gnu/${_pkgname}/${_pkgname}-${pkgver}.tar.gz") +md5sums=('ace8b5f2db42f7b3b3057585e80d9808') +options=(!libtool !buildflags staticlibs !strip !emptydirs) + +build() { + cd $srcdir/${_pkgname}-${pkgver} + sed '/LD_RUN_PATH/d' -i Makefile.in + + # configure paths + export ANDROID_NDK=/opt/android-ndk + export CROSS_COMPILE=$_android_toolchain + export ANDROID_PREFIX=${ANDROID_NDK}/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64 + export ANDROID_SYSROOT=${ANDROID_NDK}/platforms/android-$_android_platform/arch-${_android_arch%-*}/usr + export CROSS_PATH=${ANDROID_PREFIX}/bin/$_android_toolchain + + # configure tools + export CPP=${PWD}/cpp.sh + export AR=${CROSS_PATH}-ar + export AS=${CROSS_PATH}-as + export NM=${CROSS_PATH}-nm + export CC=${CROSS_PATH}-gcc + export CXX=${CROSS_PATH}-g++ + export LD=${CROSS_PATH}-ld + export RANLIB=${CROSS_PATH}-ranlib + export STRIP=${CROSS_PATH}-strip + + # configure flags + export CFLAGS="${CFLAGS} --gcc-toolchain=${ANDROID_PREFIX} --sysroot=${ANDROID_SYSROOT} -I${ANDROID_NDK}/sysroot/usr/include -I${ANDROID_NDK}/sysroot/usr/include/${CROSS_COMPILE} -I${ANDROID_SYSROOT}/usr/include -I${ANDROID_PREFIX}/include" + export CPPFLAGS="${CFLAGS}" + export LDFLAGS="${LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib" + + # setup preprocessor (because the NDK doesn't provide a wrapper like for gcc and g++) + printf "#!/bin/bash\nexec \"$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++\" -target $_android_toolchain -E \"\$@\"" > "$CPP" + chmod +x "$CPP" + + ./configure \ + --host=$_android_toolchain \ + --target=$_android_toolchain \ + --build="$CHOST" \ + --with-sysroot="$ANDROID_SYSROOT" \ + --prefix="$_prefix" \ + --libdir="$_prefix/lib" \ + --includedir="$_prefix/include" \ + --enable-shared=yes \ + --enable-static=yes + + # make sure the LDFLAGS are actually used (LDFLAGS are not passed otherwise) + local libtool_subst="s:\\\$CC -shared:\\\$CC -shared --gcc-toolchain=${ANDROID_PREFIX} --sysroot=${ANDROID_SYSROOT} $LDFLAGS:g" + sed -i "$libtool_subst" libtool + sed -i "$libtool_subst" libcharset/libtool + + # build target lib/localcharset.h and directory lib to experience less brokenness + make lib/localcharset.h + cd lib + make +} + +package() { + cd $srcdir/${_pkgname}-${pkgver}/lib + make DESTDIR="$pkgdir" LIBDIR="$_prefix/lib" install + cp libcharset.a "$pkgdir/$_prefix/lib/libcharset.a" + cp libcharset.so "$pkgdir/$_prefix/lib/libcharset.so" + cd .. + mkdir -p "$pkgdir/$_prefix"/include + mv include/iconv.h "$pkgdir/$_prefix"/include + cd libcharset + mv include/libcharset.h "$pkgdir/$_prefix"/include + mv include/localcharset.h "$pkgdir/$_prefix"/include +} diff --git a/libiconv/android-arm64-v8a/PKGBUILD b/libiconv/android-arm64-v8a/PKGBUILD deleted file mode 100644 index bbc30d42..00000000 --- a/libiconv/android-arm64-v8a/PKGBUILD +++ /dev/null @@ -1,68 +0,0 @@ -# Maintainer: Martchus -# Contributor: Arthur Darcet -# Contributor: Techlive Zheng - -_pkgname=libiconv -_android_arch=arm64-v8a -_android_toolchain=aarch64-linux-android -_prefix=/opt/android-libs/$_android_arch - -pkgname=android-libiconv-$_android_arch -pkgver=1.15 -pkgrel=1 -pkgdesc="Provides libiconv.so and libcharset.so (Android $_android_arch)" -arch=('any') -url='http://www.gnu.org/software/libiconv/' -license=('LGPL') -makedepends=('android-ndk') -source=("http://ftp.gnu.org/pub/gnu/${_pkgname}/${_pkgname}-${pkgver}.tar.gz") -md5sums=('ace8b5f2db42f7b3b3057585e80d9808') -options=(!libtool !buildflags staticlibs !strip !emptydirs) - -build() { - cd $srcdir/${_pkgname}-${pkgver} - sed '/LD_RUN_PATH/d' -i Makefile.in - - export ANDROID_NDK=/opt/android-ndk - export CROSS_COMPILE=aarch64-linux-android - export ANDROID_PREFIX=${ANDROID_NDK}/toolchains/${CROSS_COMPILE}-4.9/prebuilt/linux-x86_64 - export ANDROID_SYSROOT=${ANDROID_NDK}/platforms/android-21/arch-arm64 - export CROSS_PATH=${ANDROID_PREFIX}/bin/${CROSS_COMPILE} - - export CPP=${CROSS_PATH}-cpp - export AR=${CROSS_PATH}-ar - export AS=${CROSS_PATH}-as - export NM=${CROSS_PATH}-nm - export CC=${CROSS_PATH}-gcc - export CXX=${CROSS_PATH}-g++ - export LD=${CROSS_PATH}-ld - export RANLIB=${CROSS_PATH}-ranlib - export STRIP=${CROSS_PATH}-strip - - export CFLAGS="${CFLAGS} --sysroot=${ANDROID_SYSROOT} -I${ANDROID_NDK}/sysroot/usr/include -I${ANDROID_NDK}/sysroot/usr/include/${CROSS_COMPILE} -I${ANDROID_SYSROOT}/usr/include -I${ANDROID_PREFIX}/include" - export CPPFLAGS="${CFLAGS}" - export LDFLAGS="${LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib -L${ANDROID_PREFIX}/lib" - - ./configure \ - --host=$_android_toolchain \ - --target=$_android_toolchain \ - --build="$CHOST" \ - --with-sysroot="$ANDROID_SYSROOT" \ - --prefix="$_prefix" \ - --libdir="$_prefix/lib" \ - --includedir="$_prefix/include" \ - --enable-shared=yes \ - --enable-static=yes - - make lib/localcharset.h - cd lib - make -} - -package() { - cd $srcdir/${_pkgname}-${pkgver}/lib - make DESTDIR="$pkgdir" LIBDIR="$_prefix/lib" install - cd .. - mkdir -p "$pkgdir/$_prefix"/include - mv include/iconv.h "$pkgdir/$_prefix"/include -} diff --git a/openssl/android-arm64-v8a/PKGBUILD b/openssl/android-aarch64/PKGBUILD similarity index 70% rename from openssl/android-arm64-v8a/PKGBUILD rename to openssl/android-aarch64/PKGBUILD index d400e69f..815c6f9d 100644 --- a/openssl/android-arm64-v8a/PKGBUILD +++ b/openssl/android-aarch64/PKGBUILD @@ -2,42 +2,54 @@ # Maintainer: Martchus # export Android configuration -export ANDROID_MINIMUM_PLATFORM=21 # https://developer.android.com/about/dashboards/ +export ANDROID_MINIMUM_PLATFORM=22 # https://developer.android.com/about/dashboards/ export ANDROID_NDK_ROOT=${ANDROID_NDK_ROOT:-/opt/android-ndk} export ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT:-/opt/android-sdk} export ANDROID_EABI=aarch64-linux-android-4.9 export ANDROID_ARCH=arch-arm64 _android_arch=arm64-v8a +_pkg_arch=aarch64 +_android_toolchain=$_pkg_arch-linux-android +_android_platform=22 +_android_platform_dir=android-$_android_platform/arch-arm64 _pkgname=openssl -_ver=1.1.0h -_pref=/opt/android-libs/$_android_arch +_ver=1.1.1a +_pref=/opt/android-libs/$_pkg_arch -pkgname=android-$_pkgname-$_android_arch +pkgname=android-$_pkg_arch-$_pkgname # use a pacman compatible version scheme pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}} -pkgrel=2 -pkgdesc="The Open Source toolkit for Secure Sockets Layer and Transport Layer Security (Android, $_android_arch)" +pkgrel=1 +pkgdesc="The Open Source toolkit for Secure Sockets Layer and Transport Layer Security (Android, $_pkg_arch)" arch=('any') url='https://www.openssl.org' license=('custom:BSD') options=('!strip' '!buildflags' 'staticlibs' '!emptydirs') depends=('android-sdk' 'android-ndk') +conflicts=("android-$_pkgname-$_android_arch") +replaces=("android-$_pkgname-$_android_arch") source=("https://www.openssl.org/source/${_pkgname}-${_ver}.tar.gz" "https://www.openssl.org/source/${_pkgname}-${_ver}.tar.gz.asc" 'setenv-android.sh') -sha256sums=('5835626cde9e99656585fc7aaa2302a73a7e1340bf8c14fd635a62c66802a517' +sha256sums=('fc20130f8b7cbd2fb918b2f14e2f429e109c31ddd0fb38fc5d71d9ffed3f9f41' 'SKIP' - '618eba24998f973487b9ebc556dd48d6828932f51f69ae75cb9da6c65c92b00a') + '0938c8d68110768db4f350a7ec641070686904f2fe7ba630ac94399d7dc8cc5e') validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491') build() { cd "$srcdir/$_pkgname-$_ver" + + # don't use -mandroid flag (Clang as provided by the NDK does not like it) + sed -i -e 's/-mandroid//' Configurations/15-android.conf + source "$srcdir/setenv-android.sh" ./Configure \ --prefix="$_pref" \ --openssldir="$_pref" \ + --gcc-toolchain=$ANDROID_NDK_ROOT/toolchains/$_android_toolchain-4.9/prebuilt/linux-x86_64 \ + --sysroot=$ANDROID_NDK_ROOT/platforms/$_android_platform_dir/usr \ -isystem"$ANDROID_NDK_ROOT/sysroot/usr/include" \ -isystem"$ANDROID_NDK_ROOT/sysroot/usr/include/${_ANDROID_EABI%-*}" \ -Wl,--no-allow-shlib-undefined \ @@ -46,10 +58,11 @@ build() { no-ui \ threads \ shared \ - android - + android-${ANDROID_ARCH##arch-} + # ensure the libraries are not versioned (setting CALC_VERSIONS doesn't work for some reason) sed -i -e 's/\.\$(SHLIB_MAJOR)\.\$(SHLIB_MINOR)//g' Makefile + sed -i -e 's/\.\$(SHLIB_VERSION_NUMBER)//g' Makefile # get rid of debug printing so the library doesn't depend on stdio (no-stdio and no-ui are not entirely sufficient) sed -i -e 's/\#define TEST_ENG_OPENSSL_RC4_P_INIT//' crypto/engine/eng_openssl.c diff --git a/openssl/android-arm64-v8a/setenv-android.sh b/openssl/android-aarch64/setenv-android.sh similarity index 100% rename from openssl/android-arm64-v8a/setenv-android.sh rename to openssl/android-aarch64/setenv-android.sh diff --git a/openssl/android-armeabi-v7a/PKGBUILD b/openssl/android-armv7a-eabi/PKGBUILD similarity index 100% rename from openssl/android-armeabi-v7a/PKGBUILD rename to openssl/android-armv7a-eabi/PKGBUILD diff --git a/openssl/android-armeabi-v7a/setenv-android.sh b/openssl/android-armv7a-eabi/setenv-android.sh similarity index 100% rename from openssl/android-armeabi-v7a/setenv-android.sh rename to openssl/android-armv7a-eabi/setenv-android.sh diff --git a/passwordfile/android-aarch64/PKGBUILD b/passwordfile/android-aarch64/PKGBUILD new file mode 100644 index 00000000..586911a3 --- /dev/null +++ b/passwordfile/android-aarch64/PKGBUILD @@ -0,0 +1,89 @@ +# Maintainer: Martchus + +# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where +# you also find the URL of a binary repository. + +_reponame=passwordfile +_pkgname=passwordfile +_android_arch=arm64-v8a +_pkg_arch=aarch64 +_android_toolchain=$_pkg_arch-linux-android +_android_platform=22 +_prefix=/opt/android-libs/$_pkg_arch + +pkgname=android-$_pkg_arch-$_pkgname +pkgver=3.2.0 +pkgrel=1 +arch=('any') +pkgdesc="C++ library to read/write passwords from/to encrypted files using AES-256-CBC via OpenSSL (Android, $_pkg_arch)" +license=('GPL') +depends=("android-$_pkg_arch-c++utilities" "android-$_pkg_arch-openssl") +optdepends=("$_pkgname-doc: API documentation") +makedepends=('cmake' 'android-ndk' 'android-sdk') +checkdepends=("android-$_pkg_arch-cppunit") +# FIXME: run tests with qemu +#checkdepends+=('qemu-binfmt-arm' "android-$_pkg_arch-linker") +conflicts=("android-$_pkgname-$_android_arch") +replaces=("android-$_pkgname-$_android_arch") +url="https://github.com/Martchus/${_reponame}" +source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") +sha256sums=('48e95ad852dc83b598c428f9fd0e9717aa12e81aae8254c2946f380afee1b768') +options=(!buildflags staticlibs !strip !emptydirs) + +prepare() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" +} + +build() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + + local android_sdk_path=${ANDROID_SDK_ROOT:-/opt/android-sdk} + local android_ndk_path=${ANDROID_NDK_ROOT:-/opt/android-ndk} + local include_dir=$_prefix/include + + cmake \ + -DCMAKE_SYSTEM_NAME=Android \ + -DCMAKE_SYSTEM_VERSION=$_android_platform \ + -DCMAKE_ANDROID_ARCH_ABI=$_android_arch \ + -DCMAKE_ANDROID_SDK="$android_sdk_path" \ + -DCMAKE_ANDROID_NDK="$android_ndk_path" \ + -DCMAKE_ANDROID_STL_TYPE=c++_shared \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$_prefix \ + -DCMAKE_FIND_ROOT_PATH="$android_ndk_path/sysroot;$_prefix" \ + -DCMAKE_EXE_LINKER_FLAGS="-Wl,-rpath-link,$_prefix/lib" \ + -Dcrypto_DYNAMIC_INCLUDE_DIR="$include_dir" \ + -Dcrypto_STATIC_INCLUDE_DIR="$include_dir" \ + -Dcrypto_DYNAMIC_LIB="$_prefix/lib/libcrypto.so" \ + -Dcrypto_STATIC_LIB="$_prefix/lib/libcrypto.a" \ + -DNO_DOXYGEN=ON + make VERBOSE=1 +} + +check() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + + # can not run the tests so compile them at least + make tests VERBOSE=1 + + # FIXME: run tests with qemu + # * currently getting error + # "libc: Fatal signal 4 (SIGILL), code 2, fault addr 0x4000c28b40 in tid 193 (test), pid 193 (test)" + # * not possible because the default Linux kernel is not able to run Android libc? + # use dynamic linker supposed to be located under $prefix/system/bin/linker64 + #export QEMU_LD_PREFIX=$prefix + # use libraries from build directory, prefix and Android NDK + #export LD_LIBRARY_PATH=$PWD:$prefix/lib:$android_ndk_path/sources/cxx-stl/llvm-libc++/libs/arm64-v8a:$android_ndk_path/platforms/android-28/arch-arm64/usr/lib + #make check VERBOSE=1 +} + +package() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + make DESTDIR="${pkgdir}" install + + # add tests to the package for possibly executing them later under Android + if [[ -f ${_pkgname}_tests ]]; then + mkdir "${pkgdir}/$_prefix/bin" + cp ${_pkgname}_tests "${pkgdir}/$_prefix/bin" + fi +} diff --git a/passwordfile/android-arm64-v8a/PKGBUILD b/passwordfile/android-arm64-v8a/PKGBUILD deleted file mode 100644 index 7fe31123..00000000 --- a/passwordfile/android-arm64-v8a/PKGBUILD +++ /dev/null @@ -1,64 +0,0 @@ -# Maintainer: Martchus - -# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where -# you also find the URL of a binary repository. - -_reponame=passwordfile -_pkgname=passwordfile -_android_arch=arm64-v8a -_android_toolchain=aarch64-linux-android - -pkgname=android-$_pkgname-$_android_arch -pkgver=3.2.0 -pkgrel=1 -arch=('any') -pkgdesc="C++ library to read/write passwords from/to encrypted files using AES-256-CBC via OpenSSL (Android, $_android_arch)" -license=('GPL') -depends=("android-c++utilities-$_android_arch" "android-openssl-$_android_arch") -optdepends=("$_pkgname-doc: API documentation") -makedepends=('cmake' 'android-ndk' 'android-sdk') -#checkdepends=('cppunit') -url="https://github.com/Martchus/${_reponame}" -source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") -sha256sums=('48e95ad852dc83b598c428f9fd0e9717aa12e81aae8254c2946f380afee1b768') -options=(!buildflags staticlibs !strip !emptydirs) - -prepare() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" -} - -build() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - - local android_sdk_path=${ANDROID_SDK_ROOT:-/opt/android-sdk} - local android_ndk_path=${ANDROID_NDK_ROOT:-/opt/android-ndk} - local prefix=/opt/android-libs/$_android_arch - local include_dir=$prefix/include - - cmake \ - -DCMAKE_SYSTEM_NAME=Android \ - -DCMAKE_SYSTEM_VERSION=21 \ - -DCMAKE_ANDROID_ARCH_ABI=$_android_arch \ - -DCMAKE_ANDROID_SDK="$android_sdk_path" \ - -DCMAKE_ANDROID_NDK="$android_ndk_path" \ - -DCMAKE_ANDROID_STL_TYPE=c++_shared \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=$prefix \ - -DCMAKE_FIND_ROOT_PATH="$android_ndk_path/sysroot;$prefix" \ - -Dcrypto_DYNAMIC_INCLUDE_DIR="$include_dir" \ - -Dcrypto_STATIC_INCLUDE_DIR="$include_dir" \ - -Dcrypto_DYNAMIC_LIB="$prefix/lib/libcrypto.so" \ - -Dcrypto_STATIC_LIB="$prefix/lib/libcrypto.a" \ - -DNO_DOXYGEN=ON - make VERBOSE=1 -} - -#check() { -# cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" -# make check -#} - -package() { - cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - make DESTDIR="${pkgdir}" install -} diff --git a/passwordmanager/android-arm64-v8a/PKGBUILD b/passwordmanager/android-aarch64/PKGBUILD similarity index 67% rename from passwordmanager/android-arm64-v8a/PKGBUILD rename to passwordmanager/android-aarch64/PKGBUILD index 4a8f44bb..4c4403ef 100644 --- a/passwordmanager/android-arm64-v8a/PKGBUILD +++ b/passwordmanager/android-aarch64/PKGBUILD @@ -6,19 +6,21 @@ _reponame=passwordmanager _pkgname=passwordmanager _android_arch=arm64-v8a -_android_toolchain=aarch64-linux-android -_android_api_level=21 +_pkg_arch=aarch64 +_android_toolchain=$_pkg_arch-linux-android +_android_platform=22 +_prefix=/opt/android-libs/$_pkg_arch -pkgname=android-$_pkgname-$_android_arch +pkgname=android-$_pkg_arch-$_pkgname pkgver=3.2.0 pkgrel=1 arch=('any') -pkgdesc="A simple password store using AES-256-CBC encryption via OpenSSL (Android, $_android_arch)" +pkgdesc="A simple password store using AES-256-CBC encryption via OpenSSL (Android, $_pkg_arch)" license=('GPL') -depends=("android-passwordfile-$_android_arch" "android-qtutilities-$_android_arch" "android-kirigami2-$_android_arch") -optdepends=("$_pkgname-doc: API documentation") +depends=("android-$_pkg_arch-passwordfile" "android-$_pkg_arch-qtutilities" "android-$_pkg_arch-kirigami2") makedepends=('cmake' 'android-ndk' 'android-sdk' 'extra-cmake-modules' 'jdk8-openjdk') -#checkdepends=('cppunit') +conflicts=("android-$_pkgname-$_android_arch") +replaces=("android-$_pkgname-$_android_arch") url="https://github.com/Martchus/${_reponame}" source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('418a3ca93d4c4a614e55b7f22ddfc7fcc765eacc571dd69ce3086f8441a9d59d') @@ -33,10 +35,8 @@ build() { local android_sdk_path=${ANDROID_SDK_ROOT:-/opt/android-sdk} local android_ndk_path=${ANDROID_NDK_ROOT:-/opt/android-ndk} - local qt_version=$(pacman -Q "android-qt5-$_android_arch" | sed 's/.* \(.*\)-.*/\1/') local build_tools_version=$(pacman -Q android-sdk-build-tools | sed 's/.* r\(.*\)-.*/\1/') - local qt_root=/opt/android-qt5/$qt_version/$_android_arch - local root="$android_ndk_root/sysroot;/opt/android-libs/$_android_arch;$qt_root" + local root="$android_ndk_root/sysroot;$_prefix" mkdir home export HOME=$PWD/home @@ -47,28 +47,28 @@ build() { cmake \ -DCMAKE_TOOLCHAIN_FILE=/usr/share/ECM/toolchain/Android.cmake \ -DCMAKE_SYSTEM_NAME=Android \ - -DCMAKE_SYSTEM_VERSION=$_android_api_level \ + -DCMAKE_SYSTEM_VERSION=$_android_platform \ -DCMAKE_ANDROID_ARCH_ABI=$_android_arch \ -DCMAKE_ANDROID_SDK="$android_sdk_path" \ -DCMAKE_ANDROID_NDK="$android_ndk_path" \ -DCMAKE_ANDROID_STL_TYPE=c++_shared \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/opt/android-libs/$_android_arch \ + -DCMAKE_INSTALL_PREFIX=$_prefix \ -DCMAKE_PREFIX_PATH="$root" \ -DCMAKE_FIND_ROOT_PATH="$root" \ -DNO_DOXYGEN=ON \ -DWIDGETS_GUI=OFF \ -DQUICK_GUI=ON \ - -DQt5Core_DIR="$qt_root/lib/cmake/Qt5Core" \ - -DANDROID_API_LEVEL=$_android_api_level \ + -DQt5Core_DIR="$_prefix/lib/cmake/Qt5Core" \ + -DANDROID_API_LEVEL=$_android_platform \ -DANDROID_ABI=$_android_arch \ -DANDROID_ARCHITECTURE=${_android_arch%-*} \ -DANDROID_SDK_ROOT="$android_sdk_root" \ -DANDROID_SDK_BUILD_TOOLS_REVISION="$build_tools_version" \ - -DECM_ADDITIONAL_FIND_ROOT_PATH="$root;$android_ndk_root/platforms/android-$_android_api_level/arch-${_android_arch%-*};$android_ndk_root/sources/cxx-stl/gnu-libstdc++/4.9/libs/$_android_arch" \ + -DECM_ADDITIONAL_FIND_ROOT_PATH="$root;$android_ndk_root/platforms/android-$_android_platform/arch-${_android_arch%-*};$android_ndk_root/sources/cxx-stl/gnu-libstdc++/4.9/libs/$_android_arch" \ -DQTANDROID_EXPORTED_TARGET=$_pkgname \ -DANDROID_APK_DIR=android \ - -DANDROID_EXTRA_LIBS=/opt/android-libs/arm64-v8a/lib/libcrypto.so;/opt/android-libs/arm64-v8a/lib/libssl.so;/opt/android-libs/arm64-v8a/lib/libiconv.so;/opt/android-libs/arm64-v8a/lib/libKF5Kirigami2.so + -DANDROID_EXTRA_LIBS="$_prefix/lib/libcrypto.so;$_prefix/lib/libssl.so;$_prefix/lib/libiconv.so;$_prefix/lib/libKF5Kirigami2.so" #-DCMAKE_EXE_LINKER_FLAGS="-fPIE;-pie;-Wl,--gc-sections;-Wl,-rpath-link=/opt/android-libs/$_android_arch/lib;/opt/android-qt5/$qt_version/$_android_arch/lib:/opt/android-libs/$_android_arch/lib" \ @@ -76,11 +76,6 @@ build() { make DESTDIR="${pkgdir}" create-apk } -#check() { -# cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" -# make check -#} - package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" diff --git a/qt5/android-arm64-v8a/0001-Fix-clang-build.patch b/qt5/android-aarch64/0001-Fix-clang-build.patch similarity index 100% rename from qt5/android-arm64-v8a/0001-Fix-clang-build.patch rename to qt5/android-aarch64/0001-Fix-clang-build.patch diff --git a/qt5/android-arm64-v8a/PKGBUILD b/qt5/android-aarch64/PKGBUILD similarity index 58% rename from qt5/android-arm64-v8a/PKGBUILD rename to qt5/android-aarch64/PKGBUILD index 3e6a43f8..57cdd087 100644 --- a/qt5/android-arm64-v8a/PKGBUILD +++ b/qt5/android-aarch64/PKGBUILD @@ -1,5 +1,5 @@ # PKGCONFIG for android-qt5 -# Maintainer: Gonzalo Exequiel Pedone +# Maintainer in the AUR: Gonzalo Exequiel Pedone # Contributor: Jiaxi Hu # Contributor: jimmy00784 # Contributor: Ricardo (XenGi) Band @@ -8,23 +8,18 @@ # Useful link to keep track of latest API changes: # https://developer.android.com/ndk/downloads/revision_history -android_arch=arm64-v8a +_android_arch=arm64-v8a +_pkg_arch=aarch64 # Minimum Android platform based on: # https://developer.android.com/about/dashboards/ -export ANDROID_MINIMUM_PLATFORM=${ANDROID_MINIMUM_PLATFORM:-21} +export ANDROID_MINIMUM_PLATFORM=${ANDROID_MINIMUM_PLATFORM:-22} export ANDROID_NDK_ROOT=${ANDROID_NDK_ROOT:-/opt/android-ndk} export ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT:-/opt/android-sdk} -export OPENSSL_PREFIX=${OPENSSL_PREFIX:-/opt/android-libs/${android_arch}} -# 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: -_mapboxcfg='QT.global.disabled_features+=geoservices_mapboxgl' - -_pkgname=android-qt5 -pkgname=${_pkgname}-${android_arch} +_pkgname= +pkgname=android-$_pkg_arch-qt5 pkgver=5.11.2 pkgrel=1 pkgdesc="Qt 5 for Android" @@ -40,7 +35,7 @@ makedepends=('libgl' 'gperf' 'libxslt' 'fontconfig' - 'android-openssl-'$android_arch) + "android-$_pkg_arch-openssl") depends=('java-runtime-headless>=7' 'apache-ant' 'android-ndk' @@ -49,9 +44,30 @@ depends=('java-runtime-headless>=7' 'android-sdk-build-tools' 'android-sdk-platform-tools') groups=('android-qt5') -optdepends=("android-openssl-${android_arch}: OpenSSL support" - "android-google-apis-${android_arch}: AVD support" - "android-system-image-${android_arch}: AVD support") +conflicts=("android-${_android_arch}-qt5") +replaces=("android-${_android_arch}-qt5") + +case "$_pkg_arch" in + aarch64) + optdepends=('android-google-apis-aarch64: AVD support' + 'android-aarch64-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 +optdepends+=("android-$_pkg_arch-openssl: SSL support for Qt Network") options=('!strip' '!buildflags' @@ -59,14 +75,23 @@ options=('!strip' '!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') -sha256sums=('c6f0854d7de7bde80cfd8cc85bb7152b' - 'todo') + '0001-Fix-clang-build.patch' + '0002-Disable-mapbox.patch') +sha256sums=('c6104b840b6caee596fa9a35bc5f57f67ed5a99d6a36497b6fe66f990a53ca81' + 'cd3b76a87ab6b2237529da353ef5eb4946bc562df9eaf265f8281d69ab2fee88' + '1156ae8ee34dd34985ede19ca841a6ec6644ba299e4a0d35c26cbb5a1a9ad0cf') + +_pref=/opt/android-libs/$_pkg_arch prepare() { cd ${_pkgfqn} patch -Np1 -i "../0001-Fix-clang-build.patch" + + # 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 "../0002-Disable-mapbox.patch" } get_last() { @@ -83,14 +108,15 @@ build() { export ANDROID_NDK_PLATFORM=${ANDROID_NDK_PLATFORM:-android-$ANDROID_MINIMUM_PLATFORM} export PYTHON=/usr/bin/python2 - local prefix=/opt/${_pkgname}/${pkgver}/${android_arch} - configue_opts=" -confirm-license -opensource -silent - -prefix ${prefix} - -docdir ${prefix}/doc + -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 @@ -104,13 +130,16 @@ build() { -qt-zlib -qt-freetype -openssl-runtime - -android-arch ${android_arch} + -android-arch ${_android_arch} -android-ndk-platform ${ANDROID_NDK_PLATFORM} - -I${OPENSSL_PREFIX}/include - ${_mapboxcfg}" + -I/opt/android-libs/$_pkg_arch/include" + + [[ $ANDROID_DEBUG_BUILD ]] \ + && configue_opts+=' -debug-and-release' \ + || configue_opts+=' -release' # add architecture specific options - case "$android_arch" in + case "$_pkg_arch" in x86*) configue_opts+=" -no-sql-mysql @@ -130,12 +159,12 @@ package() { make INSTALL_ROOT=${pkgdir} install - case "$android_arch" in - arm64-v8a) + case "$_pkg_arch" in + aarch64) toolchain=aarch64-linux-android-4.9 stripFolder=aarch64-linux-android ;; - armeabi-v7a) + armv7a-eabi) toolchain=arm-linux-androideabi-4.9 stripFolder=arm-linux-androideabi ;; @@ -143,16 +172,17 @@ package() { toolchain=x86-4.9 stripFolder=i686-linux-android ;; - x86_64) + x86-64) toolchain=x86_64-4.9 stripFolder=x86_64-linux-android ;; esac local STRIP=${ANDROID_NDK_ROOT}/toolchains/${toolchain}/prebuilt/linux-x86_64/${stripFolder}/bin/strip - find ${pkgdir}/opt/${_pkgname}/${pkgver}/${android_arch}/lib -name 'lib*.so' -exec ${STRIP} {} \; - find ${pkgdir}/opt/${_pkgname}/${pkgver}/${android_arch}/lib \( -name 'lib*.a' ! -name 'libQt5Bootstrap.a' ! -name 'libQt5QmlDevTools.a' \) -exec ${STRIP} {} \; - find ${pkgdir}/opt/${_pkgname}/${pkgver}/${android_arch}/plugins -name 'lib*.so' -exec ${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} {} \; # drop QMAKE_PRL_BUILD_DIR because reference the build dir find "${pkgdir}/" -type f -name '*.prl' \ diff --git a/qtutilities/android-arm64-v8a/PKGBUILD b/qtutilities/android-aarch64/PKGBUILD similarity index 66% rename from qtutilities/android-arm64-v8a/PKGBUILD rename to qtutilities/android-aarch64/PKGBUILD index f2c2fb94..45efccbd 100644 --- a/qtutilities/android-arm64-v8a/PKGBUILD +++ b/qtutilities/android-aarch64/PKGBUILD @@ -6,18 +6,22 @@ _reponame=qtutilities _pkgname=qtutilities _android_arch=arm64-v8a -_android_toolchain=aarch64-linux-android +_pkg_arch=aarch64 +_android_toolchain=$_pkg_arch-linux-android +_android_platform=22 +_prefix=/opt/android-libs/$_pkg_arch -pkgname=android-$_pkgname-$_android_arch +pkgname=android-$_pkg_arch-$_pkgname pkgver=5.12.0 pkgrel=1 arch=('any') -pkgdesc="Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models (Android, $_android_arch)" +pkgdesc="Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models (Android, $_pkg_arch)" license=('GPL') -depends=("android-c++utilities-$_android_arch" "android-qt5-$_android_arch") +depends=("android-$_pkg_arch-c++utilities" "android-$_pkg_arch-qt5") optdepends=("$_pkgname-doc: API documentation") makedepends=('cmake' 'android-ndk' 'android-sdk') -#checkdepends=('cppunit') +conflicts=("android-$_pkgname-$_android_arch") +replaces=("android-$_pkgname-$_android_arch") url="https://github.com/Martchus/${_reponame}" source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('ded9aa4b40076aa5eb2d09c87207cebd218e42c4199a21bc2530fefb882e1408') @@ -29,28 +33,22 @@ prepare() { build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - local qt_version=$(pacman -Q "android-qt5-$_android_arch" | sed 's/.* \(.*\)-.*/\1/') cmake \ -DCMAKE_SYSTEM_NAME=Android \ - -DCMAKE_SYSTEM_VERSION=21 \ + -DCMAKE_SYSTEM_VERSION=$_android_platform \ -DCMAKE_ANDROID_ARCH_ABI=$_android_arch \ -DCMAKE_ANDROID_NDK=/opt/android-ndk \ -DCMAKE_ANDROID_SDK=/opt/android-sdk \ -DCMAKE_ANDROID_STL_TYPE=c++_shared \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/opt/android-libs/$_android_arch \ - -DCMAKE_FIND_ROOT_PATH="/opt/android-ndk/sysroot;/opt/android-libs/$_android_arch;/opt/android-qt5/$qt_version/$_android_arch" \ + -DCMAKE_INSTALL_PREFIX="$_prefix" \ + -DCMAKE_FIND_ROOT_PATH="/opt/android-ndk/sysroot;$_prefix" \ -DNO_DOXYGEN=ON \ -DWIDGETS_GUI=OFF \ -DQUICK_GUI=ON make VERBOSE=1 } -#check() { -# cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" -# make check -#} - package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" make DESTDIR="${pkgdir}" install diff --git a/system-image/android-arm64-v8a/PKGBUILD b/system-image/android-arm64-v8a/PKGBUILD index f53ee16e..df0ef4a9 100644 --- a/system-image/android-arm64-v8a/PKGBUILD +++ b/system-image/android-arm64-v8a/PKGBUILD @@ -2,18 +2,20 @@ _android_api_level=24 _rev=r07 +_pkg_arch=aarch64 _android_arch=arm64-v8a -pkgname=android-system-image-${_android_arch} +pkgname=android-$_pkg_arch-system-image pkgver=${_android_api_level}_${_rev} pkgrel=1 -pkgdesc="Android system image (${_android_arch}, latest API)" +pkgdesc="Android system image (${_pkg_arch}, latest API)" arch=('any') url='http://developer.android.com/sdk/index.html' license=('custom') depends=("android-platform") -provides=("${pkgname}-${_android_api_level}") -conflicts=("${pkgname}-${_android_api_level}") +provides=("${pkgname}-${_android_api_level}" "android-system-image-${_android_arch}") +conflicts=("${pkgname}-${_android_api_level}" "android-system-image-${_android_arch}") +replaces=("android-system-image-${_android_arch}") options=('!strip') source=("http://dl-ssl.google.com/android/repository/sys-img/android/${_android_arch}-${_android_api_level}_${_rev}.zip" "source.properties")