diff options
Diffstat (limited to 'package/lua')
-rw-r--r-- | package/lua/Makefile | 25 | ||||
-rw-r--r-- | package/lua/patches/040-gzip-source-loader.patch | 136 | ||||
-rw-r--r-- | package/lua/patches/400-luaposix_5.1.4-embedded.patch | 4 |
3 files changed, 5 insertions, 160 deletions
diff --git a/package/lua/Makefile b/package/lua/Makefile index 13eb4a518..afd599a37 100644 --- a/package/lua/Makefile +++ b/package/lua/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2009 OpenWrt.org +# Copyright (C) 2006-2008 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lua PKG_VERSION:=5.1.4 -PKG_RELEASE:=4 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.lua.org/ftp/ \ @@ -18,10 +18,6 @@ PKG_SOURCE_URL:=http://www.lua.org/ftp/ \ http://www.tecgraf.puc-rio.br/lua/ftp/ PKG_MD5SUM:=d0870f2de55d59c1c8419f36e8fac150 -HOST_PATCH_DIR=./patches-host -PKG_BUILD_DEPENDS:=lua/host zlib - -include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/package.mk define Package/lua/Default @@ -84,21 +80,9 @@ $(call Package/lua/Default/description) This package contains LUA language examples. endef -# Host build -define Host/Configure - -endef - -define Host/Compile - $(MAKE) -C $(HOST_BUILD_DIR)/src luac-host +define Build/Configure endef -define Host/Install - $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/luac-host $(STAGING_DIR_HOST)/bin/luac -endef - -# Target build - TARGET_CFLAGS += -DLUA_USE_LINUX $(FPIC) ifneq ($(CONFIG_USE_EGLIBC),) @@ -107,8 +91,6 @@ ifneq ($(CONFIG_USE_EGLIBC),) endif endif -Build/Configure=$(Host/Configure) - define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR) \ CC="$(TARGET_CROSS)gcc" \ @@ -157,7 +139,6 @@ define Package/lua-examples/install $(1)/usr/share/lua/examples/ endef -$(eval $(call HostBuild)) $(eval $(call BuildPackage,liblua)) $(eval $(call BuildPackage,lua)) $(eval $(call BuildPackage,luac)) diff --git a/package/lua/patches/040-gzip-source-loader.patch b/package/lua/patches/040-gzip-source-loader.patch deleted file mode 100644 index 8214ae9f8..000000000 --- a/package/lua/patches/040-gzip-source-loader.patch +++ /dev/null @@ -1,136 +0,0 @@ -diff -ur lua-5.1.4.orig/src/Makefile lua-5.1.4/src/Makefile ---- lua-5.1.4.orig/src/Makefile 2009-04-04 23:06:04.000000000 +0200 -+++ lua-5.1.4/src/Makefile 2009-04-04 23:06:15.000000000 +0200 -@@ -12,7 +12,7 @@ - AR= ar rcu - RANLIB= ranlib - RM= rm -f --LIBS= -lm $(MYLIBS) -+LIBS= -lm -lz $(MYLIBS) - - MYCFLAGS= - MYLDFLAGS= -diff -ur lua-5.1.4.orig/src/lauxlib.c lua-5.1.4/src/lauxlib.c ---- lua-5.1.4.orig/src/lauxlib.c 2009-04-04 23:06:04.000000000 +0200 -+++ lua-5.1.4/src/lauxlib.c 2009-04-05 03:35:24.000000000 +0200 -@@ -11,6 +11,7 @@ - #include <stdio.h> - #include <stdlib.h> - #include <string.h> -+#include <zlib.h> - - - /* This file uses only the official API of Lua. -@@ -535,6 +536,12 @@ - char buff[LUAL_BUFFERSIZE]; - } LoadF; - -+typedef struct LoadGZ { -+ int first_chunk; -+ gzFile f; -+ char buffer[LUAL_GZLDBUFFER]; -+} LoadGZ; -+ - - static const char *getF (lua_State *L, void *ud, size_t *size) { - LoadF *lf = (LoadF *)ud; -@@ -550,6 +557,28 @@ - } - - -+static const char *getGZ (lua_State *L, void *ud, size_t *size) { -+ LoadGZ *lf = (LoadGZ *)ud; -+ char *sp = 0; -+ (void)L; -+ if (gzeof(lf->f)) return NULL; -+ *size = gzread(lf->f, lf->buffer, sizeof(lf->buffer)); -+ if (*size > 0) { -+ if (lf->first_chunk) { -+ lf->first_chunk = 0; -+ if ((lf->buffer[0] == '#') && (lf->buffer[1] == '!') && -+ (sp=strstr(lf->buffer, "\n")) != NULL) -+ { -+ *size -= ((uint)sp - (uint)lf->buffer); -+ return sp; -+ } -+ } -+ return lf->buffer; -+ } -+ return NULL; -+} -+ -+ - static int errfile (lua_State *L, const char *what, int fnameindex) { - const char *serr = strerror(errno); - const char *filename = lua_tostring(L, fnameindex) + 1; -@@ -560,6 +589,31 @@ - - - LUALIB_API int luaL_loadfile (lua_State *L, const char *filename) { -+ if ((filename != NULL) && strstr(filename, ".lua.gz")) { -+ return luaL_loadfile_gzip(L, filename); -+ } -+ else { -+ return luaL_loadfile_plain(L, filename); -+ } -+} -+ -+ -+LUALIB_API int luaL_loadfile_gzip (lua_State *L, const char *filename) { -+ LoadGZ gzf; -+ int status; -+ int fnameindex = lua_gettop(L) + 1; /* index of filename on the stack */ -+ lua_pushfstring(L, "@%s", filename); -+ gzf.f = gzopen(filename, "r"); -+ gzf.first_chunk = 1; -+ if (gzf.f == Z_NULL) return errfile(L, "open", fnameindex); -+ status = lua_load(L, getGZ, &gzf, lua_tostring(L, -1)); -+ (void)gzclose(gzf.f); -+ lua_remove(L, fnameindex); -+ return status; -+} -+ -+ -+LUALIB_API int luaL_loadfile_plain (lua_State *L, const char *filename) { - LoadF lf; - int status, readstatus; - int c; -diff -ur lua-5.1.4.orig/src/lauxlib.h lua-5.1.4/src/lauxlib.h ---- lua-5.1.4.orig/src/lauxlib.h 2009-04-04 23:06:04.000000000 +0200 -+++ lua-5.1.4/src/lauxlib.h 2009-04-04 23:06:15.000000000 +0200 -@@ -81,6 +81,8 @@ - LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref); - - LUALIB_API int (luaL_loadfile) (lua_State *L, const char *filename); -+LUALIB_API int (luaL_loadfile_gzip) (lua_State *L, const char *filename); -+LUALIB_API int (luaL_loadfile_plain) (lua_State *L, const char *filename); - LUALIB_API int (luaL_loadbuffer) (lua_State *L, const char *buff, size_t sz, - const char *name); - LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s); -diff -ur lua-5.1.4.orig/src/luaconf.h lua-5.1.4/src/luaconf.h ---- lua-5.1.4.orig/src/luaconf.h 2009-04-04 23:06:04.000000000 +0200 -+++ lua-5.1.4/src/luaconf.h 2009-04-04 23:27:20.000000000 +0200 -@@ -101,7 +101,9 @@ - #define LUA_CDIR LUA_ROOT "lib/lua/5.1/" - #define LUA_PATH_DEFAULT \ - "./?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ -- LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua" -+ LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ -+ "./?.lua.gz;" LUA_LDIR"?.lua.gz;" LUA_LDIR"?/init.lua.gz;" \ -+ LUA_CDIR"?.lua.gz;" LUA_CDIR"?/init.lua.gz" - #define LUA_CPATH_DEFAULT \ - "./?.so;" LUA_CDIR"?.so;" LUA_CDIR"loadall.so" - #endif -@@ -506,6 +508,12 @@ - */ - #define LUAL_BUFFERSIZE BUFSIZ - -+ -+/* -+@@ LUAL_GZLDBUFFER is the buffer size used by the gzip source loader. -+*/ -+#define LUAL_GZLDBUFFER 8192 -+ - /* }================================================================== */ - - diff --git a/package/lua/patches/400-luaposix_5.1.4-embedded.patch b/package/lua/patches/400-luaposix_5.1.4-embedded.patch index f0757f0e4..73d8eb03b 100644 --- a/package/lua/patches/400-luaposix_5.1.4-embedded.patch +++ b/package/lua/patches/400-luaposix_5.1.4-embedded.patch @@ -6,8 +6,8 @@ Index: lua-5.1.4/src/Makefile AR= ar rcu RANLIB= ranlib RM= rm -f --LIBS= -lm -lz $(MYLIBS) -+LIBS= -lm -lz -lcrypt $(MYLIBS) +-LIBS= -lm $(MYLIBS) ++LIBS= -lm -lcrypt $(MYLIBS) MYCFLAGS= MYLDFLAGS= |