Continue work on PKGBUILDs for building final APKs
* Add armv7a-eabi * APKs seem to build now but need further testing
This commit is contained in:
parent
a0a24ec13b
commit
4df3c28051
|
@ -7,7 +7,6 @@ _reponame=cpp-utilities
|
||||||
_pkgname=c++utilities
|
_pkgname=c++utilities
|
||||||
_android_arch=arm64-v8a
|
_android_arch=arm64-v8a
|
||||||
_pkg_arch=aarch64
|
_pkg_arch=aarch64
|
||||||
_android_toolchain=$_pkg_arch-linux-android
|
|
||||||
_android_platform=22
|
_android_platform=22
|
||||||
_prefix=/opt/android-libs/$_pkg_arch
|
_prefix=/opt/android-libs/$_pkg_arch
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@ _reponame=cpp-utilities
|
||||||
_pkgname=c++utilities
|
_pkgname=c++utilities
|
||||||
_android_arch=armeabi-v7a
|
_android_arch=armeabi-v7a
|
||||||
_pkg_arch=armv7a-eabi
|
_pkg_arch=armv7a-eabi
|
||||||
_android_toolchain=$_pkg_arch-linux-android
|
|
||||||
_android_platform=21
|
_android_platform=21
|
||||||
_prefix=/opt/android-libs/$_pkg_arch
|
_prefix=/opt/android-libs/$_pkg_arch
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@ _reponame=passwordfile
|
||||||
_pkgname=passwordfile
|
_pkgname=passwordfile
|
||||||
_android_arch=arm64-v8a
|
_android_arch=arm64-v8a
|
||||||
_pkg_arch=aarch64
|
_pkg_arch=aarch64
|
||||||
_android_toolchain=$_pkg_arch-linux-android
|
|
||||||
_android_platform=22
|
_android_platform=22
|
||||||
_prefix=/opt/android-libs/$_pkg_arch
|
_prefix=/opt/android-libs/$_pkg_arch
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@ _reponame=passwordfile
|
||||||
_pkgname=passwordfile
|
_pkgname=passwordfile
|
||||||
_android_arch=armeabi-v7a
|
_android_arch=armeabi-v7a
|
||||||
_pkg_arch=armv7a-eabi
|
_pkg_arch=armv7a-eabi
|
||||||
_android_toolchain=$_pkg_arch-linux-android
|
|
||||||
_android_platform=21
|
_android_platform=21
|
||||||
_prefix=/opt/android-libs/$_pkg_arch
|
_prefix=/opt/android-libs/$_pkg_arch
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,9 @@ pkgrel=1
|
||||||
arch=('any')
|
arch=('any')
|
||||||
pkgdesc="A simple password store using AES-256-CBC encryption via OpenSSL (Android, $_pkg_arch)"
|
pkgdesc="A simple password store using AES-256-CBC encryption via OpenSSL (Android, $_pkg_arch)"
|
||||||
license=('GPL')
|
license=('GPL')
|
||||||
depends=("android-$_pkg_arch-passwordfile" "android-$_pkg_arch-qtutilities" "android-$_pkg_arch-kirigami2")
|
depends=()
|
||||||
makedepends=('cmake' 'android-ndk' 'android-sdk' 'extra-cmake-modules' 'jdk8-openjdk')
|
makedepends=("android-$_pkg_arch-passwordfile" "android-$_pkg_arch-qtutilities" "android-$_pkg_arch-kirigami2"
|
||||||
|
'cmake' 'android-ndk' 'android-sdk' 'android-platform' 'jdk8-openjdk' 'breeze-icons')
|
||||||
conflicts=("android-$_pkgname-$_android_arch")
|
conflicts=("android-$_pkgname-$_android_arch")
|
||||||
replaces=("android-$_pkgname-$_android_arch")
|
replaces=("android-$_pkgname-$_android_arch")
|
||||||
url="https://github.com/Martchus/${_reponame}"
|
url="https://github.com/Martchus/${_reponame}"
|
||||||
|
@ -33,54 +34,67 @@ prepare() {
|
||||||
build() {
|
build() {
|
||||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||||
|
|
||||||
local android_sdk_path=${ANDROID_SDK_ROOT:-/opt/android-sdk}
|
# locate keystore
|
||||||
local android_ndk_path=${ANDROID_NDK_ROOT:-/opt/android-ndk}
|
local keystore_dir=${ANDROID_APK_KEYSTORE_DIR}
|
||||||
|
local keystore_alias=${ANDROID_APK_KEYSTORE_ALIAS}
|
||||||
|
local keystore_url=$keystore_dir/$keystore_alias
|
||||||
|
local keystore_password=${ANDROID_APK_KEYSTORE_PASSWORD}
|
||||||
|
if [[ ! -d $keystore_dir ]]; then
|
||||||
|
msg2 "The specified ANDROID_APK_KEYSTORE_DIR \"$keystore_dir\" is not a directory."
|
||||||
|
fi
|
||||||
|
if [[ -z $keystore_alias ]]; then
|
||||||
|
msg2 "The specified ANDROID_APK_KEYSTORE_ALIAS is empty."
|
||||||
|
fi
|
||||||
|
if [[ -z $keystore_password ]]; then
|
||||||
|
msg2 "The specified ANDROID_APK_KEYSTORE_PASSWORD is empty."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# locate SDK, NDK and further libraries
|
||||||
|
local android_sdk_root=${ANDROID_SDK_ROOT:-/opt/android-sdk}
|
||||||
|
local android_ndk_root=${ANDROID_NDK_ROOT:-/opt/android-ndk}
|
||||||
local build_tools_version=$(pacman -Q android-sdk-build-tools | sed 's/.* r\(.*\)-.*/\1/')
|
local build_tools_version=$(pacman -Q android-sdk-build-tools | sed 's/.* r\(.*\)-.*/\1/')
|
||||||
local root="$android_ndk_root/sysroot;$_prefix"
|
local other_libs_root=/opt/android-libs/$_pkg_arch
|
||||||
|
local other_libs_include=$other_libs_root/include
|
||||||
|
local root="$android_ndk_root/sysroot;$other_libs_root"
|
||||||
|
|
||||||
mkdir home
|
# use Java 8 which seems to be the latest version which works
|
||||||
export HOME=$PWD/home
|
export PATH=/usr/lib/jvm/java-8-openjdk/jre/bin/:$PATH
|
||||||
|
|
||||||
archlinux-java set java-8-openjdk/jre
|
mkdir -p build
|
||||||
yes | sdkmanager --licenses
|
cd build
|
||||||
|
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=/usr/share/ECM/toolchain/Android.cmake \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_SYSTEM_NAME=Android \
|
-DCMAKE_SYSTEM_NAME=Android \
|
||||||
-DCMAKE_SYSTEM_VERSION=$_android_platform \
|
-DCMAKE_SYSTEM_VERSION=$_android_platform \
|
||||||
-DCMAKE_ANDROID_ARCH_ABI=$_android_arch \
|
-DCMAKE_ANDROID_ARCH_ABI=$_android_arch \
|
||||||
-DCMAKE_ANDROID_SDK="$android_sdk_path" \
|
-DCMAKE_ANDROID_NDK="$android_ndk_root" \
|
||||||
-DCMAKE_ANDROID_NDK="$android_ndk_path" \
|
-DCMAKE_ANDROID_SDK="$android_sdk_root" \
|
||||||
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
|
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_INSTALL_PREFIX=$other_libs_root \
|
||||||
-DCMAKE_INSTALL_PREFIX=$_prefix \
|
|
||||||
-DCMAKE_PREFIX_PATH="$root" \
|
-DCMAKE_PREFIX_PATH="$root" \
|
||||||
-DCMAKE_FIND_ROOT_PATH="$root" \
|
-DCMAKE_FIND_ROOT_PATH="$root;$root/libs" \
|
||||||
|
-DCLANG_FORMAT_ENABLED=ON \
|
||||||
|
-DUSE_NATIVE_FILE_BUFFER=ON \
|
||||||
-DNO_DOXYGEN=ON \
|
-DNO_DOXYGEN=ON \
|
||||||
-DWIDGETS_GUI=OFF \
|
-DWIDGETS_GUI=OFF \
|
||||||
-DQUICK_GUI=ON \
|
-DQUICK_GUI=ON \
|
||||||
-DQt5Core_DIR="$_prefix/lib/cmake/Qt5Core" \
|
-DBUILTIN_ICON_THEMES=breeze \
|
||||||
-DANDROID_API_LEVEL=$_android_platform \
|
-DBUILTIN_TRANSLATIONS=ON \
|
||||||
-DANDROID_ABI=$_android_arch \
|
-DANDROID_APK_KEYSTORE_URL="$keystore_url" \
|
||||||
-DANDROID_ARCHITECTURE=${_android_arch%-*} \
|
-DANDROID_APK_KEYSTORE_ALIAS="$keystore_alias" \
|
||||||
-DANDROID_SDK_ROOT="$android_sdk_root" \
|
-DANDROID_APK_KEYSTORE_PASSWORD="$keystore_password" \
|
||||||
-DANDROID_SDK_BUILD_TOOLS_REVISION="$build_tools_version" \
|
-DANDROID_APK_CXX_STANDARD_LIBRARY="$android_ndk_root/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so" \
|
||||||
-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="$_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" \
|
|
||||||
|
|
||||||
make VERBOSE=1
|
make VERBOSE=1
|
||||||
make DESTDIR="${pkgdir}" create-apk
|
make DESTDIR="${pkgdir}" passwordmanager_apk
|
||||||
}
|
}
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||||
|
|
||||||
local api_dir=${pkgdir}/opt/android-libs/apk
|
local apk_dir=${pkgdir}/$_prefix/apk/$_pkgname
|
||||||
mkdir -p "$apk_dir"
|
mkdir -p "$apk_dir"
|
||||||
cp --target-directory="$apk_dir" "${_pkgname}_build_apk/build/outputs/apk/*.apk"
|
find build/apk -iname '*.apk' -exec cp --target-directory="$apk_dir" {} \;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,99 @@
|
||||||
|
# Maintainer: Martchus <martchus@gmx.net>
|
||||||
|
|
||||||
|
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
|
||||||
|
# you also find the URL of a binary repository.
|
||||||
|
|
||||||
|
_reponame=passwordmanager
|
||||||
|
_pkgname=passwordmanager
|
||||||
|
_android_arch=armeabi-v7a
|
||||||
|
_pkg_arch=armv7a-eabi
|
||||||
|
_android_platform=21
|
||||||
|
_prefix=/opt/android-libs/$_pkg_arch
|
||||||
|
|
||||||
|
pkgname=android-$_pkg_arch-$_pkgname
|
||||||
|
pkgver=4.0.1
|
||||||
|
pkgrel=1
|
||||||
|
arch=('any')
|
||||||
|
pkgdesc="A simple password store using AES-256-CBC encryption via OpenSSL (Android, $_pkg_arch)"
|
||||||
|
license=('GPL')
|
||||||
|
depends=()
|
||||||
|
makedepends=("android-$_pkg_arch-passwordfile" "android-$_pkg_arch-qtutilities" "android-$_pkg_arch-kirigami2"
|
||||||
|
'cmake' 'android-ndk' 'android-sdk' 'android-platform' 'jdk8-openjdk' 'breeze-icons')
|
||||||
|
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=('89f10b004c4a2dcbce13f0b24bd9acda3a6ea52d165ef178b42e76fcd3c58079')
|
||||||
|
options=(!buildflags staticlibs !strip !emptydirs)
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||||
|
|
||||||
|
# locate keystore
|
||||||
|
local keystore_dir=${ANDROID_APK_KEYSTORE_DIR}
|
||||||
|
local keystore_alias=${ANDROID_APK_KEYSTORE_ALIAS}
|
||||||
|
local keystore_url=$keystore_dir/$keystore_alias
|
||||||
|
local keystore_password=${ANDROID_APK_KEYSTORE_PASSWORD}
|
||||||
|
if [[ ! -d $keystore_dir ]]; then
|
||||||
|
msg2 "The specified ANDROID_APK_KEYSTORE_DIR \"$keystore_dir\" is not a directory."
|
||||||
|
fi
|
||||||
|
if [[ -z $keystore_alias ]]; then
|
||||||
|
msg2 "The specified ANDROID_APK_KEYSTORE_ALIAS is empty."
|
||||||
|
fi
|
||||||
|
if [[ -z $keystore_password ]]; then
|
||||||
|
msg2 "The specified ANDROID_APK_KEYSTORE_PASSWORD is empty."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# locate SDK, NDK and further libraries
|
||||||
|
local android_sdk_root=${ANDROID_SDK_ROOT:-/opt/android-sdk}
|
||||||
|
local android_ndk_root=${ANDROID_NDK_ROOT:-/opt/android-ndk}
|
||||||
|
local build_tools_version=$(pacman -Q android-sdk-build-tools | sed 's/.* r\(.*\)-.*/\1/')
|
||||||
|
local other_libs_root=/opt/android-libs/$_pkg_arch
|
||||||
|
local other_libs_include=$other_libs_root/include
|
||||||
|
local root="$android_ndk_root/sysroot;$other_libs_root"
|
||||||
|
|
||||||
|
# use Java 8 which seems to be the latest version which works
|
||||||
|
export PATH=/usr/lib/jvm/java-8-openjdk/jre/bin/:$PATH
|
||||||
|
|
||||||
|
mkdir -p build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
cmake \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DCMAKE_SYSTEM_NAME=Android \
|
||||||
|
-DCMAKE_SYSTEM_VERSION=$_android_platform \
|
||||||
|
-DCMAKE_ANDROID_ARCH_ABI=$_android_arch \
|
||||||
|
-DCMAKE_ANDROID_NDK="$android_ndk_root" \
|
||||||
|
-DCMAKE_ANDROID_SDK="$android_sdk_root" \
|
||||||
|
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=$other_libs_root \
|
||||||
|
-DCMAKE_PREFIX_PATH="$root" \
|
||||||
|
-DCMAKE_FIND_ROOT_PATH="$root;$root/libs" \
|
||||||
|
-DCLANG_FORMAT_ENABLED=ON \
|
||||||
|
-DUSE_NATIVE_FILE_BUFFER=ON \
|
||||||
|
-DNO_DOXYGEN=ON \
|
||||||
|
-DWIDGETS_GUI=OFF \
|
||||||
|
-DQUICK_GUI=ON \
|
||||||
|
-DBUILTIN_ICON_THEMES=breeze \
|
||||||
|
-DBUILTIN_TRANSLATIONS=ON \
|
||||||
|
-DANDROID_APK_KEYSTORE_URL="$keystore_url" \
|
||||||
|
-DANDROID_APK_KEYSTORE_ALIAS="$keystore_alias" \
|
||||||
|
-DANDROID_APK_KEYSTORE_PASSWORD="$keystore_password" \
|
||||||
|
-DANDROID_APK_CXX_STANDARD_LIBRARY="$android_ndk_root/sources/cxx-stl/llvm-libc++/libs/$_android_arch/libc++_shared.so" \
|
||||||
|
..
|
||||||
|
|
||||||
|
make VERBOSE=1
|
||||||
|
make DESTDIR="${pkgdir}" passwordmanager_apk
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
||||||
|
|
||||||
|
local apk_dir=${pkgdir}/$_prefix/apk/$_pkgname
|
||||||
|
mkdir -p "$apk_dir"
|
||||||
|
find build/apk -iname '*.apk' -exec cp --target-directory="$apk_dir" {} \;
|
||||||
|
}
|
|
@ -7,7 +7,6 @@ _reponame=qtutilities
|
||||||
_pkgname=qtutilities
|
_pkgname=qtutilities
|
||||||
_android_arch=arm64-v8a
|
_android_arch=arm64-v8a
|
||||||
_pkg_arch=aarch64
|
_pkg_arch=aarch64
|
||||||
_android_toolchain=$_pkg_arch-linux-android
|
|
||||||
_android_platform=22
|
_android_platform=22
|
||||||
_prefix=/opt/android-libs/$_pkg_arch
|
_prefix=/opt/android-libs/$_pkg_arch
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@ _reponame=qtutilities
|
||||||
_pkgname=qtutilities
|
_pkgname=qtutilities
|
||||||
_android_arch=armeabi-v7a
|
_android_arch=armeabi-v7a
|
||||||
_pkg_arch=armv7a-eabi
|
_pkg_arch=armv7a-eabi
|
||||||
_android_toolchain=$_pkg_arch-linux-android
|
|
||||||
_android_platform=21
|
_android_platform=21
|
||||||
_prefix=/opt/android-libs/$_pkg_arch
|
_prefix=/opt/android-libs/$_pkg_arch
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@ _reponame=tagparser
|
||||||
_pkgname=tagparser
|
_pkgname=tagparser
|
||||||
_android_arch=arm64-v8a
|
_android_arch=arm64-v8a
|
||||||
_pkg_arch=aarch64
|
_pkg_arch=aarch64
|
||||||
_android_toolchain=$_pkg_arch-linux-android
|
|
||||||
_android_platform=22
|
_android_platform=22
|
||||||
_prefix=/opt/android-libs/$_pkg_arch
|
_prefix=/opt/android-libs/$_pkg_arch
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@ _reponame=tagparser
|
||||||
_pkgname=tagparser
|
_pkgname=tagparser
|
||||||
_android_arch=armeabi-v7a
|
_android_arch=armeabi-v7a
|
||||||
_pkg_arch=armv7a-eabi
|
_pkg_arch=armv7a-eabi
|
||||||
_android_toolchain=$_pkg_arch-linux-android
|
|
||||||
_android_platform=21
|
_android_platform=21
|
||||||
_prefix=/opt/android-libs/$_pkg_arch
|
_prefix=/opt/android-libs/$_pkg_arch
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue