# Template file for 'luarocks'
pkgname=luarocks
version=3.0.4
revision=1
archs=noarch
build_style=configure
configure_args="
 --prefix=/usr
 --sysconfdir=/etc
 --lua-version=5.3
 --with-lua-include=/usr/include/lua5.3
 --versioned-rocks-dir"
hostmakedepends="lua-devel"
depends="lua curl unzip"
short_desc="Package management for Lua modules"
maintainer="Duncaen <duncaen@voidlinux.org>"
license="MIT"
homepage="https://luarocks.org/"
distfiles="https://luarocks.org/releases/luarocks-${version}.tar.gz"
checksum=1236a307ca5c556c4fed9fdbd35a7e0e80ccf063024becc8c3bf212f37ff0edf

conf_files="/etc/luarocks/config-5.3.lua"

pre_configure() {
	vsed -i -e '457,465d' configure
}

post_build() {
	for lv in 5.1 5.2; do
		make LUA_VERSION=$lv LUA_INTERPRETER=lua$lv \
			 LUA_INCDIR=/usr/include/lua$lv ./build/config-$lv.lua
	done
}

pre_install() {
	vsed -i -e 's;env lua;env lua5.3;g' src/bin/luarocks{,-admin}
}

post_install() {
	vlicense COPYING

	vmkdir usr/bin
	for lv in 5.1 5.2; do
		make DESTDIR="${DESTDIR}" LUA_VERSION=$lv install-config
		make DESTDIR="${DESTDIR}" LUA_VERSION=$lv install-config

		echo "#!/bin/sh" > ${DESTDIR}/usr/bin/luarocks-$lv
		echo "exec luarocks --lua-version $lv \"\$@\"" >> ${DESTDIR}/usr/bin/luarocks-$lv
		chmod +x ${DESTDIR}/usr/bin/luarocks-$lv

		echo "#!/bin/sh" > ${DESTDIR}/usr/bin/luarocks-admin-$lv
		echo "exec luarocks-admin --lua-version $lv \"\$@\"" >> ${DESTDIR}/usr/bin/luarocks-admin-$lv
		chmod +x ${DESTDIR}/usr/bin/luarocks-admin-$lv
	done
}

luarocks-lua52_package() {
	archs=noarch
	short_desc+=" - Lua52"
	depends="luarocks>=${version}_${revision} lua52"
	conf_files="/etc/luarocks/config-5.2.lua"
	pkg_install() {
		vmove usr/bin/luarocks-5.2
		vmove usr/bin/luarocks-admin-5.2
		vmove etc/luarocks/config-5.2.lua
	}
}

luarocks-lua51_package() {
	archs=noarch
	short_desc+=" - Lua51"
	depends="luarocks>=${version}_${revision} lua51"
	conf_files="/etc/luarocks/config-5.1.lua"
	pkg_install() {
		vmove usr/bin/luarocks-5.1
		vmove usr/bin/luarocks-admin-5.1
		vmove etc/luarocks/config-5.1.lua
	}
}
