mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-17 22:52:40 +01:00
92 lines
2.7 KiB
Plaintext
92 lines
2.7 KiB
Plaintext
# 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"
|
|
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"
|
|
checkdepends="$checkdepends lua$_v lua$_v-busted lua$_v-dromozoa-utf8"
|
|
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"
|