build: Allow to specify which system lua to use
On Exherbo we allow to install different Lua ABIs in parallel and users can choose per-package which Lua ABI to use, e.g.
media/wireplumber LUA_ABIS: -* 5.3
However, wireplumber's build system doesn't provide a way of explicitly requesting a specific version, which makes the build non-deterministic, since you get a different result if you install today with Lua 5.3 installed and reinstall tomorrow after installing Lua 5.4.
To fix this, I introduced a system-lua-version
option that allows to
specify an explicit Lua version to check for and build against:
$ meson .. -Dsystem-lua=true -Dsystem-lua-version=5.4 The Meson build system Version: 0.58.0 Source dir: /mnt/development/scm/freedesktop/wireplumber Build dir: /mnt/development/scm/freedesktop/wireplumber/build/reconfigure Build type: native build Project name: wireplumber Project version: 0.4.1 [...] Run-time dependency lua-5.4 found: YES 5.4.3 [...] Build targets in project: 56
wireplumber 0.4.1
Lua version : 5.4.3 (system) systemd conf data : YES
If the specified version isn't found, the build will fail loudly:
$ meson .. -Dsystem-lua=true -Dsystem-lua-version=5.5 [...] Found CMake: /usr/host/bin/cmake (3.20.5) Run-time dependency lua-5.5 found: NO (tried pkgconfig and cmake) Run-time dependency lua5.5 found: NO (tried pkgconfig and cmake)
../meson.build:50:6: ERROR: Problem encountered: Specified Lua version "5.5" not found