Compare commits

6 Commits

Author SHA256 Message Date
cf1effc152 Switch off building lua51 build of the package. 2025-10-29 17:05:51 +01:00
d1da10a411 Fix the patch 2025-10-29 16:52:19 +01:00
f4780f0b46 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).
2025-10-29 16:52:19 +01:00
2c0dc058e4 Run obs-git-init . 2025-10-29 16:52:19 +01:00
d9453f2217 Add luajit version to _multibuild 2025-10-29 16:52:19 +01:00
bd433c78bd Add CMAKE_POLICY_VERSION_MINIMUM=3.5 configuration to build with current CMake. 2025-10-29 16:52:19 +01:00
9 changed files with 224 additions and 32 deletions

1
.gitattributes vendored
View File

@@ -21,3 +21,4 @@
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*.changes merge=merge-changes

8
.gitignore vendored
View File

@@ -1 +1,9 @@
.osc
_scmsync.obsinfo
_buildconfig-*
_buildinfo-*.xml
lua-lua-ev-*-build/
*.obscpio
*.osc
_build.*
.pbuild

View File

@@ -1,5 +1,5 @@
<multibuild>
<package>lua51</package>
<package>luajit</package>
<package>lua53</package>
<package>lua54</package>
</multibuild>

View File

@@ -1,5 +0,0 @@
mtime: 1753472956
commit: cc0bb968fa4e244d648eb303a829892cacdd51aacc00fbad9691b61b4cba3021
url: https://src.opensuse.org/lua/lua-lua-ev.git
revision: cc0bb968fa4e244d648eb303a829892cacdd51aacc00fbad9691b61b4cba3021
projectscmsync: https://src.opensuse.org/lua/_ObsPrj.git

BIN
build.specials.obscpio (Stored with Git LFS)

Binary file not shown.

198
lua-independent.patch Normal file
View File

@@ -0,0 +1,198 @@
---
CMakeLists.txt | 11 ++++++----
cmake/Modules/FindLua5X.cmake | 46 ------------------------------------------
lua_ev.c | 4 +--
lua_ev.h | 8 +++----
obj_lua_ev.c | 4 +--
watcher_lua_ev.c | 11 ++--------
6 files changed, 18 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:46:35.584051149 +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/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:46:35.584453160 +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:46:35.584664362 +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:46:35.584873748 +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:46:35.585063648 +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 */);

View File

@@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Oct 24 14:48:47 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
- Switch off building lua51 build of the package.
-------------------------------------------------------------------
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>

View File

@@ -30,9 +30,9 @@ License: MIT
Group: Development/Languages/Other
URL: https://github.com/brimworks/lua-ev
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
# Resolve FTBFS with Lua 5.4.
Patch0: lua54.patch
# PATCH-FIX-UPSTREAM lua-independent.patch gh#brimworks/lua-ev#24 mcepl@suse.com
# Resolve FTBFS with Lua 5.4 and make package building truly Lua version independent.
Patch0: lua-independent.patch
BuildRequires: %{flavor}-devel
BuildRequires: cmake
BuildRequires: libev-devel
@@ -53,6 +53,7 @@ Lua integration with libev (http://dist.schmorp.de/libev)
%package devel
Summary: Header files for %{flavor}-%{mod_name}
Group: Development/Languages/Other
BuildArch: noarch
Requires: %{flavor}-%{mod_name} = %{version}
%if %{with public_lib}
Requires: %{flavor}-libev%{libev_sover}

View File

@@ -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