luaposix: fix runtime by selecting "bit32" instead of "bitop"
authorArnout Vandecappelle <arnout@mind.be>
Thu, 23 Feb 2017 17:00:37 +0000 (18:00 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 2 Mar 2017 21:57:11 +0000 (22:57 +0100)
Since the bump of luaposix to 33.4.0, it doesn't work anymore at
runtime with LuaJIT or Lua 5.1. This can be tested with the following
defconfig:

BR2_x86_64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_LUA=y
BR2_PACKAGE_LUA_5_1=y
BR2_PACKAGE_LUAPOSIX=y

/usr/bin/lua: /usr/share/lua/5.1/posix/init.lua:17: module 'bit32' not found:
...

In older luaposix versions, it would try to load the 'bit' instead of
'bit32' module if LUAVER == 5.1. However, this feature was removed in
33.4.0.

So instead of adding a runtime dependency on luabitop, depend on
lua-bit32.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/luaposix/Config.in

index 9707cdeeff50a5cf6d7f50ff178e434dfb910cb3..91abcb9e3249b4226396f475476943ab47a0b37a 100644 (file)
@@ -1,8 +1,10 @@
 config BR2_PACKAGE_LUAPOSIX
        bool "luaposix"
        depends on BR2_PACKAGE_HAS_LUAINTERPRETER
-       select BR2_PACKAGE_LUABITOP if BR2_PACKAGE_LUA_5_1
-       # LuaBitOp is already included in LuaJIT
+       # "bit32" is included in Lua 5.2+. luajit has an equivalent
+       # "bit" module, but since it has a different name, luaposix
+       # doesn't find it.
+       select BR2_PACKAGE_LUA_BIT32 if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT
        help
          This is a POSIX binding for LuaJIT, Lua 5.1, 5.2 and 5.3;
          like most libraries it simply binds to C APIs on the