# Template file for 'luarocks'
pkgname=luarocks
version=3.1.3
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=c573435f495aac159e34eaa0a3847172a2298eb6295fcdc35d565f9f9b990513
alternatives="
 luarocks:luarocks:/usr/bin/luarocks-5.3
 luarocks:luarocks-admin:/usr/bin/luarocks-admin-5.3"

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

post_extract() {
	vsed -i -e 's;\(unzip_found=\).*;\1/usr/bin/unzip;' 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-5.3 --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-5.3 --lua-version $lv \"\$@\"" >> ${DESTDIR}/usr/bin/luarocks-admin-$lv
		chmod +x ${DESTDIR}/usr/bin/luarocks-admin-$lv
	done

	mv ${DESTDIR}/usr/bin/luarocks{,-5.3}
	mv ${DESTDIR}/usr/bin/luarocks-admin{,-5.3}
}

luarocks-lua52_package() {
	archs=noarch
	short_desc+=" - Lua52"
	depends="${sourcepkg}>=${version}_${revision} lua52"
	conf_files="/etc/luarocks/config-5.2.lua"
	alternatives="
	 luarocks:luarocks:/usr/bin/luarocks-5.2
	 luarocks:luarocks-admin:/usr/bin/luarocks-admin-5.2"
	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="${sourcepkg}>=${version}_${revision} lua51"
	conf_files="/etc/luarocks/config-5.1.lua"
	alternatives="
	 luarocks:luarocks:/usr/bin/luarocks-5.1
	 luarocks:luarocks-admin:/usr/bin/luarocks-admin-5.1"
	pkg_install() {
		vmove usr/bin/luarocks-5.1
		vmove usr/bin/luarocks-admin-5.1
		vmove etc/luarocks/config-5.1.lua
	}
}
