summaryrefslogtreecommitdiff
path: root/packages/lua/files/debian.patch
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2005-06-30 08:19:37 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-06-30 08:19:37 +0000
commitc8e5702127e507e82e6f68a4b8c546803accea9d (patch)
tree00583491f40ecc640f2b28452af995e3a63a09d7 /packages/lua/files/debian.patch
parent87ec8ca4d2e2eb4d1c1e1e1a6b46a395d56805b9 (diff)
import clean BK tree at cset 1.3670
Diffstat (limited to 'packages/lua/files/debian.patch')
-rw-r--r--packages/lua/files/debian.patch674
1 files changed, 674 insertions, 0 deletions
diff --git a/packages/lua/files/debian.patch b/packages/lua/files/debian.patch
index e69de29bb2..38ca37946d 100644
--- a/packages/lua/files/debian.patch
+++ b/packages/lua/files/debian.patch
@@ -0,0 +1,674 @@
+--- lua-5.0.2.orig/doc/lua.1
++++ lua-5.0.2/doc/lua.1
+@@ -152,6 +152,16 @@
+ .TP
+ .B \-v
+ show version information.
++.TP
++.B \-C
++load the compatibility library into the interpreter. If you specify
++this, then you will also need to specify the
++.B \-i
++option in order to enter an interactive interpreter.
++.TP
++.B \-P
++suppress the creation of a standard LUA_PATH variable. Use this if
++you need to run scripts which conflict with system-installed libraries.
+ .SH "SEE ALSO"
+ .BR luac (1)
+ .br
+@@ -163,5 +173,11 @@
+ L. H. de Figueiredo,
+ and
+ W. Celes
+-(lua@tecgraf.puc-rio.br)
++.LP
++.BI <lua@tecgraf.puc-rio.br>
++.LP
++Debian modifications to the manpage by
++Daniel Silverstone
++.LP
++.BI <dsilvers@debian.org>
+ .\" EOF
+--- lua-5.0.2.orig/src/luac/Makefile
++++ lua-5.0.2/src/luac/Makefile
+@@ -12,8 +12,8 @@
+
+ all: $T
+
+-$T: $(OBJS) $(LIB)/liblua.a $(LIB)/liblualib.a
+- $(CC) -o $@ $(MYLDFLAGS) $(OBJS) -L$(LIB) -llua -llualib $(EXTRA_LIBS) $(DLLIB)
++$T: $(OBJS) $(LIB)/liblua.a $(LIB)/liblualib.a
++ $(CC) -o $@ $(MYLDFLAGS) $(OBJS) -L$(LIB) -llua -llualib $(EXTRA_LIBS)
+
+ # print.c needs opcode names from lopcodes.c
+ lopcodes.o: ../lopcodes.c ../lopcodes.h
+--- lua-5.0.2.orig/src/lib/Makefile
++++ lua-5.0.2/src/lib/Makefile
+@@ -9,16 +9,18 @@
+ OBJS= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o ltablib.o lstrlib.o loadlib.o
+ SRCS= lauxlib.c lbaselib.c ldblib.c liolib.c lmathlib.c ltablib.c lstrlib.c loadlib.c
+
+-T= $(LIB)/liblualib.a
++SOBJS := $(patsubst %.o,%.os,$(OBJS))
++
++T= $(LIB)/liblualib.a
+
+ all: $T
+
+-$T: $(OBJS)
++$T: $(OBJS) $(SOBJS)
+ $(AR) $@ $(OBJS)
+ $(RANLIB) $@
+
+ clean:
+- rm -f $(OBJS) $T
++ rm -f $(OBJS) $(SOBJS) $T
+
+ co:
+ co -q -f -M $(SRCS)
+--- lua-5.0.2.orig/src/lib/liolib.c
++++ lua-5.0.2/src/lib/liolib.c
+@@ -149,7 +149,14 @@
+ if (f == stdin || f == stdout || f == stderr)
+ return 0; /* file cannot be closed */
+ else {
+- int ok = (pclose(f) != -1) || (fclose(f) == 0);
++ int ok;
++ errno = 0;
++ ok = (pclose(f) != -1);
++ if (!ok) {
++ if (errno == ECHILD) ok = 1; /* pclose worked, but could reap child */
++ else ok = (fclose(f) == 0);
++ }
++
+ if (ok)
+ *(FILE **)lua_touserdata(L, 1) = NULL; /* mark file as closed */
+ return ok;
+--- lua-5.0.2.orig/src/lua/Makefile
++++ lua-5.0.2/src/lua/Makefile
+@@ -12,8 +12,8 @@
+
+ all: $T
+
+-$T: $(OBJS) $(LIB)/liblua.a $(LIB)/liblualib.a
+- $(CC) -o $@ $(MYLDFLAGS) $(OBJS) -L$(LIB) -llua -llualib $(EXTRA_LIBS) $(DLLIB)
++$T: $(OBJS) $(LIB)/liblua.a $(LIB)/liblualib.a
++ $(CC) -o $@ $(MYLDFLAGS) $(OBJS) -L$(LIB) -llua -llualib $(EXTRA_LIBS) $(DLLIB)
+
+ $(LIB)/liblua.a:
+ cd ..; $(MAKE)
+--- lua-5.0.2.orig/src/lua/lua.c
++++ lua-5.0.2/src/lua/lua.c
+@@ -65,7 +65,57 @@
+
+ static const char *progname = PROGNAME;
+
++/* These bits are added for Debian's -P functionality */
+
++static int done_path = 0;
++static int suppress_path = 0;
++
++static const char* paths[] = {
++ "~/.lua",
++ "~/share/lua",
++ "/usr/share/lua",
++ "/usr/local/share/lua",
++ NULL
++};
++
++static void do_path()
++{
++ const char** p = paths;
++ int any;
++ if( done_path || suppress_path ) return;
++ if( ! L ) return;
++ done_path = 1;
++ lua_pushliteral(L,"LUA_PATH");
++ lua_pushliteral(L,"");
++ while( *p ) {
++ any = 0;
++ if( **p == '~' ) {
++ const char* home = getenv("HOME");
++ if( home ) {
++ lua_pushstring(L,home);
++ lua_pushstring(L,*p+1);
++ lua_pushliteral(L,"/?.lua;");
++ lua_pushstring(L,home);
++ lua_pushstring(L,*p+1);
++ lua_pushliteral(L,"/?;");
++ any = 6;
++ }
++ } else {
++ lua_pushstring(L,*p);
++ lua_pushliteral(L,"/?.lua;");
++ lua_pushstring(L,*p);
++ lua_pushliteral(L,"/?;");
++ any = 4;
++ }
++ if( any ) {
++ lua_concat(L,any+1);
++ }
++ p++;
++ }
++ lua_pushliteral(L, "?.lua;?");
++ lua_concat(L,2);
++ lua_settable(L, LUA_GLOBALSINDEX);
++}
+
+ static const luaL_reg lualibs[] = {
+ {"base", luaopen_base},
+@@ -85,13 +135,12 @@
+ static void lstop (lua_State *l, lua_Debug *ar) {
+ (void)ar; /* unused arg. */
+ lua_sethook(l, NULL, 0, 0);
+- luaL_error(l, "interrupted!");
++ lua_pushnil(l);
++ lua_error(l);
+ }
+
+
+ static void laction (int i) {
+- signal(i, SIG_DFL); /* if another SIGINT happens before lstop,
+- terminate process (default action) */
+ lua_sethook(L, lstop, LUA_MASKCALL | LUA_MASKRET | LUA_MASKCOUNT, 1);
+ }
+
+@@ -105,6 +154,9 @@
+ " -i enter interactive mode after executing `script'\n"
+ " -l name load and run library `name'\n"
+ " -v show version information\n"
++ " -C load the compatibility library before startup\n"
++ " -P suppress the setting of LUA_PATH. If not specified\n"
++ " very early, this setting may not take effect.\n"
+ " -- stop handling options\n" ,
+ progname);
+ }
+@@ -120,23 +172,42 @@
+ const char *msg;
+ if (status) {
+ msg = lua_tostring(L, -1);
+- if (msg == NULL) msg = "(error with no message)";
+- l_message(progname, msg);
++ if (msg == NULL) {
++ const char *str;
++ lua_getglobal(L, "LUA_DEFAULT_ERROR"); /* try global variable */
++ str = lua_tostring(L, -1);
++ lua_pop(L, 1);
++ if (str) {
++ if (*str != '\0') msg = str;
++ } else msg = "(error with no message)";
++ }
++ if (msg) l_message(progname, msg);
+ lua_pop(L, 1);
+ }
+ return status;
+ }
+
++static void sig_catch(int sig, void (*handler)(int))
++{
++ struct sigaction sa;
++ sa.sa_handler = handler;
++ sa.sa_flags = 0;
++ sigemptyset(&sa.sa_mask);
++ sigaction(sig, &sa, 0); /* XXX ignores errors */
++}
++
+
+ static int lcall (int narg, int clear) {
+ int status;
+ int base = lua_gettop(L) - narg; /* function index */
++ do_path();
++ lua_settop(L,base);
+ lua_pushliteral(L, "_TRACEBACK");
+ lua_rawget(L, LUA_GLOBALSINDEX); /* get traceback function */
+ lua_insert(L, base); /* put it under chunk and args */
+- signal(SIGINT, laction);
++ sig_catch(SIGINT, laction);
+ status = lua_pcall(L, narg, (clear ? 0 : LUA_MULTRET), base);
+- signal(SIGINT, SIG_DFL);
++ sig_catch(SIGINT, SIG_DFL);
+ lua_remove(L, base); /* remove traceback function */
+ return status;
+ }
+@@ -179,6 +250,7 @@
+
+
+ static int load_file (const char *name) {
++ do_path();
+ lua_pushliteral(L, "require");
+ lua_rawget(L, LUA_GLOBALSINDEX);
+ if (!lua_isfunction(L, -1)) { /* no `require' defined? */
+@@ -279,6 +351,7 @@
+ int status;
+ const char *oldprogname = progname;
+ progname = NULL;
++ do_path();
+ while ((status = load_string()) != -1) {
+ if (status == 0) status = lcall(0, 0);
+ report(status);
+@@ -352,6 +425,18 @@
+ return 1; /* stop if file fails */
+ break;
+ }
++ case 'C': {
++ const char *filename = "compat.lua";
++ if (load_file(filename))
++ return 1; /* stop if file fails */
++ break;
++ }
++ case 'P': {
++ if( done_path )
++ l_message(progname, "option `-P' is too late, ignored");
++ suppress_path = 1;
++ break;
++ }
+ case 'c': {
+ l_message(progname, "option `-c' is deprecated");
+ break;
+@@ -413,6 +498,7 @@
+ status = handle_luainit();
+ if (status == 0) {
+ status = handle_argv(s->argv, &interactive);
++ do_path();
+ if (status == 0 && interactive) manual_input();
+ }
+ s->status = status;
+--- lua-5.0.2.orig/src/Makefile
++++ lua-5.0.2/src/Makefile
+@@ -67,16 +67,19 @@
+ lvm.h \
+ lzio.h
+
+-T= $(LIB)/liblua.a
++T= $(LIB)/liblua.a
++
++SOBJS := $(patsubst %.o,%.os,$(OBJS))
+
+ all: $T
+
+-$T: $(OBJS)
++$T: $(OBJS) $(SOBJS)
+ $(AR) $@ $(OBJS)
+ $(RANLIB) $@
+
++
+ clean:
+- rm -f $(OBJS) $T
++ rm -f $(OBJS) $(SOBJS) $T
+
+ co:
+ co -q -f -M $(SRCS)
+--- lua-5.0.2.orig/lua-config
++++ lua-5.0.2/lua-config
+@@ -0,0 +1,165 @@
++#!/usr/bin/lua
++-- -*- Lua -*-
++
++-- This file is under the terms of the MIT licence. Do as you will.
++
++-- Process the arg table
++function usage()
++ info();
++ io.stderr:write([[Usage: lua-config <options>
++
++ Valid options are:
++
++ --include Outputs the -I switches needed to find <lua.h> etc.
++
++ --static Outputs the full path to the static libraries
++
++ --libs Outputs the -L and -l switches needed to find the library
++ --libs-only-L Outputs only the -L switches
++ --libs-only-l Outputs only the -l switches
++
++ --extralibs Outputs the -l switches appropriate to the extra libs needed by lua
++
++ Note that --static is mututally exclusive with the --libs* options
++
++ Also, you can specify the following
++
++ --vmonly Outputs only the switches for finding the VM libraries
++ --libonly Outputs only the switches for finding the standard libraries
++ --both Outputs the switches for both [The default]
++
++ Example:
++
++ gcc `lua-config --include` my_prog.c -o my_prog `lua-config --libs`
++
++]] );
++ os.exit(1);
++end
++
++function version()
++ io.stdout:write( [[5.0.0
++]] );
++ os.exit(0);
++end
++
++function info()
++ io.stdout:write( [[lua-config version 1.10 (c) Daniel Silverstone 2002
++
++lua-config was written for the Debian GNU/Linux project. This version
++of lua-config will provide switches appropriate to Lua 5.0
++
++]] );
++end
++
++if( table.getn(arg) == 0 ) then
++ usage()
++end
++
++output_vm = 1
++output_lib = 1
++
++output_static = 0
++output_libs_l = 0
++output_libs_L = 0
++output_include = 0
++output_extras = 0
++
++table.foreachi( arg,
++ function(n,param)
++ if( param == '--version' ) then
++ version()
++ end
++ if( param == '--help' ) then
++ usage()
++ end
++ if( param == '--include' ) then
++ output_include = 1;
++ return
++ end
++ if( param == '--libs' ) then
++ output_libs_l = 1;
++ output_libs_L = 1;
++ return
++ end
++ if( param == '--libs-only-L' ) then
++ output_libs_L = 1;
++ return
++ end
++ if( param == '--libs-only-l' ) then
++ output_libs_l = 1;
++ return
++ end
++ if( param == '--extralibs' ) then
++ output_extras = 1;
++ return
++ end
++ if( param == '--static' ) then
++ output_static = 1;
++ return
++ end
++ if( param == '--vmonly' ) then
++ output_vm = 1;
++ output_lib = 0;
++ return
++ end
++ if( param == '--libonly' ) then
++ output_lib = 1;
++ output_vm = 0;
++ return
++ end
++ if( param == '--both' ) then
++ output_lib = 1;
++ output_vm = 1;
++ return
++ end
++ io.stderr:write( "Unknown argument ", param );
++ usage();
++ end );
++
++if( (output_extras + output_libs_l + output_libs_L + output_include + output_static) == 0 ) then
++ usage()
++end
++
++if( (output_static + (output_libs_l or output_libs_L)) > 1 ) then
++ usage();
++end
++
++outargs = {}
++
++if( output_include == 1 ) then
++ table.insert( outargs, "-I/usr/include/lua" );
++end
++
++if( output_libs_L == 1 ) then
++ table.insert( outargs, "-L/usr/include" );
++end
++
++if( output_libs_l == 1 ) then
++ if( output_lib == 1 ) then
++ table.insert( outargs, "-llualib" );
++ end
++ if( output_vm == 1 ) then
++ table.insert( outargs, "-llua" );
++ end
++end
++
++if( output_static == 1 ) then
++ if( output_lib == 1 ) then
++ table.insert( outargs, "/usr/lib/liblualib.a" );
++ end
++ if( output_vm == 1 ) then
++ table.insert( outargs, "/usr/lib/liblua.a" );
++ end
++end
++
++if( output_extras == 1 ) then
++ table.insert( outargs, "-lm" );
++end
++
++io.stdout:write( outargs[1] );
++
++for i=2,table.getn(outargs) do
++ io.stdout:write( " ", outargs[i] );
++end
++
++io.stdout:write( "\n" );
+--- lua-5.0.2.orig/config
++++ lua-5.0.2/config
+@@ -25,15 +25,15 @@
+ # interface (e.g., Linux, Solaris, IRIX, BSD, AIX, HPUX, and probably others),
+ # uncomment the next two lines.
+ #
+-#LOADLIB= -DUSE_DLOPEN=1
+-#DLLIB= -ldl
++LOADLIB= -DUSE_DLOPEN=1
++DLLIB= -ldl
+ #
+ # In Linux with gcc, you should also uncomment the next definition for
+ # MYLDFLAGS, which passes -E (= -export-dynamic) to the linker. This option
+ # allows dynamic libraries to link back to the `lua' program, so that they do
+ # not need the Lua libraries. (Other systems may have an equivalent facility.)
+ #
+-#MYLDFLAGS= -Wl,-E
++MYLDFLAGS= -Wl,-E
+ #
+ # On Windows systems. support for dynamic loading is enabled by default.
+ # To disable this support, uncomment the next line.
+@@ -92,7 +92,7 @@
+ # or if you are using a modified interpreter that does not need them,
+ # then comment the following line or add the appropriates libraries.
+ #
+-EXTRA_LIBS= -lm
++#EXTRA_LIBS= -lm
+
+ # If you want to customize the stand-alone Lua interpreter, uncomment and
+ # edit the following two lines; also edit etc/saconfig.c to suit your needs.
+@@ -100,8 +100,8 @@
+ # to add -lreadline (and perhaps also -lhistory and -lcurses or -lncurses)
+ # to EXTRA_LIBS.
+ #
+-#USERCONF=-DLUA_USERCONFIG='"$(LUA)/etc/saconfig.c"' -DUSE_READLINE
+-#EXTRA_LIBS= -lm -ldl -lreadline # -lhistory -lcurses -lncurses
++USERCONF=-DLUA_USERCONFIG='"$(LUA)/etc/saconfig.c"' -DUSE_READLINE
++EXTRA_LIBS= -lreadline -lm -ldl # -lhistory -lcurses -lncurses
+
+ # ------------------------------------------------------------------ C compiler
+
+@@ -119,7 +119,7 @@
+ # debug information. If you only want the shared libraries, you may want to
+ # add -fPIC to MYCFLAGS.
+ #
+-MYCFLAGS= -O2
++MYCFLAGS= -O3 -g
+ #MYCFLAGS= -O3 -fomit-frame-pointer # -fPIC
+
+ # Write here any options you may need for your C linker.
+@@ -148,19 +148,20 @@
+
+ # Locations for "make install". You may need to be root do "make install".
+ #
+-INSTALL_ROOT= /usr/local
++INSTALL_ROOT= $(PREFIX)/usr/
+ INSTALL_BIN= $(INSTALL_ROOT)/bin
+-INSTALL_INC= $(INSTALL_ROOT)/include
++INSTALL_INC= $(INSTALL_ROOT)/include/lua
+ INSTALL_LIB= $(INSTALL_ROOT)/lib
+-INSTALL_MAN= $(INSTALL_ROOT)/man/man1
++INSTALL_MAN= $(INSTALL_ROOT)/share/man/man1
++INSTALL_SHARE= $(INSTALL_ROOT)/share/lua
+
+ # You may prefer to use "install" instead of "cp" if you have it.
+ # If you use "install", you may also want to change the permissions after -m.
+ #
+-INSTALL_EXEC= cp
+-INSTALL_DATA= cp
+-#INSTALL_EXEC= install -m 0755
+-#INSTALL_DATA= install -m 0644
++#INSTALL_EXEC= cp
++#INSTALL_DATA= cp
++INSTALL_EXEC= install -m 0755
++INSTALL_DATA= install -m 0644
+
+ # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
+
+@@ -173,6 +174,10 @@
+ INCS= -I$(INC) $(EXTRA_INCS)
+ DEFS= $(NUMBER) $(EXTRA_DEFS)
+
+-CFLAGS= $(MYCFLAGS) $(WARN) $(INCS) $(DEFS)
++CFLAGS= $(MYCFLAGS) $(WARN) $(INCS) $(DEFS) -DINSTALL_SHARE=\"$(INSTALL_SHARE)\"
++
++# Extra rule for .os files
++%.os: %.c
++ $(CC) $(CFLAGS) -fPIC -DPIC -o $@ -c $<
+
+ # (end of config)
+--- lua-5.0.2.orig/Makefile
++++ lua-5.0.2/Makefile
+@@ -38,9 +38,13 @@
+
+ # shared libraries (for Linux)
+ so:
+- ld -o lib/liblua.so.$V -shared src/*.o
+- ld -o lib/liblualib.so.$V -shared src/lib/*.o
+- cd lib; ln -fs liblua.so.$V liblua.so; ln -fs liblualib.so.$V liblualib.so
++ gcc -o lib/liblua.so.$V -shared -Wl,-soname,liblua.so.$V \
++ src/*.os -lc
++ ln -fs liblua.so.$V lib/liblua-build.so
++ gcc -o lib/liblualib.so.$V -shared -Wl,-soname,liblualib.so.$V \
++ src/lib/*.os -Llib -llua-build -lm -ldl -lc
++ cd lib; ln -fs liblua.so.$V liblua.so; \
++ ln -fs liblualib.so.$V liblualib.so
+
+ # binaries using shared libraries
+ sobin:
+--- lua-5.0.2.orig/lua.pc
++++ lua-5.0.2/lua.pc
+@@ -0,0 +1,11 @@
++prefix=/usr
++exec_prefix=/usr
++libdir=/usr/lib
++includedir=/usr/include/
++
++Name: lua
++Description: The Lua 5.0 programming language
++Version: 5.0.0
++Libs: -L${libdir} -llua
++Cflags: -I${includedir}/lua
++
+--- lua-5.0.2.orig/lualib.pc
++++ lua-5.0.2/lualib.pc
+@@ -0,0 +1,12 @@
++prefix=/usr
++exec_prefix=/usr
++libdir=/usr/lib
++includedir=/usr/include/
++
++Name: lua
++Description: The Lua 5.0 programming language addon libraries
++Version: 5.0.0
++Requires: lua
++Libs: -L${libdir} -llualib
++Cflags: -I${includedir}/lua
++
+--- lua-5.0.2.orig/lua-config.1
++++ lua-5.0.2/lua-config.1
+@@ -0,0 +1,64 @@
++.\" Manual page for lua-config
++.\" Written by Daniel Silverstone <dsilvers@debian.org>
++.\" For the Debian GNU/Linux system
++
++.TH lua-config 1
++.SH NAME
++lua-config \- Lua configuration information
++.SH SYNOPSIS
++Basic usage
++.PP
++.B gcc
++`
++.B lua-config
++.I \-\-include
++`
++my_prog.c
++.B \-o
++my_prog
++`
++.B lua-config
++.I \-\-libs
++`
++
++.SH DESCRIPTION
++The lua-config script allows you to determine useful information
++about the chosen version of lua running on the Debian GNU/Linux
++system in use.
++More information can be found by running
++.B lua-config
++without any arguments.
++.SH CAVEATS
++This script is unique to Debian and as such you shouldn't rely
++on its presence on every system. Lua is an embedded language
++by default and different Linux distributions each take a different
++approach to making it possible to compile with Lua. The
++.B pkg-config
++system also provides a way to look for libraries and is more likely
++to be supported across different Linux distributions. Debian's
++.B pkg-config
++name for Lua 5.0 is
++.I lua
++and the libraries are in
++.I lualib.
++These
++.B pkg-config
++files can be found in the
++.I liblua-dev
++and
++.I liblualib-dev
++packages.
++.SH AUTHOR
++lua-config was written by
++.B Daniel Silverstone
++.BI <dsilvers@debian.org>.
++
++This manual page was written by
++.B Daniel Silverstone
++.BI <dsilvers@debian.org>.
++For the Debian project. It may be used without restriction in any
++other system.
++.SH "SEE ALSO"
++.IR lua (1)
++.IR pkg-config (1)
++