# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Carlo Landmeter <clandmeter@gmail.com>

setvar pkgname = 'lua-turbo'
setvar _jitver = '2.1.0_beta3'
setvar pkgver = '2.1.1'
setvar pkgrel = '0'
setvar pkgdesc = ""a framework built for LuaJIT 2 and Linux""
setvar url = ""http://www.turbolua.org/""
# luajit is not available for disabled arches
setvar arch = ""all !s390x""
setvar license = ""Apache-2.0""
setvar depends = ""luajit ca-certificates lua5.1-cjson""
setvar makedepends = ""libressl-dev util-linux""
# bundled tests dont work
setvar options = ""!check""
setvar install = """"
setvar subpackages = ""lua5.1-turbo:lua51_turbo:noarch""
setvar source = ""$pkgname-$pkgver.tar.gz::https://github.com/kernelsauce/turbo/archive/v$pkgver.tar.gz
	0001-use-cjson-instead-of-JSON.lua.patch
	${pkgname}.initd
	${pkgname}.confd""

setvar builddir = ""$srcdir/turbo-$pkgver""

proc prepare {
	cd $builddir
	default_prepare
	# check if we are using the current luajit version
	if test -r ../../../../main/luajit/APKBUILD {
		local _currentjit=$(grep "^pkgver=" ../../../../main/luajit/APKBUILD)
		if test ${_currentjit#*=} != $_jitver {
			die "luajit version does not match!"
		}
	} else {
		die "cannot locate luajit APKBUILD!"
	}
	# we need to fix the loading of libssl.
	# so we replace symlink with real filename
	sed -i -e \
		"s|os.getenv(\"TURBO_LIBSSL\") or \"ssl\"|\"$(readlink /usr/lib/libssl.so)\"|" \
		turbo/hash.lua
	sed -i -e \
		"s|os.getenv(\"TURBO_LIBSSL\") or \"ssl\"|\"$(readlink /usr/lib/libssl.so)\"|" \
		turbo/crypto_linux.lua
}

proc build {
	cd $builddir
	export LUAJIT_VERSION="${_jitver/_/-}"
	make
}

proc lua51_turbo {
	setvar pkgdesc = ""$pkgdesc (lua 5.1 files)""
	mkdir -p "$subpkgdir/usr/share"
	mv "$pkgdir/usr/share/lua" \
		"$subpkgdir"/usr/share/
}

proc package {
	cd $builddir
	make PREFIX="$pkgdir"/usr install
	install -Dm 755 "$srcdir"/${pkgname}.initd \
		$pkgdir/etc/init.d/$pkgname
	install -Dm 644 "$srcdir"/${pkgname}.confd \
		$pkgdir/etc/conf.d/$pkgname
	# remove ca-certificates
	rm -f "$pkgdir"/usr/share/*/turbo/ca-certificates.crt \
		"$pkgdir"/usr/share/*/*/turbo/ca-certificates.crt
}

setvar sha512sums = ""207b630ce2b3cfa06266fdabaa82420bc04ecfff3998f04db080c8af14bea3d8b01433416f3a827fe2d2fdb8e72085e36956de5f812305b3fa77207dd4152d5b  lua-turbo-2.1.1.tar.gz
39d5b667e1e0410cce2cfbff21012eeef5059f4ce4e2ca7446420270084ad957d0df7f39cf8fd64e853fb8d43eed52abeb1866cbad6247dc554b7475671817d8  0001-use-cjson-instead-of-JSON.lua.patch
2e91d5dda33b4bf09667fd23c80a471e93605125a820c440c2b1b022b8bce6ab065493473b153f1fa1863e9655f6413dbe42dc983260da4ed8bee3b2e3743ec2  lua-turbo.initd
3d2816738a2ee615bb6523b6b0aff12a51062e56ade5dbaa4b1b63afda8dce0a532c099b8a03fe67d589058ac8a7d49434a68fb28d93b167a56c56acc7596fdb  lua-turbo.confd""