From 98d9d51490b619f47832edd4966b49f4ff8c7e70 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 7 Oct 2018 22:24:48 +0200 Subject: [PATCH] Improve own packages * Fix a few details * Switch to libc++ under Android --- c++utilities/android-arm64-v8a/PKGBUILD | 25 +++++++++++++++------- c++utilities/mingw-w64/PKGBUILD | 12 +++++++++++ passwordfile/android-arm64-v8a/PKGBUILD | 24 +++++++++++++-------- passwordfile/mingw-w64/PKGBUILD | 13 ++++++++++- passwordmanager/android-arm64-v8a/PKGBUILD | 10 ++++----- qtutilities/android-arm64-v8a/PKGBUILD | 2 +- qtutilities/mingw-w64/PKGBUILD | 2 +- reflective-rapidjson/default/PKGBUILD | 8 +++---- reflective-rapidjson/git/PKGBUILD | 8 +++---- reflective-rapidjson/mingw-w64/PKGBUILD | 16 ++++++++++++-- tagparser/mingw-w64/PKGBUILD | 19 +++++++++++++++- 11 files changed, 103 insertions(+), 36 deletions(-) diff --git a/c++utilities/android-arm64-v8a/PKGBUILD b/c++utilities/android-arm64-v8a/PKGBUILD index 734d966d..60c81746 100644 --- a/c++utilities/android-arm64-v8a/PKGBUILD +++ b/c++utilities/android-arm64-v8a/PKGBUILD @@ -14,7 +14,7 @@ pkgrel=1 arch=('any') pkgdesc="Common C++ classes and routines such as argument parser, IO and conversion utilities (Android, $_android_arch)" license=('GPL') -depends=("android-libiconv-$_android_arch") +depends=("android-libiconv-$_android_arch" "android-boost-$_android_arch") optdepends=("$_pkgname-doc: API documentation") makedepends=('cmake' 'android-ndk' 'android-sdk') #checkdepends=('cppunit') @@ -29,18 +29,27 @@ prepare() { 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_NDK=/opt/android-ndk \ - -DCMAKE_ANDROID_SDK=/opt/android-sdk \ - -DCMAKE_ANDROID_STL_TYPE=gnustl_shared \ + -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_FIND_ROOT_PATH="/opt/android-ndk/sysroot;/opt/android-libs/$_android_arch" \ - -Diconv_DYNAMIC_INCLUDE_DIR="/opt/android-libs/$_android_arch/include" \ - -Diconv_STATIC_INCLUDE_DIR="/opt/android-libs/$_android_arch/include" \ + -DCMAKE_INSTALL_PREFIX=$prefix \ + -DCMAKE_FIND_ROOT_PATH="$android_ndk_path/sysroot;$prefix" \ + -DUSE_NATIVE_FILE_BUFFER=ON \ + -Diconv_DYNAMIC_INCLUDE_DIR="$include_dir" \ + -Diconv_STATIC_INCLUDE_DIR="$include_dir" \ + -Dboost_iostreams_DYNAMIC_INCLUDE_DIR="$include_dir" \ + -Dboost_iostreams_STATIC_INCLUDE_DIR="$include_dir" \ -DNO_DOXYGEN=ON make VERBOSE=1 } diff --git a/c++utilities/mingw-w64/PKGBUILD b/c++utilities/mingw-w64/PKGBUILD index 6d7a563f..82e107e7 100644 --- a/c++utilities/mingw-w64/PKGBUILD +++ b/c++utilities/mingw-w64/PKGBUILD @@ -13,6 +13,7 @@ pkgdesc='Common C++ classes and routines such as argument parser, IO and convers license=('GPL') depends=('mingw-w64-crt' 'mingw-w64-libiconv') optdepends=("$_name-doc: API documentation") +checkdepends=('mingw-w64-cppunit' 'mingw-w64-wine') makedepends=('mingw-w64-gcc' 'mingw-w64-cmake') url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") @@ -37,6 +38,17 @@ build() { done } +check() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + for _arch in ${_architectures}; do + mkdir -p "build-${_arch}" && pushd "build-${_arch}" + export WINEPATH="/usr/${_arch}/bin" + export WINEDEBUG=-all + make check + popd + done +} + package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" for _arch in ${_architectures}; do diff --git a/passwordfile/android-arm64-v8a/PKGBUILD b/passwordfile/android-arm64-v8a/PKGBUILD index 9b984026..7fe31123 100644 --- a/passwordfile/android-arm64-v8a/PKGBUILD +++ b/passwordfile/android-arm64-v8a/PKGBUILD @@ -29,20 +29,26 @@ prepare() { 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_NDK=/opt/android-ndk \ - -DCMAKE_ANDROID_SDK=/opt/android-sdk \ - -DCMAKE_ANDROID_STL_TYPE=gnustl_shared \ + -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_FIND_ROOT_PATH="/opt/android-ndk/sysroot;/opt/android-libs/$_android_arch" \ - -Dcrypto_DYNAMIC_INCLUDE_DIR="/opt/android-openssl/$_android_arch/include" \ - -Dcrypto_STATIC_INCLUDE_DIR="/opt/android-openssl/$_android_arch/include" \ - -Dcrypto_DYNAMIC_LIB="/opt/android-openssl/$_android_arch/lib/libcrypto.so" \ - -Dcrypto_STATIC_LIB="/opt/android-openssl/$_android_arch/lib/libcrypto.a" \ + -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 } diff --git a/passwordfile/mingw-w64/PKGBUILD b/passwordfile/mingw-w64/PKGBUILD index cadacd96..3ce1bcd4 100644 --- a/passwordfile/mingw-w64/PKGBUILD +++ b/passwordfile/mingw-w64/PKGBUILD @@ -13,8 +13,8 @@ pkgdesc='C++ library to read/write passwords from/to encrypted files using AES-2 license=('GPL') depends=('mingw-w64-crt' 'mingw-w64-c++utilities' 'mingw-w64-openssl') optdepends=("$_name-doc: API documentation") +checkdepends=('mingw-w64-cppunit' 'mingw-w64-wine') makedepends=('mingw-w64-gcc' 'mingw-w64-cmake') -optdepends=("$pkgname-doc: API documentation") url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('48e95ad852dc83b598c428f9fd0e9717aa12e81aae8254c2946f380afee1b768') @@ -33,6 +33,17 @@ build() { done } +check() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + for _arch in ${_architectures}; do + mkdir -p "build-${_arch}" && pushd "build-${_arch}" + export WINEPATH="/usr/${_arch}/bin" + export WINEDEBUG=-all + make check + popd + done +} + package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" for _arch in ${_architectures}; do diff --git a/passwordmanager/android-arm64-v8a/PKGBUILD b/passwordmanager/android-arm64-v8a/PKGBUILD index 45290ede..4a8f44bb 100644 --- a/passwordmanager/android-arm64-v8a/PKGBUILD +++ b/passwordmanager/android-arm64-v8a/PKGBUILD @@ -31,8 +31,8 @@ prepare() { build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" - local android_sdk_root=${ANDROID_SDK_ROOT:-/opt/android-sdk} - local android_ndk_root=${ANDROID_NDK_ROOT:-/opt/android-ndk} + 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 @@ -49,9 +49,9 @@ build() { -DCMAKE_SYSTEM_NAME=Android \ -DCMAKE_SYSTEM_VERSION=$_android_api_level \ -DCMAKE_ANDROID_ARCH_ABI=$_android_arch \ - -DCMAKE_ANDROID_NDK="$android_ndk_root" \ - -DCMAKE_ANDROID_SDK="$android_sdk_root" \ - -DCMAKE_ANDROID_STL_TYPE=gnustl_shared \ + -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_PREFIX_PATH="$root" \ diff --git a/qtutilities/android-arm64-v8a/PKGBUILD b/qtutilities/android-arm64-v8a/PKGBUILD index 73d50feb..944b9d9c 100644 --- a/qtutilities/android-arm64-v8a/PKGBUILD +++ b/qtutilities/android-arm64-v8a/PKGBUILD @@ -36,7 +36,7 @@ build() { -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" \ diff --git a/qtutilities/mingw-w64/PKGBUILD b/qtutilities/mingw-w64/PKGBUILD index de99771d..0866d3c5 100644 --- a/qtutilities/mingw-w64/PKGBUILD +++ b/qtutilities/mingw-w64/PKGBUILD @@ -12,8 +12,8 @@ arch=('any') pkgdesc='Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models (mingw-w64)' license=('GPL') depends=('mingw-w64-crt' 'mingw-w64-qt5-base' 'mingw-w64-c++utilities') -makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt5-tools') optdepends=("$_name-doc: API documentation") +makedepends=('mingw-w64-gcc' 'mingw-w64-cmake' 'mingw-w64-qt5-tools') url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('ebbb5b3b17fdfda83bc23e51feffd7319e242542d116e45bcda6de9221f428fc') diff --git a/reflective-rapidjson/default/PKGBUILD b/reflective-rapidjson/default/PKGBUILD index 1194239f..065c6470 100644 --- a/reflective-rapidjson/default/PKGBUILD +++ b/reflective-rapidjson/default/PKGBUILD @@ -12,10 +12,10 @@ arch=('i686' 'x86_64') pkgdesc='Code generator for serializing/deserializing C++ objects to/from JSON using Clang and RapidJSON' license=('GPL') depends=('c++utilities' 'rapidjson' "llvm-libs>=${_llvmver}.0.0" "llvm-libs<$((_llvmver + 1)).0.0" 'clang') -optdepends=("boost: use Boost.Hana instead of code generator") -optdepends=("$pkgname-doc: API documentation") -makedepends=('cmake' 'clang-tools-extra' 'boost' 'llvm') -checkdepends=('cppunit') +optdepends=("boost: use Boost.Hana instead of code generator" + "$pkgname-doc: API documentation") +makedepends=('cmake' 'clang-tools-extra' 'llvm') +checkdepends=('cppunit' 'boost') url="https://github.com/Martchus/${_reponame}" source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz" 'https://github.com/Martchus/reflective-rapidjson/commit/5835cd85a5bbc72f4ac47a81b09e986cc8dee715.patch') diff --git a/reflective-rapidjson/git/PKGBUILD b/reflective-rapidjson/git/PKGBUILD index 65c985d5..468b5a32 100644 --- a/reflective-rapidjson/git/PKGBUILD +++ b/reflective-rapidjson/git/PKGBUILD @@ -13,10 +13,10 @@ arch=('i686' 'x86_64') pkgdesc='Code generator for serializing/deserializing C++ objects to/from JSON using Clang and RapidJSON' license=('GPL') depends=('c++utilities-git' 'rapidjson' "llvm-libs>=${_llvmver}.0.0" "llvm-libs<$((_llvmver + 1)).0.0" "clang>=${_llvmver}.0.0" "clang<$((_llvmver + 1)).0.0") -optdepends=("boost: use Boost.Hana instead of code generator") -optdepends=("$_name-doc: API documentation") -makedepends=('cmake' 'clang-tools-extra' 'boost' 'llvm' 'git') -checkdepends=('cppunit') +optdepends=("boost: use Boost.Hana instead of code generator" + "$_name-doc: API documentation") +makedepends=('cmake' 'clang-tools-extra' 'llvm' 'git') +checkdepends=('cppunit' 'boost') provides=("${_name}") conflicts=("${_name}") url="https://github.com/Martchus/${_reponame}" diff --git a/reflective-rapidjson/mingw-w64/PKGBUILD b/reflective-rapidjson/mingw-w64/PKGBUILD index 1dbbe9b9..cd451ab0 100644 --- a/reflective-rapidjson/mingw-w64/PKGBUILD +++ b/reflective-rapidjson/mingw-w64/PKGBUILD @@ -12,8 +12,9 @@ arch=('any') pkgdesc='Code generator for serializing/deserializing C++ objects to/from JSON using Clang and RapidJSON (mingw-w64)' license=('GPL') depends=('mingw-w64-crt' 'mingw-w64-c++utilities' 'mingw-w64-rapidjson' 'reflective-rapidjson') -optdepends=("mingw-w64-boost: use Boost.Hana instead of code generator") -optdepends=("$_name-doc: API documentation") +optdepends=("mingw-w64-boost: use Boost.Hana instead of code generator" + "$_name-doc: API documentation") +checkdepends=('mingw-w64-cppunit' 'mingw-w64-wine' 'mingw-w64-boost') makedepends=('mingw-w64-gcc' 'mingw-w64-cmake') url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") @@ -38,6 +39,17 @@ build() { done } +check() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + for _arch in ${_architectures}; do + mkdir -p "build-${_arch}" && pushd "build-${_arch}" + export WINEPATH="/usr/${_arch}/bin" + export WINEDEBUG=-all + make check + popd + done +} + package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" for _arch in ${_architectures}; do diff --git a/tagparser/mingw-w64/PKGBUILD b/tagparser/mingw-w64/PKGBUILD index e63fbb61..5fed2a77 100644 --- a/tagparser/mingw-w64/PKGBUILD +++ b/tagparser/mingw-w64/PKGBUILD @@ -13,8 +13,8 @@ pkgdesc='C++ library for reading and writing MP4/M4A/AAC (iTunes), ID3, Vorbis, license=('GPL') depends=('mingw-w64-crt' 'mingw-w64-c++utilities>=4.5.0' 'mingw-w64-zlib') optdepends=("$_name-doc: API documentation") +checkdepends=('mingw-w64-cppunit' 'mingw-w64-wine') makedepends=('mingw-w64-gcc' 'mingw-w64-cmake') -optdepends=("$pkgname-doc: API documentation") url="https://github.com/Martchus/${_reponame}" source=("${_name}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") sha256sums=('b308e457f7ba6009f5b64acb0ee69daf7219525470391c63ba27d8b60ba91a13') @@ -33,6 +33,23 @@ build() { done } +check() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + + if [[ -z $TEST_FILE_PATH ]]; then + msg2 'Skipping execution of testsuite because the environment variable TEST_FILE_PATH is not set.' + return + fi + + for _arch in ${_architectures}; do + mkdir -p "build-${_arch}" && pushd "build-${_arch}" + export WINEPATH="/usr/${_arch}/bin" + export WINEDEBUG=-all + make check + popd + done +} + package() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" for _arch in ${_architectures}; do