APKBUILD examples:Lua: Difference between revisions

From Alpine Linux
(Move for loop under variables)
(Add example for simple Makefile)
Line 1: Line 1:
Lua module that provides Makefile supporting multiple Lua versions:
== Module with Makefile supporting multiple Lua versions ==


<pre>
<pre>
Line 37: Line 37:


cd "$builddir"
cd "$builddir"
make prefix="/usr" DESTDIR="$subpkgdir" install$lver
make PREFIX="/usr" DESTDIR="$subpkgdir" install$lver
}
}
</pre>
</pre>


Lua module with rockspec:
== 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
}