diff options
author | Martchus | 2019-07-20 22:10:47 +0200 |
---|---|---|
committer | Martchus | 2019-07-20 22:10:47 +0200 |
commit | 34cc5c61bb285899464a71f2d9eac54418446d1b (patch) | |
tree | 6c93867afe534968054d0524388665ab9276aed2 | |
download | aur-34cc5c61bb285899464a71f2d9eac54418446d1b.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 111 |
2 files changed, 131 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..3243b7eb204e --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,20 @@ +pkgbase = android-aarch64-cppunit + pkgdesc = A C++ unit testing framework (Android, arm64-v8a) + pkgver = 1.14.0 + pkgrel = 1 + url = http://www.freedesktop.org/wiki/Software/cppunit + arch = any + license = LGPL + depends = android-ndk + conflicts = android-cppunit-arm64-v8a + replaces = android-cppunit-arm64-v8a + options = !strip + options = !buildflags + options = !libtool + options = staticlibs + options = !emptydirs + source = https://dev-www.libreoffice.org/src/cppunit-1.14.0.tar.gz + sha256sums = 3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780 + +pkgname = android-aarch64-cppunit + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..aa12ae896e90 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,111 @@ +# Maintainer: Martchus <martchus@gmx.net> +# Contributor: Stéphane Gaudreault <stephane@archlinux.org> +# Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org> + +# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where +# you also find the URL of a binary repository. + +_pkgname=cppunit +_pkg_arch=aarch64 +_android_arch=arm64-v8a +_android_toolchain=$_pkg_arch-linux-android +_android_ndk_path=/opt/android-ndk +_android_api_level=28 +_android_platform_arch=arch-arm64 +_android_platform_dir=android-$_android_api_level/${_android_platform_arch} +_android_prefix=${_android_ndk_path}/toolchains/${_android_toolchain}-4.9/prebuilt/linux-x86_64 +_android_sysroot=${_android_ndk_path}/platforms/android-$_android_api_level/${_android_platform_arch} +_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/$_pkg_arch + +pkgname=android-$_pkg_arch-$_pkgname +pkgver=1.14.0 +pkgrel=1 +pkgdesc="A C++ unit testing framework (Android, $_android_arch)" +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/${_pkgname}-${pkgver}.tar.gz") +sha256sums=('3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780') + +build() { + # configure flags + local target_flags=" \ + --target=$_android_toolchain \ + --gcc-toolchain=$_android_gcc_toolchain_path \ + --sysroot=$_android_sysroot/usr" + local common_flags=" \ + $target_flags \ + -isystem $_android_ndk_path/sources/android/support/include \ + -isystem $_android_ndk_path/sources/cxx-stl/llvm-libc++/include \ + -isystem $_android_ndk_path/sources/cxx-stl/llvm-libc++abi/include \ + -isystem $_android_ndk_path/sysroot/usr/include \ + -isystem $_android_ndk_path/sysroot/usr/include/$_android_toolchain \ + -funwind-tables \ + -no-canonical-prefixes \ + -D__ANDROID_API__=$_android_api_level \ + -O3 \ + -fPIC \ + -DCPPUNIT_HAVE_LIBDL=1 \ + -Wno-unused-command-line-argument" + 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 + 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 + + mkdir -p "${srcdir}/${_pkgname}-${pkgver}/build-${_android_toolchain}" + cd "${srcdir}/${_pkgname}-${pkgver}/build-${_android_toolchain}" + + ../configure \ + --host=$_android_toolchain \ + --target=$_android_toolchain \ + --build="$CHOST" \ + --with-sysroot="$_android_sysroot" \ + --prefix="$_install_prefix" \ + --libdir="$_install_prefix/lib" \ + --includedir="$_install_prefix/include" \ + --enable-shared=yes \ + --enable-static=yes + + # make sure the LDFLAGS are actually used and no unsuitable ones are added + sed -i "s:-shared -nostdlib:-shared $LDFLAGS:g" libtool + sed -i 's:\\$predep_objects \\$libobjs \\$deplibs \\$postdep_objects \\$compiler_flags:\\$libobjs:g' libtool + + # make only the actual cppunit library (DllPlugInTester does not build but I also don't need it) + cd src/cppunit + make V=1 +} + +package() { + mkdir -p "${srcdir}/${_pkgname}-${pkgver}/build-${_android_toolchain}" + cd "${srcdir}/${_pkgname}-${pkgver}/build-${_android_toolchain}" + + cd src/cppunit + make DESTDIR="${pkgdir}" install + cd ../.. + make DESTDIR="${pkgdir}" install-data + rm -rf "${pkgdir}/$_install_prefix/share/" + + # strip binaries + find "$pkgdir" -name 'lib*.so' -type f -exec "${_android_gcc_tool_prefix}-strip" --strip-unneeded {} \; + find "$pkgdir" -name 'lib*.a' -type f -exec "${_android_gcc_tool_prefix}-strip" -g {} \; +} |