# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
_luaversions="5.1 5.2 5.3"
pkgname=lua-penlight
pkgver=1.5.4
pkgrel=0
pkgdesc="Lua libraries for extended operations on tables, lists and strings"
url="http://stevedonovan.github.io/Penlight"
arch="noarch"
license="MIT"
depends=""
makedepends=""
install=
subpackages="$pkgname-doc $pkgname-shared"
for _v in $_luaversions; do
	makedepends="$makedepends lua$_v-dev lua$_v-filesystem"
	subpackages="$subpackages lua$_v-penlight:split_${_v/./_}"
done

source="penlight-$pkgver.tar.gz::https://github.com/stevedonovan/Penlight/archive/$pkgver.tar.gz"

_builddir="$srcdir"/Penlight-$pkgver

build() {
	cd  "$_builddir"
	# fix permissions of scripts
	chmod -x lua/pl/*.lua
}

package() {
	cd "$_builddir"
	mkdir -p "$pkgdir"/usr/share/lua/common/ \
		"$pkgdir"/usr/share/doc/$pkgname
	cp -r lua/pl "$pkgdir"/usr/share/lua/common/ || return 1
	cp -r examples "$pkgdir"/usr/share/doc/$pkgname/
	for i in $_luaversions; do
		mkdir -p "$pkgdir"/usr/share/lua/$i || return 1
		ln -s ../common/pl "$pkgdir"/usr/share/lua/$i/pl || return 1
	done
}

shared() {
	pkgdesc="penlight files that are shared for all supported Lua versions"
	depends=
	mkdir -p "$subpkgdir"/usr/share/lua/
	mv "$pkgdir"/usr/share/lua/common "$subpkgdir"/usr/share/lua/
}

_split() {
	local _ver="$1"
	pkgdesc="Lua $_ver libraries for extended operations on tables, lists and strings"
	depends="lua-penlight-shared lua$_ver-filesystem"
	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
	mkdir -p "$subpkgdir"/usr/share/lua/
	mv "$pkgdir"/usr/share/lua/$_ver "$subpkgdir"/usr/share/lua/
}

for _v in $_luaversions; do
	eval "split_${_v/./_}() { _split $_v; }"
done

sha512sums="c46e7875410a90390bfbf010a53f1d536475e2094668722618d03951caad0fcb0674c9bc7119a0753e4ed3df9e4d70fef828ba4c6c24e8ada4036948d2432519  penlight-1.5.4.tar.gz"
