diff --git a/pkgs/development/lua-modules/bit32.patch b/pkgs/development/lua-modules/bit32.patch new file mode 100644 index 000000000000..544c4d423981 --- /dev/null +++ b/pkgs/development/lua-modules/bit32.patch @@ -0,0 +1,14 @@ +diff -Naur lua-compat-5.2/c-api/compat-5.2.h lua-compat-5.2-patched/c-api/compat-5.2.h +--- lua-compat-5.2/c-api/compat-5.2.h 2015-02-19 09:23:42.000000000 +1100 ++++ lua-compat-5.2-patched/c-api/compat-5.2.h 2019-06-17 17:58:13.585361793 +1000 +@@ -146,8 +146,10 @@ + #define lua_pushglobaltable(L) \ + lua_pushvalue(L, LUA_GLOBALSINDEX) + ++#if !defined(luaL_newlib) + #define luaL_newlib(L, l) \ + (lua_newtable((L)),luaL_setfuncs((L), (l), 0)) ++#endif + + void luaL_checkversion (lua_State *L); + diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index 1967668b1a75..1ce2dc809e5b 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -6,10 +6,12 @@ with super; #### manual fixes for generated packages ##########################################3 bit32 = super.bit32.override({ - disabled = !isLua51; - # Theoretically works with luajit, but it does redefine at least one Lua - # 5.2 function that Luajit 2.1 provides, see: - # https://github.com/LuaJIT/LuaJIT/issues/325 + # Small patch in order to no longer redefine a Lua 5.2 function that Luajit + # 2.1 also provides, see https://github.com/LuaJIT/LuaJIT/issues/325 for + # more + patches = [ + ./bit32.patch + ]; }); busted = super.busted.override({