2026-01-20 12:35:11 +01:00

91 lines
2.4 KiB
Plaintext

# Contributor: Will Sinatra <wpsinatra@gmail.com>
# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=lua-cmark
_pkgname=cmark
pkgver=0.31.1
_rockrel=1
pkgrel=0
pkgdesc="Lua wrapper for libcmark CommonMark parser"
url="https://github.com/jgm/cmark-lua"
arch="all"
license="BSD-2-Clause"
depends="libcmark"
source="$pkgname-$pkgver.tar.gz::https://github.com/jgm/cmark-lua/archive/$pkgver.tar.gz"
builddir="$srcdir/cmark-lua-$pkgver"
_luaversions="5.1 5.2 5.3 5.4"
for _v in $_luaversions; do
makedepends="$makedepends lua$_v lua$_v-dev luarocks$_v"
subpackages="$subpackages lua$_v-${pkgname#lua-}:_subpackage"
done
prepare() {
default_prepare
# Generate rockspec from template
sed -e "s/_VERSION/$pkgver/g; s/_REVISION/$_rockrel/g" \
"$builddir"/rockspec.in > "$builddir"/$_pkgname-$pkgver-$_rockrel.rockspec
for _v in $_luaversions; do
cp -r "$builddir" "$builddir-$_v"
done
}
build() {
local _v; for _v in $_luaversions; do
msg "Building for Lua $_v..."
cd "$builddir-$_v"
luarocks-$_v \
CC="$CC" \
CFLAGS="$CFLAGS -fPIC" \
LUA_INCDIR="$(pkg-config --variable=includedir "lua$_v")" \
LUA_LIBDIR="$(pkg-config --variable=libdir "lua$_v")" \
LUA_VERSION="$_v" \
make --tree "./build-$_v" \
--deps-mode=none \
"$_pkgname-$pkgver-$_rockrel.rockspec"
done
}
check() {
local _v; for _v in $_luaversions; do
msg "Testing on lua$_v"
cd "$builddir-$_v"
# Tests require lua-TestMore which isn't packaged yet
# lua$_v test.t || true
done
}
package() {
mkdir -p "$pkgdir"
}
_subpackage() {
local _v="${subpkgname:3:3}"
pkgdesc="$pkgdesc (for Lua $_v)"
depends="lua$_v libcmark"
install_if="$pkgname=$pkgver-r$pkgrel lua$_v"
local rockdir="$subpkgdir/usr/lib/luarocks/rocks-$_v/$_pkgname/$pkgver-$_rockrel"
cd "$builddir-$_v"
# Install the compiled module and lua files from the luarocks build tree
mkdir -p "$subpkgdir/usr/lib/lua/$_v"
mkdir -p "$subpkgdir/usr/share/lua/$_v"
if [ -d "build-$_v/lib/lua/$_v" ]; then
cp -a "build-$_v"/lib/lua/$_v/* "$subpkgdir/usr/lib/lua/$_v/"
fi
if [ -d "build-$_v/share/lua/$_v" ]; then
cp -a "build-$_v"/share/lua/$_v/* "$subpkgdir/usr/share/lua/$_v/"
fi
mkdir -p "$rockdir"
echo 'rock_manifest = {}' > "$rockdir"/rock_manifest
}
sha512sums="
3bf101c10e6e726d224f1f84502f909209679a894becde61e0b920d9d54caee185f3cd13610a5427e750e5327c8bf7e7a9367cec929a9e05209120cc26aabead lua-cmark-0.31.1.tar.gz
"