Skip to content

build: Allow to specify which system lua to use

George Kiagiadakis requested to merge mr195 into master

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

Merge request reports

Loading