Arch packaging for RmlUi, forked from the
AUR rmlui package with its history intact.
The AUR package builds RmlUi's Lua bindings against LuaJIT
(-DRMLUI_LUA_BINDINGS_LIBRARY=luajit). LuaJIT exports the same lua_* symbols as PUC Lua, so a
LuaJIT-linked librmlui_lua.so cannot share a process with an application that already embeds PUC
Lua — which is exactly what VoxelGame does, via sol2 on Lua 5.4.
This fork builds the bindings against PUC Lua 5.4 (the lua54 package) instead:
-DRMLUI_LUA_BINDINGS_LIBRARY=lua
-DLUA_INCLUDE_DIR=/usr/include/lua5.4
-DLUA_LIBRARY=/usr/lib/liblua5.4.so
The LUA_* cache variables are needed because RmlUi calls CMake's FindLua, which otherwise picks
the newest lua.h on the system (Lua 5.5 on current Arch).
Two consequences for consumers:
librmlui_lua.solinksliblua5.4.so, matching an embedded Lua 5.4 runtime.- RmlUi's installed CMake config resolves plain
Luarather thanLuaJit, sofind_package(RmlUi)no longer requires luajit to be installed. If your project already defines aLua::Luatarget before callingfind_package(RmlUi), RmlUi reuses it.
git clone https://git.doomhowl.com/Doomhowl-Interactive/rmlui-lua54.git
cd rmlui-lua54
makepkg -siThe package provides=rmlui and conflicts=rmlui, so it is a drop-in replacement for the AUR
package — find_package(RmlUi CONFIG) and the RmlUi::Core, RmlUi::Debugger and RmlUi::Lua
targets are unchanged.
- Bump
pkgverinPKGBUILDand resetpkgrel=1. updpkgsumsmakepkg --printsrcinfo > .SRCINFO- Rebase against the upstream AUR repo if its packaging changed:
git remote add aur https://aur.archlinux.org/rmlui.git && git fetch aur && git rebase aur/master
.nvchecker.toml is inherited from the AUR package and still tracks upstream GitHub releases.