forked from pool/lua-lua-ev
Rename lua54.patch to lua-independent.patch and make building
of the package independent of the version of Lua intepreter (gh#brimworks/lua-ev#24).
This commit is contained in:
221
lua-independent.patch
Normal file
221
lua-independent.patch
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
---
|
||||||
|
CMakeLists.txt | 11 ++++++----
|
||||||
|
Makefile | 17 +++++++++++++++
|
||||||
|
cmake/Modules/FindLua5X.cmake | 46 ------------------------------------------
|
||||||
|
lua_ev.c | 4 +--
|
||||||
|
lua_ev.h | 8 +++----
|
||||||
|
obj_lua_ev.c | 4 +--
|
||||||
|
watcher_lua_ev.c | 11 ++--------
|
||||||
|
7 files changed, 35 insertions(+), 66 deletions(-)
|
||||||
|
|
||||||
|
Index: lua-ev-1.5/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- lua-ev-1.5.orig/CMakeLists.txt 2019-09-30 16:09:48.000000000 +0200
|
||||||
|
+++ lua-ev-1.5/CMakeLists.txt 2025-10-10 15:24:03.450899214 +0200
|
||||||
|
@@ -7,8 +7,8 @@
|
||||||
|
# Please note that the package source code is licensed under its own
|
||||||
|
# license.
|
||||||
|
|
||||||
|
+CMAKE_MINIMUM_REQUIRED (VERSION 3.10)
|
||||||
|
PROJECT(lua-ev C)
|
||||||
|
-CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
||||||
|
|
||||||
|
# Basic configurations
|
||||||
|
SET(INSTALL_CMOD share/lua/cmod CACHE PATH "Directory to install Lua binary modules (configure lua via LUA_CPATH)")
|
||||||
|
@@ -16,6 +16,11 @@
|
||||||
|
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules/")
|
||||||
|
|
||||||
|
+# Find lua using PkgConfig
|
||||||
|
+find_package(PkgConfig REQUIRED)
|
||||||
|
+pkg_check_modules(LUA REQUIRED lua)
|
||||||
|
+# / Find lua using PkgConfig
|
||||||
|
+
|
||||||
|
# Find libev
|
||||||
|
FIND_LIBRARY (LIBEV_LIBRARY NAMES ev)
|
||||||
|
FIND_PATH (LIBEV_INCLUDE_DIR ev.h
|
||||||
|
@@ -25,17 +30,15 @@
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(libev DEFAULT_MSG LIBEV_LIBRARY LIBEV_INCLUDE_DIR)
|
||||||
|
# / Find libarchive
|
||||||
|
|
||||||
|
-# Find lua
|
||||||
|
- FIND_PACKAGE(Lua5X REQUIRED)
|
||||||
|
# / Find lua
|
||||||
|
|
||||||
|
# Define how to build ev.so:
|
||||||
|
- INCLUDE_DIRECTORIES(${LIBEV_INCLUDE_DIR} ${LUA_INCLUDE_DIR})
|
||||||
|
ADD_LIBRARY(cmod_ev MODULE
|
||||||
|
lua_ev.c
|
||||||
|
)
|
||||||
|
SET_TARGET_PROPERTIES(cmod_ev PROPERTIES PREFIX "")
|
||||||
|
SET_TARGET_PROPERTIES(cmod_ev PROPERTIES OUTPUT_NAME ev)
|
||||||
|
+ TARGET_INCLUDE_DIRECTORIES(cmod_ev PRIVATE ${LIBEV_INCLUDE_DIR} ${LUA_INCLUDE_DIRS})
|
||||||
|
TARGET_LINK_LIBRARIES(cmod_ev ${LUA_LIBRARIES} ${LIBEV_LIBRARY})
|
||||||
|
# / build ev.so
|
||||||
|
|
||||||
|
Index: lua-ev-1.5/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
|
+++ lua-ev-1.5/Makefile 2025-10-10 15:24:19.128836100 +0200
|
||||||
|
@@ -0,0 +1,17 @@
|
||||||
|
+all:
|
||||||
|
+ mkdir -p build && cd build/ \
|
||||||
|
+ && cmake .. \
|
||||||
|
+ '-GUnix Makefiles' \
|
||||||
|
+ -DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||||
|
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo '-DCMAKE_C_FLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g' \
|
||||||
|
+ '-DCMAKE_EXE_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' \
|
||||||
|
+ '-DCMAKE_MODULE_LINKER_FLAGS=-flto=auto -Wl,--as-needed' \
|
||||||
|
+ '-DCMAKE_SHARED_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' \
|
||||||
|
+ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
|
||||||
|
+ -DBUILD_SHARED_LIBS:BOOL=ON \
|
||||||
|
+ -DCMAKE_COLOR_MAKEFILE:BOOL=OFF \
|
||||||
|
+ -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||||
|
+ && make
|
||||||
|
+
|
||||||
|
+clean:
|
||||||
|
+ rm -rf build CMakeCache.txt
|
||||||
|
Index: lua-ev-1.5/cmake/Modules/FindLua5X.cmake
|
||||||
|
===================================================================
|
||||||
|
--- lua-ev-1.5.orig/cmake/Modules/FindLua5X.cmake 2019-09-30 16:09:48.000000000 +0200
|
||||||
|
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
|
@@ -1,46 +0,0 @@
|
||||||
|
-
|
||||||
|
-find_path(LUA_INCLUDE_DIR lua.h
|
||||||
|
- HINTS
|
||||||
|
- $ENV{LUA_DIR}
|
||||||
|
- PATH_SUFFIXES include include/lua include/lua53 include/lua5.3 include/lua52 include/lua5.2 include/lua51 include/lua5.1
|
||||||
|
- PATHS
|
||||||
|
- ~/Library/Frameworks
|
||||||
|
- /Library/Frameworks
|
||||||
|
- /usr/local
|
||||||
|
- /usr
|
||||||
|
- /sw
|
||||||
|
- /opt/local
|
||||||
|
- /opt/csw
|
||||||
|
- /opt
|
||||||
|
-)
|
||||||
|
-
|
||||||
|
-find_library(LUA_LIBRARY
|
||||||
|
- NAMES lua lua53 lua5.3 lua52 lua5.2 lua-5.2 lua51 lua5.1 luajit-5.1 luajit51 luajit5.1
|
||||||
|
- HINTS
|
||||||
|
- $ENV{LUA_DIR}
|
||||||
|
- PATH_SUFFIXES lib64 lib
|
||||||
|
- PATHS
|
||||||
|
- ~/Library/Frameworks
|
||||||
|
- /Library/Frameworks
|
||||||
|
- /usr/local
|
||||||
|
- /usr
|
||||||
|
- /sw
|
||||||
|
- /opt/local
|
||||||
|
- /opt/csw
|
||||||
|
- /opt
|
||||||
|
-)
|
||||||
|
-
|
||||||
|
-if(LUA_LIBRARY)
|
||||||
|
- if(UNIX AND NOT APPLE)
|
||||||
|
- find_library(LUA_MATH_LIBRARY m)
|
||||||
|
- set( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
|
||||||
|
- else(UNIX AND NOT APPLE)
|
||||||
|
- set( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries")
|
||||||
|
- endif(UNIX AND NOT APPLE)
|
||||||
|
-endif(LUA_LIBRARY)
|
||||||
|
-
|
||||||
|
-include(FindPackageHandleStandardArgs)
|
||||||
|
-
|
||||||
|
-find_package_handle_standard_args(Lua5X DEFAULT_MSG LUA_LIBRARIES LUA_INCLUDE_DIR)
|
||||||
|
-
|
||||||
|
-mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY)
|
||||||
|
Index: lua-ev-1.5/lua_ev.c
|
||||||
|
===================================================================
|
||||||
|
--- lua-ev-1.5.orig/lua_ev.c 2019-09-30 16:09:48.000000000 +0200
|
||||||
|
+++ lua-ev-1.5/lua_ev.c 2025-10-10 15:23:14.201097477 +0200
|
||||||
|
@@ -131,7 +131,7 @@
|
||||||
|
*
|
||||||
|
* [+2, -0, -]
|
||||||
|
*/
|
||||||
|
-static int version(lua_State *L) {
|
||||||
|
+int version(lua_State *L) {
|
||||||
|
lua_pushnumber(L, ev_version_major());
|
||||||
|
lua_pushnumber(L, ev_version_minor());
|
||||||
|
return 2;
|
||||||
|
@@ -141,7 +141,7 @@
|
||||||
|
* Taken from lua.c out of the lua source distribution. Use this
|
||||||
|
* function when doing lua_pcall().
|
||||||
|
*/
|
||||||
|
-static int traceback(lua_State *L) {
|
||||||
|
+int traceback(lua_State *L) {
|
||||||
|
if ( !lua_isstring(L, 1) ) return 1;
|
||||||
|
|
||||||
|
lua_getglobal(L, "debug");
|
||||||
|
Index: lua-ev-1.5/lua_ev.h
|
||||||
|
===================================================================
|
||||||
|
--- lua-ev-1.5.orig/lua_ev.h 2019-09-30 16:09:48.000000000 +0200
|
||||||
|
+++ lua-ev-1.5/lua_ev.h 2025-10-10 15:23:14.201097477 +0200
|
||||||
|
@@ -100,8 +100,8 @@
|
||||||
|
/**
|
||||||
|
* Generic functions:
|
||||||
|
*/
|
||||||
|
-static int version(lua_State *L);
|
||||||
|
-static int traceback(lua_State *L);
|
||||||
|
+int version(lua_State *L);
|
||||||
|
+int traceback(lua_State *L);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loop functions:
|
||||||
|
@@ -131,9 +131,9 @@
|
||||||
|
static int obj_count(lua_State *L);
|
||||||
|
static void* obj_new(lua_State* L, size_t size, const char* tname);
|
||||||
|
static int obj_newindex(lua_State *L);
|
||||||
|
-static int obj_index(lua_State *L);
|
||||||
|
+int obj_index(lua_State *L);
|
||||||
|
|
||||||
|
-static int push_objs(lua_State* L, void** objs);
|
||||||
|
+int push_objs(lua_State* L, void** objs);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Watcher functions:
|
||||||
|
Index: lua-ev-1.5/obj_lua_ev.c
|
||||||
|
===================================================================
|
||||||
|
--- lua-ev-1.5.orig/obj_lua_ev.c 2019-09-30 16:09:48.000000000 +0200
|
||||||
|
+++ lua-ev-1.5/obj_lua_ev.c 2025-10-10 15:23:14.201097477 +0200
|
||||||
|
@@ -96,7 +96,7 @@
|
||||||
|
*
|
||||||
|
* [-0, +1, ?]
|
||||||
|
*/
|
||||||
|
-static int obj_index(lua_State *L) {
|
||||||
|
+int obj_index(lua_State *L) {
|
||||||
|
if ( lua_getmetatable(L, 1) ) {
|
||||||
|
lua_pushvalue(L, 2);
|
||||||
|
lua_gettable(L, -2);
|
||||||
|
@@ -139,7 +139,7 @@
|
||||||
|
*
|
||||||
|
* [-0, +objs_len, m]
|
||||||
|
*/
|
||||||
|
-static int push_objs(lua_State* L, void** objs) {
|
||||||
|
+int push_objs(lua_State* L, void** objs) {
|
||||||
|
int obj_count = 0;
|
||||||
|
int registry_i;
|
||||||
|
void** cur;
|
||||||
|
Index: lua-ev-1.5/watcher_lua_ev.c
|
||||||
|
===================================================================
|
||||||
|
--- lua-ev-1.5.orig/watcher_lua_ev.c 2019-09-30 16:09:48.000000000 +0200
|
||||||
|
+++ lua-ev-1.5/watcher_lua_ev.c 2025-10-10 15:23:14.201097477 +0200
|
||||||
|
@@ -132,14 +132,9 @@
|
||||||
|
static void watcher_cb(struct ev_loop *loop, void *watcher, int revents) {
|
||||||
|
lua_State* L = ev_userdata(loop);
|
||||||
|
void* objs[3] = { loop, watcher, NULL };
|
||||||
|
- int result;
|
||||||
|
-
|
||||||
|
- lua_pushcfunction(L, traceback);
|
||||||
|
-
|
||||||
|
- result = lua_checkstack(L, 5);
|
||||||
|
- assert(result != 0 /* able to allocate enough space on lua stack */);
|
||||||
|
- result = push_objs(L, objs);
|
||||||
|
- assert(result == 2 /* pushed two objects on the lua stack */);
|
||||||
|
+ (void)objs;
|
||||||
|
+ assert(lua_checkstack(L, 5) != 0 /* able to allocate enough space on lua stack */);
|
||||||
|
+ assert(push_objs(L, objs) == 2 /* pushed two objects on the lua stack */);
|
||||||
|
assert(!lua_isnil(L, -2) /* the loop obj was resolved */);
|
||||||
|
assert(!lua_isnil(L, -1) /* the watcher obj was resolved */);
|
||||||
|
|
||||||
@@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 10 13:31:01 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
|
||||||
|
|
||||||
|
- Rename lua54.patch to lua-independent.patch and make building
|
||||||
|
of the package independent of the version of Lua intepreter
|
||||||
|
(gh#brimworks/lua-ev#24).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jul 25 19:47:59 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
|
Fri Jul 25 19:47:59 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
|
||||||
|
|
||||||
|
|||||||
@@ -30,9 +30,9 @@ License: MIT
|
|||||||
Group: Development/Languages/Other
|
Group: Development/Languages/Other
|
||||||
URL: https://github.com/brimworks/lua-ev
|
URL: https://github.com/brimworks/lua-ev
|
||||||
Source: https://github.com/brimworks/%{mod_name}/archive/v%{upversion}.tar.gz#/%{mod_name}-%{upversion}.tar.gz
|
Source: https://github.com/brimworks/%{mod_name}/archive/v%{upversion}.tar.gz#/%{mod_name}-%{upversion}.tar.gz
|
||||||
# PATCH-FIX-UPSTREAM lua54.patch gh#brimworks/lua-ev#24 mcepl@suse.com
|
# PATCH-FIX-UPSTREAM lua-independent.patch gh#brimworks/lua-ev#24 mcepl@suse.com
|
||||||
# Resolve FTBFS with Lua 5.4.
|
# Resolve FTBFS with Lua 5.4 and make package building truly Lua version independent.
|
||||||
Patch0: lua54.patch
|
Patch0: lua-independent.patch
|
||||||
BuildRequires: %{flavor}-devel
|
BuildRequires: %{flavor}-devel
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: libev-devel
|
BuildRequires: libev-devel
|
||||||
@@ -53,6 +53,7 @@ Lua integration with libev (http://dist.schmorp.de/libev)
|
|||||||
%package devel
|
%package devel
|
||||||
Summary: Header files for %{flavor}-%{mod_name}
|
Summary: Header files for %{flavor}-%{mod_name}
|
||||||
Group: Development/Languages/Other
|
Group: Development/Languages/Other
|
||||||
|
BuildArch: noarch
|
||||||
Requires: %{flavor}-%{mod_name} = %{version}
|
Requires: %{flavor}-%{mod_name} = %{version}
|
||||||
%if %{with public_lib}
|
%if %{with public_lib}
|
||||||
Requires: %{flavor}-libev%{libev_sover}
|
Requires: %{flavor}-libev%{libev_sover}
|
||||||
|
|||||||
20
lua54.patch
20
lua54.patch
@@ -1,20 +0,0 @@
|
|||||||
--- a/cmake/Modules/FindLua5X.cmake
|
|
||||||
+++ b/cmake/Modules/FindLua5X.cmake
|
|
||||||
@@ -2,7 +2,7 @@
|
|
||||||
find_path(LUA_INCLUDE_DIR lua.h
|
|
||||||
HINTS
|
|
||||||
$ENV{LUA_DIR}
|
|
||||||
- PATH_SUFFIXES include include/lua include/lua53 include/lua5.3 include/lua52 include/lua5.2 include/lua51 include/lua5.1
|
|
||||||
+ PATH_SUFFIXES include include/lua include/lua54 include/lua5.4 include/lua53 include/lua5.3 include/lua52 include/lua5.2 include/lua51 include/lua5.1
|
|
||||||
PATHS
|
|
||||||
~/Library/Frameworks
|
|
||||||
/Library/Frameworks
|
|
||||||
@@ -15,7 +15,7 @@ find_path(LUA_INCLUDE_DIR lua.h
|
|
||||||
)
|
|
||||||
|
|
||||||
find_library(LUA_LIBRARY
|
|
||||||
- NAMES lua lua53 lua5.3 lua52 lua5.2 lua-5.2 lua51 lua5.1 luajit-5.1 luajit51 luajit5.1
|
|
||||||
+ NAMES lua lua54 lua5.4 lua53 lua5.3 lua52 lua5.2 lua-5.2 lua51 lua5.1 luajit-5.1 luajit51 luajit5.1
|
|
||||||
HINTS
|
|
||||||
$ENV{LUA_DIR}
|
|
||||||
PATH_SUFFIXES lib64 lib
|
|
||||||
Reference in New Issue
Block a user