diff --git a/lua-macros.changes b/lua-macros.changes index 44f5755..048b9fa 100644 --- a/lua-macros.changes +++ b/lua-macros.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Oct 13 20:24:01 UTC 2025 - Matej Cepl + +- Fix %%lua_provides. + ------------------------------------------------------------------- Mon Oct 13 17:20:42 UTC 2025 - Matej Cepl diff --git a/macros.lua b/macros.lua index 125ca78..b27ffe9 100644 --- a/macros.lua +++ b/macros.lua @@ -15,10 +15,10 @@ print(ver) } # compiled modules should go here -%lua_archdir "%(pkgconf --variable=INSTALL_CMOD lua)" +%global lua_archdir %(pkgconf --variable=INSTALL_CMOD lua) # pure Lua modules should go here -%lua_noarchdir %{lua: +%global lua_noarchdir %{lua: local output = "" local f = io.popen("pkgconf --variable=INSTALL_LMOD lua") @@ -36,52 +36,58 @@ print(rpm.expand("%{_datadir}/lua/%{lua_version}")) } # lua includes folder -%lua_incdir %(pkgconf --variable=includedir lua) +%global lua_incdir %(pkgconf --variable=includedir lua) -%lua_version_default %{lua: +%global lua_version_default %{lua: local result = 5.4 local ver = rpm.expand("%{?suse_version}") +io.stderr:write("ver = " .. ver .. "\n") if #ver > 0 then ver = tonumber(ver) if ver < 1500 then result = 5.1 - elseif ver == 1500 then + elseif ver < 1600 then result = 5.3 end end print(result) } -%lua_version_default_nodots %(lua -e 'print((string.gsub("%{lua_version_default}", "%.", "")))') -%ifluadefault \ -%if %{lua_version_nodots} == %{lua_version_default_nodots} \ -%{nil} +# Define a conditional that evaluates true when building for the default Lua version +%global lua_version_default_nodots %(lua -e 'print((string.gsub("%{lua_version_default}", "%.", "")))') # Lua default version # This REQUIRES macro %{mod_name} to be defined. # -e: Exclude lua prefix # -n: Specify name -%lua_provides(en:) \ -%ifluadefault \ -%if 0%{?-n:1} \ -Provides: %{-n*} = %{version}-%{release} \ -Obsoletes: %{-n*} < %{version}-%{release} \ -%else \ -%if 0%{?-e:1} \ -Provides: %{mod_name} = %{version}-%{release} \ -Obsoletes: %{mod_name} < %{version}-%{release} \ -%else \ -Provides: lua-%{mod_name} = %{version}-%{release} \ -Obsoletes: lua-%{mod_name} < %{version}-%{release} \ -%endif \ -%endif \ -%endif \ -%{nil} +%lua_provides(en:) %{lua: +local mod_name = rpm.expand("%{?mod_name}") +if mod_name == "" then + print("-- Error: %{mod_name} is not defined!") + return +end +print([[ +%if "%{lua_version_nodots}" == "%{lua_version_default_nodots}" +%if 0%{?-n:1} +Provides: %{-n*} = %{version}-%{release} +Obsoletes: %{-n*} < %{version}-%{release} +%else +%if 0%{?-e:1} +Provides: %{mod_name} = %{version}-%{release} +Obsoletes: %{mod_name} < %{version}-%{release} +%else +Provides: lua-%{mod_name} = %{version}-%{release} +Obsoletes: lua-%{mod_name} < %{version}-%{release} +%endif +%endif +%endif +]]) +} # LuaRocks %luarocks_build \ luarocks --lua-version "%{lua_version}" \\\ -make --pack-binary-rock --deps-mode none +make --deps-mode none %luarocks_install \ luarocks --lua-version="%{lua_version}" --tree="%{buildroot}%{_prefix}" \\\