From 5910eeff76de951925c3b4576706d051c05d0f559afba6e201470024ea110409 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 6 Oct 2025 16:08:28 +0000 Subject: [PATCH] Accepting request 1309200 from devel:languages:lua - Add build-with-lua51.patch to make it possible to build with Lua 5.1 (gh#editorconfig/editorconfig-core-lua!5). OBS-URL: https://build.opensuse.org/request/show/1309200 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lua-editorconfig-core-lua?expand=0&rev=5 --- _multibuild | 1 + _scmsync.obsinfo | 5 ++ build-with-lua51.patch | 90 +++++++++++++++++++++++++++++++ build.specials.obscpio | 3 ++ lua-editorconfig-core-lua.changes | 6 +++ lua-editorconfig-core-lua.spec | 5 +- 6 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 _scmsync.obsinfo create mode 100644 build-with-lua51.patch create mode 100644 build.specials.obscpio diff --git a/_multibuild b/_multibuild index 535dfdc..72d2b45 100644 --- a/_multibuild +++ b/_multibuild @@ -1,4 +1,5 @@ +lua51 lua53 lua54 diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..1070b17 --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,5 @@ +mtime: 1759701928 +commit: e66f4a61bf9bf90b5d875f01b5d650a018ce0056d4f1d0c01b351a05ccf936dd +url: https://src.opensuse.org/lua/lua-editorconfig-core-lua.git +revision: e66f4a61bf9bf90b5d875f01b5d650a018ce0056d4f1d0c01b351a05ccf936dd +projectscmsync: https://src.opensuse.org/lua/_ObsPrj.git diff --git a/build-with-lua51.patch b/build-with-lua51.patch new file mode 100644 index 0000000..ec07dcd --- /dev/null +++ b/build-with-lua51.patch @@ -0,0 +1,90 @@ +--- + CMakeLists.txt | 2 +- + editorconfig_lua.c | 34 ++++++++++++++++++++++++++++------ + 2 files changed, 29 insertions(+), 7 deletions(-) + +Index: editorconfig-core-lua-0.3.0/CMakeLists.txt +=================================================================== +--- editorconfig-core-lua-0.3.0.orig/CMakeLists.txt 2019-10-04 19:06:29.000000000 +0200 ++++ editorconfig-core-lua-0.3.0/CMakeLists.txt 2025-10-05 23:46:24.364066893 +0200 +@@ -35,7 +35,7 @@ + include(GNUInstallDirs) + + find_package(EditorConfig REQUIRED) +-set(Lua_FIND_VERSION 5.2) # minimum Lua version ++set(Lua_FIND_VERSION 5.1) # minimum Lua version + find_package(Lua REQUIRED) + + set(CMAKE_C_STANDARD 99) +Index: editorconfig-core-lua-0.3.0/editorconfig_lua.c +=================================================================== +--- editorconfig-core-lua-0.3.0.orig/editorconfig_lua.c 2019-10-04 19:06:29.000000000 +0200 ++++ editorconfig-core-lua-0.3.0/editorconfig_lua.c 2025-10-05 23:46:58.750059153 +0200 +@@ -6,10 +6,10 @@ + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, +- * this list of conditions and the following disclaimer. ++ * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, +- * this list of conditions and the following disclaimer in the documentation +- * and/or other materials provided with the distribution. ++ * this list of conditions and the following disclaimer in the documentation ++ * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +@@ -36,6 +36,28 @@ + #error "LEC_VERSION is not defined." + #endif + ++#if LUA_VERSION_NUM < 502 ++/* ++ * Lua 5.1 compatibility functions. ++ * Adapted from Lua 5.2.x source. ++ */ ++static void ++luaL_setfuncs(lua_State *L, const luaL_Reg *l, int nup) ++{ ++ luaL_checkstack(L, nup, "too many upvalues"); ++ for (; l->name; l++) { ++ int i; ++ for (i = 0; i < nup; i++) ++ lua_pushvalue(L, -nup); ++ lua_pushcclosure(L, l->func, nup); ++ lua_setfield(L, -(nup + 2), l->name); ++ } ++ lua_pop(L, nup); ++} ++ ++#define luaL_newlib(L, l) (lua_newtable(L), luaL_setfuncs(L, l, 0)) ++#endif ++ + /*** + * Lua bindings to the EditorConfig C Core library. + * @module editorconfig +@@ -94,7 +116,7 @@ + editorconfig_handle eh; + int name_value_count; + const char *name, *value; +- lua_Integer idx = 1; ++ lua_Number idx = 1; /* Use lua_Number for Lua 5.1 compatibility */ + + eh = open_ec_handle(L); + assert(eh != NULL); +@@ -108,7 +130,7 @@ + lua_pushstring(L, name); + lua_pushstring(L, value); + lua_settable(L, 1); +- lua_pushinteger(L, idx); ++ lua_pushnumber(L, idx); /* Use lua_pushnumber for Lua 5.1 compatibility */ + lua_pushstring(L, name); + lua_settable(L, 2); + idx += 1; +@@ -149,4 +171,4 @@ + luaL_newlib(L, editorconfig_reg); + add_version(L); + return 1; +-} ++} +\ No newline at end of file diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..a7d653f --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d79e32ec5ddb2738e19d64816e185c9a83ee7c5cc848f71685a61f0a4fe06067 +size 256 diff --git a/lua-editorconfig-core-lua.changes b/lua-editorconfig-core-lua.changes index b75f45f..f5db819 100644 --- a/lua-editorconfig-core-lua.changes +++ b/lua-editorconfig-core-lua.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun Oct 5 21:48:42 UTC 2025 - Matej Cepl + +- Add build-with-lua51.patch to make it possible to build with + Lua 5.1 (gh#editorconfig/editorconfig-core-lua!5). + ------------------------------------------------------------------- Mon May 9 14:58:07 UTC 2022 - Matej Cepl diff --git a/lua-editorconfig-core-lua.spec b/lua-editorconfig-core-lua.spec index dfd8400..d04426a 100644 --- a/lua-editorconfig-core-lua.spec +++ b/lua-editorconfig-core-lua.spec @@ -26,6 +26,9 @@ License: BSD-2-Clause Group: Development/Libraries/Other URL: https://github.com/editorconfig/editorconfig-core-lua Source: https://github.com/editorconfig/%{mod_name}/archive/v%{version}.tar.gz#/%{mod_name}-%{version}.tar.gz +# PATCH-FIX-UPSTREAM build-with-lua51.patch gh#editorconfig/editorconfig-core-lua!5 mcepl@suse.com +# make package building with Lua 5.1 +Patch0: build-with-lua51.patch BuildRequires: %{flavor}-devel BuildRequires: %{flavor}-luafilesystem BuildRequires: %{flavor}-penlight @@ -52,7 +55,7 @@ editors. EditorConfig Lua Core provides the same functionality as the Editorconfig C Core library. %prep -%setup -q -n %{mod_name}-%{version} +%autosetup -p1 -n %{mod_name}-%{version} %build %cmake -DECL_LIBDIR:PATH=%{lua_archdir} \