# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
setvar pkgname = 'lua-xml'
setvar _pkgname = 'luaxml'
setvar pkgver = '130610'
setvar _pkgver = "$pkgver-1"
setvar pkgrel = '5'
setvar pkgdesc = ""A minimal set of functions for the processing of XML data in Lua""
setvar url = ""https://github.com/LuaDist2/luaxml""
setvar arch = ""all""
setvar license = ""MIT""
setvar makedepends = """"
setvar subpackages = """"
setvar source = ""$pkgname-$pkgver.tar.gz::https://github.com/LuaDist2/$_pkgname/archive/$_pkgver.tar.gz
	0001-Fix-error-where-TAG-should-be-xml.TAG.patch""
setvar builddir = ""$srcdir/$_pkgname-$_pkgver""

setvar _luaversions = ""5.2 5.3""
for _v in $_luaversions {
	setvar makedepends = ""$makedepends lua$_v-dev""
	setvar subpackages = ""$subpackages lua$_v-${pkgname#lua-}:_subpackage""
}

proc prepare {
	default_prepare || return 1
	cd $builddir

	# Remove garbage.
	rm -f *.dll *.so *.zip

	local lver; for lver in $_luaversions {
		cp -r $builddir "$builddir-$lver" || return 1
	}
}

proc build {
	local lver; for lver in $_luaversions {
		msg "Building for Lua $lver..."

		make -C "$builddir-$lver" \
			CFLAGS="$CFLAGS -fPIC" \
			LFLAGS="$LDFLAGS -fPIC -shared" \
			INCDIR=$(pkg-config --cflags lua$lver) \
			LIBS=$(pkg-config --libs lua$lver) \
			|| return 1
	}
}

proc check {
	local lver; for lver in $_luaversions {
		msg "Testing on Lua $lver"

		cd "$builddir-$lver"
		lua$lver test.lua || return 1
	}
}

proc package {
	mkdir -p $pkgdir
}

proc _subpackage {
	local lver="${subpkgname:3:3}"
	setvar pkgdesc = ""$pkgdesc $lver""
	setvar depends = ""lua$lver""
	setvar install_if = ""$pkgname=$pkgver-r$pkgrel lua$lver""
	local rockdir="$subpkgdir/usr/lib/luarocks/rocks-$lver/$_pkgname/$_pkgver"

	cd "$builddir-$lver"

	install -m 755 -D LuaXML_lib.so \
		"$subpkgdir"/usr/lib/lua/$lver/LuaXML_lib.so || return 1
	install -m 755 -D LuaXml.lua \
		"$subpkgdir"/usr/share/lua/$lver/LuaXml.lua

	mkdir -p $rockdir
	echo 'rock_manifest = {}' > "$rockdir"/rock_manifest
}

setvar sha512sums = ""aabac62b5e748c04cd3591e5c2e6b417909c7a9efa1ff6c3dd1f546a2387220eb7fa1ffa56d3be0718a84a6fed51f287b68c7d334661c66787f7024d76142dfc  lua-xml-130610.tar.gz
60ba65a0d47065e2609ca4d5c8d994fc29b9d4c6b5b0a060fa7f83612c71937999648e48dd26063f6528811eb053fe912ee5b6c4465576912c9dacb9bb406cae  0001-Fix-error-where-TAG-should-be-xml.TAG.patch""