summaryrefslogtreecommitdiff
path: root/repo/lua-mpack
diff options
context:
space:
mode:
Diffstat (limited to 'repo/lua-mpack')
-rw-r--r--repo/lua-mpack/dont-install-busted.patch13
-rw-r--r--repo/lua-mpack/lua-mpack.xibuild56
-rw-r--r--repo/lua-mpack/skip-memleak-test.patch20
3 files changed, 89 insertions, 0 deletions
diff --git a/repo/lua-mpack/dont-install-busted.patch b/repo/lua-mpack/dont-install-busted.patch
new file mode 100644
index 0000000..2acb260
--- /dev/null
+++ b/repo/lua-mpack/dont-install-busted.patch
@@ -0,0 +1,13 @@
+Fix Makefile to not try to download and install LuaRocks and busted; use
+system-provided busted.
+--- a/Makefile
++++ b/Makefile
+@@ -61,7 +61,7 @@
+ depsclean:
+ rm -rf $(DEPS_DIR)
+
+-test: $(BUSTED) $(MPACK)
++test: $(MPACK)
+ $(BUSTED) -o gtest test.lua
+
+ valgrind: $(BUSTED) $(MPACK)
diff --git a/repo/lua-mpack/lua-mpack.xibuild b/repo/lua-mpack/lua-mpack.xibuild
new file mode 100644
index 0000000..85c5195
--- /dev/null
+++ b/repo/lua-mpack/lua-mpack.xibuild
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+MAKEDEPS="make "
+DEPS="musl libmpack"
+
+PKG_VER=1.0.9
+SOURCE=https://github.com/libmpack/libmpack-lua/archive/$PKG_VER.tar.gz
+DESC="Libmpack bindings for Lua"
+ADDITIONAL="
+dont-install-busted.patch
+skip-memleak-test.patch
+"
+
+luaversions="5.1 "
+
+prepare () {
+ apply_patches
+
+ for lver in $luaversions; do
+ tar xf $PKG_VER.tar.gz
+ mv libmpack-lua-$PKG_VER build-$lver
+ done
+
+}
+
+build () {
+ for lver in $luaversions; do
+ echo "building for lua $lver"
+ make -C build-$lver \
+ FETCH=false \
+ USE_SYSTEM_LUA=yes \
+ USE_SYSTEM_MPACK=yes \
+ LUA=lua$lver \
+ LUA_IMPL=lua$lver
+ #LUA_INCLUDE="$(pkg-config --cflags lua$lver)" \
+ #LUA_LIB="$(pkg-config --libs lua$lver)"
+ done
+
+}
+
+package () {
+ for lver in $luaversions; do
+ echo "building for lua $lver"
+ local rockdir="$PKG_DEST/usr/lib/luarocks/rocks-$lver/mpack/$PKG_VER-0"
+
+ make -C build-$lver \
+ USE_SYSTEM_LUA=yes \
+ USE_SYSTEM_MPACK=yes \
+ LUA_CMOD_INSTALLDIR="$(pkg-config --variable=INSTALL_CMOD lua$lver)" \
+ DESTDIR="$subpkgdir" \
+ install || exit 1
+
+ mkdir -p "$rockdir"
+ echo 'rock_manifest = {}' > "$rockdir"/rock_manifest
+ done
+}
diff --git a/repo/lua-mpack/skip-memleak-test.patch b/repo/lua-mpack/skip-memleak-test.patch
new file mode 100644
index 0000000..f89b522
--- /dev/null
+++ b/repo/lua-mpack/skip-memleak-test.patch
@@ -0,0 +1,20 @@
+This test requires binary to be built in debug mode.
+--- a/test.lua
++++ b/test.lua
+@@ -276,16 +276,6 @@
+ end)
+ end)
+
+- it('should not leak memory', function()
+- -- get the path to the lua interpreter, taken from
+- -- http://stackoverflow.com/a/18304231
+- local i_min = 0
+- while arg[ i_min ] do i_min = i_min - 1 end
+- i_min = i_min + 1
+- local res = io.popen(arg[i_min]..' leak_test.lua'):read('*a')
+- assert.are_same('ok\n', res)
+- end)
+-
+ describe('is_bin option', function()
+ it('controls if strings are serialized to BIN or STR', function()
+ local isbin = false