# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
setvar pkgname = 'lua-brieflz'
setvar _pkgname = 'brieflz.lua'
setvar pkgver = '0.1.2'
setvar pkgrel = '0'
setvar pkgdesc = ""Lua binding for BriefLZ compression library""
setvar url = ""https://github.com/jirutka/brieflz.lua""
setvar arch = ""all""
setvar license = ""MIT""
setvar checkdepends = ""lua-basexx lua-busted moonscript""
setvar makedepends = """"
setvar subpackages = """"
setvar source = ""$pkgname-$pkgver.tar.gz::https://github.com/jirutka/$_pkgname/archive/v$pkgver.tar.gz""
setvar builddir = ""$srcdir/$_pkgname-$pkgver""

# luajit is not available for s390x
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 luarocks$_v""
	setvar subpackages = ""$subpackages lua$_v-${pkgname#lua-}:_subpackage""
}

proc build {
	cd $builddir

	local lver; for lver in $_luaversions {
		msg "Building for Lua $lver..."

		luarocks-$lver \
			CC="$CC" \
			CFLAGS="$CFLAGS -fPIC" \
			LUA_INCDIR="$(pkg-config --variable=includedir lua$lver)" \
			LUA_LIBDIR="$(pkg-config --variable=libdir lua$lver)" \
			make --tree=./build brieflz-dev-0.rockspec
	}
}

proc check {
	cd $builddir

	local lver; for lver in $_luaversions $_luajit {
		msg "Testing on lua$lver"

		ln -sf build/lib/lua/${lver/jit/5.1}/brieflz.so .
		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""

	cd $builddir
	install -D -m 755 build/lib/lua/$lver/brieflz.so \
		"$subpkgdir"/usr/lib/lua/$lver/brieflz.so
}

setvar sha512sums = ""4f22f90b82e5596b605873fb83365a0e0eaa9d5a27e9e3a14ca886d07c003c60e6840df71d973ee0696c1755cc0e88b366b27bb1bbaca63abaffce852b56bbeb  lua-brieflz-0.1.2.tar.gz""