summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-04-01 23:59:09 +0200
committerwm4 <wm4@nowhere>2015-04-01 23:59:15 +0200
commit9b59c175e389e0a0561312139c0861eba37e4719 (patch)
tree8011a6152135c145923bd11ea55eb8fee61dc311
parentf9db94ab71ccaf1e5639f28e69f07ccc164e130f (diff)
downloadmpv-9b59c175e389e0a0561312139c0861eba37e4719.tar.bz2
mpv-9b59c175e389e0a0561312139c0861eba37e4719.tar.xz
lua: reject Lua 5.3
It simply doesn't work, and is hard to make work. Lua 5.3 is a different language from 5.1 and 5.2, and is different enough to make adding support a major issue. Most importantly, 5.3 introduced integer types, which completely mess up any code which deals with numbers. I tried to make this a compile time check, but failed. Still at least try to avoid selecting the 5.3 pkg-config package when the generic "lua" name is used (why can't Lua upstream just provide an official .pc file...). Maybe this actually covers all cases. Fixes #1729 (kind of).
-rw-r--r--player/lua.c5
-rw-r--r--waftools/checks/custom.py2
2 files changed, 6 insertions, 1 deletions
diff --git a/player/lua.c b/player/lua.c
index 7e44ec4c58..43f549b4ed 100644
--- a/player/lua.c
+++ b/player/lua.c
@@ -377,6 +377,11 @@ static int load_lua(struct mpv_handle *client, const char *fname)
.filename = fname,
};
+ if (LUA_VERSION_NUM != 501 && LUA_VERSION_NUM != 502) {
+ MP_FATAL(ctx, "Only Lua 5.1 and 5.2 are supported.\n");
+ goto error_out;
+ }
+
lua_State *L = ctx->state = luaL_newstate();
if (!L)
goto error_out;
diff --git a/waftools/checks/custom.py b/waftools/checks/custom.py
index d168d9e977..97c65e3cd0 100644
--- a/waftools/checks/custom.py
+++ b/waftools/checks/custom.py
@@ -54,7 +54,7 @@ def check_lua(ctx, dependency_identifier):
( '51', 'lua >= 5.1.0 lua < 5.2.0'),
( '51deb', 'lua5.1 >= 5.1.0'), # debian
( '51fbsd', 'lua-5.1 >= 5.1.0'), # FreeBSD
- ( '52', 'lua >= 5.2.0' ),
+ ( '52', 'lua >= 5.2.0 lua < 5.3.0' ),
( '52deb', 'lua5.2 >= 5.2.0'), # debian
( '52fbsd', 'lua-5.2 >= 5.2.0'), # FreeBSD
( 'luajit', 'luajit >= 2.0.0' ),