# Template file for 'lua54-luasec'
pkgname=lua54-luasec
version=1.0
revision=1
wrksrc="luasec-${version}"
build_style=gnu-makefile
hostmakedepends="lua51 lua52 lua53 lua54"
makedepends="lua51-devel lua52-devel lua53-devel lua54-devel openssl-devel"
depends="lua54"
_desc="Lua binding for OpenSSL library to provide TLS/SSL communication"
short_desc="${_desc} (5.4.x)"
maintainer="Duncaen <duncaen@voidlinux.org>"
license="MIT"
homepage="https://github.com/brunoos/luasec"
distfiles="https://github.com/brunoos/luasec/archive/v${version}.tar.gz"
checksum=912bfd2050338895207cf24bc8dd26fa9ebddc34006cb8c33d488156d41ac932

post_extract() {
	mkdir -p lua5.1
	mv * lua5.1 || true
	cp -a lua5.1 lua5.2
	cp -a lua5.1 lua5.3
	cp -a lua5.1 lua5.4
}

do_configure() {
	for luaver in 5.1 5.2 5.3 5.4; do
		pushd lua${luaver}
		lua${luaver} src/options.lua -g ${XBPS_CROSS_BASE}/usr/include/openssl/ssl.h > src/options.c
		popd
	done
}

do_build() {
	for luaver in 5.1 5.2 5.3 5.4; do
		pushd lua${luaver}
		make linux CC=$CC LD=$CC \
			INC_PATH="-I${XBPS_CROSS_BASE}/usr/include -I${XBPS_CROSS_BASE}/usr/include/lua${luaver}" \
			LIB_PATH=-L${XBPS_CROSS_BASE}/usr/lib
		popd
	done
}

do_install() {
	for luaver in 5.1 5.2 5.3 5.4; do
		pushd lua${luaver}
		make DESTDIR=${DESTDIR} LUAPATH=/usr/share/lua/${luaver} LUACPATH=/usr/lib/lua/${luaver} install
		popd
	done
	vlicense lua5.4/LICENSE
}

lua51-luasec_package() {
	depends="lua51"
	short_desc="${_desc} (5.1.x)"
	pkg_install() {
		vlicense "${wrksrc}/lua5.1/LICENSE"
		vmove usr/lib/lua/5.1
		vmove usr/share/lua/5.1
	}
}

lua52-luasec_package() {
	depends="lua52"
	short_desc="${_desc} (5.2.x)"
	pkg_install() {
		vlicense "${wrksrc}/lua5.2/LICENSE"
		vmove usr/lib/lua/5.2
		vmove usr/share/lua/5.2
	}
}

lua53-luasec_package() {
	depends="lua53"
	short_desc="${_desc} (5.3.x)"
	pkg_install() {
		vlicense "${wrksrc}/lua5.3/LICENSE"
		vmove usr/lib/lua/5.3
		vmove usr/share/lua/5.3
	}
}

luasec_package() {
	depends="lua53-luasec>=${version}_${revision}"
	short_desc+=" (transitional dummy package)"
	build_style=meta
}
