Skip to content

Commit

Permalink
make elinks work with lua 5.1
Browse files Browse the repository at this point in the history
from James Prevatt <jprevatt+bsd at paunix.org>

ok sturm
  • Loading branch information
jasperla committed Oct 21, 2006
1 parent a90051a commit 4871d0b
Show file tree
Hide file tree
Showing 4 changed files with 94 additions and 6 deletions.
5 changes: 3 additions & 2 deletions www/elinks/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# $OpenBSD: Makefile,v 1.5 2006/06/23 12:32:33 steven Exp $
# $OpenBSD: Makefile,v 1.6 2006/10/21 17:56:48 jasper Exp $

COMMENT= "full-featured text WWW browser"
DISTNAME= elinks-0.11.1
PKGNAME= ${DISTNAME}p0
EXTRACT_SUFX= .tar.bz2
CATEGORIES= www
MASTER_SITES= http://elinks.cz/download/
Expand Down Expand Up @@ -36,7 +37,7 @@ FLAVOR?=

.if ${FLAVOR:L:Mlua}
CONFIGURE_ARGS+= --with-lua
LIB_DEPENDS+= lua.5,lualib.5::lang/lua
LIB_DEPENDS+= lua.>=5.1::lang/lua
WANTLIB+= m
.else
CONFIGURE_ARGS+= --without-lua
Expand Down
32 changes: 28 additions & 4 deletions www/elinks/patches/patch-configure
Original file line number Diff line number Diff line change
@@ -1,7 +1,31 @@
$OpenBSD: patch-configure,v 1.1 2006/01/29 15:41:00 sturm Exp $
--- configure.orig Sun Jan 1 11:39:43 2006
+++ configure Wed Jan 4 14:18:10 2006
@@ -22496,10 +22496,6 @@ ALL_CFLAGS="$CFLAGS $CPPFLAGS"
$OpenBSD: patch-configure,v 1.2 2006/10/21 17:56:48 jasper Exp $
--- configure.orig Sun Jan 29 08:10:47 2006
+++ configure Thu Oct 19 12:52:57 2006
@@ -17103,7 +17103,7 @@ if test -z "$disable_lua"; then
for luadir in "$withval" "" /usr /usr/local; do
for suffix in "" 50 51; do
if test "$cf_result" = no; then
- LUA_LIBS="-llua$suffix -llualib$suffix -lm"
+ LUA_LIBS="-llua$suffix -lm"

if test ! -z "$luadir"; then
LUA_LIBS="-L$luadir/lib $LUA_LIBS"
@@ -17127,10 +17127,10 @@ int
main ()
{
lua_State *L = lua_open();
- lua_baselibopen(L);
- lua_mathlibopen(L);
- lua_strlibopen(L);
- lua_tablibopen(L);
+ luaopen_base(L);
+ luaopen_math(L);
+ luaopen_string(L);
+ luaopen_table(L);
lua_pushboolean(L, 1);
lua_close(L);
;
@@ -22892,10 +22892,6 @@ ALL_CFLAGS="$CFLAGS $CPPFLAGS"



Expand Down
51 changes: 51 additions & 0 deletions www/elinks/patches/patch-src_scripting_lua_core_c
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
$OpenBSD: patch-src_scripting_lua_core_c,v 1.1 2006/10/21 17:56:48 jasper Exp $
--- src/scripting/lua/core.c.orig Sun Jan 29 08:10:39 2006
+++ src/scripting/lua/core.c Thu Oct 19 14:10:34 2006
@@ -633,7 +633,7 @@ do_hooks_file(LS, unsigned char *prefix,
if (file_can_read(file)) {
int oldtop = lua_gettop(S);

- if (lua_dofile(S, file) != 0)
+ if (luaL_dofile(S, file) != 0)
sleep(3); /* Let some time to see error messages. */
lua_settop(S, oldtop);
}
@@ -644,13 +644,24 @@ do_hooks_file(LS, unsigned char *prefix,
void
init_lua(struct module *module)
{
+ static const luaL_Reg lualibs[] = {
+ {"", luaopen_base},
+ {LUA_TABLIBNAME, luaopen_table},
+ {LUA_IOLIBNAME, luaopen_io},
+ {LUA_OSLIBNAME, luaopen_os},
+ {LUA_STRLIBNAME, luaopen_string},
+ {LUA_MATHLIBNAME, luaopen_math},
+ {NULL, NULL}
+ };
+ const luaL_Reg *lib = lualibs;
+
L = lua_open();

- luaopen_base(L);
- luaopen_table(L);
- luaopen_io(L);
- luaopen_string(L);
- luaopen_math(L);
+ for (; lib->func; lib++) {
+ lua_pushcfunction(L, lib->func);
+ lua_pushstring(L, lib->name);
+ lua_call(L, 1, 0);
+ }

lua_register(L, LUA_ALERT, l_alert);
lua_register(L, "current_url", l_current_url);
@@ -755,7 +766,7 @@ handle_ret_eval(struct session *ses)
int oldtop = lua_gettop(L);

if (prepare_lua(ses) == 0) {
- lua_dostring(L, expr);
+ luaL_dostring(L, expr);
lua_settop(L, oldtop);
finish_lua();
}
12 changes: 12 additions & 0 deletions www/elinks/patches/patch-src_scripting_lua_hooks_c
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
$OpenBSD: patch-src_scripting_lua_hooks_c,v 1.1 2006/10/21 17:56:48 jasper Exp $
--- src/scripting/lua/hooks.c.orig Thu Oct 19 12:54:09 2006
+++ src/scripting/lua/hooks.c Thu Oct 19 12:54:25 2006
@@ -200,7 +200,7 @@ static enum evhook_status
script_hook_quit(va_list ap, void *data)
{
if (!prepare_lua(NULL)) {
- lua_dostring(lua_state, "if quit_hook then quit_hook() end");
+ luaL_dostring(lua_state, "if quit_hook then quit_hook() end");
finish_lua();
}

0 comments on commit 4871d0b

Please sign in to comment.