nixpkgs/pkgs/top-level/lua-packages.nix

54 lines
1.9 KiB
Nix
Raw Normal View History

/* This file defines the composition for Lua packages. It has
been factored out of all-packages.nix because there are many of
them. Also, because most Nix expressions for Lua packages are
trivial, most are actually defined here. I.e. there's no function
for each package in a separate file: the call to the function would
be almost as must code as the function itself. */
{ fetchurl, stdenv, lua, callPackage }:
let
isLua51 = lua.luaversion == "5.1";
isLua52 = lua.luaversion == "5.2";
self = _self;
_self = with self; {
inherit (stdenv.lib) maintainers;
#define build lua package function
buildLuaPackage = callPackage ../development/lua-modules/generic lua;
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 ];
};
};
sockets = buildLuaPackage rec {
name = "sockets-${version}";
version = "2.0.2";
src = fetchurl {
url = "http://files.luaforge.net/releases/luasocket/luasocket/luasocket-${version}/luasocket-${version}.tar.gz";
sha256 = "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag";
};
disabled = isLua52;
patchPhase = ''
sed -e "s,^INSTALL_TOP_SHARE.*,INSTALL_TOP_SHARE=$out/share/lua/${lua.luaversion}," \
-e "s,^INSTALL_TOP_LIB.*,INSTALL_TOP_LIB=$out/lib/lua/${lua.luaversion}," \
-i config
'';
meta = {
homepage = "http://w3.impa.br/~diego/software/luasocket/";
hydraPlatforms = stdenv.lib.platforms.linux;
maintainers = with maintainers; [ mornfall ];
};
};
}; in self