diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv index c8c8fb233d59..44a340a46349 100644 --- a/maintainers/scripts/luarocks-packages.csv +++ b/maintainers/scripts/luarocks-packages.csv @@ -22,6 +22,7 @@ ldoc,https://github.com/stevedonovan/LDoc.git,,,,, lgi,,,,,, linenoise,https://github.com/hoelzro/lua-linenoise.git,,,,, ljsyscall,,,,,lua5_1,lblasc +lmathx,,,,,lua5_3,alexshpilkin lpeg,,,,,,vyp lpeg_patterns,,,,,, lpeglabel,,,,,, diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix index 8fd6543b27d5..62c50bf6d701 100644 --- a/pkgs/development/lua-modules/generated-packages.nix +++ b/pkgs/development/lua-modules/generated-packages.nix @@ -659,6 +659,31 @@ buildLuarocksPackage { }; }) {}; +lmathx = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast +, fetchurl, lua +}: +buildLuarocksPackage { + pname = "lmathx"; + version = "20150624-1"; + knownRockspec = (fetchurl { + url = "https://luarocks.org/lmathx-20150624-1.rockspec"; + sha256 = "181wzsj1mxjyia43y8zwaydxahnl7a70qzcgc8jhhgic7jyi9pgv"; + }).outPath; + src = fetchurl { + url = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/5.3/lmathx.tar.gz"; + sha256 = "1r0ax3lq4xx6469aqc6qlfl3jynlghzhl5j65mpdj0kyzv4nknzf"; + }; + + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/#lmathx"; + description = "C99 extensions for the math library"; + maintainers = with lib.maintainers; [ alexshpilkin ]; + license.fullName = "Public domain"; + }; +}) {}; + lpeg = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast , fetchurl, lua }: diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index 1411038e0c7f..3beb049c80fc 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -129,6 +129,38 @@ with prev; ''; }); + lmathx = prev.lib.overrideLuarocks prev.lmathx (drv: + if luaAtLeast "5.1" && luaOlder "5.2" then { + version = "20120430.51-1"; + knownRockspec = (pkgs.fetchurl { + url = "https://luarocks.org/lmathx-20120430.51-1.rockspec"; + sha256 = "148vbv2g3z5si2db7rqg5bdily7m4sjyh9w6r3jnx3csvfaxyhp0"; + }).outPath; + src = pkgs.fetchurl { + url = "https://web.tecgraf.puc-rio.br/~lhf/ftp/lua/5.1/lmathx.tar.gz"; + sha256 = "0sa553d0zlxhvpsmr4r7d841f16yq4wr3fg7i07ibxkz6yzxax51"; + }; + } else + if luaAtLeast "5.2" && luaOlder "5.3" then { + version = "20120430.52-1"; + knownRockspec = (pkgs.fetchurl { + url = "https://luarocks.org/lmathx-20120430.52-1.rockspec"; + sha256 = "14rd625sipakm72wg6xqsbbglaxyjba9nsajsfyvhg0sz8qjgdya"; + }).outPath; + src = pkgs.fetchurl { + url = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/5.2/lmathx.tar.gz"; + sha256 = "19dwa4z266l2njgi6fbq9rak4rmx2fsx1s0p9sl166ar3mnrdwz5"; + }; + } else + { + disabled = luaOlder "5.1" || luaAtLeast "5.5"; + # works fine with 5.4 as well + postConfigure = '' + substituteInPlace ''${rockspecFilename} \ + --replace 'lua ~> 5.3' 'lua >= 5.3, < 5.5' + ''; + }); + lrexlib-gnu = prev.lib.overrideLuarocks prev.lrexlib-gnu (drv: { buildInputs = [ pkgs.gnulib