# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
_luaversions="5.1 5.2 5.3"
pkgname=lua-cqueues
_pkgname=cqueues
pkgver=20171014
pkgrel=0
pkgdesc="Lua event loop using coroutines"
url="http://25thandclement.com/~william/projects/cqueues.html"
arch="all"
license="MIT"
depends=""
makedepends="libressl-dev m4 bsd-compat-headers"
subpackages=""
for _i in $_luaversions; do
	makedepends="$makedepends lua${_i}-dev"
	subpackages="$subpackages lua${_i}-$_pkgname:_package"
done
source="cqueues-$pkgver.tar.gz::https://github.com/wahern/cqueues/archive/rel-$pkgver.tar.gz
	libressl-2.5.patch
	"
builddir="$srcdir/cqueues-rel-$pkgver"

build() {
	cd "$builddir"

	# Override the HAVE_* tests that depend on GLIBC. grep for "#define HAVE_" on new releases.
	export CFLAGS="$CFLAGS -DHAVE_EVENTFD=1 -DHAVE_EPOLL_CREATE1=1 -DHAVE_PIPE2=1"

	local lver; for lver in $_luaversions; do
		msg "Building for Lua $lver"
		make all$lver || return 1
	done
}

package() {
	mkdir -p "$pkgdir"
}

_package() {
	local lver=${subpkgname:3:3}
	pkgdesc="$pkgdesc - for Lua $lver"
	depends="lua$lver"
	install_if="lua$lver $pkgname=$pkgver-r$pkgrel"
	local rockdir="$subpkgdir/usr/lib/luarocks/rocks-$lver/$_pkgname/$pkgver-0"

	cd "$builddir"
	make DESTDIR="$subpkgdir" prefix=/usr install$lver

	mkdir -p "$rockdir"
	echo 'rock_manifest = {}' > "$rockdir"/rock_manifest
}

sha512sums="e2fd7620aba74bbb745a21655e3a59d78ba2efcbfecd50d9ce65817cb131314716cf6fb6800214c4e9c0c3864d9ec56635c35ce3fef1d6f1843326c9a8637be0  cqueues-20171014.tar.gz
7371797feaf41ac6f50fd21fde0703afee5d4430bc186a9ac48d47fe3fa818cfc76cb0166fd24243c8796a5ef93db4235d8b67e7f3fd90758fff26bbdb7e4ae8  libressl-2.5.patch"
