added pkg-config file
build release not debug library [release 0.9.1-2mamba;Wed Sep 17 2014]
This commit is contained in:
parent
85d26b3dc0
commit
05b224dbea
@ -1,2 +1,4 @@
|
|||||||
# luabind
|
# luabind
|
||||||
|
|
||||||
|
luabind is a library, inspired by and similar to Boost.Python, that helps you create bindings between C++ and Lua. It has the ability to expose functions and classes, written in C++, to Lua.
|
||||||
|
|
||||||
|
59
luabind-0.9.1-libboost-1.55.patch
Normal file
59
luabind-0.9.1-libboost-1.55.patch
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
diff --git luabind-0.9.1/luabind/detail/call_function.hpp luabind-0.9.1-fixed/luabind/detail/call_function.hpp
|
||||||
|
index 1b45ec1..8f5afff 100644
|
||||||
|
--- luabind-0.9.1/luabind/detail/call_function.hpp
|
||||||
|
+++ luabind-0.9.1-fixed/luabind/detail/call_function.hpp
|
||||||
|
@@ -323,7 +323,8 @@ namespace luabind
|
||||||
|
|
||||||
|
#endif // LUABIND_CALL_FUNCTION_HPP_INCLUDED
|
||||||
|
|
||||||
|
-#elif BOOST_PP_ITERATION_FLAGS() == 1
|
||||||
|
+#else
|
||||||
|
+#if BOOST_PP_ITERATION_FLAGS() == 1
|
||||||
|
|
||||||
|
#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n *
|
||||||
|
#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n
|
||||||
|
@@ -440,4 +441,5 @@ namespace luabind
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
diff --git luabind-0.9.1/luabind/detail/call_member.hpp luabind-0.9.1-fixed/luabind/detail/call_member.hpp
|
||||||
|
index de8d563..e63555b 100644
|
||||||
|
--- luabind-0.9.1/luabind/detail/call_member.hpp
|
||||||
|
+++ luabind-0.9.1-fixed/luabind/detail/call_member.hpp
|
||||||
|
@@ -316,7 +316,8 @@ namespace luabind
|
||||||
|
|
||||||
|
#endif // LUABIND_CALL_MEMBER_HPP_INCLUDED
|
||||||
|
|
||||||
|
-#elif BOOST_PP_ITERATION_FLAGS() == 1
|
||||||
|
+#else
|
||||||
|
+#if BOOST_PP_ITERATION_FLAGS() == 1
|
||||||
|
|
||||||
|
#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n *
|
||||||
|
#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n
|
||||||
|
@@ -360,4 +361,5 @@ namespace luabind
|
||||||
|
#undef LUABIND_TUPLE_PARAMS
|
||||||
|
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
diff --git luabind-0.9.1/luabind/wrapper_base.hpp luabind-0.9.1-fixed/luabind/wrapper_base.hpp
|
||||||
|
index d54c668..0f88cc5 100755
|
||||||
|
--- luabind-0.9.1/luabind/wrapper_base.hpp
|
||||||
|
+++ luabind-0.9.1-fixed/luabind/wrapper_base.hpp
|
||||||
|
@@ -89,7 +89,8 @@ namespace luabind
|
||||||
|
|
||||||
|
#endif // LUABIND_WRAPPER_BASE_HPP_INCLUDED
|
||||||
|
|
||||||
|
-#elif BOOST_PP_ITERATION_FLAGS() == 1
|
||||||
|
+#else
|
||||||
|
+#if BOOST_PP_ITERATION_FLAGS() == 1
|
||||||
|
|
||||||
|
#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n *
|
||||||
|
#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n
|
||||||
|
@@ -188,3 +189,4 @@ namespace luabind
|
||||||
|
#undef N
|
||||||
|
|
||||||
|
#endif
|
||||||
|
+#endif
|
25
luabind-0.9.1-lua-5.2-Jamfile.patch
Normal file
25
luabind-0.9.1-lua-5.2-Jamfile.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
diff -Nru luabind-0.9.1.orig/Jamroot luabind-0.9.1/Jamroot
|
||||||
|
--- luabind-0.9.1.orig/Jamroot 2014-09-15 12:08:13.322118415 +0200
|
||||||
|
+++ luabind-0.9.1/Jamroot 2014-09-15 13:14:51.009240593 +0200
|
||||||
|
@@ -64,7 +64,7 @@
|
||||||
|
$(LUA_PATH) $(HOME)/Library/Frameworks /Library/Frameworks /usr /usr/local /opt/local /opt ;
|
||||||
|
|
||||||
|
local possible-suffixes =
|
||||||
|
- include/lua5.1 include/lua51 include/lua include ;
|
||||||
|
+ include/lua5.2 include/lua52 include/lua include ;
|
||||||
|
|
||||||
|
local includes = [ GLOB $(possible-prefixes)/$(possible-suffixes) : lua.h ] ;
|
||||||
|
|
||||||
|
@@ -83,10 +83,10 @@
|
||||||
|
|
||||||
|
local lib = $(prefix)/lib64 ;
|
||||||
|
|
||||||
|
- local names = liblua5.1 liblua51 liblua ;
|
||||||
|
+ local names = liblua5.2 liblua52 liblua ;
|
||||||
|
local extensions = .a .so ;
|
||||||
|
|
||||||
|
- library = [ GLOB $(lib)/lua51 $(lib)/lua5.1 $(lib)/lua $(lib) :
|
||||||
|
+ library = [ GLOB $(lib)/lua52 $(lib)/lua5.2 $(lib)/lua $(lib) :
|
||||||
|
$(names)$(extensions) ] ;
|
||||||
|
lib-name = [ MATCH "lib(.*)" : $(library[1]:B) ] ;
|
||||||
|
|
593
luabind-0.9.1-lua-5.2.patch
Normal file
593
luabind-0.9.1-lua-5.2.patch
Normal file
@ -0,0 +1,593 @@
|
|||||||
|
diff -ru luabind-0.9.1/doc/docs.rst luabind/doc/docs.rst
|
||||||
|
--- luabind-0.9.1/doc/docs.rst 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/doc/docs.rst 2014-09-15 11:25:43.353599276 +0200
|
||||||
|
@@ -1116,7 +1116,7 @@
|
||||||
|
If you want to manipulate the object with Lua functions directly you can push
|
||||||
|
it onto the Lua stack by calling ``push()``.
|
||||||
|
|
||||||
|
-The operator== will call lua_equal() on the operands and return its result.
|
||||||
|
+The operator== will call lua_compare() on the operands and return its result.
|
||||||
|
|
||||||
|
The ``is_valid()`` function tells you whether the object has been initialized
|
||||||
|
or not. When created with its default constructor, objects are invalid. To make
|
||||||
|
@@ -1734,7 +1734,7 @@
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
- lua_state L = lua_open();
|
||||||
|
+ lua_state L = luaL_newstate();
|
||||||
|
/* ... */
|
||||||
|
}
|
||||||
|
catch(luabind::error& e)
|
||||||
|
diff -ru luabind-0.9.1/examples/any_converter/any_converter.cpp luabind/examples/any_converter/any_converter.cpp
|
||||||
|
--- luabind-0.9.1/examples/any_converter/any_converter.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/examples/any_converter/any_converter.cpp 2014-09-15 11:25:43.355599277 +0200
|
||||||
|
@@ -69,7 +69,7 @@
|
||||||
|
register_any_converter<const char*>();
|
||||||
|
register_any_converter<std::string>();
|
||||||
|
|
||||||
|
- lua_State* L = lua_open();
|
||||||
|
+ lua_State* L = luaL_newstate();
|
||||||
|
#if LUA_VERSION_NUM >= 501
|
||||||
|
luaL_openlibs(L);
|
||||||
|
#else
|
||||||
|
diff -ru luabind-0.9.1/examples/cln/cln_test.cpp luabind/examples/cln/cln_test.cpp
|
||||||
|
--- luabind-0.9.1/examples/cln/cln_test.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/examples/cln/cln_test.cpp 2014-09-15 11:25:43.355599277 +0200
|
||||||
|
@@ -107,7 +107,7 @@
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
- lua_State* L = lua_open();
|
||||||
|
+ lua_State* L = luaL_newstate();
|
||||||
|
lua_baselibopen(L);
|
||||||
|
lua_mathlibopen(L);
|
||||||
|
luabind::open(L);
|
||||||
|
diff -ru luabind-0.9.1/examples/filesystem/filesystem.cpp luabind/examples/filesystem/filesystem.cpp
|
||||||
|
--- luabind-0.9.1/examples/filesystem/filesystem.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/examples/filesystem/filesystem.cpp 2014-09-15 11:25:43.355599277 +0200
|
||||||
|
@@ -78,7 +78,7 @@
|
||||||
|
|
||||||
|
int main(int argc, const char* argv[])
|
||||||
|
{
|
||||||
|
- lua_State* L = lua_open();
|
||||||
|
+ lua_State* L = luaL_newstate();
|
||||||
|
luaopen_base(L);
|
||||||
|
luaopen_string(L);
|
||||||
|
luaopen_table(L);
|
||||||
|
diff -ru luabind-0.9.1/examples/glut/glut_bind.cpp luabind/examples/glut/glut_bind.cpp
|
||||||
|
--- luabind-0.9.1/examples/glut/glut_bind.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/examples/glut/glut_bind.cpp 2014-09-15 11:25:43.356599277 +0200
|
||||||
|
@@ -167,7 +167,7 @@
|
||||||
|
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
- lua_State* L = lua_open();
|
||||||
|
+ lua_State* L = luaL_newstate();
|
||||||
|
lua_baselibopen(L);
|
||||||
|
lua_mathlibopen(L);
|
||||||
|
bind_glut(L);
|
||||||
|
diff -ru luabind-0.9.1/examples/intrusive_ptr/intrusive_ptr.cpp luabind/examples/intrusive_ptr/intrusive_ptr.cpp
|
||||||
|
--- luabind-0.9.1/examples/intrusive_ptr/intrusive_ptr.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/examples/intrusive_ptr/intrusive_ptr.cpp 2014-09-15 11:25:43.356599277 +0200
|
||||||
|
@@ -140,7 +140,7 @@
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
- lua_State* L = lua_open();
|
||||||
|
+ lua_State* L = luaL_newstate();
|
||||||
|
lua_baselibopen(L);
|
||||||
|
|
||||||
|
luabind::open(L);
|
||||||
|
diff -ru luabind-0.9.1/examples/regexp/regex_wrap.cpp luabind/examples/regexp/regex_wrap.cpp
|
||||||
|
--- luabind-0.9.1/examples/regexp/regex_wrap.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/examples/regexp/regex_wrap.cpp 2014-09-15 11:25:43.357599278 +0200
|
||||||
|
@@ -44,7 +44,7 @@
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
- lua_State* L = lua_open();
|
||||||
|
+ lua_State* L = luaL_newstate();
|
||||||
|
lua_baselibopen(L);
|
||||||
|
lua_strlibopen(L);
|
||||||
|
luabind::open(L);
|
||||||
|
diff -ru luabind-0.9.1/luabind/detail/call_function.hpp luabind/luabind/detail/call_function.hpp
|
||||||
|
--- luabind-0.9.1/luabind/detail/call_function.hpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/luabind/detail/call_function.hpp 2014-09-15 11:25:43.358599278 +0200
|
||||||
|
@@ -346,8 +346,7 @@
|
||||||
|
, luabind::detail::proxy_function_void_caller<boost::tuples::tuple<BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_TUPLE_PARAMS, _)> >
|
||||||
|
, luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_TUPLE_PARAMS, _)> > >::type proxy_type;
|
||||||
|
|
||||||
|
- lua_pushstring(L, name);
|
||||||
|
- lua_gettable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_getglobal(L, name);
|
||||||
|
|
||||||
|
return proxy_type(L, 1, &detail::pcall, args);
|
||||||
|
}
|
||||||
|
@@ -389,8 +388,7 @@
|
||||||
|
, luabind::detail::proxy_function_void_caller<boost::tuples::tuple<BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_TUPLE_PARAMS, _)> >
|
||||||
|
, luabind::detail::proxy_function_caller<Ret, boost::tuples::tuple<BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_TUPLE_PARAMS, _)> > >::type proxy_type;
|
||||||
|
|
||||||
|
- lua_pushstring(L, name);
|
||||||
|
- lua_gettable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_getglobal(L, name);
|
||||||
|
|
||||||
|
return proxy_type(L, 1, &detail::resume_impl, args);
|
||||||
|
}
|
||||||
|
diff -ru luabind-0.9.1/luabind/detail/policy.hpp luabind/luabind/detail/policy.hpp
|
||||||
|
--- luabind-0.9.1/luabind/detail/policy.hpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/luabind/detail/policy.hpp 2014-09-15 11:25:43.362599280 +0200
|
||||||
|
@@ -66,6 +66,10 @@
|
||||||
|
#include <luabind/from_stack.hpp>
|
||||||
|
#include <luabind/typeid.hpp>
|
||||||
|
|
||||||
|
+#if LUA_VERSION_NUM < 502
|
||||||
|
+# define lua_rawlen lua_objlen
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
namespace luabind
|
||||||
|
{
|
||||||
|
namespace detail
|
||||||
|
@@ -745,7 +749,7 @@
|
||||||
|
|
||||||
|
std::string from(lua_State* L, int index)
|
||||||
|
{
|
||||||
|
- return std::string(lua_tostring(L, index), lua_strlen(L, index));
|
||||||
|
+ return std::string(lua_tostring(L, index), lua_rawlen(L, index));
|
||||||
|
}
|
||||||
|
|
||||||
|
void to(lua_State* L, std::string const& value)
|
||||||
|
@@ -1017,5 +1021,9 @@
|
||||||
|
#endif
|
||||||
|
}}
|
||||||
|
|
||||||
|
+#if LUA_VERSION_NUM < 502
|
||||||
|
+# undef lua_rawlen
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#endif // LUABIND_POLICY_HPP_INCLUDED
|
||||||
|
|
||||||
|
diff -ru luabind-0.9.1/luabind/object.hpp luabind/luabind/object.hpp
|
||||||
|
--- luabind-0.9.1/luabind/object.hpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/luabind/object.hpp 2014-09-15 11:25:43.365599281 +0200
|
||||||
|
@@ -45,6 +45,14 @@
|
||||||
|
#include <boost/preprocessor/iteration/iterate.hpp>
|
||||||
|
#include <boost/utility/enable_if.hpp>
|
||||||
|
|
||||||
|
+#if LUA_VERSION_NUM < 502
|
||||||
|
+# define lua_compare(L, index1, index2, fn) fn(L, index1, index2)
|
||||||
|
+# define LUA_OPEQ lua_equal
|
||||||
|
+# define LUA_OPLT lua_lessthan
|
||||||
|
+# define lua_rawlen lua_objlen
|
||||||
|
+# define lua_pushglobaltable(L) lua_pushvalue(L, LUA_GLOBALSINDEX)
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
namespace luabind {
|
||||||
|
|
||||||
|
namespace detail
|
||||||
|
@@ -208,11 +216,11 @@
|
||||||
|
detail::stack_pop pop2(L, 1); \
|
||||||
|
detail::push(L, rhs); \
|
||||||
|
\
|
||||||
|
- return fn(L, -1, -2) != 0; \
|
||||||
|
+ return lua_compare(L, -1, -2, fn) != 0; \
|
||||||
|
}
|
||||||
|
|
||||||
|
-LUABIND_BINARY_OP_DEF(==, lua_equal)
|
||||||
|
-LUABIND_BINARY_OP_DEF(<, lua_lessthan)
|
||||||
|
+LUABIND_BINARY_OP_DEF(==, LUA_OPEQ)
|
||||||
|
+LUABIND_BINARY_OP_DEF(<, LUA_OPLT)
|
||||||
|
|
||||||
|
template<class ValueWrapper>
|
||||||
|
std::ostream& operator<<(std::ostream& os
|
||||||
|
@@ -225,7 +233,7 @@
|
||||||
|
value_wrapper_traits<ValueWrapper>::unwrap(interpreter
|
||||||
|
, static_cast<ValueWrapper const&>(v));
|
||||||
|
char const* p = lua_tostring(interpreter, -1);
|
||||||
|
- std::size_t len = lua_strlen(interpreter, -1);
|
||||||
|
+ std::size_t len = lua_rawlen(interpreter, -1);
|
||||||
|
std::copy(p, p + len, std::ostream_iterator<char>(os));
|
||||||
|
return os;
|
||||||
|
}
|
||||||
|
@@ -523,7 +531,7 @@
|
||||||
|
detail::stack_pop pop(m_interpreter, 2);
|
||||||
|
m_key.push(m_interpreter);
|
||||||
|
other.m_key.push(m_interpreter);
|
||||||
|
- return lua_equal(m_interpreter, -2, -1) != 0;
|
||||||
|
+ return lua_compare(m_interpreter, -2, -1, LUA_OPEQ) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
adl::iterator_proxy<AccessPolicy> dereference() const
|
||||||
|
@@ -1207,7 +1215,7 @@
|
||||||
|
// this could be optimized by returning a proxy
|
||||||
|
inline object globals(lua_State* interpreter)
|
||||||
|
{
|
||||||
|
- lua_pushvalue(interpreter, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_pushglobaltable(interpreter);
|
||||||
|
detail::stack_pop pop(interpreter, 1);
|
||||||
|
return object(from_stack(interpreter, -1));
|
||||||
|
}
|
||||||
|
@@ -1406,5 +1414,13 @@
|
||||||
|
|
||||||
|
} // namespace luabind
|
||||||
|
|
||||||
|
+#if LUA_VERSION_NUM < 502
|
||||||
|
+# undef lua_compare
|
||||||
|
+# undef LUA_OPEQ
|
||||||
|
+# undef LUA_OPLT
|
||||||
|
+# undef lua_rawlen
|
||||||
|
+# undef lua_pushglobaltable
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#endif // LUABIND_OBJECT_050419_HPP
|
||||||
|
|
||||||
|
diff -ru luabind-0.9.1/src/class_rep.cpp luabind/src/class_rep.cpp
|
||||||
|
--- luabind-0.9.1/src/class_rep.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/src/class_rep.cpp 2014-09-15 11:25:43.368599282 +0200
|
||||||
|
@@ -31,6 +31,10 @@
|
||||||
|
#include <luabind/get_main_thread.hpp>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
+#if LUA_VERSION_NUM < 502
|
||||||
|
+# define lua_rawlen lua_objlen
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
using namespace luabind::detail;
|
||||||
|
|
||||||
|
namespace luabind { namespace detail
|
||||||
|
@@ -146,11 +150,10 @@
|
||||||
|
&& cls->get_class_type() == class_rep::lua_class
|
||||||
|
&& !cls->bases().empty())
|
||||||
|
{
|
||||||
|
- lua_pushstring(L, "super");
|
||||||
|
lua_pushvalue(L, 1);
|
||||||
|
- lua_pushvalue(L, -3);
|
||||||
|
+ lua_pushvalue(L, -2);
|
||||||
|
lua_pushcclosure(L, super_callback, 2);
|
||||||
|
- lua_settable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_setglobal(L, "super");
|
||||||
|
}
|
||||||
|
|
||||||
|
lua_pushvalue(L, -1);
|
||||||
|
@@ -169,9 +172,8 @@
|
||||||
|
|
||||||
|
if (super_deprecation_disabled)
|
||||||
|
{
|
||||||
|
- lua_pushstring(L, "super");
|
||||||
|
lua_pushnil(L);
|
||||||
|
- lua_settable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_setglobal(L, "super");
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
@@ -214,17 +216,15 @@
|
||||||
|
|
||||||
|
if (base->bases().empty())
|
||||||
|
{
|
||||||
|
- lua_pushstring(L, "super");
|
||||||
|
lua_pushnil(L);
|
||||||
|
- lua_settable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_setglobal(L, "super");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- lua_pushstring(L, "super");
|
||||||
|
lua_pushlightuserdata(L, base);
|
||||||
|
lua_pushvalue(L, lua_upvalueindex(2));
|
||||||
|
lua_pushcclosure(L, super_callback, 2);
|
||||||
|
- lua_settable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_setglobal(L, "super");
|
||||||
|
}
|
||||||
|
|
||||||
|
base->get_table(L);
|
||||||
|
@@ -241,9 +241,8 @@
|
||||||
|
// TODO: instead of clearing the global variable "super"
|
||||||
|
// store it temporarily in the registry. maybe we should
|
||||||
|
// have some kind of warning if the super global is used?
|
||||||
|
- lua_pushstring(L, "super");
|
||||||
|
lua_pushnil(L);
|
||||||
|
- lua_settable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_setglobal(L, "super");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@@ -292,7 +291,7 @@
|
||||||
|
|
||||||
|
const char* key = lua_tostring(L, 2);
|
||||||
|
|
||||||
|
- if (std::strlen(key) != lua_strlen(L, 2))
|
||||||
|
+ if (std::strlen(key) != lua_rawlen(L, 2))
|
||||||
|
{
|
||||||
|
lua_pushnil(L);
|
||||||
|
return 1;
|
||||||
|
diff -ru luabind-0.9.1/src/create_class.cpp luabind/src/create_class.cpp
|
||||||
|
--- luabind-0.9.1/src/create_class.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/src/create_class.cpp 2014-09-15 11:25:43.368599282 +0200
|
||||||
|
@@ -26,6 +26,12 @@
|
||||||
|
|
||||||
|
#include <luabind/luabind.hpp>
|
||||||
|
|
||||||
|
+#if LUA_VERSION_NUM < 502
|
||||||
|
+# define lua_compare(L, index1, index2, fn) fn(L, index1, index2)
|
||||||
|
+# define LUA_OPEQ lua_equal
|
||||||
|
+# define lua_rawlen lua_objlen
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
namespace luabind { namespace detail
|
||||||
|
{
|
||||||
|
namespace
|
||||||
|
@@ -40,7 +46,7 @@
|
||||||
|
while (lua_next(L, -2))
|
||||||
|
{
|
||||||
|
lua_pushstring(L, "__init");
|
||||||
|
- if (lua_equal(L, -1, -3))
|
||||||
|
+ if (lua_compare(L, -1, -3, LUA_OPEQ))
|
||||||
|
{
|
||||||
|
lua_pop(L, 2);
|
||||||
|
continue;
|
||||||
|
@@ -48,7 +54,7 @@
|
||||||
|
else lua_pop(L, 1); // __init string
|
||||||
|
|
||||||
|
lua_pushstring(L, "__finalize");
|
||||||
|
- if (lua_equal(L, -1, -3))
|
||||||
|
+ if (lua_compare(L, -1, -3, LUA_OPEQ))
|
||||||
|
{
|
||||||
|
lua_pop(L, 2);
|
||||||
|
continue;
|
||||||
|
@@ -112,7 +118,7 @@
|
||||||
|
lua_error(L);
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (std::strlen(lua_tostring(L, 1)) != lua_strlen(L, 1))
|
||||||
|
+ if (std::strlen(lua_tostring(L, 1)) != lua_rawlen(L, 1))
|
||||||
|
{
|
||||||
|
lua_pushstring(L, "luabind does not support class names with extra nulls");
|
||||||
|
lua_error(L);
|
||||||
|
@@ -126,9 +132,8 @@
|
||||||
|
new(c) class_rep(L, name);
|
||||||
|
|
||||||
|
// make the class globally available
|
||||||
|
- lua_pushstring(L, name);
|
||||||
|
- lua_pushvalue(L, -2);
|
||||||
|
- lua_settable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_pushvalue(L, -1);
|
||||||
|
+ lua_setglobal(L, name);
|
||||||
|
|
||||||
|
// also add it to the closure as return value
|
||||||
|
lua_pushcclosure(L, &stage2, 1);
|
||||||
|
diff -ru luabind-0.9.1/src/inheritance.cpp luabind/src/inheritance.cpp
|
||||||
|
--- luabind-0.9.1/src/inheritance.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/src/inheritance.cpp 2014-09-15 11:25:43.368599282 +0200
|
||||||
|
@@ -64,7 +64,7 @@
|
||||||
|
void put(
|
||||||
|
class_id src, class_id target, class_id dynamic_id
|
||||||
|
, std::ptrdiff_t object_offset
|
||||||
|
- , std::size_t distance, std::ptrdiff_t offset);
|
||||||
|
+ , std::ptrdiff_t offset, int distance);
|
||||||
|
|
||||||
|
void invalidate();
|
||||||
|
|
||||||
|
@@ -90,7 +90,7 @@
|
||||||
|
|
||||||
|
void cache::put(
|
||||||
|
class_id src, class_id target, class_id dynamic_id
|
||||||
|
- , std::ptrdiff_t object_offset, std::size_t distance, std::ptrdiff_t offset)
|
||||||
|
+ , std::ptrdiff_t object_offset, std::ptrdiff_t offset, int distance)
|
||||||
|
{
|
||||||
|
m_cache.insert(std::make_pair(
|
||||||
|
key_type(src, target, dynamic_id, object_offset)
|
||||||
|
@@ -175,7 +175,7 @@
|
||||||
|
{
|
||||||
|
m_cache.put(
|
||||||
|
src, target, dynamic_id, object_offset
|
||||||
|
- , qe.distance, (char*)qe.p - (char*)p
|
||||||
|
+ , (char*)qe.p - (char*)p, qe.distance
|
||||||
|
);
|
||||||
|
|
||||||
|
return std::make_pair(qe.p, qe.distance);
|
||||||
|
diff -ru luabind-0.9.1/src/object_rep.cpp luabind/src/object_rep.cpp
|
||||||
|
--- luabind-0.9.1/src/object_rep.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/src/object_rep.cpp 2014-09-15 11:25:43.368599282 +0200
|
||||||
|
@@ -25,6 +25,11 @@
|
||||||
|
#include <luabind/detail/object_rep.hpp>
|
||||||
|
#include <luabind/detail/class_rep.hpp>
|
||||||
|
|
||||||
|
+#if LUA_VERSION_NUM < 502
|
||||||
|
+# define lua_getuservalue lua_getfenv
|
||||||
|
+# define lua_setuservalue lua_setfenv
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
namespace luabind { namespace detail
|
||||||
|
{
|
||||||
|
|
||||||
|
@@ -94,7 +99,7 @@
|
||||||
|
|
||||||
|
int set_instance_value(lua_State* L)
|
||||||
|
{
|
||||||
|
- lua_getfenv(L, 1);
|
||||||
|
+ lua_getuservalue(L, 1);
|
||||||
|
lua_pushvalue(L, 2);
|
||||||
|
lua_rawget(L, -2);
|
||||||
|
|
||||||
|
@@ -129,7 +134,7 @@
|
||||||
|
{
|
||||||
|
lua_newtable(L);
|
||||||
|
lua_pushvalue(L, -1);
|
||||||
|
- lua_setfenv(L, 1);
|
||||||
|
+ lua_setuservalue(L, 1);
|
||||||
|
lua_pushvalue(L, 4);
|
||||||
|
lua_setmetatable(L, -2);
|
||||||
|
}
|
||||||
|
@@ -147,7 +152,7 @@
|
||||||
|
|
||||||
|
int get_instance_value(lua_State* L)
|
||||||
|
{
|
||||||
|
- lua_getfenv(L, 1);
|
||||||
|
+ lua_getuservalue(L, 1);
|
||||||
|
lua_pushvalue(L, 2);
|
||||||
|
lua_rawget(L, -2);
|
||||||
|
|
||||||
|
@@ -262,7 +267,7 @@
|
||||||
|
void* storage = lua_newuserdata(L, sizeof(object_rep));
|
||||||
|
object_rep* result = new (storage) object_rep(0, cls);
|
||||||
|
cls->get_table(L);
|
||||||
|
- lua_setfenv(L, -2);
|
||||||
|
+ lua_setuservalue(L, -2);
|
||||||
|
lua_rawgeti(L, LUA_REGISTRYINDEX, cls->metatable_ref());
|
||||||
|
lua_setmetatable(L, -2);
|
||||||
|
return result;
|
||||||
|
diff -ru luabind-0.9.1/src/open.cpp luabind/src/open.cpp
|
||||||
|
--- luabind-0.9.1/src/open.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/src/open.cpp 2014-09-15 11:25:43.368599282 +0200
|
||||||
|
@@ -178,21 +178,18 @@
|
||||||
|
lua_settable(L, LUA_REGISTRYINDEX);
|
||||||
|
|
||||||
|
// add functions (class, cast etc...)
|
||||||
|
- lua_pushstring(L, "class");
|
||||||
|
lua_pushcclosure(L, detail::create_class::stage1, 0);
|
||||||
|
- lua_settable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_setglobal(L, "class");
|
||||||
|
|
||||||
|
- lua_pushstring(L, "property");
|
||||||
|
lua_pushcclosure(L, &make_property, 0);
|
||||||
|
- lua_settable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_setglobal(L, "property");
|
||||||
|
|
||||||
|
lua_pushlightuserdata(L, &main_thread_tag);
|
||||||
|
lua_pushlightuserdata(L, L);
|
||||||
|
lua_rawset(L, LUA_REGISTRYINDEX);
|
||||||
|
|
||||||
|
- lua_pushstring(L, "super");
|
||||||
|
lua_pushcclosure(L, &deprecated_super, 0);
|
||||||
|
- lua_settable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_setglobal(L, "super");
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace luabind
|
||||||
|
diff -ru luabind-0.9.1/src/pcall.cpp luabind/src/pcall.cpp
|
||||||
|
--- luabind-0.9.1/src/pcall.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/src/pcall.cpp 2014-09-15 11:25:43.369599282 +0200
|
||||||
|
@@ -47,14 +47,14 @@
|
||||||
|
|
||||||
|
int resume_impl(lua_State *L, int nargs, int)
|
||||||
|
{
|
||||||
|
-#if LUA_VERSION_NUM >= 501
|
||||||
|
+#if LUA_VERSION_NUM >= 502
|
||||||
|
+ int res = lua_resume(L, NULL, nargs);
|
||||||
|
+#else
|
||||||
|
+ int res = lua_resume(L, nargs);
|
||||||
|
+#endif
|
||||||
|
// Lua 5.1 added LUA_YIELD as a possible return value,
|
||||||
|
// this was causing crashes, because the caller expects 0 on success.
|
||||||
|
- int res = lua_resume(L, nargs);
|
||||||
|
return (res == LUA_YIELD) ? 0 : res;
|
||||||
|
-#else
|
||||||
|
- return lua_resume(L, nargs);
|
||||||
|
-#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
diff -ru luabind-0.9.1/src/scope.cpp luabind/src/scope.cpp
|
||||||
|
--- luabind-0.9.1/src/scope.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/src/scope.cpp 2014-09-15 11:25:43.369599282 +0200
|
||||||
|
@@ -29,6 +29,10 @@
|
||||||
|
#include <luabind/detail/stack_utils.hpp>
|
||||||
|
#include <cassert>
|
||||||
|
|
||||||
|
+#if LUA_VERSION_NUM < 502
|
||||||
|
+# define lua_pushglobaltable(L) lua_pushvalue(L, LUA_GLOBALSINDEX)
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
namespace luabind { namespace detail {
|
||||||
|
|
||||||
|
registration::registration()
|
||||||
|
@@ -136,22 +140,20 @@
|
||||||
|
{
|
||||||
|
if (m_name)
|
||||||
|
{
|
||||||
|
- lua_pushstring(m_state, m_name);
|
||||||
|
- lua_gettable(m_state, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_getglobal(m_state, m_name);
|
||||||
|
|
||||||
|
if (!lua_istable(m_state, -1))
|
||||||
|
{
|
||||||
|
lua_pop(m_state, 1);
|
||||||
|
|
||||||
|
lua_newtable(m_state);
|
||||||
|
- lua_pushstring(m_state, m_name);
|
||||||
|
- lua_pushvalue(m_state, -2);
|
||||||
|
- lua_settable(m_state, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_pushvalue(m_state, -1);
|
||||||
|
+ lua_setglobal(m_state, m_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- lua_pushvalue(m_state, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_pushglobaltable(m_state);
|
||||||
|
}
|
||||||
|
|
||||||
|
lua_pop_stack guard(m_state);
|
||||||
|
diff -ru luabind-0.9.1/test/benchmark.cpp luabind/test/benchmark.cpp
|
||||||
|
--- luabind-0.9.1/test/benchmark.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/test/benchmark.cpp 2014-09-15 11:25:43.369599282 +0200
|
||||||
|
@@ -41,7 +41,7 @@
|
||||||
|
|
||||||
|
using namespace luabind;
|
||||||
|
|
||||||
|
- lua_State* L = lua_open();
|
||||||
|
+ lua_State* L = luaL_newstate();
|
||||||
|
open(L);
|
||||||
|
|
||||||
|
class_<A>(L, "A")
|
||||||
|
@@ -49,9 +49,8 @@
|
||||||
|
|
||||||
|
function(L, "test1", &f1);
|
||||||
|
|
||||||
|
- lua_pushstring(L, "test2");
|
||||||
|
lua_pushcclosure(L, &f2, 0);
|
||||||
|
- lua_settable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_setglobal(L, "test2");
|
||||||
|
|
||||||
|
std::clock_t total1 = 0;
|
||||||
|
std::clock_t total2 = 0;
|
||||||
|
diff -ru luabind-0.9.1/test/main.cpp luabind/test/main.cpp
|
||||||
|
--- luabind-0.9.1/test/main.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/test/main.cpp 2014-09-15 11:25:43.369599282 +0200
|
||||||
|
@@ -50,7 +50,7 @@
|
||||||
|
};
|
||||||
|
|
||||||
|
lua_state::lua_state()
|
||||||
|
- : m_state(lua_open())
|
||||||
|
+ : m_state(luaL_newstate())
|
||||||
|
{
|
||||||
|
luaopen_base(m_state);
|
||||||
|
#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 501
|
||||||
|
diff -ru luabind-0.9.1/test/test_free_functions.cpp luabind/test/test_free_functions.cpp
|
||||||
|
--- luabind-0.9.1/test/test_free_functions.cpp 2010-08-31 15:24:52.000000000 +0200
|
||||||
|
+++ luabind/test/test_free_functions.cpp 2014-09-15 11:25:43.373599284 +0200
|
||||||
|
@@ -77,9 +77,8 @@
|
||||||
|
{
|
||||||
|
using namespace luabind;
|
||||||
|
|
||||||
|
- lua_pushstring(L, "f");
|
||||||
|
lua_pushcclosure(L, &function_should_never_be_called, 0);
|
||||||
|
- lua_settable(L, LUA_GLOBALSINDEX);
|
||||||
|
+ lua_setglobal(L, "f");
|
||||||
|
|
||||||
|
DOSTRING(L, "assert(f() == 10)");
|
||||||
|
|
||||||
|
@@ -145,7 +144,12 @@
|
||||||
|
catch(luabind::error const& e)
|
||||||
|
{
|
||||||
|
if (std::string("[string \"function failing_fun() error('expected "
|
||||||
|
- "erro...\"]:1: expected error message") != lua_tostring(L, -1))
|
||||||
|
+#if LUA_VERSION_NUM >= 502
|
||||||
|
+ "error ..."
|
||||||
|
+#else
|
||||||
|
+ "erro..."
|
||||||
|
+#endif
|
||||||
|
+ "\"]:1: expected error message") != lua_tostring(L, -1))
|
||||||
|
{
|
||||||
|
TEST_ERROR("function failed with unexpected error message");
|
||||||
|
}
|
11
luabind-0.9.1-x86_64-libdir.patch
Normal file
11
luabind-0.9.1-x86_64-libdir.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- luabind-0.9.1/Jamroot.orig 2014-09-15 11:34:08.535786284 +0200
|
||||||
|
+++ luabind-0.9.1/Jamroot 2014-09-15 11:33:08.276763977 +0200
|
||||||
|
@@ -81,7 +81,7 @@
|
||||||
|
prefix = $(prefix:D) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
- local lib = $(prefix)/lib ;
|
||||||
|
+ local lib = $(prefix)/lib64 ;
|
||||||
|
|
||||||
|
local names = liblua5.1 liblua51 liblua ;
|
||||||
|
local extensions = .a .so ;
|
107
luabind.spec
Normal file
107
luabind.spec
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
Name: luabind
|
||||||
|
Version: 0.9.1
|
||||||
|
Release: 2mamba
|
||||||
|
Summary: A library that helps you create bindings between C++ and Lua
|
||||||
|
Group: Development/Libraries
|
||||||
|
Vendor: openmamba
|
||||||
|
Distribution: openmamba
|
||||||
|
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||||
|
URL: http://sourceforge.net/projects/luabind/
|
||||||
|
Source: http://downloads.sourceforge.net/project/luabind/luabind/%{version}/luabind-%{version}.tar.gz
|
||||||
|
Source1: http://prdownloads.sourceforge.net/boost/boost-build-2.0-m12.tar.bz2
|
||||||
|
Patch0: luabind-0.9.1-lua-5.2.patch
|
||||||
|
Patch1: luabind-0.9.1-x86_64-libdir.patch
|
||||||
|
Patch2: luabind-0.9.1-libboost-1.55.patch
|
||||||
|
Patch3: luabind-0.9.1-lua-5.2-Jamfile.patch
|
||||||
|
License: MIT
|
||||||
|
## AUTOBUILDREQ-BEGIN
|
||||||
|
BuildRequires: glibc-devel
|
||||||
|
BuildRequires: libgcc
|
||||||
|
BuildRequires: liblua-devel
|
||||||
|
BuildRequires: libstdc++6-devel
|
||||||
|
## AUTOBUILDREQ-END
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||||
|
|
||||||
|
%description
|
||||||
|
luabind is a library, inspired by and similar to Boost.Python, that helps you create bindings between C++ and Lua. It has the ability to expose functions and classes, written in C++, to Lua.
|
||||||
|
|
||||||
|
%package -n lib%{name}
|
||||||
|
Group: System/Libraries
|
||||||
|
Summary: Shared libraries for %{name}
|
||||||
|
|
||||||
|
%description -n lib%{name}
|
||||||
|
This package contains shared libraries for %{name}.
|
||||||
|
|
||||||
|
%package -n lib%{name}-devel
|
||||||
|
Group: Development/Libraries
|
||||||
|
Summary: Development files for %{name}
|
||||||
|
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||||||
|
|
||||||
|
%description -n lib%{name}-devel
|
||||||
|
This package contains libraries and header files for developing applications that use %{name}.
|
||||||
|
|
||||||
|
%debug_package
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -a1
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
|
%ifnarch x86_64
|
||||||
|
sed -i "s|/lib64|/lib|" Jamroot
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%build
|
||||||
|
export BOOST_BUILD_PATH=`pwd`/boost-build
|
||||||
|
bjam release
|
||||||
|
|
||||||
|
%install
|
||||||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||||
|
export BOOST_BUILD_PATH=`pwd`/boost-build
|
||||||
|
bjam install release --prefix=%{buildroot}%{_prefix} --libdir=%{buildroot}%{_libdir}
|
||||||
|
|
||||||
|
install -d -m0755 %{buildroot}%{_libdir}/pkgconfig
|
||||||
|
cat > %{buildroot}%{_libdir}/pkgconfig/luabind.pc << _EOF
|
||||||
|
prefix=%{_prefix}
|
||||||
|
exec_prefix=\${prefix}
|
||||||
|
libdir=%{_libdir}
|
||||||
|
includedir=\${prefix}/include
|
||||||
|
|
||||||
|
Name: Luabind
|
||||||
|
Description: c++ binding for lua
|
||||||
|
URL: http://www.rasterbar.com/products/luabind.html
|
||||||
|
Version: 0.9.1
|
||||||
|
Libs: -L\${libdir} -lluabind
|
||||||
|
Libs.private: -llua5.2
|
||||||
|
Cflags: -I\${includedir} -I%{_includedir}/lua5.2
|
||||||
|
_EOF
|
||||||
|
|
||||||
|
%clean
|
||||||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||||
|
|
||||||
|
%post -n lib%{name} -p /sbin/ldconfig
|
||||||
|
%postun -n lib%{name} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files -n lib%{name}
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_libdir}/libluabind.so.*
|
||||||
|
%doc LICENSE
|
||||||
|
|
||||||
|
%files -n lib%{name}-devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%dir %{_includedir}/luabind/
|
||||||
|
%{_includedir}/luabind/*.hpp
|
||||||
|
%dir %{_includedir}/luabind/detail/
|
||||||
|
%{_includedir}/luabind/detail/*.hpp
|
||||||
|
%{_libdir}/libluabind.so
|
||||||
|
%{_libdir}/pkgconfig/luabind.pc
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Wed Sep 17 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 0.9.1-2mamba
|
||||||
|
- added pkg-config file
|
||||||
|
- build release not debug library
|
||||||
|
|
||||||
|
* Mon Sep 15 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 0.9.1-1mamba
|
||||||
|
- package created using the webbuild interface
|
Loading…
Reference in New Issue
Block a user