summaryrefslogtreecommitdiff
path: root/lang/tolua++
diff options
context:
space:
mode:
authorDmitry Marakasov <amdmi3@FreeBSD.org>2008-08-19 20:40:20 +0000
committerDmitry Marakasov <amdmi3@FreeBSD.org>2008-08-19 20:40:20 +0000
commitc138873fb4a8e4607a92ae5b5fbe1a89ba2edbe3 (patch)
tree29854c9adc76d99181a71b57046291452670e963 /lang/tolua++
parentUpdate to 1.3.1. (diff)
- Build shared library in addition to static [1]
- Fix compilation with gcc43 [2] PRs: 126659 [1], 126660 [2] Submitted by: Tim Niemueller <tim at niemueller dot de>
Notes
Notes: svn path=/head/; revision=218867
Diffstat (limited to 'lang/tolua++')
-rw-r--r--lang/tolua++/Makefile3
-rw-r--r--lang/tolua++/files/patch-gcc43-fixes130
-rw-r--r--lang/tolua++/files/patch-src-lib-SCsub10
-rw-r--r--lang/tolua++/pkg-plist1
4 files changed, 143 insertions, 1 deletions
diff --git a/lang/tolua++/Makefile b/lang/tolua++/Makefile
index 4281ba890016..af7717ffb755 100644
--- a/lang/tolua++/Makefile
+++ b/lang/tolua++/Makefile
@@ -7,7 +7,7 @@
PORTNAME= tolua++
PORTVERSION= 1.0.92
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= lang devel
MASTER_SITES= http://www.codenix.com/~tolua/ \
http://www.amdmi3.ru/distfiles/
@@ -31,5 +31,6 @@ do-install:
${LN} -sf ${LUA_SUBDIR}/tolua++ ${PREFIX}/bin/tolua++-${LUA_VER}
${INSTALL_DATA} ${WRKSRC}/include/tolua++.h ${LUA_INCDIR}
${INSTALL_DATA} ${WRKSRC}/lib/libtolua++.a ${LUA_LIBDIR}
+ ${INSTALL_DATA} ${WRKSRC}/lib/libtolua++.so ${LUA_LIBDIR}
.include <bsd.port.mk>
diff --git a/lang/tolua++/files/patch-gcc43-fixes b/lang/tolua++/files/patch-gcc43-fixes
new file mode 100644
index 000000000000..1e982f2b1214
--- /dev/null
+++ b/lang/tolua++/files/patch-gcc43-fixes
@@ -0,0 +1,130 @@
+--- include/tolua++.h.orig 2006-04-27 05:33:40.000000000 +0200
++++ include/tolua++.h 2008-03-13 23:20:12.000000000 +0100
+@@ -53,7 +53,7 @@
+ #define TOLUA_NOPEER LUA_REGISTRYINDEX /* for lua 5.1 */
+
+ TOLUA_API const char* tolua_typename (lua_State* L, int lo);
+-TOLUA_API void tolua_error (lua_State* L, char* msg, tolua_Error* err);
++TOLUA_API void tolua_error (lua_State* L, const char* msg, tolua_Error* err);
+ TOLUA_API int tolua_isnoobj (lua_State* L, int lo, tolua_Error* err);
+ TOLUA_API int tolua_isvalue (lua_State* L, int lo, int def, tolua_Error* err);
+ TOLUA_API int tolua_isboolean (lua_State* L, int lo, int def, tolua_Error* err);
+@@ -84,16 +84,15 @@
+ TOLUA_API int tolua_register_gc (lua_State* L, int lo);
+ TOLUA_API int tolua_default_collect (lua_State* tolua_S);
+
+-TOLUA_API void tolua_usertype (lua_State* L, char* type);
+-TOLUA_API void tolua_beginmodule (lua_State* L, char* name);
++TOLUA_API void tolua_usertype (lua_State* L, const char* type);
++TOLUA_API void tolua_beginmodule (lua_State* L, const char* name);
+ TOLUA_API void tolua_endmodule (lua_State* L);
+-TOLUA_API void tolua_module (lua_State* L, char* name, int hasvar);
+-TOLUA_API void tolua_class (lua_State* L, char* name, char* base);
+-TOLUA_API void tolua_cclass (lua_State* L, char* lname, char* name, char* base, lua_CFunction col);
+-TOLUA_API void tolua_function (lua_State* L, char* name, lua_CFunction func);
+-TOLUA_API void tolua_constant (lua_State* L, char* name, double value);
+-TOLUA_API void tolua_variable (lua_State* L, char* name, lua_CFunction get, lua_CFunction set);
+-TOLUA_API void tolua_array (lua_State* L,char* name, lua_CFunction get, lua_CFunction set);
++TOLUA_API void tolua_module (lua_State* L, const char* name, int hasvar);
++TOLUA_API void tolua_cclass (lua_State* L, const char* lname, const char* name, const char* base, lua_CFunction col);
++TOLUA_API void tolua_function (lua_State* L, const char* name, lua_CFunction func);
++TOLUA_API void tolua_constant (lua_State* L, const char* name, double value);
++TOLUA_API void tolua_variable (lua_State* L, const char* name, lua_CFunction get, lua_CFunction set);
++TOLUA_API void tolua_array (lua_State* L, const char* name, lua_CFunction get, lua_CFunction set);
+
+ /* TOLUA_API void tolua_set_call_event(lua_State* L, lua_CFunction func, char* type); */
+ /* TOLUA_API void tolua_addbase(lua_State* L, char* name, char* base); */
+--- src/lib/tolua_is.c.orig 2005-12-19 02:13:05.000000000 +0100
++++ src/lib/tolua_is.c 2008-03-13 23:11:27.000000000 +0100
+@@ -85,7 +85,7 @@
+ return lua_tostring(L,-1);
+ }
+
+-TOLUA_API void tolua_error (lua_State* L, char* msg, tolua_Error* err)
++TOLUA_API void tolua_error (lua_State* L, const char* msg, tolua_Error* err)
+ {
+ if (msg[0] == '#')
+ {
+--- src/lib/tolua_map.c.orig 2006-03-13 23:37:49.000000000 +0100
++++ src/lib/tolua_map.c 2008-03-13 23:21:58.000000000 +0100
+@@ -389,7 +389,7 @@
+ * It creates the correspoding metatable in the registry, for both 'type' and 'const type'.
+ * It maps 'const type' as being also a 'type'
+ */
+-TOLUA_API void tolua_usertype (lua_State* L, char* type)
++TOLUA_API void tolua_usertype (lua_State* L, const char* type)
+ {
+ char ctype[128] = "const ";
+ strncat(ctype,type,120);
+@@ -403,7 +403,7 @@
+ /* Begin module
+ * It pushes the module (or class) table on the stack
+ */
+-TOLUA_API void tolua_beginmodule (lua_State* L, char* name)
++TOLUA_API void tolua_beginmodule (lua_State* L, const char* name)
+ {
+ if (name)
+ {
+@@ -426,7 +426,7 @@
+ * It creates a new module
+ */
+ #if 1
+-TOLUA_API void tolua_module (lua_State* L, char* name, int hasvar)
++TOLUA_API void tolua_module (lua_State* L, const char* name, int hasvar)
+ {
+ if (name)
+ {
+@@ -462,7 +462,7 @@
+ lua_pop(L,1); /* pop module */
+ }
+ #else
+-TOLUA_API void tolua_module (lua_State* L, char* name, int hasvar)
++TOLUA_API void tolua_module (lua_State* L, const char* name, int hasvar)
+ {
+ if (name)
+ {
+@@ -518,7 +518,7 @@
+ /* Map C class
+ * It maps a C class, setting the appropriate inheritance and super classes.
+ */
+-TOLUA_API void tolua_cclass (lua_State* L, char* lname, char* name, char* base, lua_CFunction col)
++TOLUA_API void tolua_cclass (lua_State* L, const char* lname, const char* name, const char* base, lua_CFunction col)
+ {
+ char cname[128] = "const ";
+ char cbase[128] = "const ";
+@@ -577,7 +577,7 @@
+ /* Map function
+ * It assigns a function into the current module (or class)
+ */
+-TOLUA_API void tolua_function (lua_State* L, char* name, lua_CFunction func)
++TOLUA_API void tolua_function (lua_State* L, const char* name, lua_CFunction func)
+ {
+ lua_pushstring(L,name);
+ lua_pushcfunction(L,func);
+@@ -600,7 +600,7 @@
+ /* Map constant number
+ * It assigns a constant number into the current module (or class)
+ */
+-TOLUA_API void tolua_constant (lua_State* L, char* name, double value)
++TOLUA_API void tolua_constant (lua_State* L, const char* name, double value)
+ {
+ lua_pushstring(L,name);
+ tolua_pushnumber(L,value);
+@@ -611,7 +611,7 @@
+ /* Map variable
+ * It assigns a variable into the current module (or class)
+ */
+-TOLUA_API void tolua_variable (lua_State* L, char* name, lua_CFunction get, lua_CFunction set)
++TOLUA_API void tolua_variable (lua_State* L, const char* name, lua_CFunction get, lua_CFunction set)
+ {
+ /* get func */
+ lua_pushstring(L,".get");
+@@ -663,7 +663,7 @@
+ /* Map an array
+ * It assigns an array into the current module (or class)
+ */
+-TOLUA_API void tolua_array (lua_State* L, char* name, lua_CFunction get, lua_CFunction set)
++TOLUA_API void tolua_array (lua_State* L, const char* name, lua_CFunction get, lua_CFunction set)
+ {
+ lua_pushstring(L,".get");
+ lua_rawget(L,-2);
diff --git a/lang/tolua++/files/patch-src-lib-SCsub b/lang/tolua++/files/patch-src-lib-SCsub
new file mode 100644
index 000000000000..5b755fb8dd0a
--- /dev/null
+++ b/lang/tolua++/files/patch-src-lib-SCsub
@@ -0,0 +1,10 @@
+--- src/lib/SCsub.orig 2005-11-28 16:51:15.000000000 +0300
++++ src/lib/SCsub 2008-08-19 22:57:11.000000000 +0400
+@@ -9,5 +9,6 @@
+ 'tolua_to.c',
+ ]
+
+-env.lib_target = env.Library('#/lib/'+env['tolua_lib'], sources)
++env.lib_target = env.Library('#/lib/'+env['tolua_lib'], sources)
++env.lib_target += env.SharedLibrary('#/lib/'+env['tolua_lib'], sources)
+
diff --git a/lang/tolua++/pkg-plist b/lang/tolua++/pkg-plist
index ae3137aa5652..a0d273d2f3f0 100644
--- a/lang/tolua++/pkg-plist
+++ b/lang/tolua++/pkg-plist
@@ -1,4 +1,5 @@
%%LUA_BINDIR%%/tolua++
bin/tolua++-%%LUA_VER%%
%%LUA_LIBDIR%%/libtolua++.a
+%%LUA_LIBDIR%%/libtolua++.so
%%LUA_INCDIR%%/tolua++.h