2014-09-19 20:40:37 +01:00
|
|
|
/* 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. */
|
|
|
|
|
2018-07-21 01:44:44 +01:00
|
|
|
{ fetchurl, stdenv, lua, callPackage, unzip, zziplib, pkgconfig
|
|
|
|
, pcre, oniguruma, gnulib, tre, glibc, sqlite, openssl, expat
|
2018-12-02 11:41:15 +00:00
|
|
|
, glib, gobject-introspection, libevent, zlib, autoreconfHook, gnum4
|
2017-12-26 18:40:42 +00:00
|
|
|
, mysql, postgresql, cyrus_sasl
|
2018-02-25 20:48:48 +00:00
|
|
|
, fetchFromGitHub, libmpack, which, fetchpatch, writeText
|
2019-01-30 14:13:15 +00:00
|
|
|
, pkgs
|
|
|
|
, fetchgit
|
|
|
|
, overrides ? (self: super: {})
|
|
|
|
, lib
|
2014-10-12 20:04:52 +01:00
|
|
|
}:
|
2014-09-19 20:40:37 +01:00
|
|
|
|
2014-09-23 12:56:29 +01:00
|
|
|
let
|
2019-01-30 14:13:15 +00:00
|
|
|
packages = ( self:
|
|
|
|
|
|
|
|
let
|
|
|
|
luaAtLeast = lib.versionAtLeast lua.luaversion;
|
|
|
|
luaOlder = lib.versionOlder lua.luaversion;
|
|
|
|
isLua51 = (lib.versions.majorMinor lua.version) == "5.1";
|
|
|
|
isLua52 = (lib.versions.majorMinor lua.version) == "5.2";
|
2018-07-05 23:06:48 +01:00
|
|
|
isLua53 = lua.luaversion == "5.3";
|
2017-10-09 13:21:48 +01:00
|
|
|
isLuaJIT = (builtins.parseDrvName lua.name).name == "luajit";
|
2017-01-27 10:49:04 +00:00
|
|
|
|
2019-01-30 14:13:15 +00:00
|
|
|
lua-setup-hook = callPackage ../development/interpreters/lua-5/setup-hook.nix { };
|
|
|
|
|
|
|
|
# Check whether a derivation provides a lua module.
|
|
|
|
hasLuaModule = drv: drv ? luaModule ;
|
|
|
|
|
|
|
|
callPackage = pkgs.newScope self;
|
|
|
|
|
|
|
|
requiredLuaModules = drvs: with stdenv.lib; let
|
|
|
|
modules = filter hasLuaModule drvs;
|
|
|
|
in unique ([lua] ++ modules ++ concatLists (catAttrs "requiredLuaModules" modules));
|
|
|
|
|
|
|
|
# Convert derivation to a lua module.
|
|
|
|
toLuaModule = drv:
|
|
|
|
drv.overrideAttrs( oldAttrs: {
|
|
|
|
# Use passthru in order to prevent rebuilds when possible.
|
|
|
|
passthru = (oldAttrs.passthru or {})// {
|
|
|
|
luaModule = lua;
|
|
|
|
requiredLuaModules = requiredLuaModules drv.propagatedBuildInputs;
|
|
|
|
};
|
|
|
|
});
|
|
|
|
|
|
|
|
|
2017-01-27 10:49:04 +00:00
|
|
|
platformString =
|
|
|
|
if stdenv.isDarwin then "macosx"
|
|
|
|
else if stdenv.isFreeBSD then "freebsd"
|
|
|
|
else if stdenv.isLinux then "linux"
|
|
|
|
else if stdenv.isSunOS then "solaris"
|
|
|
|
else throw "unsupported platform";
|
|
|
|
|
2019-02-04 11:30:58 +00:00
|
|
|
buildLuaApplication = args: buildLuarocksPackage ({namePrefix="";} // args );
|
|
|
|
|
|
|
|
buildLuarocksPackage = with pkgs.lib; makeOverridable( callPackage ../development/interpreters/lua-5/build-lua-package.nix {
|
|
|
|
inherit toLuaModule;
|
|
|
|
inherit lua writeText;
|
|
|
|
});
|
2019-01-30 14:13:15 +00:00
|
|
|
in
|
|
|
|
with self; {
|
|
|
|
|
|
|
|
getLuaPathList = majorVersion: [
|
|
|
|
"lib/lua/${majorVersion}/?.lua" "share/lua/${majorVersion}/?.lua"
|
|
|
|
"share/lua/${majorVersion}/?/init.lua" "lib/lua/${majorVersion}/?/init.lua"
|
|
|
|
];
|
|
|
|
getLuaCPathList = majorVersion: [
|
|
|
|
"lib/lua/${majorVersion}/?.so" "share/lua/${majorVersion}/?.so" "share/lua/${majorVersion}/?/init.so"
|
|
|
|
];
|
2014-09-19 20:40:37 +01:00
|
|
|
|
2016-06-12 03:11:31 +01:00
|
|
|
# helper functions for dealing with LUA_PATH and LUA_CPATH
|
|
|
|
getPath = lib : type : "${lib}/lib/lua/${lua.luaversion}/?.${type};${lib}/share/lua/${lua.luaversion}/?.${type}";
|
|
|
|
getLuaPath = lib : getPath lib "lua";
|
|
|
|
getLuaCPath = lib : getPath lib "so";
|
|
|
|
|
2014-09-19 20:40:37 +01:00
|
|
|
#define build lua package function
|
2018-02-25 20:48:48 +00:00
|
|
|
buildLuaPackage = callPackage ../development/lua-modules/generic {
|
|
|
|
inherit lua writeText;
|
|
|
|
};
|
2014-09-19 20:40:37 +01:00
|
|
|
|
2019-01-30 14:13:15 +00:00
|
|
|
|
|
|
|
inherit toLuaModule lua-setup-hook;
|
2019-02-04 11:30:58 +00:00
|
|
|
inherit buildLuarocksPackage buildLuaApplication;
|
2019-01-30 14:13:15 +00:00
|
|
|
inherit requiredLuaModules luaOlder luaAtLeast
|
|
|
|
isLua51 isLua52 isLuaJIT lua callPackage;
|
|
|
|
|
2019-02-04 11:30:58 +00:00
|
|
|
# wraps programs in $out/bin with valid LUA_PATH/LUA_CPATH
|
|
|
|
wrapLua = callPackage ../development/interpreters/lua-5/wrap-lua.nix {
|
|
|
|
inherit lua; inherit (pkgs) makeSetupHook makeWrapper;
|
|
|
|
};
|
|
|
|
|
2014-09-23 15:01:02 +01:00
|
|
|
luarocks = callPackage ../development/tools/misc/luarocks {
|
|
|
|
inherit lua;
|
|
|
|
};
|
|
|
|
|
2019-01-22 06:06:07 +00:00
|
|
|
luarocks-nix = callPackage ../development/tools/misc/luarocks/luarocks-nix.nix { };
|
|
|
|
|
2018-07-30 16:26:48 +01:00
|
|
|
basexx = buildLuaPackage rec {
|
|
|
|
version = "0.4.0";
|
|
|
|
name = "basexx-${version}";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "aiq";
|
|
|
|
repo = "basexx";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "12y0ng9bp5b98iax35pnp0kc0mb42spv1cbywvfq6amik6l0ya7g";
|
|
|
|
};
|
|
|
|
|
|
|
|
buildPhase = ":";
|
|
|
|
installPhase = ''
|
|
|
|
install -Dt "$out/lib/lua/${lua.luaversion}/" \
|
|
|
|
lib/basexx.lua
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Lua library for base2, base16, base32, base64, base85";
|
|
|
|
homepage = "https://github.com/aiq/basexx";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vcunat ];
|
|
|
|
platforms = platforms.all;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-02-25 21:12:31 +00:00
|
|
|
bit32 = buildLuaPackage rec {
|
|
|
|
version = "5.3.0";
|
|
|
|
name = "bit32-${version}";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "keplerproject";
|
|
|
|
repo = "lua-compat-5.2";
|
|
|
|
rev = "bitlib-${version}";
|
|
|
|
sha256 = "1ipqlbvb5w394qwhm2f3w6pdrgy8v4q8sps5hh3pqz14dcqwakhj";
|
|
|
|
};
|
|
|
|
|
|
|
|
buildPhase = ''
|
|
|
|
cc ${if stdenv.isDarwin then "-bundle -undefined dynamic_lookup -all_load" else "-shared"} -Ic-api lbitlib.c -o bit32.so
|
|
|
|
'';
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/lib/lua/${lua.luaversion}
|
|
|
|
install -p bit32.so $out/lib/lua/${lua.luaversion}
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Lua 5.2 bit manipulation library";
|
|
|
|
homepage = "http://www.lua.org/manual/5.2/manual.html#6.7";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ lblasc ];
|
|
|
|
platforms = platforms.unix;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-07-30 16:08:48 +01:00
|
|
|
compat53 = buildLuaPackage rec {
|
|
|
|
version = "0.7";
|
|
|
|
name = "compat53-${version}";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "keplerproject";
|
|
|
|
repo = "lua-compat-5.3";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "02a14nvn7aggg1yikj9h3dcf8aqjbxlws1bfvqbpfxv9d5phnrpz";
|
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [ pkgconfig ];
|
|
|
|
|
|
|
|
postConfigure = ''
|
|
|
|
CFLAGS+=" -shared $(pkg-config --libs ${if isLuaJIT then "luajit" else "lua"})"
|
|
|
|
'';
|
|
|
|
|
|
|
|
buildPhase = ''
|
|
|
|
cc lstrlib.c $CFLAGS -o string.so
|
|
|
|
cc ltablib.c $CFLAGS -o table.so
|
|
|
|
cc lutf8lib.c $CFLAGS -o utf8.so
|
|
|
|
'';
|
|
|
|
|
|
|
|
# There's no need to separate *.lua and *.so, I guess? TODO: conventions?
|
|
|
|
installPhase = ''
|
|
|
|
install -Dt "$out/lib/lua/${lua.luaversion}/compat53" \
|
|
|
|
compat53/*.lua *.so
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1";
|
|
|
|
homepage = "https://github.com/keplerproject/lua-compat-5.3";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vcunat ];
|
|
|
|
platforms = platforms.all;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-07-30 13:17:35 +01:00
|
|
|
cqueues = buildLuaPackage rec {
|
|
|
|
name = "cqueues-${version}";
|
|
|
|
version = "20171014";
|
|
|
|
|
|
|
|
src = fetchurl {
|
2018-07-30 15:40:01 +01:00
|
|
|
url = "https://www.25thandclement.com/~william/projects/releases/${name}.tgz";
|
2018-07-30 13:17:35 +01:00
|
|
|
sha256 = "1dabhpn6r0hlln8vx9hxm34pfcm46qzgpb2apmziwg5z51fi4ksb";
|
|
|
|
};
|
|
|
|
|
|
|
|
preConfigure = ''export prefix=$out'';
|
|
|
|
|
|
|
|
nativeBuildInputs = [ gnum4 ];
|
|
|
|
buildInputs = [ openssl ];
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "A type of event loop for Lua";
|
|
|
|
homepage = "https://www.25thandclement.com/~william/projects/cqueues.html";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vcunat ];
|
|
|
|
platforms = platforms.unix;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-07-30 15:23:51 +01:00
|
|
|
fifo = buildLuaPackage rec {
|
|
|
|
version = "0.2";
|
|
|
|
name = "fifo-${version}";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "daurnimator";
|
|
|
|
repo = "fifo.lua";
|
|
|
|
rev = version;
|
|
|
|
sha256 = "1800k7h5hxsvm05bjdr65djjml678lwb0661cll78z1ys2037nzn";
|
|
|
|
};
|
|
|
|
|
|
|
|
buildPhase = ":";
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p "$out/lib/lua/${lua.luaversion}"
|
|
|
|
mv fifo.lua "$out/lib/lua/${lua.luaversion}/"
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "A lua library/'class' that implements a FIFO";
|
|
|
|
homepage = "https://github.com/daurnimator/fifo.lua";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vcunat ];
|
|
|
|
platforms = platforms.all;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2014-10-15 02:53:03 +01:00
|
|
|
luabitop = buildLuaPackage rec {
|
|
|
|
version = "1.0.2";
|
|
|
|
name = "bitop-${version}";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2014-10-15 02:53:03 +01:00
|
|
|
src = fetchurl {
|
|
|
|
url = "http://bitop.luajit.org/download/LuaBitOp-${version}.tar.gz";
|
|
|
|
sha256 = "16fffbrgfcw40kskh2bn9q7m3gajffwd2f35rafynlnd7llwj1qj";
|
|
|
|
};
|
|
|
|
|
2015-06-10 09:04:51 +01:00
|
|
|
buildFlags = stdenv.lib.optionalString stdenv.isDarwin "macosx";
|
|
|
|
|
2018-07-05 22:49:08 +01:00
|
|
|
disabled = isLua53;
|
|
|
|
|
2015-10-22 21:46:41 +01:00
|
|
|
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
|
|
|
substituteInPlace Makefile --replace 10.4 10.5
|
|
|
|
'';
|
|
|
|
|
2014-10-15 02:53:03 +01:00
|
|
|
preBuild = ''
|
|
|
|
makeFlagsArray=(
|
2015-06-11 09:47:27 +01:00
|
|
|
${stdenv.lib.optionalString stdenv.cc.isClang "CC=$CC"}
|
2014-10-15 02:53:03 +01:00
|
|
|
INCLUDES="-I${lua}/include"
|
|
|
|
LUA="${lua}/bin/lua");
|
|
|
|
'';
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/lib/lua/${lua.luaversion}
|
|
|
|
install -p bit.so $out/lib/lua/${lua.luaversion}
|
|
|
|
'';
|
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "C extension module for Lua which adds bitwise operations on numbers";
|
2014-10-15 02:53:03 +01:00
|
|
|
homepage = "http://bitop.luajit.org";
|
2017-10-13 04:48:17 +01:00
|
|
|
license = licenses.mit;
|
2017-11-06 15:00:09 +00:00
|
|
|
maintainers = with maintainers; [ ];
|
2014-10-15 02:53:03 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-07-30 16:32:34 +01:00
|
|
|
http = buildLuaPackage rec {
|
|
|
|
version = "0.2";
|
|
|
|
name = "http-${version}";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "daurnimator";
|
|
|
|
repo = "lua-http";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "0a8vsj49alaf1fkhv51n5mgpjq8izfff3shcjs8xk7p2bc46vd7i";
|
|
|
|
};
|
|
|
|
|
|
|
|
/* TODO: separate docs derivation? (pandoc is heavy)
|
|
|
|
nativeBuildInputs = [ pandoc ];
|
|
|
|
makeFlags = [ "-C doc" "lua-http.html" "lua-http.3" ];
|
|
|
|
*/
|
|
|
|
|
|
|
|
buildPhase = ":";
|
|
|
|
installPhase = ''
|
|
|
|
install -Dt "$out/lib/lua/${lua.luaversion}/http" \
|
|
|
|
http/*.lua
|
|
|
|
install -Dt "$out/lib/lua/${lua.luaversion}/http/compat" \
|
|
|
|
http/compat/*.lua
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "HTTP library for lua";
|
|
|
|
homepage = "https://daurnimator.github.io/lua-http/${version}/";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vcunat ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2017-08-24 11:10:56 +01:00
|
|
|
luacheck = buildLuaPackage rec {
|
|
|
|
pname = "luacheck";
|
|
|
|
version = "0.20.0";
|
2017-10-13 04:48:17 +01:00
|
|
|
name = "${pname}-${version}";
|
2017-08-24 11:10:56 +01:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "mpeterv";
|
|
|
|
repo = "luacheck";
|
|
|
|
rev = "${version}";
|
|
|
|
sha256 = "0ahfkmqcjhlb7r99bswy1sly6d7p4pyw5f4x4fxnxzjhbq0c5qcs";
|
|
|
|
};
|
|
|
|
|
|
|
|
propagatedBuildInputs = [ lua ];
|
|
|
|
|
2017-10-09 13:29:56 +01:00
|
|
|
# No Makefile.
|
|
|
|
dontBuild = true;
|
|
|
|
|
2017-08-24 11:10:56 +01:00
|
|
|
installPhase = ''
|
|
|
|
${lua}/bin/lua install.lua $out
|
2017-10-13 04:48:17 +01:00
|
|
|
'';
|
2017-08-24 11:10:56 +01:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "A tool for linting and static analysis of Lua code";
|
|
|
|
homepage = https://github.com/mpeterv/luacheck;
|
|
|
|
license = licenses.mit;
|
2017-10-13 04:48:17 +01:00
|
|
|
maintainers = with maintainers; [ vyp ];
|
2017-08-24 11:10:56 +01:00
|
|
|
platforms = platforms.unix;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2017-03-01 00:57:02 +00:00
|
|
|
luacyrussasl = buildLuaPackage rec {
|
|
|
|
version = "1.1.0";
|
|
|
|
name = "lua-cyrussasl-${version}";
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "JorjBauer";
|
|
|
|
repo = "lua-cyrussasl";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "14kzm3vk96k2i1m9f5zvpvq4pnzaf7s91h5g4h4x2bq1mynzw2s1";
|
|
|
|
};
|
|
|
|
|
|
|
|
preBuild = ''
|
|
|
|
makeFlagsArray=(
|
|
|
|
CFLAGS="-O2 -fPIC"
|
|
|
|
LDFLAGS="-O -shared -fpic -lsasl2"
|
|
|
|
LUAPATH="$out/share/lua/${lua.luaversion}"
|
|
|
|
CPATH="$out/lib/lua/${lua.luaversion}"
|
|
|
|
);
|
|
|
|
mkdir -p $out/{share,lib}/lua/${lua.luaversion}
|
|
|
|
'';
|
|
|
|
|
|
|
|
buildInputs = [ cyrus_sasl ];
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
homepage = "https://github.com/JorjBauer/lua-cyrussasl";
|
|
|
|
description = "Cyrus SASL library for Lua 5.1+";
|
|
|
|
license = licenses.bsd3;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2015-02-19 11:09:38 +00:00
|
|
|
luaevent = buildLuaPackage rec {
|
2017-12-22 00:14:47 +00:00
|
|
|
version = "0.4.4";
|
2015-02-19 11:09:38 +00:00
|
|
|
name = "luaevent-${version}";
|
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "harningt";
|
|
|
|
repo = "luaevent";
|
|
|
|
rev = "v${version}";
|
2017-12-22 00:14:47 +00:00
|
|
|
sha256 = "1krzxr0jkv3gmhpckp02byhdd9s5dd0hpyqc8irc8i79dd8x0p53";
|
2015-02-19 11:09:38 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
preBuild = ''
|
|
|
|
makeFlagsArray=(
|
|
|
|
INSTALL_DIR_LUA="$out/share/lua/${lua.luaversion}"
|
|
|
|
INSTALL_DIR_BIN="$out/lib/lua/${lua.luaversion}"
|
|
|
|
LUA_INC_DIR="${lua}/include"
|
|
|
|
);
|
|
|
|
'';
|
|
|
|
|
|
|
|
buildInputs = [ libevent ];
|
|
|
|
|
|
|
|
propagatedBuildInputs = [ luasocket ];
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
homepage = http://luaforge.net/projects/luaevent/;
|
2015-04-28 09:54:58 +01:00
|
|
|
description = "Binding of libevent to Lua";
|
2015-02-19 11:09:38 +00:00
|
|
|
license = licenses.mit;
|
2017-10-13 04:48:17 +01:00
|
|
|
maintainers = with maintainers; [ koral ];
|
2015-02-19 11:09:38 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2014-09-02 16:08:56 +01:00
|
|
|
luaexpat = buildLuaPackage rec {
|
|
|
|
version = "1.3.0";
|
|
|
|
name = "expat-${version}";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2014-09-02 16:08:56 +01:00
|
|
|
src = fetchurl {
|
|
|
|
url = "https://matthewwild.co.uk/projects/luaexpat/luaexpat-${version}.tar.gz";
|
|
|
|
sha256 = "1hvxqngn0wf5642i5p3vcyhg3pmp102k63s9ry4jqyyqc1wkjq6h";
|
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [ expat ];
|
|
|
|
|
2017-01-31 05:05:07 +00:00
|
|
|
preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
|
|
|
|
substituteInPlace Makefile \
|
|
|
|
--replace '-shared' '-bundle -undefined dynamic_lookup -all_load'
|
|
|
|
'';
|
|
|
|
|
2014-09-02 16:08:56 +01:00
|
|
|
preBuild = ''
|
|
|
|
makeFlagsArray=(
|
2016-06-09 15:36:09 +01:00
|
|
|
LUA_LDIR="$out/share/lua/${lua.luaversion}"
|
2014-09-02 16:08:56 +01:00
|
|
|
LUA_INC="-I${lua}/include" LUA_CDIR="$out/lib/lua/${lua.luaversion}"
|
2015-10-15 12:57:38 +01:00
|
|
|
EXPAT_INC="-I${expat.dev}/include");
|
2014-09-02 16:08:56 +01:00
|
|
|
'';
|
|
|
|
|
2018-07-05 22:49:08 +01:00
|
|
|
disabled = isLua53 || isLuaJIT;
|
2017-10-09 13:27:42 +01:00
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "SAX XML parser based on the Expat library";
|
2014-09-02 16:08:56 +01:00
|
|
|
homepage = "http://matthewwild.co.uk/projects/luaexpat";
|
2017-10-13 04:48:17 +01:00
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ flosse ];
|
|
|
|
platforms = platforms.unix;
|
2014-09-02 16:08:56 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2017-03-01 00:57:02 +00:00
|
|
|
luadbi = buildLuaPackage rec {
|
|
|
|
name = "luadbi-${version}";
|
2019-01-04 07:14:12 +00:00
|
|
|
version = "0.7.1";
|
2018-09-22 21:27:35 +01:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "mwild1";
|
|
|
|
repo = "luadbi";
|
|
|
|
rev = "v${version}";
|
2019-01-04 07:14:12 +00:00
|
|
|
sha256 = "01i8018zb7w2bhaqglm7cnvbiirgd95b9d07irgz3sci91p08cwp";
|
2017-03-01 00:57:02 +00:00
|
|
|
};
|
|
|
|
|
2018-09-22 21:27:35 +01:00
|
|
|
MYSQL_INC="-I${mysql.connector-c}/include/mysql";
|
|
|
|
|
2019-01-04 07:14:12 +00:00
|
|
|
buildInputs = [ mysql.client mysql.connector-c postgresql sqlite ];
|
2017-03-01 00:57:02 +00:00
|
|
|
|
2018-09-22 21:27:35 +01:00
|
|
|
preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
|
2017-12-09 11:52:28 +00:00
|
|
|
substituteInPlace Makefile \
|
|
|
|
--replace '-shared' '-bundle -undefined dynamic_lookup -all_load'
|
|
|
|
'';
|
|
|
|
|
2018-09-22 21:27:35 +01:00
|
|
|
installFlags = [
|
|
|
|
"LUA_CDIR=$(out)/lib/lua/${lua.luaversion}"
|
|
|
|
"LUA_LDIR=$(out)/share/lua/${lua.luaversion}"
|
2017-03-01 00:57:02 +00:00
|
|
|
];
|
|
|
|
|
2018-09-22 21:27:35 +01:00
|
|
|
installTargets = [
|
|
|
|
"install_lua" "install_mysql" "install_psql" "install_sqlite3"
|
|
|
|
];
|
2017-03-01 00:57:02 +00:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
2018-09-22 21:27:35 +01:00
|
|
|
homepage = https://github.com/mwild1/luadbi;
|
|
|
|
license = licenses.mit;
|
2017-03-01 00:57:02 +00:00
|
|
|
platforms = stdenv.lib.platforms.unix;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2014-09-02 16:08:56 +01:00
|
|
|
luafilesystem = buildLuaPackage rec {
|
2018-04-30 09:59:57 +01:00
|
|
|
version = "1.7.0";
|
2017-03-01 00:57:02 +00:00
|
|
|
name = "filesystem-${version}";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "keplerproject";
|
|
|
|
repo = "luafilesystem";
|
2017-03-01 00:57:02 +00:00
|
|
|
rev = "v${stdenv.lib.replaceChars ["."] ["_"] version}";
|
2018-04-30 09:59:57 +01:00
|
|
|
sha256 = "0fibrasshlgpa71m9wkpjxwmylnxpcf06rpqbaa0qwvqh94nhwby";
|
2014-09-23 15:01:02 +01:00
|
|
|
};
|
2017-10-13 04:46:51 +01:00
|
|
|
|
|
|
|
preConfigure = ''
|
|
|
|
substituteInPlace config --replace "CC= gcc" "";
|
|
|
|
''
|
2017-02-07 20:08:55 +00:00
|
|
|
+ stdenv.lib.optionalString stdenv.isDarwin ''
|
|
|
|
substituteInPlace config \
|
|
|
|
--replace 'LIB_OPTION= -shared' '###' \
|
|
|
|
--replace '#LIB_OPTION= -bundle' 'LIB_OPTION= -bundle'
|
|
|
|
substituteInPlace Makefile --replace '10.3' '10.5'
|
|
|
|
'';
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Lua library complementing filesystem-related functions";
|
2014-09-19 20:40:37 +01:00
|
|
|
homepage = "https://github.com/keplerproject/luafilesystem";
|
2017-10-13 04:48:17 +01:00
|
|
|
license = licenses.mit;
|
2014-09-19 20:40:37 +01:00
|
|
|
maintainers = with maintainers; [ flosse ];
|
2017-10-13 04:48:17 +01:00
|
|
|
platforms = platforms.unix;
|
2014-09-19 20:40:37 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-07-30 15:40:41 +01:00
|
|
|
luaossl = buildLuaPackage rec {
|
|
|
|
name = "luaossl-${version}";
|
|
|
|
version = "20170903";
|
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
url = "https://www.25thandclement.com/~william/projects/releases/${name}.tgz";
|
|
|
|
sha256 = "10392bvd0lzyibipblgiss09zlqh3a5zgqg1b9lgbybpqb9cv2k3";
|
|
|
|
};
|
|
|
|
|
|
|
|
preConfigure = ''export prefix=$out'';
|
|
|
|
|
|
|
|
buildInputs = [ openssl ];
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Comprehensive binding to OpenSSL for Lua 5.1+";
|
|
|
|
homepage = "https://www.25thandclement.com/~william/projects/luaossl.html";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vcunat ];
|
|
|
|
platforms = platforms.unix;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2017-02-18 21:48:50 +00:00
|
|
|
luaposix = buildLuaPackage rec {
|
|
|
|
name = "posix-${version}";
|
2018-02-24 07:26:05 +00:00
|
|
|
version = "34.0.4";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "luaposix";
|
|
|
|
repo = "luaposix";
|
|
|
|
rev = "release-v${version}";
|
2018-02-24 07:26:05 +00:00
|
|
|
sha256 = "0p5583vidsm7s97zihf47c34vscwgbl86axrnj44j328v45kxb2z";
|
2017-02-18 21:48:50 +00:00
|
|
|
};
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2018-02-24 07:26:05 +00:00
|
|
|
propagatedBuildInputs = [ std.normalize bit32 ];
|
|
|
|
|
|
|
|
buildPhase = ''
|
|
|
|
${lua}/bin/lua build-aux/luke \
|
|
|
|
package="luaposix" \
|
|
|
|
version="${version}"
|
|
|
|
'';
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
${lua}/bin/lua build-aux/luke install --quiet \
|
|
|
|
INST_LIBDIR="$out/lib/lua/${lua.luaversion}" \
|
|
|
|
INST_LUADIR="$out/share/lua/${lua.luaversion}"
|
|
|
|
'';
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
2017-02-18 21:48:50 +00:00
|
|
|
description = "Lua bindings for POSIX API";
|
|
|
|
homepage = "https://github.com/luaposix/luaposix";
|
2017-10-13 04:48:17 +01:00
|
|
|
license = licenses.mit;
|
2018-02-24 07:26:05 +00:00
|
|
|
maintainers = with maintainers; [ vyp lblasc ];
|
2017-10-13 04:48:17 +01:00
|
|
|
platforms = platforms.unix;
|
2017-02-18 21:48:50 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2015-02-23 09:44:17 +00:00
|
|
|
lpty = buildLuaPackage rec {
|
2017-03-01 00:57:02 +00:00
|
|
|
version = "1.2.1";
|
2015-02-23 09:44:17 +00:00
|
|
|
name = "lpty-${version}";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2015-02-23 09:44:17 +00:00
|
|
|
src = fetchurl {
|
2017-03-01 00:57:02 +00:00
|
|
|
url = "http://www.tset.de/downloads/lpty-${version}-1.tar.gz";
|
|
|
|
sha256 = "0rgvbpymcgdkzdwfag607xfscs9xyqxg0dj0qr5fv906mi183gs6";
|
2015-02-23 09:44:17 +00:00
|
|
|
};
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2015-02-23 09:44:17 +00:00
|
|
|
preBuild = ''
|
|
|
|
makeFlagsArray=(
|
|
|
|
INST_LIBDIR="$out/lib/lua/${lua.luaversion}"
|
|
|
|
INST_LUADIR="$out/share/lua/${lua.luaversion}"
|
|
|
|
LUA_BINDIR="${lua}/bin"
|
|
|
|
LUA_INCDIR="-I${lua}/include"
|
|
|
|
LUA_LIBDIR="-L${lua}/lib"
|
|
|
|
);
|
|
|
|
'';
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "PTY control for Lua";
|
|
|
|
homepage = "http://www.tset.de/lpty";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vyp ];
|
|
|
|
platforms = platforms.linux;
|
|
|
|
};
|
2015-02-23 09:44:17 +00:00
|
|
|
};
|
|
|
|
|
2017-09-30 11:52:25 +01:00
|
|
|
lua-iconv = buildLuaPackage rec {
|
|
|
|
name = "lua-iconv-${version}";
|
|
|
|
version = "7";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2017-09-30 11:52:25 +01:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "ittner";
|
|
|
|
repo = "lua-iconv";
|
2017-10-13 04:48:17 +01:00
|
|
|
rev = name;
|
2017-09-30 11:52:25 +01:00
|
|
|
sha256 = "0rd76966qlxfp8ypkyrbif76nxnm1acclqwfs45wz3972jsk654i";
|
|
|
|
};
|
|
|
|
|
|
|
|
preBuild = ''
|
|
|
|
makeFlagsArray=(
|
|
|
|
INSTALL_PATH="$out/lib/lua/${lua.luaversion}"
|
|
|
|
);
|
|
|
|
'';
|
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
meta = with stdenv.lib; {
|
2017-09-30 11:52:25 +01:00
|
|
|
description = "Lua bindings for POSIX iconv";
|
|
|
|
homepage = "https://ittner.github.io/lua-iconv/";
|
2017-10-13 04:48:17 +01:00
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ richardipsum ];
|
|
|
|
platforms = platforms.unix;
|
2017-09-30 11:52:25 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2014-09-02 16:08:56 +01:00
|
|
|
luasec = buildLuaPackage rec {
|
2017-01-27 10:37:55 +00:00
|
|
|
name = "sec-0.6";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2015-07-19 22:19:20 +01:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "brunoos";
|
|
|
|
repo = "luasec";
|
2017-01-27 10:37:55 +00:00
|
|
|
rev = "lua${name}";
|
|
|
|
sha256 = "0wv8l7f7na7kw5xn8mjik2wpxbizl7zvvp5s7fcwvz9kl5jdpk5b";
|
2014-09-02 16:08:56 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [ openssl ];
|
|
|
|
|
|
|
|
preBuild = ''
|
|
|
|
makeFlagsArray=(
|
2017-01-27 10:49:04 +00:00
|
|
|
${platformString}
|
2014-09-02 16:08:56 +01:00
|
|
|
LUAPATH="$out/lib/lua/${lua.luaversion}"
|
|
|
|
LUACPATH="$out/lib/lua/${lua.luaversion}"
|
|
|
|
INC_PATH="-I${lua}/include"
|
|
|
|
LIB_PATH="-L$out/lib");
|
|
|
|
'';
|
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Lua binding for OpenSSL library to provide TLS/SSL communication";
|
2014-09-02 16:08:56 +01:00
|
|
|
homepage = "https://github.com/brunoos/luasec";
|
2017-10-13 04:48:17 +01:00
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ flosse ];
|
|
|
|
platforms = platforms.unix;
|
2014-09-02 16:08:56 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2014-09-23 15:01:02 +01:00
|
|
|
luasocket = buildLuaPackage rec {
|
|
|
|
name = "socket-${version}";
|
2015-07-19 22:20:12 +01:00
|
|
|
version = "3.0-rc1";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "diegonehab";
|
|
|
|
repo = "luasocket";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "1chs7z7a3i3lck4x7rz60ziwbf793gw169hpjdfca8y4yf1hzsxk";
|
2014-09-19 20:40:37 +01:00
|
|
|
};
|
2015-07-19 22:20:12 +01:00
|
|
|
|
2016-09-17 12:10:01 +01:00
|
|
|
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
|
2018-11-29 02:46:20 +00:00
|
|
|
substituteInPlace src/makefile \
|
2016-08-24 20:26:53 +01:00
|
|
|
--replace 10.3 10.5
|
2014-09-19 20:40:37 +01:00
|
|
|
'';
|
2015-07-19 22:20:12 +01:00
|
|
|
|
2016-09-17 12:10:01 +01:00
|
|
|
preBuild = ''
|
|
|
|
makeFlagsArray=(
|
|
|
|
LUAV=${lua.luaversion}
|
2017-01-27 10:49:04 +00:00
|
|
|
PLAT=${platformString}
|
2018-11-29 02:46:20 +00:00
|
|
|
CC=''${CC}
|
|
|
|
LD=''${CC}
|
2016-09-17 12:14:54 +01:00
|
|
|
prefix=$out
|
2016-09-17 12:10:01 +01:00
|
|
|
);
|
|
|
|
'';
|
|
|
|
|
2018-04-25 04:20:18 +01:00
|
|
|
doCheck = false; # fails to find itself
|
|
|
|
|
2017-03-01 00:57:02 +00:00
|
|
|
installTargets = [ "install" "install-unix" ];
|
|
|
|
|
2016-09-25 15:18:08 +01:00
|
|
|
meta = with stdenv.lib; {
|
2017-10-13 04:48:17 +01:00
|
|
|
description = "Network support for Lua";
|
2014-09-19 20:40:37 +01:00
|
|
|
homepage = "http://w3.impa.br/~diego/software/luasocket/";
|
2017-10-13 04:48:17 +01:00
|
|
|
license = licenses.mit;
|
2018-01-17 05:13:23 +00:00
|
|
|
maintainers = with maintainers; [ ];
|
2017-10-13 04:48:17 +01:00
|
|
|
platforms = with platforms; darwin ++ linux ++ freebsd ++ illumos;
|
2014-09-19 20:40:37 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2017-09-24 15:02:02 +01:00
|
|
|
luxio = buildLuaPackage rec {
|
|
|
|
name = "luxio-${version}";
|
|
|
|
version = "13";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2017-09-24 15:02:02 +01:00
|
|
|
src = fetchurl {
|
|
|
|
url = "https://git.gitano.org.uk/luxio.git/snapshot/luxio-luxio-13.tar.bz2";
|
|
|
|
sha256 = "1hvwslc25q7k82rxk461zr1a2041nxg7sn3sw3w0y5jxf0giz2pz";
|
|
|
|
};
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2017-09-24 15:44:43 +01:00
|
|
|
nativeBuildInputs = [ which pkgconfig ];
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2017-09-24 15:44:43 +01:00
|
|
|
postPatch = ''
|
|
|
|
patchShebangs .
|
|
|
|
'';
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2017-09-24 15:02:02 +01:00
|
|
|
preBuild = ''
|
|
|
|
makeFlagsArray=(
|
|
|
|
INST_LIBDIR="$out/lib/lua/${lua.luaversion}"
|
|
|
|
INST_LUADIR="$out/share/lua/${lua.luaversion}"
|
|
|
|
LUA_BINDIR="$out/bin"
|
2017-09-24 15:44:43 +01:00
|
|
|
INSTALL=install
|
2017-09-24 15:02:02 +01:00
|
|
|
);
|
|
|
|
'';
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Lightweight UNIX I/O and POSIX binding for Lua";
|
|
|
|
homepage = "https://www.gitano.org.uk/luxio/";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ richardipsum ];
|
|
|
|
platforms = platforms.unix;
|
|
|
|
};
|
2017-09-24 15:02:02 +01:00
|
|
|
};
|
|
|
|
|
2014-09-23 15:01:02 +01:00
|
|
|
luazip = buildLuaPackage rec {
|
|
|
|
name = "zip-${version}";
|
2017-10-13 04:48:17 +01:00
|
|
|
version = "2007-10-30";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "luaforge";
|
|
|
|
repo = "luazip";
|
|
|
|
rev = "0b8f5c958e170b1b49f05bc267bc0351ad4dfc44";
|
2015-05-30 19:58:03 +01:00
|
|
|
sha256 = "0zrrwhmzny5zbpx91bjbl77gzkvvdi3qhhviliggp0aj8w3faxsr";
|
2014-09-23 15:01:02 +01:00
|
|
|
};
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
buildInputs = [ zziplib ];
|
|
|
|
|
2014-09-23 15:01:02 +01:00
|
|
|
patches = [ ../development/lua-modules/zip.patch ];
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
# Does not currently work under Lua 5.2 or LuaJIT.
|
2018-07-05 22:49:08 +01:00
|
|
|
disabled = isLua52 || isLua53 || isLuaJIT;
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Lua library to read files stored inside zip files";
|
2014-09-23 15:01:02 +01:00
|
|
|
homepage = "https://github.com/luaforge/luazip";
|
2017-10-13 04:48:17 +01:00
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vyp ];
|
|
|
|
platforms = platforms.linux;
|
2014-09-23 15:01:02 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2015-03-19 11:31:36 +00:00
|
|
|
luazlib = buildLuaPackage rec {
|
|
|
|
name = "zlib-${version}";
|
2017-01-31 20:13:24 +00:00
|
|
|
version = "1.1";
|
2015-03-19 11:31:36 +00:00
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "brimworks";
|
|
|
|
repo = "lua-zlib";
|
|
|
|
rev = "v${version}";
|
2017-01-31 20:13:24 +00:00
|
|
|
sha256 = "1520lk4xpf094xn2zallqgqhs0zb4w61l49knv9y8pmhkdkxzzgy";
|
2015-03-19 11:31:36 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [ zlib ];
|
|
|
|
|
2017-10-13 04:46:51 +01:00
|
|
|
preConfigure = ''
|
|
|
|
substituteInPlace Makefile --replace gcc cc --replace "-llua" ""
|
|
|
|
'';
|
2017-01-31 03:00:11 +00:00
|
|
|
|
2015-03-19 11:31:36 +00:00
|
|
|
preBuild = ''
|
|
|
|
makeFlagsArray=(
|
2017-01-27 10:49:04 +00:00
|
|
|
${platformString}
|
2015-03-19 11:31:36 +00:00
|
|
|
LUAPATH="$out/share/lua/${lua.luaversion}"
|
|
|
|
LUACPATH="$out/lib/lua/${lua.luaversion}"
|
|
|
|
INCDIR="-I${lua}/include"
|
2017-01-31 03:00:11 +00:00
|
|
|
LIBDIR="-L${lua}/lib");
|
2015-03-19 11:31:36 +00:00
|
|
|
'';
|
|
|
|
|
|
|
|
preInstall = "mkdir -p $out/lib/lua/${lua.luaversion}";
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
2017-10-13 04:48:17 +01:00
|
|
|
description = "Simple streaming interface to zlib for Lua";
|
2015-03-19 11:31:36 +00:00
|
|
|
homepage = https://github.com/brimworks/lua-zlib;
|
|
|
|
license = licenses.mit;
|
2017-10-13 04:48:17 +01:00
|
|
|
maintainers = with maintainers; [ koral ];
|
|
|
|
platforms = platforms.unix;
|
2015-03-19 11:31:36 +00:00
|
|
|
};
|
|
|
|
};
|
2017-03-30 19:06:37 +01:00
|
|
|
|
2015-03-19 11:31:36 +00:00
|
|
|
|
2017-10-31 10:38:12 +00:00
|
|
|
luastdlib = buildLuaPackage rec {
|
|
|
|
name = "stdlib-${version}";
|
|
|
|
version = "41.2.1";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2017-10-31 10:38:12 +00:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "lua-stdlib";
|
|
|
|
repo = "lua-stdlib";
|
|
|
|
rev = "release-v${version}";
|
|
|
|
sha256 = "03wd1qvkrj50fjszb2apzdkc8d5bpfbbi9pajl0vbrlzzmmi3jlq";
|
2014-09-23 15:01:02 +01:00
|
|
|
};
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2017-09-19 03:27:05 +01:00
|
|
|
nativeBuildInputs = [ autoreconfHook unzip ];
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "General Lua libraries";
|
|
|
|
homepage = "https://github.com/lua-stdlib/lua-stdlib";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vyp ];
|
|
|
|
platforms = platforms.linux;
|
2014-09-23 15:01:02 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
lrexlib = buildLuaPackage rec {
|
|
|
|
name = "lrexlib-${version}";
|
2017-07-08 19:42:16 +01:00
|
|
|
version = "2.8.0";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "rrthomas";
|
|
|
|
repo = "lrexlib";
|
|
|
|
rev = "rel-2-8-0";
|
2017-07-08 19:42:16 +01:00
|
|
|
sha256 = "1c62ny41b1ih6iddw5qn81gr6dqwfffzdp7q6m8x09zzcdz78zhr";
|
2014-09-23 15:01:02 +01:00
|
|
|
};
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
buildInputs = [ luastdlib pcre luarocks oniguruma gnulib tre glibc ];
|
2014-09-23 15:01:02 +01:00
|
|
|
|
|
|
|
buildPhase = let
|
2017-07-08 19:42:16 +01:00
|
|
|
luaVariable = ''LUA_PATH="${luastdlib}/share/lua/${lua.luaversion}/?/init.lua;${luastdlib}/share/lua/${lua.luaversion}/?.lua"'';
|
|
|
|
pcreVariable = "PCRE_DIR=${pcre.out} PCRE_INCDIR=${pcre.dev}/include";
|
2014-09-23 15:01:02 +01:00
|
|
|
onigVariable = "ONIG_DIR=${oniguruma}";
|
|
|
|
gnuVariable = "GNU_INCDIR=${gnulib}/lib";
|
|
|
|
treVariable = "TRE_DIR=${tre}";
|
2016-08-30 01:11:09 +01:00
|
|
|
posixVariable = "POSIX_DIR=${glibc.dev}";
|
2014-09-23 15:01:02 +01:00
|
|
|
in ''
|
2017-07-08 19:42:16 +01:00
|
|
|
sed -e 's@$(LUAROCKS) $(LUAROCKS_COMMAND) $$i;@$(LUAROCKS) $(LUAROCKS_COMMAND) $$i ${pcreVariable} ${onigVariable} ${gnuVariable} ${treVariable} ${posixVariable};@' -i Makefile
|
2014-09-23 15:01:02 +01:00
|
|
|
${luaVariable} make
|
|
|
|
'';
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -pv $out;
|
|
|
|
cp -r luarocks/lib $out;
|
|
|
|
'';
|
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Lua bindings of various regex library APIs";
|
|
|
|
homepage = "https://github.com/rrthomas/lrexlib";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vyp ];
|
|
|
|
platforms = platforms.linux;
|
2014-09-23 15:01:02 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
luasqlite3 = buildLuaPackage rec {
|
|
|
|
name = "sqlite3-${version}";
|
2017-10-13 04:48:17 +01:00
|
|
|
version = "2.3.0";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "LuaDist";
|
|
|
|
repo = "luasql-sqlite3";
|
|
|
|
rev = version;
|
|
|
|
sha256 = "05k8zs8nsdmlwja3hdhckwknf7ww5cvbp3sxhk2xd1i3ij6aa10b";
|
2014-09-23 15:01:02 +01:00
|
|
|
};
|
|
|
|
|
2018-07-05 22:49:08 +01:00
|
|
|
disabled = isLua53;
|
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
buildInputs = [ sqlite ];
|
2014-09-23 15:01:02 +01:00
|
|
|
|
|
|
|
patches = [ ../development/lua-modules/luasql.patch ];
|
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Database connectivity for Lua";
|
2014-09-23 15:01:02 +01:00
|
|
|
homepage = "https://github.com/LuaDist/luasql-sqlite3";
|
2017-10-13 04:48:17 +01:00
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vyp ];
|
|
|
|
platforms = platforms.linux;
|
2014-09-23 15:01:02 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-07-08 08:19:43 +01:00
|
|
|
lfs = buildLuaPackage rec {
|
|
|
|
name = "lfs-${version}";
|
|
|
|
version = "1.7.0.2";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "keplerproject";
|
|
|
|
repo = "luafilesystem";
|
|
|
|
rev = "v" + stdenv.lib.replaceStrings ["."] ["_"] version;
|
|
|
|
sha256 = "0zmprgkm9zawdf9wnw0v3w6ibaj442wlc6alp39hmw610fl4vghi";
|
|
|
|
};
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Portable library for filesystem operations";
|
|
|
|
homepage = https://keplerproject.github.com/luafilesystem;
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vcunat ];
|
|
|
|
platforms = platforms.all;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2014-11-27 20:04:28 +00:00
|
|
|
lpeg = buildLuaPackage rec {
|
|
|
|
name = "lpeg-${version}";
|
2018-07-05 23:06:48 +01:00
|
|
|
version = "1.0.1";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2014-11-27 20:04:28 +00:00
|
|
|
src = fetchurl {
|
|
|
|
url = "http://www.inf.puc-rio.br/~roberto/lpeg/${name}.tar.gz";
|
2018-07-05 23:06:48 +01:00
|
|
|
sha256 = "62d9f7a9ea3c1f215c77e0cadd8534c6ad9af0fb711c3f89188a8891c72f026b";
|
2014-11-27 20:04:28 +00:00
|
|
|
};
|
|
|
|
|
2015-02-09 20:11:19 +00:00
|
|
|
preBuild = ''
|
|
|
|
makeFlagsArray=(CC=$CC);
|
|
|
|
'';
|
|
|
|
|
2017-01-27 10:49:04 +00:00
|
|
|
buildFlags = platformString;
|
2015-02-09 20:11:19 +00:00
|
|
|
|
2014-11-27 20:04:28 +00:00
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/lib/lua/${lua.luaversion}
|
|
|
|
install -p lpeg.so $out/lib/lua/${lua.luaversion}
|
|
|
|
install -p re.lua $out/lib/lua/${lua.luaversion}
|
|
|
|
'';
|
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Parsing Expression Grammars For Lua";
|
2014-11-27 20:04:28 +00:00
|
|
|
homepage = "http://www.inf.puc-rio.br/~roberto/lpeg/";
|
2017-10-13 04:48:17 +01:00
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vyp ];
|
|
|
|
platforms = platforms.all;
|
2014-11-27 20:04:28 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-07-30 15:31:40 +01:00
|
|
|
lpeg_patterns = buildLuaPackage rec {
|
|
|
|
version = "0.5";
|
|
|
|
name = "lpeg_patterns-${version}";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "daurnimator";
|
|
|
|
repo = "lpeg_patterns";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "1s3c179a64r45ffkawv9dnxw4mzwkzj00nr9z2gs5haajgpjivw6";
|
|
|
|
};
|
|
|
|
|
|
|
|
buildPhase = ":";
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p "$out/lib/lua/${lua.luaversion}"
|
|
|
|
mv lpeg_patterns "$out/lib/lua/${lua.luaversion}/"
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "A collection of LPEG patterns";
|
|
|
|
homepage = "https://github.com/daurnimator/lpeg_patterns";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vcunat ];
|
|
|
|
inherit (lpeg.meta) platforms;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2015-02-18 00:12:43 +00:00
|
|
|
cjson = buildLuaPackage rec {
|
|
|
|
name = "cjson-${version}";
|
|
|
|
version = "2.1.0";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2015-02-18 00:12:43 +00:00
|
|
|
src = fetchurl {
|
2017-10-13 04:48:17 +01:00
|
|
|
url = "http://www.kyne.com.au/~mark/software/download/lua-${name}.tar.gz";
|
2015-02-18 00:12:43 +00:00
|
|
|
sha256 = "0y67yqlsivbhshg8ma535llz90r4zag9xqza5jx0q7lkap6nkg2i";
|
|
|
|
};
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2015-02-18 00:12:43 +00:00
|
|
|
preBuild = ''
|
|
|
|
sed -i "s|/usr/local|$out|" Makefile
|
|
|
|
'';
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2015-02-18 00:12:43 +00:00
|
|
|
makeFlags = [ "LUA_VERSION=${lua.luaversion}" ];
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2015-02-18 00:12:43 +00:00
|
|
|
postInstall = ''
|
|
|
|
rm -rf $out/share/lua/${lua.luaversion}/cjson/tests
|
|
|
|
'';
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2015-02-18 00:12:43 +00:00
|
|
|
installTargets = "install install-extra";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2017-10-09 13:27:42 +01:00
|
|
|
disabled = isLuaJIT;
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
2015-02-18 00:12:43 +00:00
|
|
|
description = "Lua C extension module for JSON support";
|
2017-10-13 04:48:17 +01:00
|
|
|
homepage = "https://www.kyne.com.au/~mark/software/lua-cjson.php";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vyp ];
|
2015-02-18 00:12:43 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-02-05 15:00:19 +00:00
|
|
|
lgi = toLuaModule(stdenv.mkDerivation rec {
|
2014-12-17 14:03:25 +00:00
|
|
|
name = "lgi-${version}";
|
2018-03-20 16:53:14 +00:00
|
|
|
version = "0.9.2";
|
2014-12-17 14:03:25 +00:00
|
|
|
|
2017-01-02 12:02:19 +00:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "pavouk";
|
|
|
|
repo = "lgi";
|
|
|
|
rev = version;
|
2018-03-20 16:53:14 +00:00
|
|
|
sha256 = "03rbydnj411xpjvwsyvhwy4plm96481d7jax544mvk7apd8sd5jj";
|
2014-12-17 14:03:25 +00:00
|
|
|
};
|
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
nativeBuildInputs = [ pkgconfig ];
|
2018-12-02 11:41:15 +00:00
|
|
|
buildInputs = [ glib gobject-introspection lua ];
|
2014-12-17 14:03:25 +00:00
|
|
|
|
|
|
|
makeFlags = [ "LUA_VERSION=${lua.luaversion}" ];
|
|
|
|
|
|
|
|
preBuild = ''
|
|
|
|
sed -i "s|/usr/local|$out|" lgi/Makefile
|
|
|
|
'';
|
2017-10-13 04:48:17 +01:00
|
|
|
|
lgi: Fix cairo bindings search path
Since commit e44038bccab0cae, cairo-1.0.typelib contains an absolute
path to cairo in the nix store so that no $LD_LIBRARY_PATH hacks are
needed. However, this did not yet work for lgi, because lgi does
dlopen("libcairo.so.2") without a full path, too.
To make this work, this commit ensures that lgi first uses
gobject-introspection to load libcairo. This uses the full path provided
by the typelib. Afterwards, dlopen("libcairo.so.2") does not hit the
filesystem anymore since the library is already loaded.
This commit adds a patch that reorders some code in lgi's cairo
initialisation. Previously, this started with core.module('cairo', 2),
which is where the dlopen happens. Now, this code is moved down and
instead core.gi.cairo.resolve is used to load the definitions of some
enums first. This part of the code goes through gobject-introspection
and causes libcairo to be loaded.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-02-04 09:13:06 +00:00
|
|
|
patches = [
|
|
|
|
(fetchpatch {
|
|
|
|
name = "lgi-find-cairo-through-typelib.patch";
|
|
|
|
url = "https://github.com/psychon/lgi/commit/46a163d9925e7877faf8a4f73996a20d7cf9202a.patch";
|
|
|
|
sha256 = "0gfvvbri9kyzhvq3bvdbj2l6mwvlz040dk4mrd5m9gz79f7w109c";
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "GObject-introspection based dynamic Lua binding to GObject based libraries";
|
|
|
|
homepage = https://github.com/pavouk/lgi;
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ lovek323 rasendubi ];
|
|
|
|
platforms = platforms.unix;
|
|
|
|
};
|
2019-02-05 15:00:19 +00:00
|
|
|
});
|
2014-12-17 14:03:25 +00:00
|
|
|
|
2016-06-04 16:58:01 +01:00
|
|
|
mpack = buildLuaPackage rec {
|
2017-11-20 22:44:47 +00:00
|
|
|
name = "mpack-${version}";
|
|
|
|
version = "1.0.7";
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2017-11-10 01:06:33 +00:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "libmpack";
|
|
|
|
repo = "libmpack-lua";
|
2017-11-20 22:44:47 +00:00
|
|
|
rev = version;
|
2018-04-10 16:23:40 +01:00
|
|
|
sha256 = "0l4k7qmwaa0zpxrlp27yp4pbbyiz3zgxywkm543q6wkzn6wmq8l8";
|
2017-11-10 01:06:33 +00:00
|
|
|
};
|
2017-10-13 04:48:17 +01:00
|
|
|
|
|
|
|
nativeBuildInputs = [ pkgconfig ];
|
2017-11-20 22:44:47 +00:00
|
|
|
buildInputs = [ libmpack ];
|
2016-06-04 16:58:01 +01:00
|
|
|
dontBuild = true;
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2017-11-20 22:44:47 +00:00
|
|
|
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
|
|
|
substituteInPlace Makefile \
|
|
|
|
--replace '-shared' '-bundle -undefined dynamic_lookup -all_load'
|
2016-06-04 16:58:01 +01:00
|
|
|
'';
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2016-06-04 16:58:01 +01:00
|
|
|
installFlags = [
|
|
|
|
"USE_SYSTEM_LUA=yes"
|
2017-11-10 01:06:33 +00:00
|
|
|
"USE_SYSTEM_MPACK=yes"
|
2017-11-20 22:44:47 +00:00
|
|
|
"MPACK_LUA_VERSION=${lua.version}"
|
|
|
|
"LUA_CMOD_INSTALLDIR=$(out)/lib/lua/${lua.luaversion}"
|
2016-06-04 16:58:01 +01:00
|
|
|
];
|
2017-10-13 04:48:17 +01:00
|
|
|
|
2018-05-29 16:06:38 +01:00
|
|
|
hardeningDisable = [ "fortify" ];
|
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Lua bindings for libmpack";
|
|
|
|
homepage = "https://github.com/libmpack/libmpack-lua";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ vyp ];
|
|
|
|
platforms = with platforms; linux ++ darwin;
|
2016-06-04 16:58:01 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-02-25 21:15:00 +00:00
|
|
|
std._debug = buildLuaPackage rec {
|
|
|
|
name = "std._debug-${version}";
|
|
|
|
version = "1.0";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "lua-stdlib";
|
|
|
|
repo = "_debug";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "01kfs6k9j9zy4bvk13jx18ssfsmhlciyrni1x32qmxxf4wxyi65n";
|
|
|
|
};
|
|
|
|
|
|
|
|
# No Makefile.
|
|
|
|
dontBuild = true;
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/share/lua/${lua.luaversion}/std
|
|
|
|
cp -r lib/std/_debug $out/share/lua/${lua.luaversion}/std/
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Manage an overall debug state, and associated hint substates.";
|
|
|
|
homepage = https://lua-stdlib.github.io/_debug;
|
|
|
|
license = licenses.mit;
|
2018-02-25 21:15:19 +00:00
|
|
|
maintainers = with maintainers; [ lblasc ];
|
|
|
|
platforms = platforms.unix;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
std.normalize = buildLuaPackage rec {
|
|
|
|
name = "std.normalize-${version}";
|
|
|
|
version = "2.0.1";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "lua-stdlib";
|
|
|
|
repo = "normalize";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "1yz96r28d2wcgky6by92a21755bf4wzpn65rdv2ps0fxywgw5rda";
|
|
|
|
};
|
|
|
|
|
|
|
|
propagatedBuildInputs = [ std._debug ];
|
|
|
|
|
|
|
|
# No Makefile.
|
|
|
|
dontBuild = true;
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/share/lua/${lua.luaversion}/std
|
|
|
|
cp -r lib/std/normalize $out/share/lua/${lua.luaversion}/std/
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "Normalized Lua Functions";
|
|
|
|
homepage = https://lua-stdlib.github.io/normalize;
|
|
|
|
license = licenses.mit;
|
2018-02-25 21:15:00 +00:00
|
|
|
maintainers = with maintainers; [ lblasc ];
|
|
|
|
platforms = platforms.unix;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-02-05 15:00:19 +00:00
|
|
|
vicious = toLuaModule(stdenv.mkDerivation rec {
|
2015-08-06 07:29:07 +01:00
|
|
|
name = "vicious-${version}";
|
2017-12-22 09:06:27 +00:00
|
|
|
version = "2.3.1";
|
2015-08-06 07:29:07 +01:00
|
|
|
|
2017-03-30 19:06:37 +01:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "Mic92";
|
|
|
|
repo = "vicious";
|
|
|
|
rev = "v${version}";
|
2017-12-22 09:06:27 +00:00
|
|
|
sha256 = "1yzhjn8rsvjjsfycdc993ms6jy2j5jh7x3r2ax6g02z5n0anvnbx";
|
2015-08-06 07:29:07 +01:00
|
|
|
};
|
|
|
|
|
2017-10-13 04:48:17 +01:00
|
|
|
buildInputs = [ lua ];
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/lib/lua/${lua.luaversion}/
|
|
|
|
cp -r . $out/lib/lua/${lua.luaversion}/vicious/
|
|
|
|
printf "package.path = '$out/lib/lua/${lua.luaversion}/?/init.lua;' .. package.path\nreturn require((...) .. '.init')\n" > $out/lib/lua/${lua.luaversion}/vicious.lua
|
|
|
|
'';
|
|
|
|
|
2015-08-06 07:29:07 +01:00
|
|
|
meta = with stdenv.lib; {
|
2017-12-22 09:06:27 +00:00
|
|
|
description = "A modular widget library for the awesome window manager";
|
2017-03-30 19:06:37 +01:00
|
|
|
homepage = https://github.com/Mic92/vicious;
|
2015-08-06 07:29:07 +01:00
|
|
|
license = licenses.gpl2;
|
2017-03-30 19:06:37 +01:00
|
|
|
maintainers = with maintainers; [ makefu mic92 ];
|
2015-08-06 07:29:07 +01:00
|
|
|
platforms = platforms.linux;
|
|
|
|
};
|
2019-02-05 15:00:19 +00:00
|
|
|
});
|
2015-08-06 07:29:07 +01:00
|
|
|
|
2019-01-30 14:13:15 +00:00
|
|
|
});
|
|
|
|
in (lib.extends overrides packages)
|