From 274715cbc355e9d50e07a2f60a65a183f7d9855d Mon Sep 17 00:00:00 2001 From: Alexei Robyn Date: Thu, 13 Jun 2019 21:01:10 +1000 Subject: 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) --- pkgs/top-level/lua-packages.nix | 432 +--------------------------------------- 1 file changed, 1 insertion(+), 431 deletions(-) (limited to 'pkgs/top-level/lua-packages.nix') diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix index a15982fe8b9..9946167dd49 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"; -- cgit 1.4.1