From 6e2629d128d5246c5f463dbece5673c027221077 Mon Sep 17 00:00:00 2001 From: q66 Date: Tue, 22 Jan 2019 12:11:38 +0100 Subject: [PATCH] Aegisub: add luajit2.1 patch --- srcpkgs/Aegisub/patches/luajit_21.patch | 190 ++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 srcpkgs/Aegisub/patches/luajit_21.patch diff --git a/srcpkgs/Aegisub/patches/luajit_21.patch b/srcpkgs/Aegisub/patches/luajit_21.patch new file mode 100644 index 00000000000..8be178c6c6d --- /dev/null +++ b/srcpkgs/Aegisub/patches/luajit_21.patch @@ -0,0 +1,190 @@ +Subject: Fix luajit 2.1 FTBFS +Origin: Upstream +Forwarded: Not-needed +Last-Update: +Bug: 873327 +Acked-by: Gunnar Wolf +Applied-upstream: yes + +Index: libaegisub/lua/modules/lpeg.c +=================================================================== +--- libaegisub/lua/modules/lpeg.c ++++ libaegisub/lua/modules/lpeg.c +@@ -2334,7 +2334,7 @@ static int matchl (lua_State *L) { + } + + +-static struct luaL_reg pattreg[] = { ++static struct luaL_Reg pattreg[] = { + {"match", matchl}, + {"print", printpat_l}, + {"locale", locale_l}, +@@ -2360,7 +2360,7 @@ static struct luaL_reg pattreg[] = { + }; + + +-static struct luaL_reg metapattreg[] = { ++static struct luaL_Reg metapattreg[] = { + {"__add", union_l}, + {"__pow", star_l}, + {"__sub", diff_l}, +Index: vendor/luabins/AUTHORS +=================================================================== +--- vendor/luabins/AUTHORS ++++ vendor/luabins/AUTHORS +@@ -2,3 +2,4 @@ Luabins authors: + ---------------- + + Alexander Gladysh ++hanxi +Index: vendor/luabins/README.md +=================================================================== +--- vendor/luabins/README.md ++++ vendor/luabins/README.md +@@ -4,6 +4,8 @@ luabins — Lua Binary Serialization Lib + Allows to save tuples of primitive Lua types into binary chunks + and to load saved data back. + ++NB: You may be better off with luatexts: https://github.com/agladysh/luatexts. ++ + On serialization + ---------------- + +Index: vendor/luabins/src/luabins.c +=================================================================== +--- vendor/luabins/src/luabins.c ++++ vendor/luabins/src/luabins.c +@@ -54,7 +54,7 @@ static int l_load(lua_State * L) + } + + /* luabins Lua module API */ +-static const struct luaL_reg R[] = ++static const struct luaL_Reg R[] = + { + { "save", l_save }, + { "load", l_load }, +Index: vendor/luabins/src/luaheaders.h +=================================================================== +--- vendor/luabins/src/luaheaders.h ++++ vendor/luabins/src/luaheaders.h +@@ -7,6 +7,16 @@ extern "C" { + + #include + #include ++ ++#if !defined LUA_VERSION_NUM ++#define luaL_Reg luaL_reg ++#endif ++ ++#if LUA_VERSION_NUM > 501 ++#define luaL_register(L,n,R) (luaL_newlib(L,R)) ++#define lua_objlen(L,i) lua_rawlen(L, (i)) ++#endif ++ + #if defined (__cplusplus) && !defined (LUABINS_LUABUILTASCPP) + } + #endif +Index: vendor/luabins/src/luainternals.h +=================================================================== +--- vendor/luabins/src/luainternals.h ++++ vendor/luabins/src/luainternals.h +@@ -7,6 +7,24 @@ + #ifndef LUABINS_LUAINTERNALS_H_INCLUDED_ + #define LUABINS_LUAINTERNALS_H_INCLUDED_ + ++#ifndef LUAI_BITSINT ++/* ++* LUAI_BITSINT defines the number of bits in an int. ++* CHANGE here if Lua cannot automatically detect the number of bits of ++* your machine. Probably you do not need to change this. ++* ++* avoid overflows in comparison */ ++#if INT_MAX-20 < 32760 ++#define LUAI_BITSINT 16 ++#elif INT_MAX > 2147483640L ++/* int has at least 32 bits */ ++#define LUAI_BITSINT 32 ++#else ++#error "you must define LUA_BITSINT with number of bits in an integer" ++#endif ++ ++#endif // ifndef LUAI_BITSINT ++ + /* + * BEGIN COPY-PASTE FROM Lua 5.1.4 luaconf.h + * WARNING: If your Lua config differs, fix this! +@@ -38,7 +56,6 @@ int luaO_log2 (unsigned int x); + /* + ** max size of array part is 2^MAXBITS + */ +-#define LUAI_BITSINT 32 + #if LUAI_BITSINT > 26 + #define MAXBITS 26 + #else +Index: vendor/luabins/src/lualess.c +=================================================================== +--- /dev/null ++++ vendor/luabins/src/lualess.c +@@ -0,0 +1,32 @@ ++/* ++* lualess.h ++* Lua-related definitions for lua-less builds (based on Lua manual) ++* See copyright notice in luabins.h ++*/ ++ ++#include ++ ++/* ++* lua_Alloc-compatible allocator to use in Lua-less applications ++* with lbs_SaveBuffer. Based on sample code from Lua 5.1 manual. ++*/ ++void * lbs_simplealloc( ++ void * ud, ++ void * ptr, ++ size_t osize, ++ size_t nsize ++ ) ++{ ++ (void) ud; ++ (void) osize; /* not used */ ++ ++ if (nsize == 0) ++ { ++ free(ptr); ++ return NULL; ++ } ++ else ++ { ++ return realloc(ptr, nsize); ++ } ++} +Index: vendor/luabins/test/test.lua +=================================================================== +--- vendor/luabins/test/test.lua ++++ vendor/luabins/test/test.lua +@@ -6,6 +6,8 @@ + + package.cpath = "./?.so;"..package.cpath + ++local pack = pack or table.pack ++local unpack = unpack or table.unpack + local randomseed = 1235134892 + --local randomseed = os.time() + +@@ -145,6 +147,7 @@ end + -- Test helper functions + -- ---------------------------------------------------------------------------- + ++luabins = require 'luabins' + local luabins_local = require 'luabins' + assert(luabins_local == luabins) + +@@ -281,7 +284,7 @@ check_fail_save( + "can't save: unsupported type detected", + coroutine.create(function() end) + ) +-check_fail_save("can't save: unsupported type detected", newproxy()) ++check_fail_save("can't save: unsupported type detected", function()end) + + print("---> basic table tests") +