# Contributor: Jakub Jirutka <jakub@jirutka.cz> # Maintainer: Jakub Jirutka <jakub@jirutka.cz> pkgname=lua-busted _pkgname=busted pkgver=2.0_rc12 _pkgver=${pkgver/_/.}-1 pkgrel=4 pkgdesc="Elegant Lua unit testing" url="https://olivinelabs.com/busted/" arch="noarch" license="MIT" # Note: We have replaced dkjson with lua-cjson. depends="lua-cliargs lua-filesystem lua-system lua-cjson lua-say lua-luassert lua-term lua-penlight lua-mediator" checkdepends="" subpackages="" source="$pkgname-$pkgver.tar.gz::https://github.com/Olivine-Labs/$_pkgname/archive/v$_pkgver.tar.gz fix-tests.patch use-cjson.patch" builddir="$srcdir/$_pkgname-$_pkgver" # tests fail on x86_64 because cl_standalone.lua output is different, i don't know why --kaniini options="!check" # luajit is not available for selected arches case "$CARCH" in ppc64le | s390x) _luajit="";; *) checkdepends="$checkdepends luajit" _luajit="jit";; esac _luaversions="5.1 5.2 5.3" for _v in $_luaversions; do subpackages="$subpackages lua$_v-${pkgname#lua-}:_subpackage" checkdepends="$checkdepends lua$_v" done prepare() { default_prepare || return 1 cd "$builddir" local lver; for lver in $_luaversions $_luajit; do sed "s|/usr/bin/env lua|/usr/bin/lua$lver|" \ bin/busted > bin/busted-$lver || return 1 done } check() { cd "$builddir" mv bin/busted bin/busted.orig local lver; for lver in $_luaversions $_luajit; do # Some specs invokes bin/busted as subprocess, so we must # ensure that it will run on the correct Lua version. install -m 755 bin/busted-$lver bin/busted || return 1 msg "Running tests on lua$lver..." lua$lver bin/busted spec || return 1 done mv bin/busted.orig bin/busted } package() { cd "$builddir" # Executable with shebang `/usr/bin/env lua`. install -m 755 -D bin/busted "$pkgdir"/usr/bin/busted } _subpackage() { local lver="${subpkgname:3:3}" pkgdesc="$pkgdesc (for Lua $lver)" depends="lua$lver ${depends//lua-/lua$lver-}" install_if="$pkgname=$pkgver-r$pkgrel lua$lver" local destdir="$subpkgdir/usr/share/lua/$lver/$_pkgname" local rockdir="$subpkgdir/usr/lib/luarocks/rocks-$lver/$_pkgname/$_pkgver" cd "$builddir" mkdir -p "$destdir" cp -r busted/* "$destdir" || return 1 mkdir -p "$rockdir" echo 'rock_manifest = {}' > "$rockdir"/rock_manifest install -m 755 -D bin/busted-$lver "$subpkgdir"/usr/bin/busted-$lver } sha512sums="0cb1f6a66110514dc3675b2e667cca676e6672e895b57ffba438e89a1e0a7f4f8f941cab54ead905758987be15e9885e1eeb82baabc9d18bf29ea56b832b89b1 lua-busted-2.0_rc12.tar.gz c4ec5de43d76da18a7c723744d2930fc78224fe151fd80c141dbb08dce9f10ee94335684a794ad35c902285f40234899e0b12d1995825cb3d250c29ed82bdeec fix-tests.patch 6de3c1181a391956f6ea01994960a5de3292a377be1949556eb6cd11986267e3da707decef1838f42f0236af4b25ce4ce09217abe976caa0110840b69efcab43 use-cjson.patch"