SHA256
10
0
forked from pool/lua-macros

Fix %%lua_provides.

This commit is contained in:
2025-10-13 22:24:05 +02:00
parent d4f21b0c0c
commit c1d442702b
2 changed files with 37 additions and 26 deletions

View File

@@ -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}" \\\