Lua
Lua packages are built by the buildLuaPackage function. This function is
implemented
in
pkgs/development/lua-modules/generic/default.nix
and works similarly to buildPerlPackage. (See
for details.)
Lua packages are defined
in pkgs/top-level/lua-packages.nix.
Most of them are simple. For example:
fileSystem = buildLuaPackage {
name = "filesystem-1.6.2";
src = fetchurl {
url = "https://github.com/keplerproject/luafilesystem/archive/v1_6_2.tar.gz";
sha256 = "1n8qdwa20ypbrny99vhkmx8q04zd2jjycdb5196xdhgvqzk10abz";
};
meta = {
homepage = "https://github.com/keplerproject/luafilesystem";
hydraPlatforms = stdenv.lib.platforms.linux;
maintainers = with maintainers; [ flosse ];
};
};
Though, more complicated package should be placed in a seperate file in
pkgs/development/lua-modules.
Lua packages accept additional parameter disabled, which defines
the condition of disabling package from luaPackages. For example, if package has
disabled assigned to lua.luaversion != "5.1",
it will not be included in any luaPackages except lua51Packages, making it
only be built for lua 5.1.