2018-07-13 14:58:35 +02:00
|
|
|
# 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.
|
|
|
|
|
2018-11-24 02:41:08 +01:00
|
|
|
_reponame=passwordfile
|
|
|
|
_pkgname=passwordfile
|
2018-07-13 14:58:35 +02:00
|
|
|
_android_arch=arm64-v8a
|
2018-11-24 02:41:08 +01:00
|
|
|
_pkg_arch=aarch64
|
|
|
|
_android_platform=22
|
|
|
|
_prefix=/opt/android-libs/$_pkg_arch
|
2018-07-13 14:58:35 +02:00
|
|
|
|
2018-11-24 02:41:08 +01:00
|
|
|
pkgname=android-$_pkg_arch-$_pkgname
|
2020-02-05 08:51:28 +01:00
|
|
|
pkgver=5.0.4
|
2018-07-13 14:58:35 +02:00
|
|
|
pkgrel=1
|
|
|
|
arch=('any')
|
2018-11-24 02:41:08 +01:00
|
|
|
pkgdesc="C++ library to read/write passwords from/to encrypted files using AES-256-CBC via OpenSSL (Android, $_pkg_arch)"
|
2018-07-13 14:58:35 +02:00
|
|
|
license=('GPL')
|
2018-11-24 02:41:08 +01:00
|
|
|
depends=("android-$_pkg_arch-c++utilities" "android-$_pkg_arch-openssl")
|
2018-07-13 14:58:35 +02:00
|
|
|
optdepends=("$_pkgname-doc: API documentation")
|
2020-10-04 01:04:01 +02:00
|
|
|
makedepends=('cmake' 'ninja' 'android-ndk' 'android-sdk')
|
2018-11-24 02:41:08 +01:00
|
|
|
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")
|
2018-07-13 14:58:35 +02:00
|
|
|
url="https://github.com/Martchus/${_reponame}"
|
|
|
|
source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz")
|
2020-02-05 08:51:28 +01:00
|
|
|
sha256sums=('556dc44cc061c57308ba389143eb21a39d6780d7260c0dd8f6382c2bc8aed0f9')
|
2018-07-13 14:58:35 +02:00
|
|
|
options=(!buildflags staticlibs !strip !emptydirs)
|
|
|
|
|
|
|
|
prepare() {
|
|
|
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
|
|
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
2018-10-07 22:24:48 +02:00
|
|
|
|
|
|
|
local android_sdk_path=${ANDROID_SDK_ROOT:-/opt/android-sdk}
|
|
|
|
local android_ndk_path=${ANDROID_NDK_ROOT:-/opt/android-ndk}
|
2018-11-01 05:16:53 +01:00
|
|
|
local include_dir=$_prefix/include
|
2018-10-07 22:24:48 +02:00
|
|
|
|
2018-07-13 14:58:35 +02:00
|
|
|
cmake \
|
2020-10-04 01:04:01 +02:00
|
|
|
-G Ninja \
|
2019-05-04 16:29:53 +02:00
|
|
|
-DCMAKE_BUILD_TYPE=Release \
|
2018-07-13 14:58:35 +02:00
|
|
|
-DCMAKE_SYSTEM_NAME=Android \
|
2018-11-24 02:41:08 +01:00
|
|
|
-DCMAKE_SYSTEM_VERSION=$_android_platform \
|
2018-07-13 14:58:35 +02:00
|
|
|
-DCMAKE_ANDROID_ARCH_ABI=$_android_arch \
|
2018-10-07 22:24:48 +02:00
|
|
|
-DCMAKE_ANDROID_SDK="$android_sdk_path" \
|
|
|
|
-DCMAKE_ANDROID_NDK="$android_ndk_path" \
|
|
|
|
-DCMAKE_ANDROID_STL_TYPE=c++_shared \
|
2018-11-01 05:16:53 +01:00
|
|
|
-DCMAKE_INSTALL_PREFIX=$_prefix \
|
|
|
|
-DCMAKE_FIND_ROOT_PATH="$android_ndk_path/sysroot;$_prefix" \
|
2018-11-24 02:41:08 +01:00
|
|
|
-DCMAKE_EXE_LINKER_FLAGS="-Wl,-rpath-link,$_prefix/lib" \
|
2019-05-04 16:29:53 +02:00
|
|
|
-DBUILD_SHARED_LIBS:BOOL=ON \
|
|
|
|
-DNO_DOXYGEN:BOOL=ON \
|
2019-02-19 18:38:43 +01:00
|
|
|
.
|
2020-10-04 01:04:01 +02:00
|
|
|
ninja
|
2018-07-13 14:58:35 +02:00
|
|
|
}
|
|
|
|
|
2018-10-18 23:20:07 +02:00
|
|
|
check() {
|
|
|
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
|
|
|
|
|
|
|
# can not run the tests so compile them at least
|
2020-10-04 01:04:01 +02:00
|
|
|
ninja tests
|
2018-10-18 23:20:07 +02:00
|
|
|
|
|
|
|
# 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
|
2020-10-04 01:04:01 +02:00
|
|
|
#ninja check
|
2018-10-18 23:20:07 +02:00
|
|
|
}
|
2018-07-13 14:58:35 +02:00
|
|
|
|
|
|
|
package() {
|
|
|
|
cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"
|
2020-10-04 01:04:01 +02:00
|
|
|
DESTDIR="${pkgdir}" ninja install
|
2018-10-18 23:20:07 +02:00
|
|
|
|
|
|
|
# add tests to the package for possibly executing them later under Android
|
2018-11-24 02:41:08 +01:00
|
|
|
if [[ -f ${_pkgname}_tests ]]; then
|
2018-11-01 05:16:53 +01:00
|
|
|
mkdir "${pkgdir}/$_prefix/bin"
|
2018-11-24 02:41:08 +01:00
|
|
|
cp ${_pkgname}_tests "${pkgdir}/$_prefix/bin"
|
2018-10-18 23:20:07 +02:00
|
|
|
fi
|
2018-07-13 14:58:35 +02:00
|
|
|
}
|