# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka setvar pkgname = 'lua-rapidjson' setvar _rockname = 'rapidjson' setvar pkgver = '0.5.1' setvar pkgrel = '1' setvar pkgdesc = ""A JSON module for Lua based on the very fast RapidJSON library"" setvar url = ""https://github.com/xpol/lua-rapidjson"" setvar arch = ""all"" setvar license = ""MIT"" setvar makedepends = ""cmake rapidjson-dev"" setvar subpackages = """" setvar checkdepends = ""lua-busted lua-dromozoa-utf8"" setvar 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"" setvar builddir = ""$srcdir/$pkgname-$pkgver"" # luajit is not available for selected arches case (CARCH) { s390x { setvar _luajit = """"} * { setvar checkdepends = ""$checkdepends luajit"," _luajit = ""jit""} } setvar _luaversions = ""5.1 5.2 5.3"" for _v in $_luaversions { setvar makedepends = ""$makedepends lua$_v-dev"" setvar subpackages = ""$subpackages lua$_v-${pkgname#lua-}:_subpackage"" } proc prepare { default_prepare cd $builddir # Remove bundled rapidjson (use system package), # but keep bin directory - it's needed for tests. rm -r rapidjson/include } proc build { local lver; for lver in $_luaversions { 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 } } proc check { local lver; for lver in $_luaversions $_luajit { cd "$builddir"/build-${lver/jit/5.1} ln -sf ../rapidjson ../spec . msg "Testing on lua$lver" lua$lver /usr/bin/busted } } proc package { mkdir -p $pkgdir } proc _subpackage { local lver="${subpkgname:3:3}" setvar pkgdesc = ""$pkgdesc (for Lua $lver)"" setvar depends = ""lua$lver"" setvar 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 } setvar sha512sums = ""281a7f98212d1648f270180a2f7475884c5cb9c9b1ee901113fc2a96bff86b4897c8d9cc0e40f7cf1b9edd09540119734118f7e06879eaaecf3f3d6f7f5f84e0 lua-rapidjson-0.5.1.tar.gz 9bfe86c75765d0684f33b660129c3ab90629b8518b05d14aa99ea15e6eb39dcb0a56e9a705f2dcae0f463e7ed92c8759628b0fbdaeee43aff34ac7e5b6c6bf10 disable-c-cxx-flag-march.patch ad66d29f6dd1ed1a3eafff79b77567a28c0b5d746a2564e0ce5fa8a26bf792d788b96ec63bacd907f85c89a561ada690c526e6be36246cd50f8ea45180977cc0 fix-json_encode_spec.patch""