summary refs log tree commit diff
path: root/pkgs/development/lua-modules
diff options
context:
space:
mode:
authorLuka Blaskovic <lblasc@tvbeat.com>2020-08-09 07:26:07 +0000
committerLuka Blaskovic <lblasc@tvbeat.com>2020-08-09 07:31:02 +0000
commit7c365103d7c51a72ab03bd2526eae56efd718661 (patch)
treebd8feb3c727b525ad0ab8775321619063090a461 /pkgs/development/lua-modules
parent3fcd7415a742a87c3a3937f51df65679bb7e6210 (diff)
downloadnixpkgs-7c365103d7c51a72ab03bd2526eae56efd718661.tar
nixpkgs-7c365103d7c51a72ab03bd2526eae56efd718661.tar.gz
nixpkgs-7c365103d7c51a72ab03bd2526eae56efd718661.tar.bz2
nixpkgs-7c365103d7c51a72ab03bd2526eae56efd718661.tar.lz
nixpkgs-7c365103d7c51a72ab03bd2526eae56efd718661.tar.xz
nixpkgs-7c365103d7c51a72ab03bd2526eae56efd718661.tar.zst
nixpkgs-7c365103d7c51a72ab03bd2526eae56efd718661.zip
luajit.pkgs.luaexpat: fix redefinition of luaL_setfuncs()
Diffstat (limited to 'pkgs/development/lua-modules')
-rw-r--r--pkgs/development/lua-modules/luaexpat.patch36
-rw-r--r--pkgs/development/lua-modules/overrides.nix3
2 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/development/lua-modules/luaexpat.patch b/pkgs/development/lua-modules/luaexpat.patch
new file mode 100644
index 00000000000..3dd60910842
--- /dev/null
+++ b/pkgs/development/lua-modules/luaexpat.patch
@@ -0,0 +1,36 @@
+diff --git a/src/lxplib.c b/src/lxplib.c
+index 1c972db..5712611 100644
+--- a/src/lxplib.c
++++ b/src/lxplib.c
+@@ -590,7 +590,7 @@ static void set_info (lua_State *L) {
+ /*
+ ** Adapted from Lua 5.2.0
+ */
+-static void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) {
++static void compat_luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) {
+   luaL_checkstack(L, nup, "too many upvalues");
+   for (; l->name != NULL; l++) {  /* fill the table with given functions */
+     int i;
+@@ -602,6 +602,8 @@ static void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) {
+   }
+   lua_pop(L, nup);  /* remove upvalues */
+ }
++#else
++#define compat_luaL_setfuncs(L, reg, nup) luaL_setfuncs(L, reg, nup)
+ #endif
+ 
+ 
+@@ -612,11 +614,11 @@ int luaopen_lxp (lua_State *L) {
+ 	lua_pushvalue(L, -2);
+ 	lua_rawset(L, -3);
+ 
+-	luaL_setfuncs (L, lxp_meths, 0);
++	compat_luaL_setfuncs (L, lxp_meths, 0);
+ 	lua_pop (L, 1); /* remove metatable */
+ 
+ 	lua_newtable (L);
+-	luaL_setfuncs (L, lxp_funcs, 0);
++	compat_luaL_setfuncs (L, lxp_funcs, 0);
+ 	set_info (L);
+ 	return 1;
+ }
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index 26260872e18..03fcc933013 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -204,6 +204,9 @@ with super;
     externalDeps = [
       { name = "EXPAT"; dep = pkgs.expat; }
     ];
+    patches = [
+      ./luaexpat.patch
+    ];
   });
 
   # TODO Somehow automatically amend buildInputs for things that need luaffi