0.12.x is EOL upstream and accumulating CVEs. Bump to the current
stable 13.0.6, which carries the fix from security advisory
2026-04-29 / prosody.im/security/advisory_735dd9d3 that first shipped
in 13.0.5.
Prosody 13 requires Lua >= 5.2 (configure rejects 5.1). Switch the
build and runtime to Lua 5.4 and depend on the new
luafilesystem5.4 / luaexpat5.4 / luasec5.4 / luasocket5.4 variants.
Drop the now-unused luabitop dependency: bit operations are built in
since Lua 5.3.
Other notes:
- configure now needs an explicit --lua-version=5.4 and --runwith=lua5.4
because the wrapper script defaults to '/usr/bin/lua' (5.1 on OpenWrt).
- Install the new mod_debug_stanzas plugin directory. The commented-out
fallbacks/*.lua install is dropped rather than revived: upstream's
'make install' never copies that directory, and fallbacks/lxp.lua is
Lua 5.1 code using module(), which does not even load on 5.4.
- util-src/hashes.c now calls EVP_blake2{s256,b512}(), which libopenssl
does not provide unless OPENSSL_WITH_BLAKE2 is set, so compile those
two hashes out when libcrypto lacks them. Selecting the symbol instead
is not enough: the resulting util/hashes.so still fails to relocate
against a stock libcrypto, and prosody aborts at startup. Only the
COMPAT util.hmac table references them, and it tolerates nil entries.
- Install loader.lua. 13.x moved every internal require() to the
'prosody.*' namespace, and loader.lua is what maps those names back
onto the installed layout. It is the first file prosodyctl looks for,
so both prosody and prosodyctl abort at startup without it.