doc: document lua changes

lua, lua5, and luaPackages are now aliases and resolve to Lua 5.5: add a
comment in the Lua documentation and in the 26.11 release notes.
This commit is contained in:
Skye Soss
2026-10-03 08:58:34 -05:00
parent a3c536668c
commit b83fb490d2
2 changed files with 16 additions and 7 deletions

View File

@@ -5,17 +5,20 @@
### Overview of Lua {#lua-overview}
Several versions of the Lua interpreter are available: luajit, lua 5.1, 5.2, 5.3.
The attribute `lua` refers to the default interpreter, it is also possible to refer to specific versions, e.g. `lua5_2` refers to Lua 5.2.
Each interpreter is specified with a versioned identifier, e.g. `lua5_2` refers
to Lua 5.2.
Lua libraries are in separate sets, with one set per interpreter version.
The interpreters have several common attributes. One of these attributes is
`pkgs`, which is a package set of Lua libraries for this specific
interpreter. E.g., the `busted` package corresponding to the default interpreter
is `lua.pkgs.busted`, and the lua 5.2 version is `lua5_2.pkgs.busted`.
The main package set contains aliases to these package sets, e.g.
`luaPackages` refers to `lua5_1.pkgs` and `lua52Packages` to
`lua5_2.pkgs`.
interpreter. E.g., the `busted` package corresponding to Lua 5.2 is
is `lua5_2.pkgs.busted`, and the Lua 5.5 version is `lua5_5.pkgs.busted`.
The main package set contains attributes for these package sets, e.g.
`lua52Packages` refers to `lua5_2.pkgs` and `lua55Packages` to
`lua5_5.pkgs`.
`lua`, `lua5` and `luaPackages` are convenience aliases for use outside of
nixpkgs and are currently assigned to `lua5_5` and `lua55Packages`.
Note that nixpkgs patches the non-luajit interpreters to avoid referring to
`/usr` and have `;;` (a [placeholder](https://www.lua.org/manual/5.1/manual.html#pdf-package.path) replaced with the default LUA_PATH) work correctly.
@@ -298,3 +301,4 @@ Now, `ps` is set to `lua5_1.pkgs`, matching the version of the interpreter.
Following rules should be respected:
* Commit names of Lua libraries should reflect that they are Lua libraries, so write for example `luaPackages.luafilesystem: 1.11 -> 1.12`.
* Packages in Nixpkgs must not depend on the `lua`, `lua5` or `luaPackages` aliases. Depend on an explicit version instead, e.g. `lua5_4` or `lua54Packages`.

View File

@@ -217,6 +217,11 @@
against the new `libsecretspec` library and pkg-config module. The separate
`libsecretspec-resolver` package provides a C client for `secretspec serve`.
- `lua`, `lua5` and `luaPackages` are now aliases.
Packages in Nixpkgs that used them now depend on `lua5_2_compat` or `lua52Packages` directly, so overriding `lua`, `lua5` or `luaPackages` in an overlay no longer changes which Lua they are built with.
- `lua`, `lua5` and `luaPackages` now resolve to Lua 5.5.
- `luaPackages.lrexlib-pcre` has been removed as part of the process to fully migrate from the end-of-life PRCE library to PCRE2. `luaPackages.lrexlib-pcre2` and multiple other versions of lrexlib can be used instead.
- `hostapd` was upgraded to version 2.12+, which moves move supported, basic, and beacon transmission rate configuration to be at BSS level instead of per-radio for all BSSs. Refer to the [upstream example config](https://git.w1.fi/cgit/hostap/plain/hostapd/hostapd.conf) for details.