# Contributor: Daniel Sabogal # Maintainer: Jakub Jirutka pkgname=lua-mpack _rockname=mpack _pkgname=libmpack-lua pkgver=1.0.6 pkgrel=1 _libmpack_ver=1.0.4 pkgdesc="Libmpack bindings for Lua" url="https://github.com/libmpack/libmpack-lua" arch="all" license="MIT" makedepends="libmpack-dev" checkdepends="lua-busted" subpackages="" source="$_pkgname-$pkgver.tar.gz::https://github.com/libmpack/$_pkgname/archive/$pkgver.tar.gz libmpack-$_libmpack_ver.tar.gz::https://github.com/libmpack/libmpack/archive/$_libmpack_ver.tar.gz skip-memleak-test.patch dont-install-busted.patch dont-download-libmpack.patch" builddir="$srcdir/$_pkgname-$pkgver" _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() { cd "$builddir" local libver=$(sed -En "s/^MPACK_VERSION\s*\??=\s*([^ ]+).*/\1/p" Makefile) if [ "$libver" != "$_libmpack_ver" ]; then warning "libmpack-lua should be built with libmpack $libver, not $_libmpack_ver!" fi ln -s "$srcdir"/libmpack-$_libmpack_ver mpack-src || return 1 default_prepare || return 1 local lver; for lver in $_luaversions; do cp -r "$builddir" "$builddir-$lver" || return 1 done } build() { local lver; for lver in $_luaversions; do msg "Building for Lua $lver..." make -C "$builddir-$lver" \ CFLAGS="$CFLAGS -lmpack" \ FETCH=false \ USE_SYSTEM_LUA=yes \ LUA_INCLUDE="$(pkg-config --cflags lua$lver)" \ LUA_LIB="$(pkg-config --libs lua$lver)" || return 1 done } check() { local lver; for lver in $_luaversions; do msg "Testing on Lua $lver..." make -C "$builddir-$lver" \ USE_SYSTEM_LUA=yes \ LUA=/usr/bin/lua$lver \ BUSTED=/usr/bin/busted-$lver \ test || return 1 done } package() { mkdir -p "$pkgdir" } _subpackage() { local lver="${subpkgname:3:3}" pkgdesc="$pkgdesc $lver" install_if="$pkgname=$pkgver-r$pkgrel lua$lver" local rockdir="$subpkgdir/usr/lib/luarocks/rocks-$lver/$_rockname/$pkgver-0" make -C "$builddir-$lver" \ USE_SYSTEM_LUA=yes \ LUA_CMOD_INSTALLDIR="$(pkg-config --variable=INSTALL_CMOD lua$lver)" \ DESTDIR="$subpkgdir" \ install mkdir -p "$rockdir" echo 'rock_manifest = {}' > "$rockdir"/rock_manifest } sha512sums="3a2f0697f94957c15a78ff24b296a034f301d1e8ab51d5636389f0fad7be838d450c59038c61d4173fa9e0463aa5565cfc0c35c273b4961a5e5631d343ca0605 libmpack-lua-1.0.6.tar.gz 8e40a562faf8b62137dec0733cbb9006fa7054e5a47bdd128fb4dfd676fac4e4385a23c3d908a4ce2edd65d673db25916695fa74bc08c5316b0c80e571a7442c libmpack-1.0.4.tar.gz af6b670c1007aa86b696798ede30d17addc45d27dd7e78be6e7bd4a3eac931a9ce47b8e12d8146dadf44c80d21917983a836915dd8f0c33abf3be0381a24a642 skip-memleak-test.patch f688f34c6893dbb4590b93e14de459c33d8efe621a41699a36286b117b874fac37fe473ef46ad2f2855c4672d90defb600c7e93555989d0c45a4964fda49c5a9 dont-install-busted.patch 6c151d65f2f5c2e5e5b5f851035a7be478544cf4152e40d81d2abdca724a6e41b3767e37e9ed59f1aa8d269477ae768716f7c6e4dfc93bc3cf577e83c6c0da56 dont-download-libmpack.patch"