APKBUILD examples:Lua: Difference between revisions
(Move for loop under variables) |
(Add example for simple Makefile) |
||
Line 1: | Line 1: | ||
== Module with Makefile supporting multiple Lua versions == | |||
<pre> | <pre> | ||
Line 37: | Line 37: | ||
cd "$builddir" | cd "$builddir" | ||
make | make PREFIX="/usr" DESTDIR="$subpkgdir" install$lver | ||
} | } | ||
</pre> | </pre> | ||
Lua | == Module with simple Makefile == | ||
<pre> | |||
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 | |||
prepare() { | |||
default_prepare || return 1 | |||
local lver; for lver in $_luaversions; do | |||
cp -r "$builddir" "$builddir-$lver" || return 1 | |||
done | |||
} | |||
build() { | |||
cd "$builddir" | |||
local lver; for lver in $_luaversions; do | |||
msg "Building for Lua $lver..." | |||
make -C "$builddir-$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-$lver" | |||
make PREFIX="/usr" DESTDIR="$subpkgdir" install | |||
} | |||
</pre> | |||
== Module with rockspec == | |||
<pre> | <pre> |
Revision as of 20:52, 2 September 2016
Module with 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 }
Module with simple Makefile
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 prepare() { default_prepare || return 1 local lver; for lver in $_luaversions; do cp -r "$builddir" "$builddir-$lver" || return 1 done } build() { cd "$builddir" local lver; for lver in $_luaversions; do msg "Building for Lua $lver..." make -C "$builddir-$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-$lver" make PREFIX="/usr" DESTDIR="$subpkgdir" install }
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 }