# Contributor: Hani Shawa <hani.shawa@ev-box.com>
# Maintainer: Hani Shawa <hani.shawa@ev-box.com>
pkgname=lua-lanes
_rockname=${pkgname#lua-}
pkgver=3.16.0
pkgrel=1
pkgdesc="portable, message passing multithreading library"
url="https://github.com/LuaLanes/lanes"
license="MIT"
arch="all"
makedepends="luarocks"
options="!check" # Test dependencies not available
source="$_rockname-$pkgver.tar.gz::https://github.com/LuaLanes/lanes/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_rockname-$pkgver"
_luaversions="5.1 5.2 5.3 5.4"

for _luaversion in $_luaversions; do
	makedepends="$makedepends lua$_luaversion-dev"
	subpackages="$subpackages lua$_luaversion-$_rockname:_subpackage"
done

build() {
	local lver; for lver in $_luaversions; do
		msg "Building for Lua $lver..."

		luarocks-$lver \
		               CFLAGS="-fPIC -DPTHREAD_MUTEX_RECURSIVE_NP=PTHREAD_MUTEX_RECURSIVE -Dpthread_yield=sched_yield"  \
		               LUA_INCDIR="$(pkg-config --variable=includedir lua$lver)" \
		               make --tree="./build" \
		               "$_rockname-$pkgver-"*".rockspec"

	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 path; for path in "lib/lua/$lver" "lib/luarocks/rocks-$lver" "share/lua/$lver"; do
		mkdir -p "$subpkgdir/usr/${path%/*}"
		mv "$builddir/build/$path" "$subpkgdir/usr/$path/"
	done
}

sha512sums="
ffd935baae8af752591251bbb1a7f936034ad281870d453e6e1b4291c175c91537ccae23ec25a616b45e8ab601222f323e05e938d7887091ba7e132b0cd5e449  lanes-3.16.0.tar.gz
"
