blob: 2ef33a3d1c29d48d48746a3f995501caa063374e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=lua-rapidjson
_rockname=rapidjson
pkgver=0.5.1
pkgrel=1
pkgdesc="A JSON module for Lua based on the very fast RapidJSON library"
url="https://github.com/xpol/lua-rapidjson"
arch="all"
license="MIT"
makedepends="cmake rapidjson-dev"
subpackages=""
checkdepends="lua-busted lua-dromozoa-utf8"
source="$pkgname-$pkgver.tar.gz::https://github.com/xpol/$pkgname/archive/v$pkgver.tar.gz
disable-c-cxx-flag-march.patch
fix-json_encode_spec.patch"
builddir="$srcdir/$pkgname-$pkgver"
# luajit is not available for selected arches
case "$CARCH" in
s390x) _luajit="";;
*) checkdepends="$checkdepends luajit" _luajit="jit";;
esac
_luaversions="5.1 5.2 5.3"
for _v in $_luaversions; do
makedepends="$makedepends lua$_v-dev"
subpackages="$subpackages lua$_v-${pkgname#lua-}:_subpackage"
done
prepare() {
default_prepare
cd "$builddir"
# Remove bundled rapidjson (use system package),
# but keep bin directory - it's needed for tests.
rm -r rapidjson/include
}
build() {
local lver; for lver in $_luaversions; do
mkdir -p "$builddir"/build-$lver
cd "$builddir"/build-$lver
msg "Building against Lua $lver..."
cmake .. \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
-DCMAKE_C_FLAGS="$CFLAGS" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DBUILD_SHARED_LIBS=ON \
-DLUA_INCLUDE_DIR="$(pkg-config --variable=includedir lua$lver)" \
-DLUA_RAPIDJSON_VERSION="$pkgver"
make
done
}
check() {
local lver; for lver in $_luaversions $_luajit; do
cd "$builddir"/build-${lver/jit/5.1}
ln -sf ../rapidjson ../spec .
msg "Testing on lua$lver"
lua$lver /usr/bin/busted
done
}
package() {
mkdir -p "$pkgdir"
}
_subpackage() {
local lver="${subpkgname:3:3}"
pkgdesc="$pkgdesc (for Lua $lver)"
depends="lua$lver"
install_if="$pkgname=$pkgver-r$pkgrel lua$lver"
local install_cmod=$(pkg-config --variable=INSTALL_CMOD lua$lver)
local rockdir="$subpkgdir/usr/lib/luarocks/rocks-$lver/$_rockname/$pkgver-1"
install -D -m 755 "$builddir"/build-$lver/rapidjson.so \
"$subpkgdir"/$install_cmod/rapidjson.so
mkdir -p "$rockdir"
echo 'rock_manifest = {}' > "$rockdir"/rock_manifest
}
sha512sums="281a7f98212d1648f270180a2f7475884c5cb9c9b1ee901113fc2a96bff86b4897c8d9cc0e40f7cf1b9edd09540119734118f7e06879eaaecf3f3d6f7f5f84e0 lua-rapidjson-0.5.1.tar.gz
9bfe86c75765d0684f33b660129c3ab90629b8518b05d14aa99ea15e6eb39dcb0a56e9a705f2dcae0f463e7ed92c8759628b0fbdaeee43aff34ac7e5b6c6bf10 disable-c-cxx-flag-march.patch
ad66d29f6dd1ed1a3eafff79b77567a28c0b5d746a2564e0ce5fa8a26bf792d788b96ec63bacd907f85c89a561ada690c526e6be36246cd50f8ea45180977cc0 fix-json_encode_spec.patch"
|