summaryrefslogtreecommitdiffstats
path: root/pkgs/top-level/lua-packages.nix
diff options
context:
space:
mode:
authorAlexei Robyn <shados@shados.net>2019-06-13 21:01:10 +1000
committerAlexei Robyn <shados@shados.net>2019-06-14 13:17:15 +1000
commit274715cbc355e9d50e07a2f60a65a183f7d9855d (patch)
tree52131c594bc72a6a8d07fd64f45ad9ec82fdbe33 /pkgs/top-level/lua-packages.nix
parent8eabbb3d205541a33658779dc70dc217d3161ed2 (diff)
luaPackages: Replace all rockspec packages with generated ones
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)
Diffstat (limited to 'pkgs/top-level/lua-packages.nix')
-rw-r--r--pkgs/top-level/lua-packages.nix432
1 files changed, 1 insertions, 431 deletions
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index a15982fe8b93..9946167dd495 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -57,7 +57,7 @@ let
buildLuaApplication = args: buildLuarocksPackage ({namePrefix="";} // args );
- buildLuarocksPackage = with pkgs.lib; makeOverridable( callPackage ../development/interpreters/lua-5/build-lua-package.nix {
+ buildLuarocksPackage = with pkgs.lib; makeOverridable(callPackage ../development/interpreters/lua-5/build-lua-package.nix {
inherit toLuaModule;
inherit lua;
});
@@ -99,327 +99,6 @@ with self; {
luarocks-nix = callPackage ../development/tools/misc/luarocks/luarocks-nix.nix { };
- 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;
- };
- };
-
- 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
- '';
-
- # The hook in ../development/lua-modules/generic/default.nix
- # is strict about share vs. lib for _PATH and _CPATH.
- installPhase = ''
- install -Dt "$out/share/lua/${lua.luaversion}/compat53" compat53/*.lua
- install -Dt "$out/lib/lua/${lua.luaversion}/compat53" *.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;
- };
- };
-
- cqueues = buildLuaPackage rec {
- name = "cqueues-${version}";
- version = "20171014";
-
- src = fetchurl {
- url = "https://www.25thandclement.com/~william/projects/releases/${name}.tgz";
- sha256 = "1dabhpn6r0hlln8vx9hxm34pfcm46qzgpb2apmziwg5z51fi4ksb";
- };
-
- preConfigure = ''export prefix=$out'';
-
- # https://github.com/wahern/cqueues/issues/216
- NIX_CFLAGS_COMPILE = [ "-DCQUEUES_VERSION=${version}" ];
-
- 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;
- };
- };
-
- 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;
- };
- };
-
- luaexpat = buildLuaPackage rec {
- version = "1.3.0";
- name = "expat-${version}";
-
- src = fetchurl {
- url = "https://matthewwild.co.uk/projects/luaexpat/luaexpat-${version}.tar.gz";
- sha256 = "1hvxqngn0wf5642i5p3vcyhg3pmp102k63s9ry4jqyyqc1wkjq6h";
- };
-
- buildInputs = [ expat ];
-
- preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
- substituteInPlace Makefile \
- --replace '-shared' '-bundle -undefined dynamic_lookup -all_load'
- '';
-
- preBuild = ''
- makeFlagsArray=(
- LUA_LDIR="$out/share/lua/${lua.luaversion}"
- LUA_INC="-I${lua}/include" LUA_CDIR="$out/lib/lua/${lua.luaversion}"
- EXPAT_INC="-I${expat.dev}/include");
- '';
-
- disabled = isLua53 || isLuaJIT;
-
- meta = with stdenv.lib; {
- description = "SAX XML parser based on the Expat library";
- homepage = "http://matthewwild.co.uk/projects/luaexpat";
- license = licenses.mit;
- maintainers = with maintainers; [ flosse ];
- platforms = platforms.unix;
- };
- };
-
- luadbi = buildLuaPackage rec {
- name = "luadbi-${version}";
- version = "0.7.2";
-
- src = fetchFromGitHub {
- owner = "mwild1";
- repo = "luadbi";
- rev = "v${version}";
- sha256 = "167ivwmczhp98bxzpz3wdxcfj6vi0a10gpi7rdfjs2rbfwkzqvjh";
- };
-
- MYSQL_INC = [ "-I${mysql.connector-c}/include/mysql" ];
- MYSQL_LDFLAGS= [
- "-lmysqlclient"
- "-L${mysql.connector-c}/lib/mysql"
- ];
-
- nativeBuildInputs = [ mysql.client ];
- buildInputs = [ mysql.connector-c postgresql sqlite ];
-
- preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
- substituteInPlace Makefile \
- --replace '-shared' '-bundle -undefined dynamic_lookup -all_load'
- '';
-
- installFlags = [
- "LUA_CDIR=$(out)/lib/lua/${lua.luaversion}"
- "LUA_LDIR=$(out)/share/lua/${lua.luaversion}"
- ];
-
- installTargets = [
- "install_lua" "install_mysql" "install_psql" "install_sqlite3"
- ];
-
- meta = with stdenv.lib; {
- homepage = https://github.com/mwild1/luadbi;
- license = licenses.mit;
- platforms = stdenv.lib.platforms.unix;
- };
- };
-
- luafilesystem = buildLuaPackage rec {
- version = "1.7.0";
- name = "filesystem-${version}";
-
- src = fetchFromGitHub {
- owner = "keplerproject";
- repo = "luafilesystem";
- rev = "v${stdenv.lib.replaceChars ["."] ["_"] version}";
- sha256 = "0fibrasshlgpa71m9wkpjxwmylnxpcf06rpqbaa0qwvqh94nhwby";
- };
-
- preConfigure = ''
- substituteInPlace config --replace "CC= gcc" "";
- ''
- + 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'
- '';
-
- meta = with stdenv.lib; {
- description = "Lua library complementing filesystem-related functions";
- homepage = "https://github.com/keplerproject/luafilesystem";
- license = licenses.mit;
- maintainers = with maintainers; [ flosse ];
- platforms = platforms.unix;
- };
- };
-
- luaossl = buildLuaPackage rec {
- name = "luaossl-${version}";
- version = "20181207";
-
- src = fetchurl {
- url = "https://github.com/wahern/luaossl/releases/download/rel-${version}/luaossl-rel-${version}.zip";
- sha256 = "194r6db80ksh4zh8d2k35q6vci9zbrfvkanjl280y6ij2xyhkvj7";
- };
-
- preConfigure = ''export prefix=$out'';
-
- nativeBuildInputs = [ unzip ];
- 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;
- };
- };
-
- luasec = buildLuaPackage rec {
- name = "sec-0.8";
-
- src = fetchFromGitHub {
- owner = "brunoos";
- repo = "luasec";
- rev = "lua${name}";
- sha256 = "1cgb7ihnrrfr59a2da4d3chr7lqpid98xpglmzhv3hrpg4x5sksz";
- };
-
- propagatedBuildInputs = [ luasocket ];
- buildInputs = [ openssl ];
-
- preBuild = ''
- makeFlagsArray=(
- ${platformString}
- LUAPATH="$out/share/lua/${lua.luaversion}"
- LUACPATH="$out/lib/lua/${lua.luaversion}"
- INC_PATH="-I${lua}/include"
- LIB_PATH="-L$out/lib");
- '';
-
- meta = with stdenv.lib; {
- description = "Lua binding for OpenSSL library to provide TLS/SSL communication";
- homepage = "https://github.com/brunoos/luasec";
- license = licenses.mit;
- maintainers = with maintainers; [ flosse ];
- platforms = platforms.unix;
- };
- };
-
- luasocket = buildLuaPackage rec {
- name = "socket-${version}";
- version = "3.0-rc1";
-
- src = fetchFromGitHub {
- owner = "diegonehab";
- repo = "luasocket";
- rev = "v${version}";
- sha256 = "1chs7z7a3i3lck4x7rz60ziwbf793gw169hpjdfca8y4yf1hzsxk";
- };
-
- patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
- substituteInPlace src/makefile \
- --replace 10.3 10.5
- '';
-
- preBuild = ''
- makeFlagsArray=(
- LUAV=${lua.luaversion}
- PLAT=${platformString}
- CC=''${CC}
- LD=''${CC}
- prefix=$out
- );
- '';
-
- doCheck = false; # fails to find itself
-
- installTargets = [ "install" "install-unix" ];
-
- meta = with stdenv.lib; {
- description = "Network support for Lua";
- homepage = "http://w3.impa.br/~diego/software/luasocket/";
- license = licenses.mit;
- maintainers = with maintainers; [ ];
- platforms = with platforms; darwin ++ linux ++ freebsd ++ illumos;
- };
- };
-
luxio = buildLuaPackage rec {
name = "luxio-${version}";
version = "13";
@@ -453,115 +132,6 @@ with self; {
};
};
-
- luastdlib = buildLuaPackage rec {
- name = "stdlib-${version}";
- version = "41.2.1";
-
- src = fetchFromGitHub {
- owner = "lua-stdlib";
- repo = "lua-stdlib";
- rev = "release-v${version}";
- sha256 = "03wd1qvkrj50fjszb2apzdkc8d5bpfbbi9pajl0vbrlzzmmi3jlq";
- };
-
- nativeBuildInputs = [ autoreconfHook unzip ];
-
- 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;
- };
- };
-
- lrexlib = buildLuaPackage rec {
- name = "lrexlib-${version}";
- version = "2.8.0";
-
- src = fetchFromGitHub {
- owner = "rrthomas";
- repo = "lrexlib";
- rev = "rel-2-8-0";
- sha256 = "1c62ny41b1ih6iddw5qn81gr6dqwfffzdp7q6m8x09zzcdz78zhr";
- };
-
- buildInputs = [ luastdlib pcre luarocks oniguruma gnulib tre glibc ];
-
- buildPhase = let
- 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";
- onigVariable = "ONIG_DIR=${oniguruma}";
- gnuVariable = "GNU_INCDIR=${gnulib}/lib";
- treVariable = "TRE_DIR=${tre}";
- posixVariable = "POSIX_DIR=${glibc.dev}";
- in ''
- sed -e 's@$(LUAROCKS) $(LUAROCKS_COMMAND) $$i;@$(LUAROCKS) $(LUAROCKS_COMMAND) $$i ${pcreVariable} ${onigVariable} ${gnuVariable} ${treVariable} ${posixVariable};@' -i Makefile
- ${luaVariable} make
- '';
-
- installPhase = ''
- mkdir -pv $out;
- cp -r luarocks/lib $out;
- '';
-
- 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;
- };
- };
-
- luasqlite3 = buildLuaPackage rec {
- name = "sqlite3-${version}";
- version = "2.3.0";
-
- src = fetchFromGitHub {
- owner = "LuaDist";
- repo = "luasql-sqlite3";
- rev = version;
- sha256 = "05k8zs8nsdmlwja3hdhckwknf7ww5cvbp3sxhk2xd1i3ij6aa10b";
- };
-
- disabled = isLua53;
-
- buildInputs = [ sqlite ];
-
- patches = [ ../development/lua-modules/luasql.patch ];
-
- meta = with stdenv.lib; {
- description = "Database connectivity for Lua";
- homepage = "https://github.com/LuaDist/luasql-sqlite3";
- license = licenses.mit;
- maintainers = with maintainers; [ vyp ];
- platforms = platforms.linux;
- };
- };
-
- 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;
- };
- };
-
-
vicious = toLuaModule(stdenv.mkDerivation rec {
name = "vicious-${version}";
version = "2.3.1";