aboutsummaryrefslogtreecommitdiffstats
path: root/main/lua-pc
diff options
context:
space:
mode:
Diffstat (limited to 'main/lua-pc')
-rw-r--r--main/lua-pc/APKBUILD64
-rw-r--r--main/lua-pc/lpc-lua5.2-compat.patch41
2 files changed, 95 insertions, 10 deletions
diff --git a/main/lua-pc/APKBUILD b/main/lua-pc/APKBUILD
index 20707585d1..ee96cc1e7c 100644
--- a/main/lua-pc/APKBUILD
+++ b/main/lua-pc/APKBUILD
@@ -1,25 +1,69 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+
+_luaversions="5.1 5.2"
+
pkgname=lua-pc
_name=lpc
pkgver=1.0.0
-pkgrel=4
+pkgrel=5
pkgdesc="Lua Process Call"
url="https://github.com/LuaDist/lpc"
arch="all"
license="MIT/X11"
-makedepends="lua-dev"
-depends="lua"
-source="http://dev.alpinelinux.org/archive/lpc/lpc-$pkgver.tar.gz"
+makedepends=""
+depends="lua5.1-pc"
+source="http://dev.alpinelinux.org/archive/lpc/lpc-$pkgver.tar.gz
+ lpc-lua5.2-compat.patch
+ "
+
+for _i in $_luaversions; do
+ makedepends="$makedepends lua$_i-dev"
+ subpackages="$subpackages lua$_i-pc:_pc_${_i/./_}"
+done
+
+_builddir="$srcdir/$_name-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ for _i in $_luaversions; do
+ cp -r "$_builddir" "$srcdir"/build-$_i
+ done
+}
build() {
- cd "$srcdir/$_name-$pkgver"
- make CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS -shared"
+ for _i in $_luaversions; do
+ cd "$srcdir"/build-$_i
+ make LUA_PKGCONF="lua$_i" \
+ CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS -shared" \
+ || return 1
+ done
}
package() {
- cd "$srcdir/$_name-$pkgver"
- # does not respect DESTDIR
- make install PREFIX="$pkgdir"/usr
+ mkdir -p "$pkgdir"
}
-md5sums="a8cd8b0c190e7d72dd7ec2f76e74e3c8 lpc-1.0.0.tar.gz"
+_split_pc() {
+ local _ver=$1
+ pkgdesc="$pkgdesc for Lua $_ver"
+
+ mkdir -p "$subpkgdir"
+ cd "$srcdir"/build-$_ver
+ make install LUA_PKGCONF="lua$_ver" PREFIX="$subpkgdir"/usr
+}
+
+for _i in $_luaversions; do
+ eval "_pc_${_i/./_}() { _split_pc $_i; }"
+done
+
+md5sums="a8cd8b0c190e7d72dd7ec2f76e74e3c8 lpc-1.0.0.tar.gz
+7ef6e6439837a31ca4e9ea63c6a887b1 lpc-lua5.2-compat.patch"
+sha256sums="2fbbdfbbfa03a70792bb83655f3e1f990fcb972c55a074717ba417514261805c lpc-1.0.0.tar.gz
+c495eafd855f964a95dfea16e0ca4670a2b92463ae4157136ed61f9802ba79f1 lpc-lua5.2-compat.patch"
+sha512sums="a955f802b9ea7c4615b8b22b1f4ab540d41e4ddb0edb5e1b77f2f2e1472c49248cb276f8bfec6b929d23ef01681a0018db6cbd401ade1cc1eb366b0a6ace9772 lpc-1.0.0.tar.gz
+ff731dd87ed4e9d4f0651747ed2d39a45cf6a637f279f4f9c40209f1b3ee54093a069e6d3adcf19399a07a3b32077fc15e73f35c908df32c3b8369b57af93f87 lpc-lua5.2-compat.patch"
diff --git a/main/lua-pc/lpc-lua5.2-compat.patch b/main/lua-pc/lpc-lua5.2-compat.patch
new file mode 100644
index 0000000000..17a9aaab4b
--- /dev/null
+++ b/main/lua-pc/lpc-lua5.2-compat.patch
@@ -0,0 +1,41 @@
+diff -ru lpc-1.0.0.orig/Makefile lpc-1.0.0/Makefile
+--- lpc-1.0.0.orig/Makefile 2012-08-21 17:39:10.000000000 -0300
++++ lpc-1.0.0/Makefile 2014-05-10 13:52:18.833865486 -0300
+@@ -1,16 +1,20 @@
+-LUA_PREFIX = /usr/local/
+-PREFIX = /usr/local/
++LUA_PKGCONF ?= lua
++
+ MODULE = lpc
+ VERSION = 1.0.0
+
+-INSTALL_PREFIX = $(PREFIX)/lib/lua/5.1/
++ifneq ($(shell pkg-config $(LUA_PKGCONF) || echo not-installed),)
++$(error $(LUA_PKGCONF).pc not found)
++endif
++
++INSTALL_PREFIX = $(PREFIX)$(shell pkg-config $(LUA_PKGCONF) --variable=INSTALL_CMOD)
+
+ CC = gcc
+ TARGET = lpc.so
+ OBJS = lpc.o
+ LIBS =
+-CFLAGS = -I $(LUA_PREFIX)/include -fPIC
+-LDFLAGS = -shared -fPIC
++CFLAGS = $(shell pkg-config $(LUA_PKGCONF) --cflags) -fPIC
++LDFLAGS = $(shell pkg-config $(LUA_PKGCONF) --libs) -shared -fPIC
+
+ default: $(TARGET)
+
+diff -ru lpc-1.0.0.orig/lpc.c lpc-1.0.0/lpc.c
+--- lpc-1.0.0.orig/lpc.c 2012-08-21 17:39:10.000000000 -0300
++++ lpc-1.0.0/lpc.c 2014-05-10 13:51:01.740949801 -0300
+@@ -192,7 +192,7 @@
+ lua_settable (L, -3);
+ }
+
+-static const struct luaL_reg lpclib[] =
++static const struct luaL_Reg lpclib[] =
+ {
+ {"run", lpc_run},
+ {"wait", lpc_wait},