Difference between revisions of "APKBUILD examples:Lua"

From Alpine Linux
Jump to: navigation, search
m (Reverted edits by RuthHughes (talk) to last revision by Jarth)
(Add some snippets)
Line 1: Line 1:
 +
Lua module that provides Makefile supporting multiple Lua versions:
  
This needs to receive LUA APKBUILD data , oh yeah
+
<pre>
 +
_luaversions="5.1 5.2 5.3"
 +
pkgname=lua-foo
 +
...
 +
arch="noarch"
 +
depends=""
 +
makedepends=""
 +
subpackages=""
 +
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
 +
}
 +
</pre>
 +
 
 +
Lua module with rockspec:
 +
 
 +
<pre>
 +
_luaversions="5.1 5.2 5.3"
 +
pkgname=lua-foo
 +
...
 +
arch="noarch"
 +
depends=""
 +
makedepends=""
 +
subpackages=""
 +
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
 +
}
 +
</pre>

Revision as of 13:28, 1 September 2016

Lua module that provides Makefile supporting multiple Lua versions:

_luaversions="5.1 5.2 5.3"
pkgname=lua-foo
...
arch="noarch"
depends=""
makedepends=""
subpackages=""
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:

_luaversions="5.1 5.2 5.3"
pkgname=lua-foo
...
arch="noarch"
depends=""
makedepends=""
subpackages=""
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
}