APKBUILD examples:Lua
Lua module that provides Makefile supporting multiple Lua versions:
pkgname=lua-foo ... arch="noarch" depends="" makedepends="" subpackages="" ... _luaversions="5.1 5.2 5.3" for _v in $_luaversions; do makedepends="$makedepends lua$_v-dev" subpackages="$subpackages lua$_v-${pkgname#lua-}:_package" done build() { cd "$builddir" local lver; for lver in $_luaversions; do msg "Building for Lua $lver..." make all$lver || return 1 done } package() { mkdir -p "$pkgdir" } _package() { local lver="${subpkgname:3:3}" pkgdesc="$pkgdesc $lver" arch="all" depends="lua$lver" install_if="lua$lver $pkgname=$pkgver-r$pkgrel" cd "$builddir" make prefix="/usr" DESTDIR="$subpkgdir" install$lver }
Lua module with rockspec:
pkgname=lua-foo ... arch="noarch" depends="" makedepends="" subpackages="" ... _luaversions="5.1 5.2 5.3" for _v in $_luaversions; do makedepends="$makedepends lua$_v-dev luarocks$_v" subpackages="$subpackages lua$_v-${pkgname#lua-}:_package" done build() { cd "$builddir" local lver; for lver in $_luaversions; do msg "Building for Lua $lver..." luarocks-$lver \ CC="$CC" \ CFLAGS="$CFLAGS -fPIC" \ LUA_INCDIR="$(pkg-config --variable=includedir lua$lver)" \ LUA_LIBDIR="$(pkg-config --variable=libdir lua$lver)" \ make --tree=./build rockspecs/compat53-scm-0.rockspec done } package() { mkdir -p "$pkgdir" } _package() { local lver="${subpkgname:3:3}" pkgdesc="$pkgdesc $lver" arch="all" depends="lua$lver" install_if="$pkgname=$pkgver-r$pkgrel lua$lver" local path; for path in lib/lua/$lver share/lua/$lver; do mkdir -p "$subpkgdir"/usr/${path%/*} mv "$builddir"/build/$path "$subpkgdir"/usr/$path/ || return 1 done }