Improve own packages

* Fix a few details
* Switch to libc++ under Android
This commit is contained in:
Martchus 2018-10-07 22:24:48 +02:00
parent 3e528b5f3c
commit 98d9d51490
11 changed files with 103 additions and 36 deletions

View File

@ -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
}

View File

@ -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

View File

@ -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
}

View File

@ -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

View File

@ -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" \

View File

@ -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" \

View File

@ -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')

View File

@ -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')

View File

@ -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}"

View File

@ -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

View File

@ -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