Adjust Android packages for latest NDK and armv7a-eabi

This commit is contained in:
Martchus 2019-03-02 14:36:44 +01:00
parent c49dae9db4
commit d4aa2e755a
12 changed files with 122 additions and 62 deletions

View File

@ -6,7 +6,7 @@
_pkgname=boost
_pkg_arch=armv7a-eabi
_android_arch=armeabi-v7a
_android_toolchain=$_pkg_arch-linux-android
_android_toolchain=arm-linux-androideabi
_android_platform=21 # https://developer.android.com/about/dashboards/
_android_prefix=/opt/android-libs/$_pkg_arch
_android_ndk_path=/opt/android-ndk

View File

@ -39,7 +39,7 @@ build() {
local target_flags=" \
--target=$_android_toolchain \
--gcc-toolchain=$_android_gcc_toolchain_path \
--sysroot=$_android_ndk_path/platforms/$_android_platform_dir/usr"
--sysroot=$_android_sysroot/usr"
local common_flags=" \
$target_flags \
-isystem $_android_ndk_path/sources/android/support/include \

View File

@ -8,7 +8,7 @@
_pkgname=cppunit
_pkg_arch=armv7a-eabi
_android_arch=armeabi-v7a
_android_toolchain=$_pkg_arch-linux-android
_android_toolchain=arm-linux-androideabi
_android_ndk_path=/opt/android-ndk
_android_api_level=28
_android_platform_arch=arch-arm
@ -39,7 +39,7 @@ build() {
local target_flags=" \
--target=$_android_toolchain \
--gcc-toolchain=$_android_gcc_toolchain_path \
--sysroot=$_android_ndk_path/platforms/$_android_platform_dir/usr"
--sysroot=$_android_sysroot/usr"
local common_flags=" \
$target_flags \
-isystem $_android_ndk_path/sources/android/support/include \

View File

@ -19,6 +19,7 @@ variables_to_preserve=(
_android_platform
_android_platform_arch
_android_api_level
_android_toolchain
_boost_arch
_boost_address_model
)

View File

@ -12,7 +12,7 @@ _android_platform=22
_prefix=/opt/android-libs/$_pkg_arch
pkgname=android-$_pkg_arch-$_pkgname
pkgver=5.54.0
pkgver=5.55.0
pkgrel=1
pkgdesc="A QtQuick based components set (Android, $_pkg_arch)"
arch=('any')
@ -23,7 +23,7 @@ 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=('e2be481f890a1b7186725742b5f0240d042f78adc0bfbac0de53dd3df24ade46'
sha256sums=('739cb40f918694aefc775a4d2d51ca14d634fef1e2cb4a53b0f7605622edb285'
'SKIP')
validpgpkeys=('53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB') # David Faure <faure@kde.org>
options=(!buildflags staticlibs !strip !emptydirs)

View File

@ -0,0 +1,61 @@
# Maintainer: Martchus <martchus@gmx.net>
# Contributor (maintains regular package): Antonio Rojas <arojas@archlinux.org>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
_pkgname=kirigami2
_android_arch=armeabi-v7a
_pkg_arch=armv7a-eabi
_android_toolchain=arm-linux-androideabi
_android_platform=21
_prefix=/opt/android-libs/$_pkg_arch
pkgname=android-$_pkg_arch-$_pkgname
pkgver=5.55.0
pkgrel=1
pkgdesc="A QtQuick based components set (Android, $_pkg_arch)"
arch=('any')
url='https://community.kde.org/Frameworks'
license=(LGPL)
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=('739cb40f918694aefc775a4d2d51ca14d634fef1e2cb4a53b0f7605622edb285'
'SKIP')
validpgpkeys=('53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB') # David Faure <faure@kde.org>
options=(!buildflags staticlibs !strip !emptydirs)
prepare() {
mkdir -p build
}
build() {
cd build
# note: needs workaround for https://gitlab.kitware.com/cmake/cmake/issues/18739 (currently provided outside of the PKGBUILD itself)
cmake ../$_pkgname-$pkgver \
-DCMAKE_SYSTEM_NAME=Android \
-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="$_prefix" \
-DCMAKE_EXE_LINKER_FLAGS="-Wl,-rpath-link,$_prefix/lib" \
-DCMAKE_FIND_ROOT_PATH="/opt/android-ndk/sysroot;$_prefix" \
-DECM_DIR=/usr/share/ECM/cmake \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_QCH=OFF
make VERBOSE=1
}
package() {
cd build
make DESTDIR="$pkgdir" install
}

View File

@ -7,7 +7,13 @@ _pkg_arch=aarch64
_android_arch=arm64-v8a
_android_toolchain=$_pkg_arch-linux-android
_android_platform=22
_android_platform_arch=arch-arm64
_prefix=/opt/android-libs/$_pkg_arch
_android_ndk_path=/opt/android-ndk
_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
_android_sysroot=${_android_ndk_path}/platforms/android-$_android_platform/${_android_platform_arch}
pkgname=android-$_pkg_arch-$_pkgname
pkgver=1.15
@ -27,38 +33,31 @@ 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
export AR=${_android_gcc_tool_prefix}-ar
export AS=${_android_gcc_tool_prefix}-as
export NM=${_android_gcc_tool_prefix}-nm
export CC=${_android_clang_toolchain_path}/clang
export CXX=${_android_clang_toolchain_path}/clang++
export LD=${_android_gcc_tool_prefix}-ld
export RANLIB=${_android_gcc_tool_prefix}-ranlib
export STRIP=${_android_gcc_tool_prefix}-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 CFLAGS="${CFLAGS} --target=${_android_toolchain} --gcc-toolchain=${_android_gcc_toolchain_path} --sysroot=${_android_sysroot} -I${_android_ndk_path}/sysroot/usr/include -I${_android_ndk_path}/sysroot/usr/include/${_android_toolchain} -I${_android_sysroot}/usr/include -I${_android_gcc_toolchain_path}/include -fexceptions -frtti"
export CPPFLAGS="${CFLAGS}"
export LDFLAGS="${LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib"
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"
printf "#!/bin/bash\nexec \"$CXX\" -target ${_android_toolchain} -E \"\$@\"" > "$CPP"
chmod +x "$CPP"
./configure \
--host=$_android_toolchain \
--target=$_android_toolchain \
--build="$CHOST" \
--with-sysroot="$ANDROID_SYSROOT" \
--with-sysroot="${_android_sysroot}" \
--prefix="$_prefix" \
--libdir="$_prefix/lib" \
--includedir="$_prefix/include" \
@ -66,7 +65,7 @@ build() {
--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"
local libtool_subst="s:\\\$CC -shared:\\\$CC -shared --target=${_android_toolchain} --gcc-toolchain=${_android_gcc_toolchain_path} --sysroot=${_android_sysroot} $LDFLAGS:g"
sed -i "$libtool_subst" libtool
sed -i "$libtool_subst" libcharset/libtool

View File

@ -5,9 +5,15 @@
_pkgname=libiconv
_pkg_arch=armv7a-eabi
_android_arch=armeabi-v7a
_android_toolchain=$_pkg_arch-linux-android
_android_toolchain=arm-linux-androideabi
_android_platform=21
_android_platform_arch=arch-arm
_prefix=/opt/android-libs/$_pkg_arch
_android_ndk_path=/opt/android-ndk
_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
_android_sysroot=${_android_ndk_path}/platforms/android-$_android_platform/${_android_platform_arch}
pkgname=android-$_pkg_arch-$_pkgname
pkgver=1.15
@ -27,38 +33,31 @@ 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
export AR=${_android_gcc_tool_prefix}-ar
export AS=${_android_gcc_tool_prefix}-as
export NM=${_android_gcc_tool_prefix}-nm
export CC=${_android_clang_toolchain_path}/clang
export CXX=${_android_clang_toolchain_path}/clang++
export LD=${_android_gcc_tool_prefix}-ld
export RANLIB=${_android_gcc_tool_prefix}-ranlib
export STRIP=${_android_gcc_tool_prefix}-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 CFLAGS="${CFLAGS} --target=${_android_toolchain} --gcc-toolchain=${_android_gcc_toolchain_path} --sysroot=${_android_sysroot} -I${_android_ndk_path}/sysroot/usr/include -I${_android_ndk_path}/sysroot/usr/include/${_android_toolchain} -I${_android_sysroot}/usr/include -I${_android_gcc_toolchain_path}/include -fexceptions -frtti"
export CPPFLAGS="${CFLAGS}"
export LDFLAGS="${LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib"
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"
printf "#!/bin/bash\nexec \"$CXX\" -target=${_android_toolchain} -E \"\$@\"" > "$CPP"
chmod +x "$CPP"
./configure \
--host=$_android_toolchain \
--target=$_android_toolchain \
--build="$CHOST" \
--with-sysroot="$ANDROID_SYSROOT" \
--with-sysroot="${_android_sysroot}" \
--prefix="$_prefix" \
--libdir="$_prefix/lib" \
--includedir="$_prefix/include" \
@ -66,7 +65,7 @@ build() {
--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"
local libtool_subst="s:\\\$CC -shared:\\\$CC -shared --target=${_android_toolchain} --gcc-toolchain=${_android_gcc_toolchain_path} --sysroot=${_android_sysroot} $LDFLAGS:g"
sed -i "$libtool_subst" libtool
sed -i "$libtool_subst" libcharset/libtool

View File

@ -8,14 +8,14 @@ _android_platform=22 # https://developer.android.com/about/dashboards/
_android_platform_arch=arch-arm64
_android_platform_dir=android-$_android_platform/${_android_platform_arch}
_pkgname=openssl
_ver=1.1.1a
_ver=1.1.1b
_pref=/opt/android-libs/$_pkg_arch
# export Android configuration
export 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}
export ANDROID_EABI=$_android_toolchain-4.9
export ANDROID_EABI=llvm
export ANDROID_ARCH=${_android_platform_arch}
pkgname=android-$_pkg_arch-$_pkgname
@ -33,9 +33,9 @@ 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=('fc20130f8b7cbd2fb918b2f14e2f429e109c31ddd0fb38fc5d71d9ffed3f9f41'
sha256sums=('5c557b023230413dfb0756f3137a13e6d726838ccd1430888ad15bfb2b43ea4b'
'SKIP'
'0938c8d68110768db4f350a7ec641070686904f2fe7ba630ac94399d7dc8cc5e')
'SKIP')
validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491')
build() {

View File

@ -117,13 +117,13 @@ fi
case $_ANDROID_ARCH in
arch-arm)
ANDROID_TOOLS="arm-linux-androideabi-gcc arm-linux-androideabi-ranlib arm-linux-androideabi-ld"
ANDROID_TOOLS="arm-linux-androideabi-clang arm-linux-androideabi-ranlib arm-linux-androideabi-ld"
;;
arch-arm64)
ANDROID_TOOLS="aarch64-linux-android-gcc aarch64-linux-android-ranlib aarch64-linux-android-ld"
ANDROID_TOOLS="aarch64-linux-android-clang aarch64-linux-android-ranlib aarch64-linux-android-ld"
;;
arch-x86)
ANDROID_TOOLS="i686-linux-android-gcc i686-linux-android-ranlib i686-linux-android-ld"
ANDROID_TOOLS="i686-linux-android-clang i686-linux-android-ranlib i686-linux-android-ld"
;;
*)
echo "ERROR ERROR ERROR"

View File

@ -3,19 +3,19 @@
_pkg_arch=armv7a-eabi
_android_arch=armeabi-v7a
_android_toolchain=$_pkg_arch-linux-android
_android_toolchain=arm-linux-androideabi
_android_platform=21 # https://developer.android.com/about/dashboards/
_android_platform_arch=arch-arm
_android_platform_dir=android-$_android_platform/${_android_platform_arch}
_pkgname=openssl
_ver=1.1.1a
_ver=1.1.1b
_pref=/opt/android-libs/$_pkg_arch
# export Android configuration
export 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}
export ANDROID_EABI=$_android_toolchain-4.9
export ANDROID_EABI=llvm
export ANDROID_ARCH=${_android_platform_arch}
pkgname=android-$_pkg_arch-$_pkgname
@ -33,9 +33,9 @@ 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=('fc20130f8b7cbd2fb918b2f14e2f429e109c31ddd0fb38fc5d71d9ffed3f9f41'
sha256sums=('5c557b023230413dfb0756f3137a13e6d726838ccd1430888ad15bfb2b43ea4b'
'SKIP'
'0938c8d68110768db4f350a7ec641070686904f2fe7ba630ac94399d7dc8cc5e')
'SKIP')
validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491')
build() {

View File

@ -117,13 +117,13 @@ fi
case $_ANDROID_ARCH in
arch-arm)
ANDROID_TOOLS="arm-linux-androideabi-gcc arm-linux-androideabi-ranlib arm-linux-androideabi-ld"
ANDROID_TOOLS="arm-linux-androideabi-clang arm-linux-androideabi-ranlib arm-linux-androideabi-ld"
;;
arch-arm64)
ANDROID_TOOLS="aarch64-linux-android-gcc aarch64-linux-android-ranlib aarch64-linux-android-ld"
ANDROID_TOOLS="aarch64-linux-android-clang aarch64-linux-android-ranlib aarch64-linux-android-ld"
;;
arch-x86)
ANDROID_TOOLS="i686-linux-android-gcc i686-linux-android-ranlib i686-linux-android-ld"
ANDROID_TOOLS="i686-linux-android-clang i686-linux-android-ranlib i686-linux-android-ld"
;;
*)
echo "ERROR ERROR ERROR"