summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartchus2019-11-21 18:06:05 +0100
committerMartchus2019-11-21 18:06:05 +0100
commit6fd6a7cda82b02fc3fc8690acf731b48882741c1 (patch)
tree15dff1b5b6add2b8bce238435a9a71c3acfcf9d3
parent8a56b52812f4096e894dae1f5cba4bfa54c4b4dd (diff)
downloadaur-6fd6a7cda82b02fc3fc8690acf731b48882741c1.tar.gz
Sync with regular package and enable tests
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD35
2 files changed, 38 insertions, 3 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 968bef439436..6139fb9d6d3f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,10 +1,14 @@
pkgbase = mingw-w64-rapidjson
pkgdesc = A fast JSON parser/generator for C++ with both SAX/DOM style API (mingw-w64)
pkgver = 1.1.0
- pkgrel = 1
+ pkgrel = 3
url = https://github.com/miloyip/rapidjson
arch = any
license = MIT
+ checkdepends = mingw-w64-wine
+ checkdepends = mingw-w64-gtest
+ checkdepends = gtest
+ checkdepends = python
makedepends = mingw-w64-gcc
makedepends = mingw-w64-cmake
options = !buildflags
diff --git a/PKGBUILD b/PKGBUILD
index e67fa9d15a14..d1340a6b21df 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,31 +5,62 @@
_reponame=rapidjson
pkgname=mingw-w64-$_reponame
pkgver=1.1.0
-pkgrel=1
+pkgrel=3
pkgdesc='A fast JSON parser/generator for C++ with both SAX/DOM style API (mingw-w64)'
arch=('any')
url='https://github.com/miloyip/rapidjson'
license=('MIT')
makedepends=('mingw-w64-gcc' 'mingw-w64-cmake')
+checkdepends=('mingw-w64-wine' 'mingw-w64-gtest' 'gtest' 'python')
source=($_reponame-$pkgver.tar.gz::https://github.com/miloyip/$_reponame/archive/v$pkgver.tar.gz)
md5sums=('badd12c511e081fec6c89c43a7027bce')
options=(!buildflags staticlibs !strip !emptydirs)
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
+prepare() {
+ cd "$_reponame-$pkgver"
+
+ # disable -Werror as it is done in the regular rapidjson package
+ find -name CMakeLists.txt | xargs sed -e 's|-Werror||' -i # Don't use -Werror
+
+ # exclude tests which don't run within WINE
+ sed -e 's:\(filestreamtest\|encodedstreamtest\|prettywritertest\|ostreamwrappertest\)\.cpp:#\0:g' -i test/unittest/CMakeLists.txt
+}
+
build () {
cd "$_reponame-$pkgver"
+
for _arch in ${_architectures}; do
mkdir -p "build-${_arch}" && pushd "build-${_arch}"
${_arch}-cmake \
-DCMAKE_BUILD_TYPE:STRING=Release \
- -DCMAKE_CXX_FLAGS:STRING='-w' \
+ -DRAPIDJSON_HAS_STDSTRING=ON \
+ -DRAPIDJSON_BUILD_CXX11=ON \
+ -DRAPIDJSON_ENABLE_INSTRUMENTATION_OPT=OFF \
-DCMAKE_INSTALL_PREFIX:PATH="/usr/${_arch}" \
+ -DGTEST_SOURCE_DIR=/usr/src/gtest \
..
make
popd
done
}
+check() {
+ cd "$_reponame-$pkgver"
+ for _arch in ${_architectures}; do
+ mkdir -p "build-${_arch}" && pushd "build-${_arch}"
+
+ pushd bin
+ ln -s unittest.exe unittest
+ ln -s perftest.exe perftest
+ popd
+
+ WINEPATH="/usr/${_arch}/bin" ctest -j 2 -V --tests-regex '^(perftest|unittest)$'
+ # note: Not running valgrind tests here; valgrind can not execute Windows executable.
+ popd
+ done
+}
+
package() {
cd "$_reponame-$pkgver"
for _arch in ${_architectures}; do