# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
setvar _luaversions = ""5.1 5.2""

setvar pkgname = 'lua-llthreads'
setvar pkgver = '1.2'
setvar pkgrel = '3'
setvar pkgdesc = ""Low-Level native threads module for Lua""
setvar url = ""https://github.com/Neopallium/lua-llthreads""
setvar arch = ""all""
setvar license = ""MIT""
setvar depends = """"
setvar makedepends = ""cmake""
setvar install = """"
setvar subpackages = ''
for _i in $_luaversions {
	setvar makedepends = ""$makedepends lua$_i-dev""
	setvar subpackages = ""$subpackages lua$_i-llthreads:split_${_i/./_}""
}
setvar source = ""lua-llthreads-$pkgver.tar.gz::https://github.com/Neopallium/lua-llthreads/archive/v$pkgver.tar.gz
	bindings-1.patch
	bindings-2.patch
	lua-5.2.patch""

setvar _sdir = ""$srcdir"/lua-llthreads-$pkgver"

proc prepare {
	local i
	cd $_sdir
	for i in $source {
		case (i) {
		*.patch { msg $i; patch -p1 -i "$srcdir"/$i || return 1}
		}
	}
	cd $srcdir
	for _i in $_luaversions {
		mkdir -p "$srcdir"/build-$_i
	}
}

proc build {
	for _i in $_luaversions {
		cd "$srcdir"/build-$_i
		msg "build for Lua $_i""
		CFLAGS="$CFLAGS $(pkg-config --cflags lua$_i)"" cmake \
			-DCMAKE_INSTALL_PREFIX=/usr \
			-DINSTALL_CMOD=/usr/lib/lua/$_i \
			$_sdir || return 1
		make VERBOSE=1 || return 1
	}
}

proc package {
	for _i in $_luaversions {
		cd "$srcdir"/build-$_i
		make install DESTDIR="$pkgdir" || return 1
	}
}

proc _split {
	local d= _ver=$1
	setvar pkgdesc = ""Low-Level native threads module for Lua $_ver""
	setvar install_if = ""lua$_ver $pkgname=$pkgver-r$pkgrel""
	setvar depends = ''
	for d in usr/lib/lua usr/share/lua {
		if test -d "$pkgdir"/$d/$_ver {
			mkdir -p "$subpkgdir"/$d
			mv "$pkgdir"/$d/$_ver "$subpkgdir"/$d/ || return 1
		}
	}
}

for _i in $_luaversions {
	eval "split_${_i/./_}() { _split $_i; }"
}

setvar md5sums = ""d4adb2e6d4859bf33ebdb3bd6b6c6bb5  lua-llthreads-1.2.tar.gz
399fa42d7dfa7ec2335bd7111b17935e  bindings-1.patch
f892e9cb699eef2d5df406063a26d044  bindings-2.patch
5f4a0b8c23968a521072c96c42435475  lua-5.2.patch""
setvar sha256sums = ""32df7dc903760825536def63fba834466c42e6bd17022d430893c9a6ca3ba8f2  lua-llthreads-1.2.tar.gz
20c2cc64f09dd601fb85d867e7e57b8849a66d9b1992c647282a84af92127902  bindings-1.patch
3bb62563bdd5e4b5261612b5d0498bed4b327f02c7b5ff4a85329b9bc7867b3c  bindings-2.patch
5c7f28e7a3ef4e8d1ac6f0ef5cf5680ba58d0aa76e77260d6fe1c4ed74c4b586  lua-5.2.patch""
setvar sha512sums = ""d8b006e7f135e9c45d88c93d6acf30d41024bee66bd0747ba8112e28c2fe03fbd8f869d6235261108f3df30a08f3a812595a763c82a57674b5ec54a8ca915fa7  lua-llthreads-1.2.tar.gz
eace4eb6226527697aa82b5e455b7ece3d651966f3525471f07476d84714550bb4f75447be34569d57f2ed52bbfd708458305b527621179cfa2f843ae684d931  bindings-1.patch
fd5be1ec7293c0e279877ee139de53c1772c28957c30e276f5fe8e05314c31e81ae6ea18553fe67d912b3f9902b48cd88b962480f5855037783477bbb633e019  bindings-2.patch
234e0afe81bbd2a40689a858febec8778962273553da6d7b876871bd996ed0ad28ca33a15b7e155c313b63f10b0f8bab3ee0a83c0cd14d3378884d0031df720d  lua-5.2.patch""