- fix build with Lua 5.2 (#992811)

epel9
Dan Horák 12 years ago
parent c7b2a0831a
commit fadb566c4e

@ -0,0 +1,100 @@
diff -up podofo-0.9.1/tools/podofocolor/lua_compat.h.lua52 podofo-0.9.1/tools/podofocolor/lua_compat.h
--- podofo-0.9.1/tools/podofocolor/lua_compat.h.lua52 2010-12-29 18:36:59.000000000 +0100
+++ podofo-0.9.1/tools/podofocolor/lua_compat.h 2013-08-20 16:23:00.356712464 +0200
@@ -11,14 +11,38 @@ extern "C" {
#define LUA_VERSION_NUM 0
#endif
-// Handle an API difference in the dofile call between
+// Handle an API difference in the lua_open call between
+// Lua 5.1 and Lua 5.2.
+#if LUA_VERSION_NUM >= 502
+inline lua_State* imp_lua_open(void) {
+ return luaL_newstate();
+}
+inline size_t imp_lua_objlen(lua_State *L, int index) {
+ return lua_rawlen(L, index);
+}
+#else
+inline lua_State* imp_lua_open(void) {
+ return lua_open();
+}
+inline size_t imp_lua_objlen(lua_State *L, int index) {
+ return lua_objlen(L, index);
+}
+#endif
+
+// Handle an API difference in the dofile and getn calls between
// Lua 5.0 and Lua 5.1.
#if LUA_VERSION_NUM >= 501
inline int imp_lua_dofile(lua_State* L, const char * path) {
return luaL_dofile(L, path);
}
+inline int imp_lua_getn(lua_State *L, int t) {
+ return imp_lua_objlen(L, t);
+}
#else
inline int imp_lua_dofile(lua_State* L, const char * path) {
return lua_dofile(L, path);
}
+inline int imp_lua_getn(lua_State *L, int t) {
+ return luaL_getn(L, t);
+}
#endif
diff -up podofo-0.9.1/tools/podofocolor/luaconverter.cpp.lua52 podofo-0.9.1/tools/podofocolor/luaconverter.cpp
--- podofo-0.9.1/tools/podofocolor/luaconverter.cpp.lua52 2010-12-29 19:08:31.000000000 +0100
+++ podofo-0.9.1/tools/podofocolor/luaconverter.cpp 2013-08-20 16:23:00.356712464 +0200
@@ -44,7 +44,7 @@ using namespace PoDoFo;
LuaMachina::LuaMachina()
{
/* Init the Lua interpreter */
- L = lua_open();
+ L = imp_lua_open();
if (!L)
{
throw std::runtime_error("Whoops! Failed to open lua!");
@@ -117,7 +117,7 @@ PdfColor LuaConverter::GetColorFromRetur
size_t len;
luaL_checktype(m_machina.State(), 1, LUA_TTABLE);
- len = luaL_getn( m_machina.State(), -1 );
+ len = imp_lua_getn( m_machina.State(), -1 );
// Lua 5.1 only
//len = lua_objlen( m_machina.State(), -1 );
diff -up podofo-0.9.1/tools/podofoimpose/lua_compat.h.lua52 podofo-0.9.1/tools/podofoimpose/lua_compat.h
--- podofo-0.9.1/tools/podofoimpose/lua_compat.h.lua52 2008-10-16 11:10:18.000000000 +0200
+++ podofo-0.9.1/tools/podofoimpose/lua_compat.h 2013-08-20 16:23:00.357712447 +0200
@@ -11,7 +11,19 @@ extern "C" {
#define LUA_VERSION_NUM 0
#endif
-// Handle an API difference in the dofile call between
+// Handle an API difference in the lua_open call between
+// Lua 5.1 and Lua 5.2.
+#if LUA_VERSION_NUM >= 502
+inline lua_State* imp_lua_open(void) {
+ return luaL_newstate();
+}
+#else
+inline lua_State* imp_lua_open(void) {
+ return lua_open();
+}
+#endif
+
+// Handle an API difference in the dofile and getn calls between
// Lua 5.0 and Lua 5.1.
#if LUA_VERSION_NUM >= 501
inline int imp_lua_dofile(lua_State* L, const char * path) {
diff -up podofo-0.9.1/tools/podofoimpose/planreader_lua.cpp.lua52 podofo-0.9.1/tools/podofoimpose/planreader_lua.cpp
--- podofo-0.9.1/tools/podofoimpose/planreader_lua.cpp.lua52 2013-08-20 16:23:00.357712447 +0200
+++ podofo-0.9.1/tools/podofoimpose/planreader_lua.cpp 2013-08-20 16:24:50.856848739 +0200
@@ -24,7 +24,7 @@ LuaMachina::LuaMachina()
{
int error;
/* Init the Lua interpreter */
- L = lua_open();
+ L = imp_lua_open();
if (!L)
{
throw std::runtime_error("Whoops! Failed to open lua!");

@ -1,6 +1,6 @@
Name: podofo
Version: 0.9.1
Release: 11%{?dist}
Release: 12%{?dist}
Summary: Tools and libraries to work with the PDF file format
Group: Applications/Publishing
@ -8,6 +8,7 @@ License: GPLv2+
URL: http://podofo.sourceforge.net
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
Patch0: %{name}-0.9.1-unistd.patch
Patch1: %{name}-0.9.1-lua52.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: cmake
@ -58,6 +59,7 @@ Development files and documentation for the %{name} library.
%prep
%setup -q
%patch0 -p1 -b .unistd
%patch1 -p1 -b .lua52
# disable timestamps in docs
echo "HTML_TIMESTAMP = NO" >> Doxyfile
@ -110,6 +112,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Tue Aug 20 2013 Dan Horák <dan[at]danny.cz> - 0.9.1-12
- fix build with Lua 5.2 (#992811)
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

Loading…
Cancel
Save