diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/lua-pc/APKBUILD | 8 | ||||
-rw-r--r-- | main/lua-pc/lpc-lua5.2-compat.patch | 115 |
2 files changed, 65 insertions, 58 deletions
diff --git a/main/lua-pc/APKBUILD b/main/lua-pc/APKBUILD index 2b8bc90378..32f8e2d5de 100644 --- a/main/lua-pc/APKBUILD +++ b/main/lua-pc/APKBUILD @@ -5,7 +5,7 @@ _luaversions="5.1 5.2" pkgname=lua-pc _name=lpc pkgver=1.0.0 -pkgrel=8 +pkgrel=9 pkgdesc="Lua Process Call" url="https://github.com/LuaDist/lpc" arch="all" @@ -63,8 +63,8 @@ for _i in $_luaversions; do done md5sums="a8cd8b0c190e7d72dd7ec2f76e74e3c8 lpc-1.0.0.tar.gz -3fc5dcd932cb30fb0ee94fa5d316ed7c lpc-lua5.2-compat.patch" +97c3a94797b03b84c6340781b413e5be lpc-lua5.2-compat.patch" sha256sums="2fbbdfbbfa03a70792bb83655f3e1f990fcb972c55a074717ba417514261805c lpc-1.0.0.tar.gz -0916026d33d20b24b9a5c324922261323c69e461242aacac22df04c050577b6f lpc-lua5.2-compat.patch" +7937be39287210166bbe364bee56f575f63a1b928acc838388d09fb6ab1b3fe4 lpc-lua5.2-compat.patch" sha512sums="a955f802b9ea7c4615b8b22b1f4ab540d41e4ddb0edb5e1b77f2f2e1472c49248cb276f8bfec6b929d23ef01681a0018db6cbd401ade1cc1eb366b0a6ace9772 lpc-1.0.0.tar.gz -e0731fedff4815071dfa4909e6d0c7fd8ea588081d18dc3e44c9fdbff9df82863e3bff8ac37b2d7c22feb53c32de12ea5b57944e6374e51189b0b9bc408f2db8 lpc-lua5.2-compat.patch" +d98aba2a757cb4dd6ceebefb4b0bebb4b91d8a38360193f6246be727f0dc89fe438154596c22232d16539f86d5589730e13834cdaf5b71965728904fbdea8615 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 index e12131e865..98ec7b1a58 100644 --- a/main/lua-pc/lpc-lua5.2-compat.patch +++ b/main/lua-pc/lpc-lua5.2-compat.patch @@ -1,7 +1,6 @@ -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 14:54:26.573670586 -0300 -@@ -1,16 +1,20 @@ +--- lpc-1.0.0.orig/Makefile ++++ lpc-1.0.0/Makefile +@@ -1,17 +1,24 @@ -LUA_PREFIX = /usr/local/ -PREFIX = /usr/local/ +LUA_PKGCONF ?= lua @@ -13,23 +12,35 @@ diff -ru lpc-1.0.0.orig/Makefile lpc-1.0.0/Makefile +ifneq ($(shell pkg-config $(LUA_PKGCONF) || echo not-installed),) +$(error $(LUA_PKGCONF).pc not found) +endif -+ -+INSTALL_PREFIX = $(DESTDIR)$(shell pkg-config $(LUA_PKGCONF) --variable=INSTALL_CMOD) ++INSTALL_PREFIX = $(DESTDIR)$(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 ++CFLAGS = -fPIC + LDFLAGS = -shared -fPIC ++LUA_CFLAGS = $(shell pkg-config $(LUA_PKGCONF) --cflags) ++LUA_LDFLAGS = $(shell pkg-config $(LUA_PKGCONF) --libs) ++ 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 16:35:47.714059553 -0300 + +@@ -29,7 +36,7 @@ + rm -rf $(MODULE)-$(VERSION) + + $(TARGET): $(OBJS) +- $(CC) $(LDFLAGS) -o $(TARGET) $(OBJS) ++ $(CC) $(LUA_LDFLAGS) $(LDFLAGS) -o $(TARGET) $(OBJS) + + .c.o: +- $(CC) $(CFLAGS) -c $< -o $@ ++ $(CC) $(LUA_CFLAGS) $(CFLAGS) -c $< -o $@ +--- lpc-1.0.0.orig/lpc.c ++++ lpc-1.0.0/lpc.c @@ -1,7 +1,7 @@ /* ** LuaProcessCall @@ -45,7 +56,12 @@ diff -ru lpc-1.0.0.orig/lpc.c lpc-1.0.0/lpc.c -#define topfile(L) ((FILE **)luaL_checkudata(L, 1, LUA_FILEHANDLE)) +#if LUA_VERSION_NUM < 502 -+ + +-static FILE *tofile (lua_State *L) { +- FILE **f = topfile(L); +- if (*f == NULL) +- luaL_error(L, "attempt to use a closed file"); +- return *f; +static int lua_absindex(lua_State *L, int idx) { + return (idx > 0 || idx <= LUA_REGISTRYINDEX)? idx : lua_gettop(L) + idx + 1; +} /* lua_absindex() */ @@ -96,27 +112,8 @@ diff -ru lpc-1.0.0.orig/lpc.c lpc-1.0.0/lpc.c + lua_pushinteger(L, en); + return 3; + } -+} -+ -+#define isclosed(p) ((p)->f == NULL) -+#define markclosed(p) ((p)->f = NULL) -+ -+#else -+ -+#define isclosed(p) ((p)->closef == NULL) -+#define markclosed(p) ((p)->closef = NULL) -+ -+#endif -+ -+#define tolstream(L) ((luaL_Stream *)luaL_checkudata(L, 1, LUA_FILEHANDLE)) + } - static FILE *tofile (lua_State *L) { -- FILE **f = topfile(L); -- if (*f == NULL) -- luaL_error(L, "attempt to use a closed file"); -- return *f; --} -- -static int pushresult (lua_State *L, int i, const char *filename) { - int en = errno; /* calls to Lua API may change this value */ - if (i) { @@ -132,32 +129,43 @@ diff -ru lpc-1.0.0.orig/lpc.c lpc-1.0.0/lpc.c - lua_pushinteger(L, en); - return 3; - } --} -- --static int io_fclose (lua_State *L) { -- FILE **p = topfile(L); -- int ok = (fclose(*p) == 0); -- *p = NULL; -- return pushresult(L, ok, NULL); ++#define isclosed(p) ((p)->f == NULL) ++#define markclosed(p) ((p)->f = NULL) ++ ++#else ++ ++#define isclosed(p) ((p)->closef == NULL) ++#define markclosed(p) ((p)->closef = NULL) ++ ++#endif ++ ++#define tolstream(L) ((luaL_Stream *)luaL_checkudata(L, 1, LUA_FILEHANDLE)) ++ ++static FILE *tofile (lua_State *L) { + luaL_Stream *p = tolstream(L); + if (isclosed(p)) + luaL_error(L, "attempt to use a closed file"); + return p->f; } --static FILE **newfile_fd(lua_State *L, int fd, const char *mode) +-static int io_fclose (lua_State *L) { +- FILE **p = topfile(L); +- int ok = (fclose(*p) == 0); +- *p = NULL; +- return pushresult(L, ok, NULL); +static int io_fclose (lua_State *L) - { -- FILE **pf = (FILE **)lua_newuserdata(L, sizeof(FILE *)); -- *pf = NULL; /* file handle is currently `closed' */ ++{ + luaL_Stream *p = tolstream(L); + int res = fclose(p->f); + markclosed(p); + return luaL_fileresult(L, (res == 0), NULL); -+} -+ + } + +-static FILE **newfile_fd(lua_State *L, int fd, const char *mode) +static luaL_Stream *newfile_fd(lua_State *L, int fd, const char *mode) -+{ + { +- FILE **pf = (FILE **)lua_newuserdata(L, sizeof(FILE *)); +- *pf = NULL; /* file handle is currently `closed' */ + luaL_Stream *p = (luaL_Stream *) lua_newuserdata(L, sizeof(luaL_Stream)); + markclosed(p); luaL_getmetatable(L, LUA_FILEHANDLE); @@ -202,12 +210,6 @@ diff -ru lpc-1.0.0.orig/lpc.c lpc-1.0.0/lpc.c - /* Cleanup */ - close(p_out[0]); - close(p_in[1]); -- -- lua_pushnumber(L, pid); -- out = newfile_fd(L, p_out[1], "w"); -- in = newfile_fd(L, p_in[0], "r"); -- return 3; -- } + /* Cleanup */ + close(p_out[0]); + close(p_in[1]); @@ -215,7 +217,12 @@ diff -ru lpc-1.0.0.orig/lpc.c lpc-1.0.0/lpc.c + newfile_fd(L, p_out[1], "w"); + newfile_fd(L, p_in[0], "r"); + return 3; -+ + +- lua_pushnumber(L, pid); +- out = newfile_fd(L, p_out[1], "w"); +- in = newfile_fd(L, p_in[0], "r"); +- return 3; +- } +err_closeinout: + close(p_in[0]); + close(p_in[1]); |