diff options
Diffstat (limited to 'doc/languages-frameworks/lua.xml')
-rw-r--r-- | doc/languages-frameworks/lua.xml | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/doc/languages-frameworks/lua.xml b/doc/languages-frameworks/lua.xml new file mode 100644 index 0000000000000..39b086af4cb13 --- /dev/null +++ b/doc/languages-frameworks/lua.xml @@ -0,0 +1,51 @@ +<section xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xml:id="sec-language-lua"> + +<title>Lua</title> + +<para> + Lua packages are built by the <varname>buildLuaPackage</varname> function. This function is + implemented + in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/lua-modules/generic/default.nix"> + <filename>pkgs/development/lua-modules/generic/default.nix</filename></link> + and works similarly to <varname>buildPerlPackage</varname>. (See + <xref linkend="sec-language-perl"/> for details.) +</para> + +<para> + Lua packages are defined + in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/lua-packages.nix"><filename>pkgs/top-level/lua-packages.nix</filename></link>. + Most of them are simple. For example: + + <programlisting> +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 ]; + }; +}; + </programlisting> +</para> + +<para> + Though, more complicated package should be placed in a seperate file in + <link + xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/lua-modules"><filename>pkgs/development/lua-modules</filename></link>. +</para> +<para> + Lua packages accept additional parameter <varname>disabled</varname>, which defines + the condition of disabling package from luaPackages. For example, if package has + <varname>disabled</varname> assigned to <literal>lua.luaversion != "5.1"</literal>, + it will not be included in any luaPackages except lua51Packages, making it + only be built for lua 5.1. +</para> + +</section> + |