- Lua packages now consistently use LUA_PATH/LUA_CPATH rather than a mix
of those and NIX_LUA_PATH/NIX_LUA_CPATH
- Lua libraries are now consistently only added to the search path
variables if:
1) The library actually has a corresponding directory to search
2) The library is not already present in the search path
This should help prevent the search paths from growing overly large
- Fixed bugs in some path helpers
- Changed the affected shell script indentation to 2 spaces; nixpkgs
shell scripts are inconsistently split between 2 and 4 space
indentation, but 2 matches better with the Nix expressions, so IMO it
makes more sense
luaPackages replaced by generated ones:
- bit32
- compat53
- cqueues
- luacyrussasl -> cyrussasl (luarocks name)
- luaexpat
- luadbi -> luadbi front-end module + separate backend modules
luadbi-{mysql,postgresql,sqlite3}
- luafilesystem
- luaossl
- luasec
- luasocket
- luastdlib -> stdlib (luarocks name)
- lrexlib -> lrexlib-pcre (we already have lrexlib-gnu and
lrexlib-posix, lrexlib-pcre however appears to be the variant used in
mudlet, which is the only current dep in nixpkgs)
- luasqlite -> luasql-sqlite3 (luarocks name)
- lfs -> luafilesytem (we literally had two manually written
luafilesystem expressions, under different names)
Changes and additions to overrides to generated luarocks packgaes,
including:
- busted: Install bash completions along with the zsh ones
- cqueues:
- Perform minor surgery on the rockspec to allow using a single
rockspec to build for all supported Lua versions
- Add a patch by @vcunat to work around a build issue
- luuid: Wrote a tiny patch to allow for Lua 5.1/Luajit compatibility
- General changes:
- Sorted the packages
- Attempted to make the formatting consistent
- Preferenced `.override` instead of `.overrideAttrs` wherever
possible
Minor changes to other packages to adjust for the Lua package changes:
- luakit expression simplified
- prosody expression simplified; but users will now need to specify the
luadbi backend module they intend to use in withExtraLibs
- knot-resolver inputs correctd
- mudlet inputs corrected (although this package was and should still be
broken)
Summary of resulting package updates:
- bit32: init at 5.3.0-1 (same as current hand-written derivation)
- busted: 2.0.rc12-1 -> 2.0.rc13-0
- compat53: init at 0.7-1 (same as current hand-written derivation)
- cqueues: init at 20171014-0 (same as current hand-written derivation)
- cyrussasl: init at 1.1.0-1 (same as current hand-written derivation)
- lrexlib-pcre: init at 2.9.0-1 (vs 2.8.0 in current hand-written
lrexlib derivation)
- luadbi and backends (luadbi-{mysql,postgresql,sqlite3}): init at
0.7.2-1 (vs 0.7.1 in current hand-written derivation)
- luaexpat: init at 1.3.3-1 (vs 1.3.0 in current hand-written
derivation)
- luafilesystem: init at 1.7.0-2 (same as current hand-written
derivation)
- luaossl: init at 20190612-0 (vs 20181207 in current hand-written
derivation)
- luasec: init at 0.8-1 (same as current hand-written derivation)
- luasocket: init at 3.0rc1-2 (same as current hand-written derivation)
- luasql-sqlite3: init at 2.4.0-1 (vs 2.3.0 in current hand-written
luasqlite3 derivation)
- rapidjson: 0.5.1-1 -> 0.5.2-1
- stdlib: init at 41.2.2-1 (vs 41.2.1 in current hand-written
derivation)
One bugfix patch is included - merged upstream but not released yet.
knot-resolver wrapper would need to add binaryheap explicitly,
so it's migrated to the automatic LUA path discovery instead.
Similarly rename std.normalize to std_normalize.
Having a dot in the name prevents some changes to the lua infrastructure,
for instance passing attribute names { std._debug }: to a function would fail with
`syntax error, unexpected ',', expecting '.' or '=',`