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

proc 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 {
		msg "Building for Lua $lver"
		make all$lver || return 1
	}
}

proc package {
	mkdir -p $pkgdir
}

proc _package {
	local lver=${subpkgname:3:3}
	setvar pkgdesc = ""$pkgdesc - for Lua $lver""
	setvar depends = ""lua$lver""
	setvar 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
}

setvar sha512sums = ""60060acb5b6f6d329b0c31dadddbf6242deeef5c206b3d1279cb04c68dcdf88d163ed423465af9713ca8cc03e19f6fb87589bf9a307f1f178263f0c17c7f8ac1  cqueues-20161215.tar.gz
7371797feaf41ac6f50fd21fde0703afee5d4430bc186a9ac48d47fe3fa818cfc76cb0166fd24243c8796a5ef93db4235d8b67e7f3fd90758fff26bbdb7e4ae8  libressl-2.5.patch""