diff options
Diffstat (limited to 'nixpkgs/pkgs/development/lua-modules')
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/aliases.nix | 44 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/bit32.patch | 14 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/generated-packages.nix | 3358 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/generic/default.nix | 27 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/lib.nix | 144 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/luuid.patch | 16 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/magick.patch | 53 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/nfd/default.nix | 43 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/nfd/zenity.patch | 47 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/overrides.nix | 642 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/toml.patch | 43 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/updater/default.nix | 49 | ||||
-rwxr-xr-x | nixpkgs/pkgs/development/lua-modules/updater/updater.py | 217 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/lua-modules/zip.patch | 23 |
14 files changed, 4720 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/lua-modules/aliases.nix b/nixpkgs/pkgs/development/lua-modules/aliases.nix new file mode 100644 index 000000000000..8f4ed9799c2c --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/aliases.nix @@ -0,0 +1,44 @@ + +lib: self: super: + +### Deprecated aliases - for backward compatibility +### +### !!! NOTE !!! +### Use `./remove-attr.py [attrname]` in this directory to remove your alias +### from the `luaPackages` set without regenerating the entire file. + +with self; + +let + # Removing recurseForDerivation prevents derivations of aliased attribute + # set to appear while listing all the packages available. + removeRecurseForDerivations = alias: with lib; + if alias.recurseForDerivations or false + then removeAttrs alias ["recurseForDerivations"] + else alias; + + # Disabling distribution prevents top-level aliases for non-recursed package + # sets from building on Hydra. + removeDistribute = alias: with lib; + if isDerivation alias then + dontDistribute alias + else alias; + + # Make sure that we are not shadowing something from node-packages.nix. + checkInPkgs = n: alias: + if builtins.hasAttr n super + then throw "Alias ${n} is still in generated.nix" + else alias; + + mapAliases = aliases: + lib.mapAttrs (n: alias: + removeDistribute + (removeRecurseForDerivations + (checkInPkgs n alias))) + aliases; +in + +mapAliases { + lpty = throw "lpy was removed because broken and unmaintained "; # added 2023-10-14 + cyrussasl = throw "cyrussasl was removed because broken and unmaintained "; # added 2023-10-18 +} diff --git a/nixpkgs/pkgs/development/lua-modules/bit32.patch b/nixpkgs/pkgs/development/lua-modules/bit32.patch new file mode 100644 index 000000000000..544c4d423981 --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/bit32.patch @@ -0,0 +1,14 @@ +diff -Naur lua-compat-5.2/c-api/compat-5.2.h lua-compat-5.2-patched/c-api/compat-5.2.h +--- lua-compat-5.2/c-api/compat-5.2.h 2015-02-19 09:23:42.000000000 +1100 ++++ lua-compat-5.2-patched/c-api/compat-5.2.h 2019-06-17 17:58:13.585361793 +1000 +@@ -146,8 +146,10 @@ + #define lua_pushglobaltable(L) \ + lua_pushvalue(L, LUA_GLOBALSINDEX) + ++#if !defined(luaL_newlib) + #define luaL_newlib(L, l) \ + (lua_newtable((L)),luaL_setfuncs((L), (l), 0)) ++#endif + + void luaL_checkversion (lua_State *L); + diff --git a/nixpkgs/pkgs/development/lua-modules/generated-packages.nix b/nixpkgs/pkgs/development/lua-modules/generated-packages.nix new file mode 100644 index 000000000000..b1d016ba7dca --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/generated-packages.nix @@ -0,0 +1,3358 @@ +/* pkgs/development/lua-modules/generated-packages.nix is an auto-generated file -- DO NOT EDIT! +Regenerate it with: +nixpkgs$ ./maintainers/scripts/update-luarocks-packages + +You can customize the generated packages in pkgs/development/lua-modules/overrides.nix +*/ + +{ stdenv, lib, fetchurl, fetchgit, callPackage, ... }: +final: prev: +{ +alt-getopt = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "alt-getopt"; + version = "0.8.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/alt-getopt-0.8.0-1.rockspec"; + sha256 = "17yxi1lsrbkmwzcn1x48x8758d7v1frsz1bmnpqfv4vfnlh0x210"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/cheusov/lua-alt-getopt", + "rev": "f495c21d6a203ab280603aa5799e636fb5651ae7", + "date": "2017-01-06T13:50:55+03:00", + "path": "/nix/store/z72v77cw9188408ynsppwhlzii2dr740-lua-alt-getopt", + "sha256": "1kq7r5668045diavsqd1j6i9hxdpsk99w8q4zr8cby9y3ws4q6rv", + "hash": "sha256-OxtMNB8++cVQ/gQjntLUt3WYopGhYb1VbIUAZEzJB88=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/cheusov/lua-alt-getopt"; + description = "Process application arguments the same way as getopt_long"; + maintainers = with lib.maintainers; [ arobyn ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +argparse = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "argparse"; + version = "0.7.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/argparse-0.7.1-1.rockspec"; + sha256 = "116iaczq6glzzin6qqa2zn7i22hdyzzsq6mzjiqnz6x1qmi0hig8"; + }).outPath; + src = fetchzip { + url = "https://github.com/luarocks/argparse/archive/0.7.1.zip"; + sha256 = "0idg79d0dfis4qhbkbjlmddq87np75hb2vj41i6prjpvqacvg5v1"; + }; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/luarocks/argparse"; + description = "A feature-rich command-line argument parser"; + license.fullName = "MIT"; + }; +}) {}; + +basexx = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "basexx"; + version = "0.4.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/basexx-0.4.1-1.rockspec"; + sha256 = "0kmydxm2wywl18cgj303apsx7hnfd68a9hx9yhq10fj7yfcxzv5f"; + }).outPath; + src = fetchurl { + url = "https://github.com/aiq/basexx/archive/v0.4.1.tar.gz"; + sha256 = "1rnz6xixxqwy0q6y2hi14rfid4w47h69gfi0rnlq24fz8q2b0qpz"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/aiq/basexx"; + description = "A base2, base16, base32, base64 and base85 library for Lua"; + license.fullName = "MIT"; + }; +}) {}; + +binaryheap = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "binaryheap"; + version = "0.4-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/binaryheap-0.4-1.rockspec"; + sha256 = "1ah37lhskmrb26by5ygs7jblx7qnf6mphgw8kwhw0yacvmkcbql4"; + }).outPath; + src = fetchurl { + url = "https://github.com/Tieske/binaryheap.lua/archive/version_0v4.tar.gz"; + sha256 = "0f5l4nb5s7dycbkgh3rrl7pf0npcf9k6m2gr2bsn09fjyb3bdc8h"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/Tieske/binaryheap.lua"; + description = "Binary heap implementation in pure Lua"; + maintainers = with lib.maintainers; [ vcunat ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +bit32 = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "bit32"; + version = "5.3.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/bit32-5.3.0-1.rockspec"; + sha256 = "1d6xdihpksrj5a3yvsvnmf3vfk15hj6f8n1rrs65m7adh87hc0yd"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/keplerproject/lua-compat-5.2.git", + "rev": "10c7d40943601eb1f80caa9e909688bb203edc4d", + "date": "2015-02-17T10:44:04+01:00", + "path": "/nix/store/9kz7kgjmq0w9plrpha866bmwsgp4rfhn-lua-compat-5.2", + "sha256": "1ipqlbvb5w394qwhm2f3w6pdrgy8v4q8sps5hh3pqz14dcqwakhj", + "hash": "sha256-Ek7FMWskfHwHhEVfjTDZyL/cruHDiQo5Jmnwsvai+MY=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://www.lua.org/manual/5.2/manual.html#6.7"; + description = "Lua 5.2 bit manipulation library"; + maintainers = with lib.maintainers; [ lblasc ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +busted = callPackage({ buildLuarocksPackage, dkjson, fetchgit, fetchurl, lua, lua-term, luaOlder, lua_cliargs, luafilesystem, luassert, luasystem, mediator_lua, penlight, say }: +buildLuarocksPackage { + pname = "busted"; + version = "2.1.2-3"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/busted-2.1.2-3.rockspec"; + sha256 = "0ll8jzbpp6a9zdbbjglmq30jmx2zvr0rs83jgsjxmlfzzylkry8p"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lunarmodules/busted.git", + "rev": "673cb6bad2ee3876d45e004fcac1c2f8a816344f", + "date": "2023-03-20T10:00:33+01:00", + "path": "/nix/store/k7xnpg0s36gxk5mb59wx1dj8ikiz92ja-busted", + "sha256": "1wsiiiw26yqglqkkailksinzcb9gaffcldrcfhga3zawf2518h8y", + "hash": "sha256-HkEUinBc/aEedCw3ypxTLy32bdSTRjUnpg97I3iMUfM=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ dkjson lua lua-term lua_cliargs luafilesystem luassert luasystem mediator_lua penlight say ]; + + meta = { + homepage = "https://lunarmodules.github.io/busted/"; + description = "Elegant Lua unit testing"; + license.fullName = "MIT <http://opensource.org/licenses/MIT>"; + }; +}) {}; + +cassowary = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder, penlight }: +buildLuarocksPackage { + pname = "cassowary"; + version = "2.3.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/cassowary-2.3.2-1.rockspec"; + sha256 = "0c6sflm8zpgbcdj47s3rd34h69h3nqcciaaqd1wdx5m0lwc3mii0"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/sile-typesetter/cassowary.lua", + "rev": "e33195f08438c15d725d283979165fda7c6c3321", + "date": "2022-04-22T11:23:46+03:00", + "path": "/nix/store/51mb376xh9pnh2krk08ljmy01zhr9y3z-cassowary.lua", + "sha256": "1lvl40dhzmbqqjrqpjgqlg2kl993fpdy1mpc6d1610zpa9znx1f0", + "hash": "sha256-wIVuf1L3g2BCM+zW4Nt1IyU6xaP4yYuzxHjVDxsgdNM=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua penlight ]; + + meta = { + homepage = "https://github.com/sile-typesetter/cassowary.lua"; + description = "The cassowary constraint solver"; + maintainers = with lib.maintainers; [ marsam alerque ]; + license.fullName = "Apache 2"; + }; +}) {}; + +cldr = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder, penlight }: +buildLuarocksPackage { + pname = "cldr"; + version = "0.3.0-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/cldr-0.3.0-0.rockspec"; + sha256 = "1fnr8k713w21v7hc64s4w5lgcgnbphq3gm69pisc2s4wq2fkija1"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/alerque/cldr-lua.git", + "rev": "4602a7859535ca198ddfaba73a02f9bce3e81025", + "date": "2022-12-06T12:36:06+03:00", + "path": "/nix/store/3xgwqd2pica8301sbfrw4bmv0xm2wzx5-cldr-lua", + "sha256": "0hlfb115qhamczzskvckxczf9dpp8cv8h6vz7zgdl2n025ik9dp4", + "hash": "sha256-5LY0YxHACtreP38biDZD97bkPuuT7an/Z1VBXEJYjkI=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua penlight ]; + + meta = { + homepage = "https://github.com/alerque/cldr-lua"; + description = "Lua interface to Unicode CLDR data"; + maintainers = with lib.maintainers; [ alerque ]; + license.fullName = "MIT/ICU"; + }; +}) {}; + +compat53 = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "compat53"; + version = "0.7-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/compat53-0.7-1.rockspec"; + sha256 = "1r7a3q1cjrcmdycrv2ikgl83irjhxs53sa88v2fdpr9aaamlb101"; + }).outPath; + src = fetchzip { + url = "https://github.com/keplerproject/lua-compat-5.3/archive/v0.7.zip"; + sha256 = "02a14nvn7aggg1yikj9h3dcf8aqjbxlws1bfvqbpfxv9d5phnrpz"; + }; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/keplerproject/lua-compat-5.3"; + description = "Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1"; + maintainers = with lib.maintainers; [ vcunat ]; + license.fullName = "MIT"; + }; +}) {}; + +cosmo = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lpeg }: +buildLuarocksPackage { + pname = "cosmo"; + version = "16.06.04-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/cosmo-16.06.04-1.rockspec"; + sha256 = "0ipv1hrlhvaz1myz6qxabq7b7kb3bz456cya3r292487a3g9h9pb"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/mascarenhas/cosmo.git", + "rev": "e774f08cbf8d271185812a803536af8a8240ac51", + "date": "2016-06-17T05:39:58-07:00", + "path": "/nix/store/k3p4xc4cfihp4h8aj6vacr25rpcsjd96-cosmo", + "sha256": "03b5gwsgxd777970d2h6rx86p7ivqx7bry8xmx2r396g3w85qy2p", + "hash": "sha256-V3hcEB/PpJFFrx35vE7HO55rUM8GigZOOue0/jR/ZQ0=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + propagatedBuildInputs = [ lpeg ]; + + meta = { + homepage = "http://cosmo.luaforge.net"; + description = "Safe templates for Lua"; + maintainers = with lib.maintainers; [ marsam ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +coxpcall = callPackage({ buildLuarocksPackage, fetchgit, fetchurl }: +buildLuarocksPackage { + pname = "coxpcall"; + version = "1.17.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/coxpcall-1.17.0-1.rockspec"; + sha256 = "0mf0nggg4ajahy5y1q5zh2zx9rmgzw06572bxx6k8b736b8j7gca"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/keplerproject/coxpcall", + "rev": "ea22f44e490430e40217f0792bf82eaeaec51903", + "date": "2018-02-26T19:53:11-03:00", + "path": "/nix/store/1q4p5qvr6rlwisyarlgnmk4dx6vp8xdl-coxpcall", + "sha256": "1k3q1rr2kavkscf99b5njxhibhp6iwhclrjk6nnnp233iwc2jvqi", + "hash": "sha256-EW8pGI9jiGutNVNmyiCP5sIVYZe2rJQc03OrKXIOeMw=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + + meta = { + homepage = "http://keplerproject.github.io/coxpcall"; + description = "Coroutine safe xpcall and pcall"; + license.fullName = "MIT/X11"; + }; +}) {}; + +cqueues = callPackage({ buildLuarocksPackage, fetchurl, lua }: +buildLuarocksPackage { + pname = "cqueues"; + version = "20200726.52-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/cqueues-20200726.52-0.rockspec"; + sha256 = "0w2kq9w0wda56k02rjmvmzccz6bc3mn70s9v7npjadh85i5zlhhp"; + }).outPath; + src = fetchurl { + url = "https://github.com/wahern/cqueues/archive/rel-20200726.tar.gz"; + sha256 = "0lhd02ag3r1sxr2hx847rdjkddm04l1vf5234v5cz9bd4kfjw4cy"; + }; + + disabled = (lua.luaversion != "5.2"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://25thandclement.com/~william/projects/cqueues.html"; + description = "Continuation Queues: Embeddable asynchronous networking, threading, and notification framework for Lua on Unix."; + maintainers = with lib.maintainers; [ vcunat ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +cyan = callPackage({ argparse, buildLuarocksPackage, fetchgit, fetchurl, luafilesystem, tl }: +buildLuarocksPackage { + pname = "cyan"; + version = "0.3.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/cyan-0.3.0-1.rockspec"; + sha256 = "1bs5gwgdhibj2gm8y3810b0hh6s9n00fgij8nnjag9kpqrd80vsj"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/teal-language/cyan", + "rev": "31c9eccfc5bf26725e4e8a76ff5d5beaa175da8d", + "date": "2023-02-19T18:58:20-06:00", + "path": "/nix/store/smpj81z2a2blb3qfpjwx9n52d50rp39w-cyan", + "sha256": "0pskargvjn2phgz481b08ndhp3z23s7lqfs8qlwailr7a4f2fc7h", + "hash": "sha256-8DAnHFEn06g4xUg7TI8e4o8Lm0VgBUT+g1dYuV9WU18=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + propagatedBuildInputs = [ argparse luafilesystem tl ]; + + meta = { + homepage = "https://github.com/teal-language/cyan"; + description = "A build system for the Teal language"; + license.fullName = "MIT"; + }; +}) {}; + +digestif = callPackage({ buildLuarocksPackage, fetchgit, lpeg, lua, luaOlder, luafilesystem }: +buildLuarocksPackage { + pname = "digestif"; + version = "dev-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/astoff/digestif", + "rev": "c0199f9cd86021c0a89662002d7a3411d12fb168", + "date": "2023-03-10T15:04:26+01:00", + "path": "/nix/store/3s849fwc80lf7pvgsiavqmvc5538cwwd-digestif", + "sha256": "0xccrrfwvcj03nnrzs3iwig7y2ahl706h413hkywcplyd5407dv9", + "hash": "sha256-abcDSGmeXsb9hCMQaMChUAl/XuRx6J+tHUCyzV3OjHU=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.3"); + propagatedBuildInputs = [ lpeg lua luafilesystem ]; + + meta = { + homepage = "https://github.com/astoff/digestif/"; + description = "A code analyzer for TeX"; + license.fullName = "GPLv3+ and other free licenses"; + }; +}) {}; + +dkjson = callPackage({ buildLuarocksPackage, fetchurl, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "dkjson"; + version = "2.6-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/dkjson-2.6-1.rockspec"; + sha256 = "1hhmgz2nixqg23shfnl0kq6wxdadx36z6hhsrz33g7idbm6rbwm1"; + }).outPath; + src = fetchurl { + url = "http://dkolf.de/src/dkjson-lua.fsl/tarball/dkjson-2.6.tar.gz?uuid=release_2_6"; + sha256 = "0wwpdz20fvg5j36902892mnb99craf22697r6v7xdblqnd7fw1xx"; + }; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://dkolf.de/src/dkjson-lua.fsl/"; + description = "David Kolf's JSON module for Lua"; + license.fullName = "MIT/X11"; + }; +}) {}; + +fennel = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "fennel"; + version = "1.3.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/fennel-1.3.1-1.rockspec"; + sha256 = "1dsavrsvngwx8vf1l2sj44arvip3bqkhsfh2sdkwa6r9mnw9zx87"; + }).outPath; + src = fetchurl { + url = "https://fennel-lang.org/downloads/fennel-1.3.1.tar.gz"; + sha256 = "1c7iwyc9f3a9k34fjq77zjk0minl3bl3f7wqlj8i1n2x7598nzgx"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://fennel-lang.org/"; + description = "A lisp that compiles to Lua"; + maintainers = with lib.maintainers; [ misterio77 ]; + license.fullName = "MIT"; + }; +}) {}; + +fifo = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua }: +buildLuarocksPackage { + pname = "fifo"; + version = "0.2-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/fifo-0.2-0.rockspec"; + sha256 = "0vr9apmai2cyra2n573nr3dyk929gzcs4nm1096jdxcixmvh2ymq"; + }).outPath; + src = fetchzip { + url = "https://github.com/daurnimator/fifo.lua/archive/0.2.zip"; + sha256 = "1800k7h5hxsvm05bjdr65djjml678lwb0661cll78z1ys2037nzn"; + }; + + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/daurnimator/fifo.lua"; + description = "A lua library/'class' that implements a FIFO"; + license.fullName = "MIT/X11"; + }; +}) {}; + +fluent = callPackage({ buildLuarocksPackage, cldr, fetchgit, fetchurl, lua, luaOlder, luaepnf, penlight }: +buildLuarocksPackage { + pname = "fluent"; + version = "0.2.0-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/fluent-0.2.0-0.rockspec"; + sha256 = "1x3nk8xdf923rvdijr0jx8v6w3wxxfch7ri3kxca0pw80b5bc2fa"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/alerque/fluent-lua.git", + "rev": "e1cd4130e460bcd52f9118b7d9f9a72d2e8b902c", + "date": "2022-04-16T23:08:20+03:00", + "path": "/nix/store/flxlnrzg6rx75qikiggmy494npx59p0b-fluent-lua", + "sha256": "12js8l4hcxhziza0sry0f01kfm8f8m6kx843dmcky36z1y2mccmq", + "hash": "sha256-uDJWhQ/fDD9ZbYOgPk1FDlU3A3DAZw3Ujx92BglFWoo=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ cldr lua luaepnf penlight ]; + + meta = { + homepage = "https://github.com/alerque/fluent-lua"; + description = "Lua implementation of Project Fluent"; + maintainers = with lib.maintainers; [ alerque ]; + license.fullName = "MIT"; + }; +}) {}; + +fzy = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "fzy"; + version = "1.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/fzy-1.0-1.rockspec"; + sha256 = "1v050lm3rn1k5wwi2nimlbp1b7j6b8vkwvhc1npyqzj8jv7w9w9n"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/swarn/fzy-lua", + "rev": "2d018a56e3a240bca4b3142a723b2f56392f3e4a", + "date": "2023-01-29T07:05:02-06:00", + "path": "/nix/store/nz19glmy52jbz46wl7xf0jd8m441klf0-fzy-lua", + "sha256": "0xknm5513a6nlariwxgqndf3wj8xals26swjsv06hx133ihna01x", + "hash": "sha256-PQBlYRwjdGjA1pJrIzRVHUk+XLP4dR6zotaoEUqpdnY=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/swarn/fzy-lua"; + description = "A fuzzy string-matching algorithm"; + maintainers = with lib.maintainers; [ mrcjkb ]; + license.fullName = "MIT"; + }; +}) {}; + +gitsigns-nvim = callPackage({ buildLuarocksPackage, fetchgit, lua }: +buildLuarocksPackage { + pname = "gitsigns.nvim"; + version = "scm-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lewis6991/gitsigns.nvim", + "rev": "ff01d34daaed72f271a8ffa088a7e839a60c640f", + "date": "2023-10-06T09:04:46+01:00", + "path": "/nix/store/2m4fyzkkg6bdbfb4kpjrqgbawvs3khqg-gitsigns.nvim", + "sha256": "0clyngmmz0qilnjykqc8n7c5kidspywazwy3axsikgh4x8wzdn17", + "hash": "sha256-J9j2OeoEvhl1V8Pzr7i/usVZ2LGI4emlpRGDX+uznjI=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (lua.luaversion != "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://github.com/lewis6991/gitsigns.nvim"; + description = "Git signs written in pure lua"; + license.fullName = "MIT/X11"; + }; +}) {}; + +haskell-tools-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder, plenary-nvim }: +buildLuarocksPackage { + pname = "haskell-tools.nvim"; + version = "2.4.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/haskell-tools.nvim-2.4.0-1.rockspec"; + sha256 = "1sapapkz3ay9yrljmc1lwxjglv27f1zbh6m014r2z59px4ir61dz"; + }).outPath; + src = fetchzip { + url = "https://github.com/mrcjkb/haskell-tools.nvim/archive/2.4.0.zip"; + sha256 = "054vfqsccq1qmqmglnppi2n7ksckldx8b5p62y35y0cbcdyh7wz3"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua plenary-nvim ]; + + meta = { + homepage = "https://github.com/mrcjkb/haskell-tools.nvim"; + description = "Supercharge your Haskell experience in neovim!"; + license.fullName = "GPL-2.0"; + }; +}) {}; + +http = callPackage({ basexx, binaryheap, bit32, buildLuarocksPackage, compat53, cqueues, fetchurl, fetchzip, fifo, lpeg, lpeg_patterns, lua, luaOlder, luaossl }: +buildLuarocksPackage { + pname = "http"; + version = "0.3-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/http-0.3-0.rockspec"; + sha256 = "0fn3irkf5nnmfc83alc40b316hs8l7zdq2xlaiaa65sjd8acfvia"; + }).outPath; + src = fetchzip { + url = "https://github.com/daurnimator/lua-http/archive/v0.3.zip"; + sha256 = "1pqxxxifl2j1cik3kgayx43v6py5jp6r22myhvxfffysb3b84a2l"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ basexx binaryheap bit32 compat53 cqueues fifo lpeg lpeg_patterns lua luaossl ]; + + meta = { + homepage = "https://github.com/daurnimator/lua-http"; + description = "HTTP library for Lua"; + maintainers = with lib.maintainers; [ vcunat ]; + license.fullName = "MIT"; + }; +}) {}; + +inspect = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "inspect"; + version = "3.1.3-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/inspect-3.1.3-0.rockspec"; + sha256 = "1iivb2jmz0pacmac2msyqwvjjx8q6py4h959m8fkigia6srg5ins"; + }).outPath; + src = fetchurl { + url = "https://github.com/kikito/inspect.lua/archive/v3.1.3.tar.gz"; + sha256 = "1sqylz5hmj5sbv4gi9988j6av3cb5lwkd7wiyim1h5lr7xhnlf23"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/kikito/inspect.lua"; + description = "Lua table visualizer, ideal for debugging"; + license.fullName = "MIT <http://opensource.org/licenses/MIT>"; + }; +}) {}; + +jsregexp = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "jsregexp"; + version = "0.0.6-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/jsregexp-0.0.6-1.rockspec"; + sha256 = "1m3vqv1p44akk020c3l3n8pdxs30rl5509gbs3rr13hmqlvil4cs"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/kmarius/jsregexp.git", + "rev": "b5a81e21d0875667ba2458ac8ae903afd5568698", + "date": "2023-02-12T14:19:03+01:00", + "path": "/nix/store/aj42wy1yp53w406id33dyxpv1ws23g4b-jsregexp", + "sha256": "0l7hn5f2jl4n2bpikb72szfzgc192jy3ig5pxx9061j44amyq89m", + "hash": "sha256-NSHsqyJEBgNS77e8OLwUKbD33dfirBnvEpZQKVyx8FA=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/kmarius/jsregexp"; + description = "javascript (ECMA19) regular expressions for lua"; + license.fullName = "MIT"; + }; +}) {}; + +ldbus = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "ldbus"; + version = "scm-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/ldbus-scm-0.rockspec"; + sha256 = "1c0h6fx7avzh89hl17v6simy1p4mjg8bimlsbjybks0zxznd8rbm"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/daurnimator/ldbus.git", + "rev": "6d4909c983c8a0e2c7384bac8055c628aa524ea2", + "date": "2021-11-10T23:58:54+11:00", + "path": "/nix/store/j830jk2hkanz7abkdsbvg2warsyr0a2c-ldbus", + "sha256": "18q98b98mfvjzbyssf18bpnlx4hsx4s9lwcwia4z9dxiaiw7b77j", + "hash": "sha256-8px1eFSxt/SJipxxmjTpGpJO7V0oOK39+nK7itJCCaM=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/daurnimator/ldbus"; + description = "A Lua library to access dbus."; + license.fullName = "MIT/X11"; + }; +}) {}; + +ldoc = callPackage({ buildLuarocksPackage, fetchgit, markdown, penlight }: +buildLuarocksPackage { + pname = "ldoc"; + version = "dev-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lunarmodules/ldoc.git", + "rev": "e4940daf748affb86489b0782ed8abab2e88bebc", + "date": "2023-05-13T08:12:31+03:00", + "path": "/nix/store/sqhilwlh0glw1dxcx6w98wjkp65amvil-ldoc", + "sha256": "0an92jxvhbw2lvg269x6z3874x3wqmbmx52j4gsgxf9ldpizssgd", + "hash": "sha256-7Wn94200uf70I1KUXlfFfHRy0PimJyPepoIvuLsUySo=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + propagatedBuildInputs = [ markdown penlight ]; + + meta = { + homepage = "http://lunarmodules.github.io/ldoc"; + description = "A Lua Documentation Tool"; + license.fullName = "MIT <http://opensource.org/licenses/MIT>"; + }; +}) {}; + +lgi = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lgi"; + version = "0.9.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lgi-0.9.2-1.rockspec"; + sha256 = "1gqi07m4bs7xibsy4vx8qgyp3yb1wnh0gdq1cpwqzv35y6hn5ds3"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/pavouk/lgi.git", + "rev": "0fdcf8c677094d0c109dfb199031fdbc0c9c47ea", + "date": "2017-10-09T20:55:55+02:00", + "path": "/nix/store/vh82n8pc8dy5c8nph0vssk99vv7q4qg2-lgi", + "sha256": "03rbydnj411xpjvwsyvhwy4plm96481d7jax544mvk7apd8sd5jj", + "hash": "sha256-UpamUbvqzF0JKV3J0wIiJlV6iedwe823vD0EIm3zKw8=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://github.com/pavouk/lgi"; + description = "Lua bindings to GObject libraries"; + license.fullName = "MIT/X11"; + }; +}) {}; + +linenoise = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "linenoise"; + version = "0.9-1"; + + src = fetchurl { + url = "https://github.com/hoelzro/lua-linenoise/archive/0.9.tar.gz"; + sha256 = "177h6gbq89arwiwxah9943i8hl5gvd9wivnd1nhmdl7d8x0dn76c"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/hoelzro/lua-linenoise"; + description = "A binding for the linenoise command line library"; + license.fullName = "MIT/X11"; + }; +}) {}; + +ljsyscall = callPackage({ buildLuarocksPackage, fetchurl, lua }: +buildLuarocksPackage { + pname = "ljsyscall"; + version = "0.12-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/ljsyscall-0.12-1.rockspec"; + sha256 = "0zna5s852vn7q414z56kkyqwpighaghyq7h7in3myap4d9vcgm01"; + }).outPath; + src = fetchurl { + url = "https://github.com/justincormack/ljsyscall/archive/v0.12.tar.gz"; + sha256 = "1w9g36nhxv92cypjia7igg1xpfrn3dbs3hfy6gnnz5mx14v50abf"; + }; + + disabled = (lua.luaversion != "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://www.myriabit.com/ljsyscall/"; + description = "LuaJIT Linux syscall FFI"; + maintainers = with lib.maintainers; [ lblasc ]; + license.fullName = "MIT"; + }; +}) {}; + +lmathx = callPackage({ buildLuarocksPackage, fetchurl, lua }: +buildLuarocksPackage { + pname = "lmathx"; + version = "20150624-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/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"; + }; +}) {}; + +lmpfrlib = callPackage({ buildLuarocksPackage, fetchurl, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "lmpfrlib"; + version = "20170112-2"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lmpfrlib-20170112-2.rockspec"; + sha256 = "1x7qiwmk5b9fi87fn7yvivdsis8h9fk9r3ipqiry5ahx72vzdm7d"; + }).outPath; + src = fetchurl { + url = "http://www.circuitwizard.de/lmpfrlib/lmpfrlib.c"; + sha256 = "1bkfwdacj1drzqsfxf352fjppqqwi5d4j084jr9vj9dvjb31rbc1"; + }; + + disabled = (luaOlder "5.3") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://www.circuitwizard.de/lmpfrlib/lmpfrlib.html"; + description = "Lua API for the GNU MPFR library"; + maintainers = with lib.maintainers; [ alexshpilkin ]; + license.fullName = "LGPL"; + }; +}) {}; + +loadkit = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "loadkit"; + version = "1.1.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/loadkit-1.1.0-1.rockspec"; + sha256 = "08fx0xh90r2zvjlfjkyrnw2p95xk1a0qgvlnq4siwdb2mm6fq12l"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/leafo/loadkit.git", + "rev": "95b13a36442f59b41ab52df96d52233c4a725dfd", + "date": "2023-08-17T11:36:25-07:00", + "path": "/nix/store/9xcy2p5pxiq0p17szv8p2lagb6xzb8c8-loadkit", + "sha256": "0hivmn5r1scxv3nckm4hqfplq33wiab3ypjwsfdkmp3bdri0dhxs", + "hash": "sha256-usMGYm5r3Dqb01xeP5aKfAxMr8OQ1Mns2J3pkIutO0I=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/leafo/loadkit"; + description = "Loadkit allows you to load arbitrary files within the Lua package path"; + maintainers = with lib.maintainers; [ alerque ]; + license.fullName = "MIT"; + }; +}) {}; + +lpeg = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lpeg"; + version = "1.1.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lpeg-1.1.0-1.rockspec"; + sha256 = "03af1p00madfhfxjzrsxb0jm0n49ixwadnkdp0vbgs77d2v985jn"; + }).outPath; + src = fetchurl { + url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz"; + sha256 = "0aimsjpcpkh3kk65f0pg1z2bp6d83rn4dg6pgbx1yv14s9kms5ab"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://www.inf.puc-rio.br/~roberto/lpeg.html"; + description = "Parsing Expression Grammars For Lua"; + maintainers = with lib.maintainers; [ vyp ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +lpeg_patterns = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lpeg, lua }: +buildLuarocksPackage { + pname = "lpeg_patterns"; + version = "0.5-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lpeg_patterns-0.5-0.rockspec"; + sha256 = "1vzl3ryryc624mchclzsfl3hsrprb9q214zbi1xsjcc4ckq5qfh7"; + }).outPath; + src = fetchzip { + url = "https://github.com/daurnimator/lpeg_patterns/archive/v0.5.zip"; + sha256 = "1s3c179a64r45ffkawv9dnxw4mzwkzj00nr9z2gs5haajgpjivw6"; + }; + + propagatedBuildInputs = [ lpeg lua ]; + + meta = { + homepage = "https://github.com/daurnimator/lpeg_patterns/archive/v0.5.zip"; + description = "a collection of LPEG patterns"; + license.fullName = "MIT"; + }; +}) {}; + +lpeglabel = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lpeglabel"; + version = "1.6.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lpeglabel-1.6.0-1.rockspec"; + sha256 = "13gc32pggng6f95xx5zw9n9ian518wlgb26mna9kh4q2xa1k42pm"; + }).outPath; + src = fetchurl { + url = "https://github.com/sqmedeiros/lpeglabel/archive/v1.6.0-1.tar.gz"; + sha256 = "1i02lsxj20iygqm8fy6dih1gh21lqk5qj1mv14wlrkaywnv35wcv"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/sqmedeiros/lpeglabel/"; + description = "Parsing Expression Grammars For Lua with Labeled Failures"; + license.fullName = "MIT/X11"; + }; +}) {}; + +lrexlib-gnu = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lrexlib-gnu"; + version = "2.9.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lrexlib-gnu-2.9.1-1.rockspec"; + sha256 = "1jfjxh26iwsavipkwmscwv52l77qxzvibfmlvpskcpawyii7xcw8"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/rrthomas/lrexlib.git", + "rev": "69d5c442c5a4bdc1271103e88c5c798b605e9ed2", + "date": "2020-08-07T12:10:29+03:00", + "path": "/nix/store/vnnhcc0r9zhqwshmfzrn0ryai61l6xrd-lrexlib", + "sha256": "15dsxq0363940rij9za8mc224n9n58i2iqw1z7r1jh3qpkaciw7j", + "hash": "sha256-8vDI1Lx4QBny+YHjKCIqNlkiBKtI/SRjBiQNMwDuupU=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://github.com/rrthomas/lrexlib"; + description = "Regular expression library binding (GNU flavour)."; + license.fullName = "MIT/X11"; + }; +}) {}; + +lrexlib-pcre = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lrexlib-pcre"; + version = "2.9.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lrexlib-pcre-2.9.1-1.rockspec"; + sha256 = "036k27xaplxn128b3p67xiqm8k40s7bxvh87wc8v2cx1cc4b9ia4"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/rrthomas/lrexlib.git", + "rev": "69d5c442c5a4bdc1271103e88c5c798b605e9ed2", + "date": "2020-08-07T12:10:29+03:00", + "path": "/nix/store/vnnhcc0r9zhqwshmfzrn0ryai61l6xrd-lrexlib", + "sha256": "15dsxq0363940rij9za8mc224n9n58i2iqw1z7r1jh3qpkaciw7j", + "hash": "sha256-8vDI1Lx4QBny+YHjKCIqNlkiBKtI/SRjBiQNMwDuupU=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://github.com/rrthomas/lrexlib"; + description = "Regular expression library binding (PCRE flavour)."; + maintainers = with lib.maintainers; [ vyp ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +lrexlib-posix = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lrexlib-posix"; + version = "2.9.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lrexlib-posix-2.9.1-1.rockspec"; + sha256 = "1zxrx9yifm9ry4wbjgv86rlvq3ff6qivldvib3ha4767azla0j0r"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/rrthomas/lrexlib.git", + "rev": "69d5c442c5a4bdc1271103e88c5c798b605e9ed2", + "date": "2020-08-07T12:10:29+03:00", + "path": "/nix/store/vnnhcc0r9zhqwshmfzrn0ryai61l6xrd-lrexlib", + "sha256": "15dsxq0363940rij9za8mc224n9n58i2iqw1z7r1jh3qpkaciw7j", + "hash": "sha256-8vDI1Lx4QBny+YHjKCIqNlkiBKtI/SRjBiQNMwDuupU=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://github.com/rrthomas/lrexlib"; + description = "Regular expression library binding (POSIX flavour)."; + license.fullName = "MIT/X11"; + }; +}) {}; + +lua-cjson = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lua-cjson"; + version = "2.1.0.10-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-cjson-2.1.0.10-1.rockspec"; + sha256 = "05sp7rq72x4kdkyid1ch0yyscwsi5wk85d2hj6xwssz3h8n8drdg"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/openresty/lua-cjson", + "rev": "96e6e0ce67ed070a52223c1e9518c9018b1ce376", + "date": "2021-12-10T20:19:58+08:00", + "path": "/nix/store/1ac8lz6smfa8zqfipqfsg749l9rw4ly9-lua-cjson", + "sha256": "03hdsv7d77mggis58k8fmlpbh1d544m0lfqyl9rpjcqkiqs1qvza", + "hash": "sha256-6m8cNI4TM3lzoh47CiohpQW4Lq0OTVR0fK+e087WDQ4=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://www.kyne.com.au/~mark/software/lua-cjson.php"; + description = "A fast JSON encoding/parsing module"; + license.fullName = "MIT"; + }; +}) {}; + +lua-cmsgpack = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lua-cmsgpack"; + version = "0.4.0-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-cmsgpack-0.4.0-0.rockspec"; + sha256 = "10cvr6knx3qvjcw1q9v05f2qy607mai7lbq321nx682aa0n1fzin"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/antirez/lua-cmsgpack.git", + "rev": "dec1810a70d2948725f2e32cc38163de62b9d9a7", + "date": "2015-06-03T08:39:04+02:00", + "path": "/nix/store/ksqvl7hbd5s7nb6hjffyic1shldac4z2-lua-cmsgpack", + "sha256": "0j0ahc9rprgl6dqxybaxggjam2r5i2wqqsd6764n0d7fdpj9fqm0", + "hash": "sha256-oGKX5G3uNGCJOaZpjLmIJYuq5HtdLd9xM/TlmxODCkg=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://github.com/antirez/lua-cmsgpack"; + description = "MessagePack C implementation and bindings for Lua 5.1/5.2/5.3"; + license.fullName = "Two-clause BSD"; + }; +}) {}; + +lua-curl = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "lua-curl"; + version = "0.3.13-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-curl-0.3.13-1.rockspec"; + sha256 = "0lz534sm35hxazf1w71hagiyfplhsvzr94i6qyv5chjfabrgbhjn"; + }).outPath; + src = fetchzip { + url = "https://github.com/Lua-cURL/Lua-cURLv3/archive/v0.3.13.zip"; + sha256 = "0gn59bwrnb2mvl8i0ycr6m3jmlgx86xlr9mwnc85zfhj7zhi5anp"; + }; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/Lua-cURL"; + description = "Lua binding to libcurl"; + license.fullName = "MIT/X11"; + }; +}) {}; + +lua-ffi-zlib = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lua-ffi-zlib"; + version = "0.6-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-ffi-zlib-0.6-0.rockspec"; + sha256 = "060sac715f1ris13fjv6gwqm0lk6by0a2zhldxd8hdrc0jss8p34"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/hamishforbes/lua-ffi-zlib", + "rev": "61e95cb434e4047c8bc65a180c293a05bf754416", + "date": "2023-08-11T09:28:16+12:00", + "path": "/nix/store/gfyr81q84mgpgwyh28xpzlf34ndjkfwc-lua-ffi-zlib", + "sha256": "0r6vima495h0d4f8ibf3fv9b6k7rqnavgvsy78dybslrm7lwsz4p", + "hash": "sha256-l3zN6amZ6uUbOl7vt5XF+Uyz0nbDrYgcaQCWRFSN22Q=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/hamishforbes/lua-ffi-zlib"; + description = "A Lua module using LuaJIT's FFI feature to access zlib."; + }; +}) {}; + +lua-iconv = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lua-iconv"; + version = "7.0.0-2"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-iconv-7.0.0-2.rockspec"; + sha256 = "1bj512kqcj2cxna7si4648fci51fs4bqvdn592i9cahscsc0kk9g"; + }).outPath; + src = fetchurl { + url = "https://github.com/lunarmodules/lua-iconv/archive/v7.0.0/lua-iconv-7.0.0.tar.gz"; + sha256 = "0arp0h342hpp4kfdxc69yxspziky4v7c13jbf12yrs8f1lnjzr0x"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/lunarmodules/lua-iconv/"; + description = "Lua binding to the iconv"; + license.fullName = "MIT/X11"; + }; +}) {}; + +lua-lsp = callPackage({ buildLuarocksPackage, dkjson, fetchgit, fetchurl, inspect, lpeglabel, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "lua-lsp"; + version = "0.1.0-2"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-lsp-0.1.0-2.rockspec"; + sha256 = "19jsz00qlgbyims6cg8i40la7v8kr7zsxrrr3dg0kdg0i36xqs6c"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/Alloyed/lua-lsp", + "rev": "6afbe53b43d9fb2e70edad50081cc3062ca3d78f", + "date": "2020-10-17T15:07:11-04:00", + "path": "/nix/store/qn9syhm875k1qardhhsp025cm3dbnqvm-lua-lsp", + "sha256": "17k3jq61jz6j9bz4vc3hmsfx1s26cfgq1acja8fqyixljklmsbqp", + "hash": "sha256-Fy9d6ZS0R48dUpKpgJ9jRujQna5wsE3+StJ8GQyWY54=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ dkjson inspect lpeglabel lua ]; + + meta = { + homepage = "https://github.com/Alloyed/lua-lsp"; + description = "A Language Server implementation for lua, the language"; + license.fullName = "MIT"; + }; +}) {}; + +lua-messagepack = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lua-messagepack"; + version = "0.5.3-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-messagepack-0.5.3-1.rockspec"; + sha256 = "0sc11ckizivijgdnqvb0xnagrak6d2caxc5j8jz8ad1b2plp50pq"; + }).outPath; + src = fetchurl { + url = "https://framagit.org/fperrad/lua-MessagePack/raw/releases/lua-messagepack-0.5.3.tar.gz"; + sha256 = "17qdigs2pzi38rfqgs63xh44n1vylb6bcmmbz3sby68f0n9p8kq6"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://fperrad.frama.io/lua-MessagePack/"; + description = "a pure Lua implementation of the MessagePack serialization format"; + license.fullName = "MIT/X11"; + }; +}) {}; + +lua-protobuf = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lua-protobuf"; + version = "0.5.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-protobuf-0.5.0-1.rockspec"; + sha256 = "08z73rsqi7ysdyjcwfqyr8z6i5r43kx5fd8l32wlzv6cx6yvlqc9"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/starwing/lua-protobuf.git", + "rev": "a256c34e12cad643d6ad189bddcbc314da9b0658", + "date": "2023-04-30T02:11:27+08:00", + "path": "/nix/store/n7ihjh36kp2f80016f9y8xydia2pclzq-lua-protobuf", + "sha256": "1kbanbgvmzcfnxq30f8hmirgc1d768lacpjihis9961pc7w96l9n", + "hash": "sha256-NlGT+GE3mJR0hFFepigypwX2cqwQOTBwt479ut+yas0=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/starwing/lua-protobuf"; + description = "protobuf data support for Lua"; + maintainers = with lib.maintainers; [ lockejan ]; + license.fullName = "MIT"; + }; +}) {}; + +lua-resty-http = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lua-resty-http"; + version = "0.17.1-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-resty-http-0.17.1-0.rockspec"; + sha256 = "05gid7c5i459clw707z1jic42s52ap4z66dbr9ims5znaq5s3wdk"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/ledgetech/lua-resty-http", + "rev": "4ab4269cf442ba52507aa2c718f606054452fcad", + "date": "2023-03-22T09:48:56+00:00", + "path": "/nix/store/ykd1d5fa56i1c286k58jm233lqvdv2mi-lua-resty-http", + "sha256": "0xdhygjqjpfkq1bq8b09fichww57q1z694lz16i3hcc3g4sr4hxg", + "hash": "sha256-r0OSNXmDMTiiCZ+SZH7Ap3AOWXQJLIRXwNNdieXzsHU=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/ledgetech/lua-resty-http"; + description = "Lua HTTP client cosocket driver for OpenResty / ngx_lua."; + license.fullName = "2-clause BSD"; + }; +}) {}; + +lua-resty-jwt = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, lua-resty-openssl, luaOlder }: +buildLuarocksPackage { + pname = "lua-resty-jwt"; + version = "0.2.3-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-resty-jwt-0.2.3-0.rockspec"; + sha256 = "1fxdwfr4pna3fdfm85kin97n53caq73h807wjb59wpqiynbqzc8c"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/cdbattags/lua-resty-jwt", + "rev": "b3d5c085643fa95099e72a609c57095802106ff9", + "date": "2021-01-20T16:53:57-05:00", + "path": "/nix/store/z4a8ffxj2i3gbjp0f8r377cdp88lkzl4-lua-resty-jwt", + "sha256": "07w8r8gqbby06x493qzislig7a3giw0anqr4ivp3g2ms8v9fnng6", + "hash": "sha256-5lnr0ka6ijfujiRjqwCPb6jzItXx45FIN8CvhR/KiB8=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua lua-resty-openssl ]; + + meta = { + homepage = "https://github.com/cdbattags/lua-resty-jwt"; + description = "JWT for ngx_lua and LuaJIT."; + license.fullName = "Apache License Version 2"; + }; +}) {}; + +lua-resty-openidc = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, lua-resty-http, lua-resty-jwt, lua-resty-session, luaOlder }: +buildLuarocksPackage { + pname = "lua-resty-openidc"; + version = "1.7.6-3"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-resty-openidc-1.7.6-3.rockspec"; + sha256 = "08nq24kxw51xiyyp5jailyqjfsgz4m4fzy4hb7g3fv76vcsf8msp"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/zmartzone/lua-resty-openidc", + "rev": "5a7b9e2cfe4f5aab7c60032e6ca94d2d534f7d19", + "date": "2023-01-30T19:06:51+01:00", + "path": "/nix/store/nyd2jqhlq8gx4chapqyxk2q4dsxgm8hz-lua-resty-openidc", + "sha256": "15dh9z7y84n840x02xsn2m9h9hdakbbv4p1z7dfz85v5w5i6c86p", + "hash": "sha256-1yBmYuFlF/RdOz9csteaqsEEUxVWdwE6IMgS5M9PsJU=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua lua-resty-http lua-resty-jwt lua-resty-session ]; + + meta = { + homepage = "https://github.com/zmartzone/lua-resty-openidc"; + description = "A library for NGINX implementing the OpenID Connect Relying Party (RP) and the OAuth 2.0 Resource Server (RS) functionality"; + license.fullName = "Apache 2.0"; + }; +}) {}; + +lua-resty-openssl = callPackage({ buildLuarocksPackage, fetchgit, fetchurl }: +buildLuarocksPackage { + pname = "lua-resty-openssl"; + version = "0.8.25-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-resty-openssl-0.8.25-1.rockspec"; + sha256 = "0wy0fjb50kpcyk6mkjj364p4lrfxl0b34xnv2n0wib1brk536s1l"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/fffonion/lua-resty-openssl.git", + "rev": "f9a153288238e9b7e3d5d40144610410a06a83cd", + "date": "2023-09-05T15:19:20+08:00", + "path": "/nix/store/jnvr2pzvxl2psd5w030m4qnv5dsm8spb-lua-resty-openssl", + "sha256": "08fqgdfi0dr3n2lqrbgwa94dd2f6crn1kb0cfpccphknaypaw7dp", + "hash": "sha256-tx2urld2wsvYdQysGWxmxonWSFL8rYypsCM3EF172CE=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + + meta = { + homepage = "https://github.com/fffonion/lua-resty-openssl"; + description = "No summary"; + license.fullName = "BSD"; + }; +}) {}; + +lua-resty-session = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, lua-ffi-zlib, lua-resty-openssl, luaOlder }: +buildLuarocksPackage { + pname = "lua-resty-session"; + version = "4.0.5-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-resty-session-4.0.5-1.rockspec"; + sha256 = "0h0kqwna46mrraq310qjb7yigxwv13n4czk24xnqr21czxsskzkg"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/bungle/lua-resty-session.git", + "rev": "5f2aed616d16fa7ca04dc40e23d6941740cd634d", + "date": "2023-08-16T18:24:43+03:00", + "path": "/nix/store/s6i1idv9lx52x7lcl0kc2c9sm9pic4kq-lua-resty-session", + "sha256": "08pih1baqhlvsqvcr1zzympmn8v7gskmis6ffhigll37hbzvljcz", + "hash": "sha256-n0m6/4JnUPoidM7oWKd+ZyNbb/X/h8w21ptCrFaA8SI=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua lua-ffi-zlib lua-resty-openssl ]; + + meta = { + homepage = "https://github.com/bungle/lua-resty-session"; + description = "Session Library for OpenResty - Flexible and Secure"; + license.fullName = "BSD"; + }; +}) {}; + +lua-rtoml = callPackage({ luaOlder, luarocks-build-rust-mlua, buildLuarocksPackage, lua, fetchgit }: +buildLuarocksPackage { + pname = "lua-rtoml"; + version = "0.2-0"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lblasc/lua-rtoml.git", + "rev": "e59ad00f5df8426767ddfb355f4ba6093468a168", + "date": "2023-11-02T14:17:41+01:00", + "path": "/nix/store/ynn6bvnwyqrackvyxzysxy294gh9prg1-lua-rtoml", + "sha256": "1y2ncdl3mpwqc1h5xm0rf9g1ns2vswgqffsj9sqrqidmg984jkr4", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua luarocks-build-rust-mlua ]; + + meta = { + homepage = "https://github.com/lblasc/lua-rtoml"; + description = "Lua bindings for the Rust toml crate."; + maintainers = with lib.maintainers; [ lblasc ]; + license.fullName = "MIT"; + }; +}) {}; + +lua-subprocess = callPackage({ buildLuarocksPackage, fetchgit, lua, luaOlder }: +buildLuarocksPackage { + pname = "subprocess"; + version = "scm-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/0x0ade/lua-subprocess.git", + "rev": "bfa8e97da774141f301cfd1106dca53a30a4de54", + "date": "2021-01-09T22:31:54+01:00", + "path": "/nix/store/3lr7n1k85kbf718wxr51xd40i8dfs5qd-lua-subprocess", + "sha256": "0p91hda0b0hpgdbff5drcyygaizq086gw8vnvzn0y0fg3mc9if70", + "hash": "sha256-4LiYWB3PAQ/s33Yj/gwC+Ef1vGe5FedWexeCBVSDIV0=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/xlq/lua-subprocess"; + description = "A Lua module written in C that allows you to create child processes and communicate with them."; + maintainers = with lib.maintainers; [ scoder12 ]; + license.fullName = "MIT"; + }; +}) {}; + +lua-term = callPackage({ buildLuarocksPackage, fetchurl }: +buildLuarocksPackage { + pname = "lua-term"; + version = "0.7-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-term-0.7-1.rockspec"; + sha256 = "0r9g5jw7pqr1dyj6w58dqlr7y7l0jp077n8nnji4phf10biyrvg2"; + }).outPath; + src = fetchurl { + url = "https://github.com/hoelzro/lua-term/archive/0.07.tar.gz"; + sha256 = "0c3zc0cl3a5pbdn056vnlan16g0wimv0p9bq52h7w507f72x18f1"; + }; + + + meta = { + homepage = "https://github.com/hoelzro/lua-term"; + description = "Terminal functions for Lua"; + license.fullName = "MIT/X11"; + }; +}) {}; + +lua-toml = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lua-toml"; + version = "2.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-toml-2.0-1.rockspec"; + sha256 = "0zd3hrj1ifq89rjby3yn9y96vk20ablljvqdap981navzlbb7zvq"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/jonstoler/lua-toml.git", + "rev": "13731a5dd48c8c314d2451760604810bd6221085", + "date": "2017-12-08T16:30:50-08:00", + "path": "/nix/store/cnpflpyj441c65jhb68hjr2bcvnj9han-lua-toml", + "sha256": "0lklhgs4n7gbgva5frs39240da1y4nwlx6yxaj3ix6r5lp9sh07b", + "hash": "sha256-6wCo06Ulmx6HVN2bTrklPqgGiEhDZ1fUfusdS/SDdFI=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/jonstoler/lua-toml"; + description = "toml decoder/encoder for Lua"; + license.fullName = "MIT"; + }; +}) {}; + +lua-yajl = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lua-yajl"; + version = "2.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-yajl-2.0-1.rockspec"; + sha256 = "0h600zgq5qc9z3cid1kr35q3qb98alg0m3qf0a3mfj33hya6pcxp"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/brimworks/lua-yajl.git", + "rev": "c0b598a70966b6cabc57a110037faf9091436f30", + "date": "2020-11-12T06:22:23-08:00", + "path": "/nix/store/9acgxpqk52kwn03m5xasn4f6mmsby2r9-lua-yajl", + "sha256": "1frry90y7vqnw1rd1dfnksilynh0n24gfhkmjd6wwba73prrg0pf", + "hash": "sha256-7oKX8x1HLc5Nk3VC94iwAFpPo57WtdBy4Bbv40HyObs=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://github.com/brimworks/lua-yajl"; + description = "Integrate the yajl JSON library with Lua."; + maintainers = with lib.maintainers; [ pstn ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +lua-zlib = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lua-zlib"; + version = "1.2-2"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lua-zlib-1.2-2.rockspec"; + sha256 = "1ycjy59w6rkhasqqbiyra0f1sj87fswcz25zwxy4gyv7rrwy5hxd"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/brimworks/lua-zlib.git", + "rev": "a305d98f473d0a253b6fd740ce60d7d5a5f1cda0", + "date": "2017-10-07T08:26:37-07:00", + "path": "/nix/store/6hjfczd3xkilkdxidgqzdrwmaiwnlf05-lua-zlib", + "sha256": "1cv12s5c5lihmf3hb0rz05qf13yihy1bjpb7448v8mkiss6y1s5c", + "hash": "sha256-rOjgjdZxVrQRIWdduYKH0Y/gcAE/gwWHqzDSwooWYbM=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/brimworks/lua-zlib"; + description = "Simple streaming interface to zlib for Lua."; + maintainers = with lib.maintainers; [ koral ]; + license.fullName = "MIT"; + }; +}) {}; + +lua_cliargs = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lua_cliargs"; + version = "3.0-2"; + + src = fetchurl { + url = "https://github.com/amireh/lua_cliargs/archive/v3.0-2.tar.gz"; + sha256 = "0vhpgmy9a8wlxp8a15pnfqfk0aj7pyyb5m41nnfxynx580a6y7cp"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/amireh/lua_cliargs"; + description = "A command-line argument parser."; + license.fullName = "MIT <http://opensource.org/licenses/MIT>"; + }; +}) {}; + +luabitop = callPackage({ buildLuarocksPackage, fetchgit, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "luabitop"; + version = "1.0.2-3"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/teto/luabitop.git", + "rev": "8d7b674386460ca83e9510b3a8a4481344eb90ad", + "date": "2021-08-30T10:14:03+02:00", + "path": "/nix/store/sdnza0zpmlkz9jppnysasbvqy29f4zia-luabitop", + "sha256": "1b57f99lrjbwsi4m23cq5kpj0dbpxh3xwr0mxs2rzykr2ijpgwrw", + "hash": "sha256-PPN3ZRR5+p+F7hVk3gfsdzUg7yyYDVFJ1HzJTFNyp6w=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.3"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://bitop.luajit.org/"; + description = "Lua Bit Operations Module"; + license.fullName = "MIT/X license"; + }; +}) {}; + +luacheck = callPackage({ argparse, buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder, luafilesystem }: +buildLuarocksPackage { + pname = "luacheck"; + version = "1.1.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luacheck-1.1.1-1.rockspec"; + sha256 = "11nrryqff2yis5s7jscbyv221p21i9sh924x7g9l3d6ijns8zmba"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lunarmodules/luacheck.git", + "rev": "ababb6d403d634eb74d2c541035e9ede966e710d", + "date": "2023-06-10T11:27:25+03:00", + "path": "/nix/store/wkrhda7nww45g1waxdv9ghm35mwbvlfq-luacheck", + "sha256": "0abd5rfxv667n8d8v3g9cnkyghiwzhj3yk498gr2agd3mfcni7d7", + "hash": "sha256-p51omaujPSXyQ4lMPyT8PMLnp2XpjY0asseY3V0ubSk=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ argparse lua luafilesystem ]; + + meta = { + homepage = "https://github.com/lunarmodules/luacheck"; + description = "A static analyzer and a linter for Lua"; + license.fullName = "MIT"; + }; +}) {}; + +luacov = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "luacov"; + version = "0.15.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luacov-0.15.0-1.rockspec"; + sha256 = "18byfl23c73pazi60hsx0vd74hqq80mzixab76j36cyn8k4ni9db"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/keplerproject/luacov.git", + "rev": "19b52ca0298c8942df82dd441d7a4a588db4c413", + "date": "2021-02-15T18:47:58-03:00", + "path": "/nix/store/9vm38il9knzx2m66m250qj1fzdfzqg0y-luacov", + "sha256": "08550nna6qcb5jn6ds1hjm6010y8973wx4qbf9vrvrcn1k2yr6ki", + "hash": "sha256-cZrsxQyW5Z13cguTzsdJyIMATJUw6GasLItho6wFpSA=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://keplerproject.github.io/luacov/"; + description = "Coverage analysis tool for Lua scripts"; + license.fullName = "MIT"; + }; +}) {}; + +luadbi = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "luadbi"; + version = "0.7.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luadbi-0.7.2-1.rockspec"; + sha256 = "0lj1qki20w6bl76cvlcazlmwh170b9wkv5nwlxbrr3cn6w7h370b"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/mwild1/luadbi", + "rev": "73a234c4689e4f87b7520276b6159cc7f6cfd6e0", + "date": "2019-01-14T09:39:17+00:00", + "path": "/nix/store/a3qgawila4r4jc2lpdc4mwyzd1gvzazd-luadbi", + "sha256": "167ivwmczhp98bxzpz3wdxcfj6vi0a10gpi7rdfjs2rbfwkzqvjh", + "hash": "sha256-UG78J3crCy1dyyfeB4ICcRvpWG98/Pv7QunCzyrf8Zg=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/mwild1/luadbi"; + description = "Database abstraction layer"; + license.fullName = "MIT/X11"; + }; +}) {}; + +luadbi-mysql = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder, luadbi }: +buildLuarocksPackage { + pname = "luadbi-mysql"; + version = "0.7.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luadbi-mysql-0.7.2-1.rockspec"; + sha256 = "0gnyqnvcfif06rzzrdw6w6hchp4jrjiwm0rmfx2r8ljchj2bvml5"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/mwild1/luadbi", + "rev": "73a234c4689e4f87b7520276b6159cc7f6cfd6e0", + "date": "2019-01-14T09:39:17+00:00", + "path": "/nix/store/a3qgawila4r4jc2lpdc4mwyzd1gvzazd-luadbi", + "sha256": "167ivwmczhp98bxzpz3wdxcfj6vi0a10gpi7rdfjs2rbfwkzqvjh", + "hash": "sha256-UG78J3crCy1dyyfeB4ICcRvpWG98/Pv7QunCzyrf8Zg=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ lua luadbi ]; + + meta = { + homepage = "https://github.com/mwild1/luadbi"; + description = "Database abstraction layer"; + license.fullName = "MIT/X11"; + }; +}) {}; + +luadbi-postgresql = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder, luadbi }: +buildLuarocksPackage { + pname = "luadbi-postgresql"; + version = "0.7.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luadbi-postgresql-0.7.2-1.rockspec"; + sha256 = "07rx4agw4hjyzf8157apdwfqh9s26nqndmkr3wm7v09ygjvdjiix"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/mwild1/luadbi", + "rev": "73a234c4689e4f87b7520276b6159cc7f6cfd6e0", + "date": "2019-01-14T09:39:17+00:00", + "path": "/nix/store/a3qgawila4r4jc2lpdc4mwyzd1gvzazd-luadbi", + "sha256": "167ivwmczhp98bxzpz3wdxcfj6vi0a10gpi7rdfjs2rbfwkzqvjh", + "hash": "sha256-UG78J3crCy1dyyfeB4ICcRvpWG98/Pv7QunCzyrf8Zg=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ lua luadbi ]; + + meta = { + homepage = "https://github.com/mwild1/luadbi"; + description = "Database abstraction layer"; + license.fullName = "MIT/X11"; + }; +}) {}; + +luadbi-sqlite3 = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder, luadbi }: +buildLuarocksPackage { + pname = "luadbi-sqlite3"; + version = "0.7.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luadbi-sqlite3-0.7.2-1.rockspec"; + sha256 = "022iba0jbiafz8iv1h0iv95rhcivbfq5yg341nxk3dm87yf220vh"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/mwild1/luadbi", + "rev": "73a234c4689e4f87b7520276b6159cc7f6cfd6e0", + "date": "2019-01-14T09:39:17+00:00", + "path": "/nix/store/a3qgawila4r4jc2lpdc4mwyzd1gvzazd-luadbi", + "sha256": "167ivwmczhp98bxzpz3wdxcfj6vi0a10gpi7rdfjs2rbfwkzqvjh", + "hash": "sha256-UG78J3crCy1dyyfeB4ICcRvpWG98/Pv7QunCzyrf8Zg=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ lua luadbi ]; + + meta = { + homepage = "https://github.com/mwild1/luadbi"; + description = "Database abstraction layer"; + license.fullName = "MIT/X11"; + }; +}) {}; + +luaepnf = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lpeg, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "luaepnf"; + version = "0.3-2"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luaepnf-0.3-2.rockspec"; + sha256 = "0kqmnj11wmfpc9mz04zzq8ab4mnbkrhcgc525wrq6pgl3p5li8aa"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/siffiejoe/lua-luaepnf.git", + "rev": "4e0a867ff54cf424e1558781f5d2c85d2dc2137c", + "date": "2015-01-15T16:54:10+01:00", + "path": "/nix/store/n7gb0z26sl7dzdyy3bx1y3cz3npsna7d-lua-luaepnf", + "sha256": "1lvsi3fklhvz671jgg0iqn0xbkzn9qjcbf2ks41xxjz3lapjr6c9", + "hash": "sha256-iZksr6Ljy94D0VO4xSRO9s/VgcURvCfDMX9DOt2IetM=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lpeg lua ]; + + meta = { + homepage = "http://siffiejoe.github.io/lua-luaepnf/"; + description = "Extended PEG Notation Format (easy grammars for LPeg)"; + license.fullName = "MIT"; + }; +}) {}; + +luaevent = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "luaevent"; + version = "0.4.6-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luaevent-0.4.6-1.rockspec"; + sha256 = "03zixadhx4a7nh67n0sm6sy97c8i9va1a78hibhrl7cfbqc2zc7f"; + }).outPath; + src = fetchurl { + url = "https://github.com/harningt/luaevent/archive/v0.4.6.tar.gz"; + sha256 = "0pbh315d3p7hxgzmbhphkcldxv2dadbka96131b8j5914nxvl4nx"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/harningt/luaevent"; + description = "libevent binding for Lua"; + license.fullName = "MIT"; + }; +}) {}; + +luaexpat = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "luaexpat"; + version = "1.4.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luaexpat-1.4.1-1.rockspec"; + sha256 = "1abwd385x7wnza7qqz5s4aj6m2l1c23pjmbgnpq73q0s17pn1h0c"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lunarmodules/luaexpat.git", + "rev": "57f8966088abf8a00f8ab0bf88e1b6deea89c0bb", + "date": "2022-10-04T16:36:23+02:00", + "path": "/nix/store/dgrdkalikpqdap642qhppha1ajdnsvx0-luaexpat", + "sha256": "1b4ck23p01ks3hgayan9n33f2kb6jvv63v4ww2mqczc09rqi0q46", + "hash": "sha256-hmAQcU6AfYar4JzsYfaWZk3hxrDJKq8eHHoGcIeYjKw=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://lunarmodules.github.io/luaexpat"; + description = "XML Expat parsing"; + maintainers = with lib.maintainers; [ arobyn flosse ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +luaffi = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "luaffi"; + version = "scm-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luaffi-scm-1.rockspec"; + sha256 = "1nia0g4n1yv1sbv5np572y8yfai56a8bnscir807s5kj5bs0xhxm"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/facebook/luaffifb.git", + "rev": "a1cb731b08c91643b0665935eb5622b3d621211b", + "date": "2021-03-01T11:46:30-05:00", + "path": "/nix/store/6dwfn64p3clcsxkq41b307q8izi0fvji-luaffifb", + "sha256": "0nj76fw3yi57vfn35yvbdmpdbg9gmn5j1gw84ajs9w1j86sc0661", + "hash": "sha256-wRjAtEEy8KSlIoi/IIutL73Vbm1r+zKs26dEP7gzR1o=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/facebook/luaffifb"; + description = "FFI library for calling C functions from lua"; + license.fullName = "BSD"; + }; +}) {}; + +luafilesystem = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "luafilesystem"; + version = "1.8.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luafilesystem-1.8.0-1.rockspec"; + sha256 = "18nkaks0b75dmycljg5vljap5w8d0ysdkg96yl5szgzr7nzrymfa"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/keplerproject/luafilesystem", + "rev": "7c6e1b013caec0602ca4796df3b1d7253a2dd258", + "date": "2020-04-22T22:16:42-03:00", + "path": "/nix/store/qzjav1cmn4zwclpfs0xzykpbv835d84z-luafilesystem", + "sha256": "16hpwhj6zgkjns3zilcg3lxfijm3cl71v39y9n5lbjk4b9kkwh54", + "hash": "sha256-pEA+Z1pkykWLTT6NHQ5lo8roOh2P0fiHtnK+byTkF5o=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/keplerproject/luafilesystem"; + description = "File System Library for the Lua Programming Language"; + maintainers = with lib.maintainers; [ flosse ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +lualdap = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "lualdap"; + version = "1.3.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lualdap-1.3.1-1.rockspec"; + sha256 = "0c0j9dmrphg0dil4yhahcqzzyxhrv525g65jsz0q6iqwyx10bqbp"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lualdap/lualdap", + "rev": "5c21b3e0d97a07b103f63edc7e649018e0453427", + "date": "2023-03-15T09:02:07+01:00", + "path": "/nix/store/ah7y5wpp3l0v5bk0gwzdvgzfpczb691k-lualdap", + "sha256": "1y3ap9si894xjlbrwx3c6bcfg60y80av802rscldg9scvm984jrg", + "hash": "sha256-L0uCUt1Mp9co01kAtBVAHpjn2DJsdJ4XlZ0kFHW6avg=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://lualdap.github.io/lualdap/"; + description = "A Lua interface to the OpenLDAP library"; + maintainers = with lib.maintainers; [ aanderse ]; + license.fullName = "MIT"; + }; +}) {}; + +lualogging = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, luasocket }: +buildLuarocksPackage { + pname = "lualogging"; + version = "1.8.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lualogging-1.8.2-1.rockspec"; + sha256 = "164c4xgwkv2ya8fbb22wm48ywc4gx939b574r6bgl8zqayffdqmx"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lunarmodules/lualogging.git", + "rev": "465c994788f1bc18fca950934fa5ec9a909f496c", + "date": "2023-01-27T20:29:41+01:00", + "path": "/nix/store/pvb3yq11xgqhq6559sjd8rkf1x991rrz-lualogging", + "sha256": "1mz5iiv9pfikkm4ay7j0q6mk3bmcxylnlg9piwda47xxc1zyb1j4", + "hash": "sha256-RIblf2C9H6Iajzc9aqnvrK4xq8FAHq9InTO6m3aM5dc=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + propagatedBuildInputs = [ luasocket ]; + + meta = { + homepage = "https://github.com/lunarmodules/lualogging"; + description = "A simple API to use logging features"; + license.fullName = "MIT/X11"; + }; +}) {}; + +luaossl = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua }: +buildLuarocksPackage { + pname = "luaossl"; + version = "20220711-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luaossl-20220711-0.rockspec"; + sha256 = "0b68kvfz587ilmb5c1p7920kysg9q4m4fl4cz4d93jl3270mzh8y"; + }).outPath; + src = fetchzip { + url = "https://github.com/wahern/luaossl/archive/rel-20220711.zip"; + sha256 = "1a9pgmc6fbhgh1m9ksz9fq057yzz46npqgakcsy9vngg47xacfdb"; + }; + + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://25thandclement.com/~william/projects/luaossl.html"; + description = "Most comprehensive OpenSSL module in the Lua universe."; + license.fullName = "MIT/X11"; + }; +}) {}; + +luaposix = callPackage({ bit32, buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "luaposix"; + version = "34.1.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luaposix-34.1.1-1.rockspec"; + sha256 = "0hx6my54axjcb3bklr991wji374qq6mwa3ily6dvb72vi2534nwz"; + }).outPath; + src = fetchzip { + url = "http://github.com/luaposix/luaposix/archive/v34.1.1.zip"; + sha256 = "0863r8c69yx92lalj174qdhavqmcs2cdimjim6k55qj9yn78v9zl"; + }; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ bit32 lua ]; + + meta = { + homepage = "http://github.com/luaposix/luaposix/"; + description = "Lua bindings for POSIX"; + maintainers = with lib.maintainers; [ vyp lblasc ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +luarepl = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "luarepl"; + version = "0.10-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luarepl-0.10-1.rockspec"; + sha256 = "12zdljfs4wg55mj7a38iwg7p5i1pmc934v9qlpi61sw4brp6x8d3"; + }).outPath; + src = fetchurl { + url = "https://github.com/hoelzro/lua-repl/archive/0.10.tar.gz"; + sha256 = "0wv37h9w6y5pgr39m7yxbf8imkwvaila6rnwjcp0xsxl5c1rzfjm"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/hoelzro/lua-repl"; + description = "A reusable REPL component for Lua, written in Lua"; + license.fullName = "MIT/X11"; + }; +}) {}; + +luarocks-build-rust-mlua = callPackage({ buildLuarocksPackage, fetchgit, fetchurl }: +buildLuarocksPackage { + pname = "luarocks-build-rust-mlua"; + version = "0.1.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luarocks-build-rust-mlua-0.1.2-1.rockspec"; + sha256 = "1sx908fm2ihpxz2mm54xzkfmdzlqdvrqjkh1zz7rcjgmqba4mh1j"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/khvzak/luarocks-build-rust-mlua", + "rev": "c8080aa0832563b7f8b2cb85a195c1598ce312e0", + "date": "2023-06-29T16:47:41+01:00", + "path": "/nix/store/n7id28r1m11xd550hayv99xhz96vpdjq-luarocks-build-rust-mlua", + "sha256": "1zh1p5k7xpczi5db3k0fw0ljw9w0xxk1qjjcfg5rcznqjf48i3x7", + "hash": "sha256-p4+IiJPYfpbLc0xKHGbvgCcuKeAOzLFaiZ/dfma5Af4=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + + meta = { + homepage = "https://github.com/khvzak/luarocks-build-rust-mlua"; + description = "A LuaRocks build backend for Lua modules written in Rust using mlua"; + maintainers = with lib.maintainers; [ mrcjkb ]; + license.fullName = "MIT"; + }; +}) {}; + +luasec = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder, luasocket }: +buildLuarocksPackage { + pname = "luasec"; + version = "1.3.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luasec-1.3.2-1.rockspec"; + sha256 = "09nqs60cmbq1bi70cdh7v5xjnlsm2mrxv9pmbbvczijvz184jh33"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/brunoos/luasec", + "rev": "4c06287052d68fdbe7429b8f967cdc8ee94aa44a", + "date": "2023-08-31T17:09:53-03:00", + "path": "/nix/store/wnl78b5l3dxw52slphmi4rmr1cd8bd3r-luasec", + "sha256": "0rrdfbnkd8pgqwh3f0iyd5cxy7g1h0568a88m3sq1z7715js4yx3", + "hash": "sha256-o3uiZQnn/ID1qAgpZAqA4R3fWWk+Ajcgx++iNu1yLWc=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua luasocket ]; + + meta = { + homepage = "https://github.com/brunoos/luasec/wiki"; + description = "A binding for OpenSSL library to provide TLS/SSL communication over LuaSocket."; + maintainers = with lib.maintainers; [ flosse ]; + license.fullName = "MIT"; + }; +}) {}; + +luasnip = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, jsregexp, lua, luaOlder }: +buildLuarocksPackage { + pname = "luasnip"; + version = "2.1.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luasnip-2.1.1-1.rockspec"; + sha256 = "1jrdai8qsanr6x2vqp70hipsxrxh0abvwr2xwh9p4wr29k4wyycb"; + }).outPath; + src = fetchzip { + url = "https://github.com/L3MON4D3/LuaSnip/archive/v2.1.1.zip"; + sha256 = "0mbpwf3sxfrmrza13d9w0hlcmzlrj551g332syp1qhs94abfnnrd"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ jsregexp lua ]; + + meta = { + homepage = "https://github.com/L3MON4D3/LuaSnip"; + description = "Snippet Engine for Neovim written in Lua."; + license.fullName = "Apache-2.0"; + }; +}) {}; + +luasocket = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "luasocket"; + version = "3.1.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luasocket-3.1.0-1.rockspec"; + sha256 = "0wg9735cyz2gj7r9za8yi83w765g0f4pahnny7h0pdpx58pgfx4r"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lunarmodules/luasocket.git", + "rev": "95b7efa9da506ef968c1347edf3fc56370f0deed", + "date": "2022-07-27T10:07:00+03:00", + "path": "/nix/store/r5pqxqjkdwl80nmjkv400mbls7cfymjc-luasocket", + "sha256": "13hyf9cvny0kxwyg08929kkl31w74j66fj6zg1myyjr9nh5b795h", + "hash": "sha256-sKSzCrQpS+9reN9IZ4wkh4dB50wiIfA87xN4u1lyHo4=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/lunarmodules/luasocket"; + description = "Network support for the Lua language"; + license.fullName = "MIT"; + }; +}) {}; + +luasql-sqlite3 = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "luasql-sqlite3"; + version = "2.6.0-2"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luasql-sqlite3-2.6.0-2.rockspec"; + sha256 = "1xpbcpl4qhnzpyyszhdsrxhx2qc1dmndh926lv91xwphw7inwdwg"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/keplerproject/luasql.git", + "rev": "25bf4ffce9323d28cb6f382f7ec9e8951e3084f9", + "date": "2023-07-19T14:20:27-03:00", + "path": "/nix/store/949886jxp7sx3yx910lc6d1yf3ym9mx5-luasql", + "sha256": "00q73j2nzqsm0vmxjkv83qh1dncmr5dgmkrkyxnb5ggygvcbh7w5", + "hash": "sha256-hR+42H7+vbJs9zPP+lrJldkWIB5oT9nrBlXjb4UcBwM=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://www.keplerproject.org/luasql/"; + description = "Database connectivity for Lua (SQLite3 driver)"; + maintainers = with lib.maintainers; [ vyp ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +luassert = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder, say }: +buildLuarocksPackage { + pname = "luassert"; + version = "1.9.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luassert-1.9.0-1.rockspec"; + sha256 = "1bkzr03190p33lprgy51nl84aq082fyc3f7s3wkk7zlay4byycxd"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lunarmodules/luassert.git", + "rev": "8d8dc8a54cc468048a128a867f6449a6c3fdd11a", + "date": "2022-08-24T00:00:45+03:00", + "path": "/nix/store/vfcl25wxps5kvh5prjkkjlj1ga3kgw63-luassert", + "sha256": "0wlp6qdm9dkwzs8lvnj7zvmid4y12v717ywlhxn2brkbjpvl2dwf", + "hash": "sha256-jjdB95Vr5iVsh5T7E84WwZMW6/5H2k2R/ny2VBs2l3I=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua say ]; + + meta = { + homepage = "https://lunarmodules.github.io/busted/"; + description = "Lua assertions extension"; + license.fullName = "MIT <http://opensource.org/licenses/MIT>"; + }; +}) {}; + +luasystem = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "luasystem"; + version = "0.2.1-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luasystem-0.2.1-0.rockspec"; + sha256 = "0xj5q7lzsbmlw5d3zbjqf3jpj78wcn348h2jcxn5ph4n4hx73z3n"; + }).outPath; + src = fetchurl { + url = "https://github.com/o-lim/luasystem/archive/v0.2.1.tar.gz"; + sha256 = "150bbklchh02gsvpngv56xrrlxxvwpqwrh0yy6z95fnvks7gd0qb"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://olivinelabs.com/luasystem/"; + description = "Platform independent system calls for Lua."; + license.fullName = "MIT <http://opensource.org/licenses/MIT>"; + }; +}) {}; + +luaunbound = callPackage({ buildLuarocksPackage, fetchurl, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "luaunbound"; + version = "1.0.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luaunbound-1.0.0-1.rockspec"; + sha256 = "1zlkibdwrj5p97nhs33cz8xx0323z3kiq5x7v0h3i7v6j0h8ppvn"; + }).outPath; + src = fetchurl { + url = "https://code.zash.se/dl/luaunbound/luaunbound-1.0.0.tar.gz"; + sha256 = "1lsh0ylp5xskygxl5qdv6mhkm1x8xp0vfd5prk5hxkr19jk5mr3d"; + }; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://www.zash.se/luaunbound.html"; + description = "A binding to libunbound"; + license.fullName = "MIT"; + }; +}) {}; + +luaunit = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "luaunit"; + version = "3.4-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luaunit-3.4-1.rockspec"; + sha256 = "111435fa8p2819vcvg76qmknj0wqk01gy9d1nh55c36616xnj54n"; + }).outPath; + src = fetchzip { + url = "https://github.com/bluebird75/luaunit/releases/download/LUAUNIT_V3_4/rock-luaunit-3.4.zip"; + sha256 = "0qf07y3229lq3qq1mfkv83gzbc7dgyr67hysqjb5bbk333flv56r"; + }; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://github.com/bluebird75/luaunit"; + description = "A unit testing framework for Lua"; + maintainers = with lib.maintainers; [ lockejan ]; + license.fullName = "BSD"; + }; +}) {}; + +luautf8 = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "luautf8"; + version = "0.1.5-2"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luautf8-0.1.5-2.rockspec"; + sha256 = "0v788kk1aj7r70w9fgjlp3qrpjbpa9z9l1m7d13csk0pgfkm5iqz"; + }).outPath; + src = fetchurl { + url = "https://github.com/starwing/luautf8/archive/refs/tags/0.1.5.tar.gz"; + sha256 = "077ji840wfmy7hq0y13l01dv6jhasznykf89gk9m672jhz6dxggl"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://github.com/starwing/luautf8"; + description = "A UTF-8 support module for Lua"; + maintainers = with lib.maintainers; [ pstn ]; + license.fullName = "MIT"; + }; +}) {}; + +luazip = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "luazip"; + version = "1.2.7-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luazip-1.2.7-1.rockspec"; + sha256 = "1wxy3p2ksaq4s8lg925mi9cvbh875gsapgkzm323dr8qaxxg7mba"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/mpeterv/luazip", + "rev": "e424f667cc5c78dd19bb5eca5a86b3c8698e0ce5", + "date": "2017-09-05T14:02:52+03:00", + "path": "/nix/store/idllj442c0iwnx1cpkrifx2afb7vh821-luazip", + "sha256": "1jlqzqlds3aa3hnp737fm2awcx0hzmwyd87klv0cv13ny5v9f2x4", + "hash": "sha256-pAuXdvF2hM3ApvOg5nn9EHTGlajujHMtHEoN3Sj+mMo=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/mpeterv/luazip"; + description = "Library for reading files inside zip files"; + license.fullName = "MIT"; + }; +}) {}; + +lush-nvim = callPackage({ buildLuarocksPackage, fetchgit, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "lush.nvim"; + version = "scm-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/rktjmp/lush.nvim", + "rev": "966aad1accd47fa11fbe2539234f81f678fef2de", + "date": "2023-09-23T12:10:39+10:00", + "path": "/nix/store/67046ilc92czfvwc5zdkkxg7iw2xjj45-lush.nvim", + "sha256": "0g1xib2k42py9qqccjz11qk52ri0drgdk5rb0ls7wzx4v636k15h", + "hash": "sha256-sIRphtmkf340BSuX2V5uIGZRJg7hS8YwTv4KMsWKPTw=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/rktjmp/lush.nvim"; + description = "Define Neovim themes as a DSL in lua, with real-time feedback."; + maintainers = with lib.maintainers; [ teto ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +luuid = callPackage({ buildLuarocksPackage, fetchurl, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "luuid"; + version = "20120509-2"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luuid-20120509-2.rockspec"; + sha256 = "1q2fv25wfbiqn49mqv26gs4pyllch311akcf7jjn27l5ik8ji5b6"; + }).outPath; + src = fetchurl { + url = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/5.2/luuid.tar.gz"; + sha256 = "1bfkj613d05yps3fivmz0j1bxf2zkg9g1yl0ifffgw0vy00hpnvm"; + }; + + disabled = (luaOlder "5.2") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/#luuid"; + description = "A library for UUID generation"; + license.fullName = "Public domain"; + }; +}) {}; + +luv = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "luv"; + version = "1.44.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/luv-1.44.2-1.rockspec"; + sha256 = "07jwi50i16rv7sj914k1q3l9dy9wldbw2skmsdrzlkc57mqvg348"; + }).outPath; + src = fetchurl { + url = "https://github.com/luvit/luv/releases/download/1.44.2-1/luv-1.44.2-1.tar.gz"; + sha256 = "0c2wkszxw6gwa4l6g1d2zzh660j13lif6c7a910vq7zn8jycgd9y"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/luvit/luv"; + description = "Bare libuv bindings for lua"; + license.fullName = "Apache 2.0"; + }; +}) {}; + +lyaml = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "lyaml"; + version = "6.2.8-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/lyaml-6.2.8-1.rockspec"; + sha256 = "0d0h70kjl5fkq589y1sx8qy8as002dhcf88pf60pghvch002ryi1"; + }).outPath; + src = fetchzip { + url = "http://github.com/gvvaughan/lyaml/archive/v6.2.8.zip"; + sha256 = "0r3jjsd8x2fs1aanki0s1mvpznl16f32c1qfgmicy0icgy5xfch0"; + }; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://github.com/gvvaughan/lyaml"; + description = "libYAML binding for Lua"; + maintainers = with lib.maintainers; [ lblasc ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +magick = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua }: +buildLuarocksPackage { + pname = "magick"; + version = "1.6.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/magick-1.6.0-1.rockspec"; + sha256 = "1pg150xsxnqvlhxpiy17s9hm4dkc84v46mlwi9rhriynqz8qks9w"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/leafo/magick.git", + "rev": "6971fa700c4d392130492a3925344b51c7cc54aa", + "date": "2022-03-10T20:02:11-08:00", + "path": "/nix/store/fpl99q09zg3qnk4kagxk1djabl1dm47l-magick", + "sha256": "01b9qsz27f929rz5z7vapqhazxak74sichdwkjwb219nlhrwfncm", + "hash": "sha256-lVnHM6Q2BbG4nLxBFjU5U/WvIL5qn19+TiK5I77GaQU=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (lua.luaversion != "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/leafo/magick.git"; + description = "Lua bindings to ImageMagick & GraphicsMagick for LuaJIT using FFI"; + maintainers = with lib.maintainers; [ donovanglover ]; + license.fullName = "MIT"; + }; +}) {}; + +markdown = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "markdown"; + version = "0.33-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/markdown-0.33-1.rockspec"; + sha256 = "02sixijfi6av8h59kx3ngrhygjn2sx1c85c0qfy20gxiz72wi1pl"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/mpeterv/markdown", + "rev": "8c09109924b218aaecbfd4d4b1de538269c4d765", + "date": "2015-09-27T17:49:28+03:00", + "path": "/nix/store/akl80hh077hm20bdqj1lksy0fn2285b5-markdown", + "sha256": "019bk2qprszqncnm8zy6ns6709iq1nwkf7i86nr38f035j4lc11y", + "hash": "sha256-PgRGiSwDODSyNSgeN7kNOCZwjLbGf1Qts/jrfLGYKwU=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/mpeterv/markdown"; + description = "Markdown text-to-html markup system."; + license.fullName = "MIT/X11"; + }; +}) {}; + +mediator_lua = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "mediator_lua"; + version = "1.1.2-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/mediator_lua-1.1.2-0.rockspec"; + sha256 = "0frzvf7i256260a1s8xh92crwa2m42972qxfq29zl05aw3pyn7bm"; + }).outPath; + src = fetchurl { + url = "https://github.com/Olivine-Labs/mediator_lua/archive/v1.1.2-0.tar.gz"; + sha256 = "16zzzhiy3y35v8advmlkzpryzxv5vji7727vwkly86q8sagqbxgs"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://olivinelabs.com/mediator_lua/"; + description = "Event handling through channels"; + license.fullName = "MIT <http://opensource.org/licenses/MIT>"; + }; +}) {}; + +middleclass = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "middleclass"; + version = "4.1.1-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/middleclass-4.1.1-0.rockspec"; + sha256 = "10xzs48lr1dy7cx99581r956gl16px0a9gbdlfar41n19r96mhb1"; + }).outPath; + src = fetchurl { + url = "https://github.com/kikito/middleclass/archive/v4.1.1.tar.gz"; + sha256 = "11ahv0b9wgqfnabv57rb7ilsvn2vcvxb1czq6faqrsqylvr5l7nh"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/kikito/middleclass"; + description = "A simple OOP library for Lua"; + license.fullName = "MIT"; + }; +}) {}; + +moonscript = callPackage({ argparse, buildLuarocksPackage, fetchgit, lpeg, lua, luaOlder, luafilesystem }: +buildLuarocksPackage { + pname = "moonscript"; + version = "dev-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/leafo/moonscript.git", + "rev": "fbd8ad48737651114a3d3a672b9f8f8b3a7022b7", + "date": "2023-06-23T09:33:37-07:00", + "path": "/nix/store/sy1dkcfp3rg7lvazba36sivpk0bs12r5-moonscript", + "sha256": "02w6lp5kid73dcd5x71666my7413l05ak0xvva6hp8ixbn6qraqn", + "hash": "sha256-FquMjV09oguN2ruDqQqgI5DjqzEmnF4aa+O0OMulhgs=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ argparse lpeg lua luafilesystem ]; + + meta = { + homepage = "http://moonscript.org"; + description = "A programmer friendly language that compiles to Lua"; + maintainers = with lib.maintainers; [ arobyn ]; + license.fullName = "MIT"; + }; +}) {}; + +mpack = callPackage({ buildLuarocksPackage, fetchurl }: +buildLuarocksPackage { + pname = "mpack"; + version = "1.0.11-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/mpack-1.0.11-0.rockspec"; + sha256 = "0alydkccamxldij7ki42imd37630d9qnqg22pndcgkawfclfqzqa"; + }).outPath; + src = fetchurl { + url = "https://github.com/libmpack/libmpack-lua/releases/download/1.0.11/libmpack-lua-1.0.11.tar.gz"; + sha256 = "15np7603rijavycvrjgjp12y64zs36390lg2hsnr5av790cfrnd2"; + }; + + + meta = { + homepage = "https://github.com/libmpack/libmpack-lua"; + description = "Lua binding to libmpack"; + license.fullName = "MIT"; + }; +}) {}; + +nui-nvim = callPackage({ buildLuarocksPackage, fetchgit, fetchurl }: +buildLuarocksPackage { + pname = "nui.nvim"; + version = "0.2.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/nui.nvim-0.2.0-1.rockspec"; + sha256 = "0v2z6lgl6hrzcjlzhis8nrkdkh9kvx8zg3q5svi5gyklg7vmcbc2"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/MunifTanjim/nui.nvim.git", + "rev": "9e3916e784660f55f47daa6f26053ad044db5d6a", + "date": "2023-07-20T10:45:09+06:00", + "path": "/nix/store/8zdhjgipjjhi9b1y40r2yk5np4lp39as-nui.nvim", + "sha256": "14a73dwl56kah9h36b40ir6iylvfs261ysz17qvi9vhp63vjq9cx", + "hash": "sha256-nSUs9zAX7hQ3PuFrH4zQblMfTY6ALDNggmqaQnkbR5E=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + + meta = { + homepage = "https://github.com/MunifTanjim/nui.nvim"; + description = "UI Component Library for Neovim."; + maintainers = with lib.maintainers; [ mrcjkb ]; + license.fullName = "MIT"; + }; +}) {}; + +nvim-client = callPackage({ buildLuarocksPackage, coxpcall, fetchurl, lua, luaOlder, luv, mpack }: +buildLuarocksPackage { + pname = "nvim-client"; + version = "0.2.4-1"; + + src = fetchurl { + url = "https://github.com/neovim/lua-client/archive/0.2.4-1.tar.gz"; + sha256 = "0sk1lmj0r7pyj9k3p6n0wqjbd95br44ansz0ck3amp6ql8f9kprf"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ coxpcall lua luv mpack ]; + + meta = { + homepage = "https://github.com/neovim/lua-client"; + description = "Lua client to Nvim"; + license.fullName = "Apache"; + }; +}) {}; + +nvim-cmp = callPackage({ buildLuarocksPackage, fetchgit, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "nvim-cmp"; + version = "scm-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/hrsh7th/nvim-cmp", + "rev": "5dce1b778b85c717f6614e3f4da45e9f19f54435", + "date": "2023-08-26T15:31:42+00:00", + "path": "/nix/store/lvpzc5q7mv66knxh1igvzkrcwkpg8l8q-nvim-cmp", + "sha256": "1yl5b680p6vhk1741riiwjnw7a4wn0nimjvcab0ij6mx3kf28rsq", + "hash": "sha256-WGck3By9GhnBUmzLGi2wnKjDreQx5kBOmHCbC5BZhfo=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/hrsh7th/nvim-cmp"; + description = "A completion plugin for neovim"; + license.fullName = "MIT"; + }; +}) {}; + +penlight = callPackage({ buildLuarocksPackage, fetchgit, lua, luaOlder, luafilesystem }: +buildLuarocksPackage { + pname = "penlight"; + version = "dev-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lunarmodules/penlight.git", + "rev": "dc6d19c5c1e1b4ac55b14df17b7645af6b410140", + "date": "2023-09-21T10:51:09+02:00", + "path": "/nix/store/vbi0d32mbaqcra3jligv8ajq17m1wxa4-penlight", + "sha256": "12ppgby8ldh4zxwcr7cknacbdvk30fi92sgyzh1zbgvym4l44g0c", + "hash": "sha256-DDxCKKl+v/UD/P5pkaIDY+62mLKTncx4/wQ2ivx694o=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua luafilesystem ]; + + meta = { + homepage = "https://lunarmodules.github.io/penlight"; + description = "Lua utility libraries loosely based on the Python standard libraries"; + maintainers = with lib.maintainers; [ alerque ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +plenary-nvim = callPackage({ buildLuarocksPackage, fetchgit, lua, luaAtLeast, luaOlder, luassert }: +buildLuarocksPackage { + pname = "plenary.nvim"; + version = "scm-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/nvim-lua/plenary.nvim", + "rev": "50012918b2fc8357b87cff2a7f7f0446e47da174", + "date": "2023-10-11T15:43:47+02:00", + "path": "/nix/store/jsgaq274w8pbl4pnmpii3izxafpl346g-plenary.nvim", + "sha256": "1sn7vpsbwpyndsjyxb4af8fvz4sfhlbavvw6jjsv3h18sdvkh7nd", + "hash": "sha256-zR44d9MowLG1lIbvrRaFTpO/HXKKrO6lbtZfvvTdx+o=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.4"); + propagatedBuildInputs = [ lua luassert ]; + + meta = { + homepage = "http://github.com/nvim-lua/plenary.nvim"; + description = "lua functions you don't want to write "; + license.fullName = "MIT/X11"; + }; +}) {}; + +rapidjson = callPackage({ buildLuarocksPackage, fetchgit, lua, luaOlder }: +buildLuarocksPackage { + pname = "rapidjson"; + version = "0.7.1-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/xpol/lua-rapidjson", + "rev": "242b40c8eaceb0cc43bcab88309736461cac1234", + "date": "2021-04-09T19:59:20+08:00", + "path": "/nix/store/65l71ph27pmipgrq8j4whg6n8h2avvs4-lua-rapidjson", + "sha256": "1a6srvximxlh6gjkaj5y86d1kf06pc4gby2r6wpdw2pdac8k7xyb", + "hash": "sha256-y/czEVPtCt4uN1n49Qi7BrgZmkG+SDXlM5D2GvvO2qg=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/xpol/lua-rapidjson"; + description = "Json module based on the very fast RapidJSON."; + license.fullName = "MIT"; + }; +}) {}; + +rest-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder }: +buildLuarocksPackage { + pname = "rest.nvim"; + version = "0.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/rest.nvim-0.2-1.rockspec"; + sha256 = "1yq8gx585c10j8kybp20swyv9q0i3lm5k0rrv4bgsbwz3ychn0k1"; + }).outPath; + src = fetchzip { + url = "https://github.com/rest-nvim/rest.nvim/archive/0.2.zip"; + sha256 = "0ycjrrl37z465p71bdkas3q2ky1jmgr2cjnirnskdc6wz14wl09g"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/rest-nvim/rest.nvim"; + description = "A fast Neovim http client written in Lua"; + maintainers = with lib.maintainers; [ teto ]; + license.fullName = "MIT"; + }; +}) {}; + +rustaceanvim = callPackage({ lua, luaOlder, buildLuarocksPackage, fetchzip }: +buildLuarocksPackage { + pname = "rustaceanvim"; + version = "3.0.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/rustaceanvim-3.0.0-1.rockspec"; + sha256 = "1v1k08spq3zalgya6q3qny6zpwhn0nb5nl5dn0rkcvnc4imvnyfy"; + }).outPath; + src = fetchzip { + url = "https://github.com/mrcjkb/rustaceanvim/archive/3.0.0.zip"; + sha256 = "1prpklbijr7p890nflr9jixf955dlp3ph9zl2rq3xxyl20ncyqbk"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/mrcjkb/rustaceanvim"; + description = "Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim"; + maintainers = with lib.maintainers; [ mrcjkb ]; + license.fullName = "GPL-2.0"; + }; +}) {}; + +say = callPackage({ buildLuarocksPackage, fetchgit, lua, luaOlder }: +buildLuarocksPackage { + pname = "say"; + version = "scm-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lunarmodules/say.git", + "rev": "3e1f783d0aa496eb21d16e85b2235335cb9332df", + "date": "2023-08-13T02:37:27+03:00", + "path": "/nix/store/5biavac0k8z0xg4rr3bm8z3kdi8mm8c0-say", + "sha256": "04dkf0av6n71vmz0h86i5brklvaf9p91lkldn1xldpdr0qqs0x63", + "hash": "sha256-w3SgMQa53UZ7sI1OGtJNTm068yrRIAh+3eFYsxVwsxE=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://lunarmodules.github.io/say"; + description = "Lua string hashing/indexing library"; + license.fullName = "MIT"; + }; +}) {}; + +serpent = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "serpent"; + version = "0.30-2"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/serpent-0.30-2.rockspec"; + sha256 = "0v83lr9ars1n0djbh7np8jjqdhhaw0pdy2nkcqzqrhv27rzv494n"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/pkulchenko/serpent", + "rev": "d78683597606c6e13a1fed039bc91d86eb8f600f", + "date": "2017-09-01T21:35:14-07:00", + "path": "/nix/store/z6df44n3p07n4bia7s514vgngbkbpnap-serpent", + "sha256": "0q80yfrgqgr01qprf0hrp284ngb7fbcq1v9rbzmdkhbm9lpgy8v8", + "hash": "sha256-aCP/Lk11wdnqXzntgNlyZz1LkLgZApcvDiA//LLzAGE=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/pkulchenko/serpent"; + description = "Lua serializer and pretty printer"; + maintainers = with lib.maintainers; [ lockejan ]; + license.fullName = "MIT"; + }; +}) {}; + +sqlite = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, luv }: +buildLuarocksPackage { + pname = "sqlite"; + version = "v1.2.2-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/sqlite-v1.2.2-0.rockspec"; + sha256 = "0jxsl9lpxsbzc6s5bwmh27mglkqz1299lz68vfxayvailwl3xbxm"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/tami5/sqlite.lua.git", + "rev": "6c00ab414dc1b69621b145908c582b747f24b46e", + "date": "2022-06-17T15:57:13+03:00", + "path": "/nix/store/637s46bsvsxfnzmy6ygig3y0vqmf3r8p-sqlite.lua", + "sha256": "0ckifx6xxrannn9szacgiiqjsp4rswghxscdl3s411dhas8djj1m", + "hash": "sha256-NUjZkFawhUD0oI3pDh/XmVwtcYyPqa+TtVbl3k13cTI=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + propagatedBuildInputs = [ luv ]; + + meta = { + homepage = "https://github.com/tami5/sqlite.lua"; + description = "SQLite/LuaJIT binding and a highly opinionated wrapper for storing, retrieving, caching, and persisting [SQLite] databases"; + license.fullName = "MIT"; + }; +}) {}; + +std-_debug = callPackage({ buildLuarocksPackage, fetchgit, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "std._debug"; + version = "git-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/lua-stdlib/_debug.git", + "rev": "8b80b14bbbe7259a47c160176546bb152bb2d6f1", + "date": "2023-01-31T16:39:35-07:00", + "path": "/nix/store/i24iz2hvnjp18iz9z8kljsy9iv17m2zl-_debug", + "sha256": "07z5lz3gy8wzzks79r3v68vckj42i3sybhfmqx7h2s58ld2kn5fd", + "hash": "sha256-zRU7RaOoaAFPx9XB5fWIgsjJNjJ75HT0/J8j/8an5R8=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://lua-stdlib.github.io/_debug"; + description = "Debug Hints Library"; + license.fullName = "MIT/X11"; + }; +}) {}; + +std-normalize = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder, std-_debug }: +buildLuarocksPackage { + pname = "std.normalize"; + version = "2.0.3-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/std.normalize-2.0.3-1.rockspec"; + sha256 = "1l83ikiaw4dch2r69cxpl93b9d4wf54vbjb6fcggnkxxgm0amj3a"; + }).outPath; + src = fetchzip { + url = "http://github.com/lua-stdlib/normalize/archive/v2.0.3.zip"; + sha256 = "1gyywglxd2y7ck3hk8ap73w0x7hf9irpg6vgs8yc6k9k4c5g3fgi"; + }; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua std-_debug ]; + + meta = { + homepage = "https://lua-stdlib.github.io/normalize"; + description = "Normalized Lua Functions"; + license.fullName = "MIT/X11"; + }; +}) {}; + +stdlib = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }: +buildLuarocksPackage { + pname = "stdlib"; + version = "41.2.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/stdlib-41.2.2-1.rockspec"; + sha256 = "0rscb4cm8s8bb8fk8rknc269y7bjqpslspsaxgs91i8bvabja6f6"; + }).outPath; + src = fetchzip { + url = "http://github.com/lua-stdlib/lua-stdlib/archive/release-v41.2.2.zip"; + sha256 = "0ry6k0wh4vyar1z68s0qmqzkdkfn9lcznsl8av7x78qz6l16wfw4"; + }; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "http://lua-stdlib.github.io/lua-stdlib"; + description = "General Lua Libraries"; + maintainers = with lib.maintainers; [ vyp ]; + license.fullName = "MIT/X11"; + }; +}) {}; + +teal-language-server = callPackage({ buildLuarocksPackage, cyan, dkjson, fetchgit, fetchurl, luafilesystem }: +buildLuarocksPackage { + pname = "teal-language-server"; + version = "dev-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/teal-language-server-dev-1.rockspec"; + sha256 = "01l44c6bknz7ff9xqgich31hlb0yk4ms5k1hs4rhm3cs95s5vlzc"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://git@github.com/teal-language/teal-language-server.git", + "rev": "67b5d7cad60b9df472851a2c61591f2aab97da47", + "date": "2022-12-21T20:33:53-06:00", + "path": "/nix/store/qyaz38njm8qgyfxca6m6f8i4lkfcfdb0-teal-language-server", + "sha256": "12nqarykmdvxxci9l6gq2yhn4pjzzqlxyrl2c8svb97hka68wjvx", + "hash": "sha256-fUuOjJrwpLU1YoJm3yn+X15ioRf4GZoi6323On1W2Io=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + propagatedBuildInputs = [ cyan dkjson luafilesystem ]; + + meta = { + homepage = "https://github.com/teal-language/teal-language-server"; + description = "A language server for the Teal language"; + license.fullName = "MIT"; + }; +}) {}; + +telescope-manix = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder, telescope-nvim }: +buildLuarocksPackage { + pname = "telescope-manix"; + version = "0.5.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/telescope-manix-0.5.0-1.rockspec"; + sha256 = "0i5q9sr0vn0w6yqg530jx2fx52k9jr7rss4ibl49f1x3wv6sckv1"; + }).outPath; + src = fetchzip { + url = "https://github.com/mrcjkb/telescope-manix/archive/0.5.0.zip"; + sha256 = "093vkh822ycnc1pri3zmzzqnz235xxam3z1l67zyyqlc1apbarax"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua telescope-nvim ]; + + meta = { + homepage = "https://github.com/mrcjkb/telescope-manix"; + description = "A telescope.nvim extension for Manix - A fast documentation searcher for Nix"; + license.fullName = "GPL-2.0"; + }; +}) {}; + +telescope-nvim = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, plenary-nvim }: +buildLuarocksPackage { + pname = "telescope.nvim"; + version = "scm-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/telescope.nvim-scm-1.rockspec"; + sha256 = "07mjkv1nv9b3ifxk2bbpbhvp0awblyklyz6aaqw418x4gm4q1g35"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/nvim-telescope/telescope.nvim", + "rev": "74ce793a60759e3db0d265174f137fb627430355", + "date": "2023-10-11T12:29:23+02:00", + "path": "/nix/store/7k50qqgamc2ldxdf54jqs8sy8m8vcfzr-telescope.nvim", + "sha256": "1m4v097y8ypjm572k1qqii3z56w4x1dsjxd6gp0z24xqyvd4kpa4", + "hash": "sha256-RN1J2va4E/HBfaZ1qVvohJvyR4wYhylOqfJ65E8Cm9Q=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (lua.luaversion != "5.1"); + propagatedBuildInputs = [ lua plenary-nvim ]; + + meta = { + homepage = "https://github.com/nvim-telescope/telescope.nvim"; + description = "Find, Filter, Preview, Pick. All lua, all the time."; + license.fullName = "MIT"; + }; +}) {}; + +tl = callPackage({ argparse, buildLuarocksPackage, compat53, fetchgit, fetchurl, luafilesystem }: +buildLuarocksPackage { + pname = "tl"; + version = "0.15.2-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/tl-0.15.2-1.rockspec"; + sha256 = "1qisdflgikry0jdqvnzdcqib2svbafp10n0gfwm3fcrzqsdxy0xr"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/teal-language/tl", + "rev": "d2fc36b5ff9a52d7265e63eb74cce70fd1cdbcb2", + "date": "2023-04-27T11:28:21-03:00", + "path": "/nix/store/ramhj3a29lrn0bblbgyxn4712a7caq8k-tl", + "sha256": "1dgldi9pgg23iz3xis4i43bnvkwirh7kkycmr5xp75s2cc85zhg0", + "hash": "sha256-4MFfEGNCl3N7yZX5OQ/Mkc9t1yCR6NjHj0O8d1Ns9LU=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + propagatedBuildInputs = [ argparse compat53 luafilesystem ]; + + meta = { + homepage = "https://github.com/teal-language/tl"; + description = "Teal, a typed dialect of Lua"; + maintainers = with lib.maintainers; [ mephistophiles ]; + license.fullName = "MIT"; + }; +}) {}; + +toml = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }: +buildLuarocksPackage { + pname = "toml"; + version = "0.3.0-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/toml-0.3.0-0.rockspec"; + sha256 = "0y4qdzsvf4xwnr49xcpbqclrq9d6snv83cbdkrchl0cn4cx6zpxy"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/LebJe/toml.lua.git", + "rev": "319e9accf8c5cedf68795354ba81e54c817d1277", + "date": "2023-02-19T23:00:49-05:00", + "path": "/nix/store/p6a98sqp9a4jwsw6ghqcwpn9lxmhvkdg-toml.lua", + "sha256": "05p33bq0ajl41vbsw9bx73shpf0p11n5gb6yy8asvp93zh2m51hq", + "hash": "sha256-GIZSBfwj3a0V8t6sV2wIF7gL9Th9Ja7XDoRKBfAa4xY=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/LebJe/toml.lua"; + description = "TOML v1.0.0 parser and serializer for Lua. Powered by toml++."; + maintainers = with lib.maintainers; [ mrcjkb ]; + license.fullName = "MIT"; + }; +}) {}; + +toml-edit = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder, luarocks-build-rust-mlua }: +buildLuarocksPackage { + pname = "toml-edit"; + version = "0.1.4-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/toml-edit-0.1.4-1.rockspec"; + sha256 = "05bcc1xafcspdf1rcka9bhg7b6z617b4jrcahs1r7grcp78w89vf"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/vhyrro/toml-edit.lua", + "rev": "f6efdab4ca6fab276f172060971781dc42a94f2d", + "date": "2023-10-02T16:54:10+02:00", + "path": "/nix/store/p1368agmqg4jwb1qvf2iff3fdrq9vkdj-toml-edit.lua", + "sha256": "1aa8znjnmm84392gnl7w0hm069xfv7niym3i8my7kyk0vdgxja06", + "hash": "sha256-BijZX9tg+nl8RXFUH+3ZricDKgT8UPtEGgTVaqX9SKk=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua luarocks-build-rust-mlua ]; + + meta = { + homepage = "https://github.com/vhyrro/toml-edit.lua"; + description = "TOML Parser + Formatting and Comment-Preserving Editor"; + maintainers = with lib.maintainers; [ mrcjkb ]; + license.fullName = "MIT"; + }; +}) {}; + +vstruct = callPackage({ buildLuarocksPackage, fetchgit, lua, luaOlder }: +buildLuarocksPackage { + pname = "vstruct"; + version = "2.1.1-1"; + + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/ToxicFrog/vstruct.git", + "rev": "924d3dd63043189e4a7ef6b1b54b19208054cc0f", + "date": "2020-05-06T23:13:06-04:00", + "path": "/nix/store/a4i9k5hx9xiz38bij4hb505dg088jkss-vstruct", + "sha256": "0sl9v874mckhh6jbxsan48s5xajzx193k4qlphw69sdbf8kr3p57", + "hash": "sha256-p9yRJ3Kr6WQ4vBSTOVLoX6peNCJW6b6kgXCySg7aiWo=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/ToxicFrog/vstruct"; + description = "Lua library to manipulate binary data"; + }; +}) {}; + +vusted = callPackage({ buildLuarocksPackage, busted, fetchgit, fetchurl }: +buildLuarocksPackage { + pname = "vusted"; + version = "2.3.1-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/vusted-2.3.1-1.rockspec"; + sha256 = "03h7l12xk43rql9vxb5nzfimx9srwaazx2r3j2zm1ba2qz06h0qc"; + }).outPath; + src = fetchgit ( removeAttrs (builtins.fromJSON ''{ + "url": "https://github.com/notomo/vusted.git", + "rev": "2bc6818a756e47240d9284f1dfac21b011ca84ea", + "date": "2023-10-09T11:47:28+09:00", + "path": "/nix/store/jq2yl4adpnyilp3yyw161j1a29bwahqi-vusted", + "sha256": "04lxc78n3h1qhby6b4k9x8hb1c3sgqdid71fsvyg4y6j7rb55a8z", + "hash": "sha256-H6lSVj7SePL81i6cFht+erCwIOppkmX8gjjAYdFhnRI=", + "fetchLFS": false, + "fetchSubmodules": true, + "deepClone": false, + "leaveDotGit": false +} + '') ["date" "path" "sha256"]) ; + + propagatedBuildInputs = [ busted ]; + + meta = { + homepage = "https://github.com/notomo/vusted"; + description = "`busted` wrapper for testing neovim plugin"; + maintainers = with lib.maintainers; [ figsoda ]; + license.fullName = "MIT <http://opensource.org/licenses/MIT>"; + }; +}) {}; + + +} +/* GENERATED - do not edit this file */ diff --git a/nixpkgs/pkgs/development/lua-modules/generic/default.nix b/nixpkgs/pkgs/development/lua-modules/generic/default.nix new file mode 100644 index 000000000000..7f07c6602dac --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/generic/default.nix @@ -0,0 +1,27 @@ +{ lua, writeText, toLuaModule }: + +{ disabled ? false +, propagatedBuildInputs ? [ ] +, makeFlags ? [ ] +, ... +} @ attrs: + +if disabled then + throw "${attrs.name} not supported by interpreter lua-${lua.luaversion}" +else + toLuaModule (lua.stdenv.mkDerivation ( + attrs // { + name = "lua${lua.luaversion}-" + attrs.pname + "-" + attrs.version; + + makeFlags = [ + "PREFIX=$(out)" + "LUA_INC=-I${lua}/include" + "LUA_LIBDIR=$(out)/lib/lua/${lua.luaversion}" + "LUA_VERSION=${lua.luaversion}" + ] ++ makeFlags; + + propagatedBuildInputs = propagatedBuildInputs ++ [ + lua # propagate it for its setup-hook + ]; + } + )) diff --git a/nixpkgs/pkgs/development/lua-modules/lib.nix b/nixpkgs/pkgs/development/lua-modules/lib.nix new file mode 100644 index 000000000000..a07b23ff9cd2 --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/lib.nix @@ -0,0 +1,144 @@ +{ pkgs, lib, lua }: +let + inherit (lib.generators) toLua; + requiredLuaModules = drvs: with lib; let + modules = filter hasLuaModule drvs; + in unique ([lua] ++ modules ++ concatLists (catAttrs "requiredLuaModules" modules)); + # Check whether a derivation provides a lua module. + hasLuaModule = drv: drv ? luaModule; + + + /* + Use this to override the arguments passed to buildLuarocksPackage + */ + overrideLuarocks = drv: f: (drv.override (args: args // { + buildLuarocksPackage = drv: (args.buildLuarocksPackage drv).override f; + })) // { + overrideScope = scope: overrideLuarocks (drv.overrideScope scope) f; + }; + +in +rec { + inherit overrideLuarocks; + inherit hasLuaModule requiredLuaModules; + + luaPathList = [ + "share/lua/${lua.luaversion}/?.lua" + "share/lua/${lua.luaversion}/?/init.lua" + ]; + luaCPathList = [ + "lib/lua/${lua.luaversion}/?.so" + ]; + + /* generate paths without a prefix + */ + luaPathRelStr = lib.concatStringsSep ";" luaPathList; + luaCPathRelStr = lib.concatStringsSep ";" luaCPathList; + + /* generate LUA_(C)PATH value for a specific derivation, i.e., with absolute paths + */ + genLuaPathAbsStr = drv: lib.concatMapStringsSep ";" (x: "${drv}/${x}") luaPathList; + genLuaCPathAbsStr = drv: lib.concatMapStringsSep ";" (x: "${drv}/${x}") luaCPathList; + + /* Generate a LUA_PATH with absolute paths + */ + # genLuaPathAbs = drv: + # lib.concatStringsSep ";" (map (x: "${drv}/x") luaPathList); + + 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"; + isLua53 = lua.luaversion == "5.3"; + isLuaJIT = lib.getName lua == "luajit"; + + /* generates the relative path towards the folder where + seems stable even when using lua_modules_path = "" + + Example: + getDataFolder luaPackages.stdlib + => stdlib-41.2.2-1-rocks/stdlib/41.2.2-1/doc + */ + getDataFolder = drv: + "${drv.pname}-${drv.version}-rocks/${drv.pname}/${drv.version}"; + + /* Convert derivation to a lua module. + so that luaRequireModules can be run later + */ + toLuaModule = drv: + drv.overrideAttrs(oldAttrs: { + # Use passthru in order to prevent rebuilds when possible. + passthru = (oldAttrs.passthru or {}) // { + luaModule = lua; + requiredLuaModules = requiredLuaModules drv.propagatedBuildInputs; + }; + }); + + /* generate luarocks config + + generateLuarocksConfig { + externalDeps = [ { name = "CRYPTO"; dep = pkgs.openssl; } ]; + rocksSubdir = "subdir"; + }; + */ + generateLuarocksConfig = { + externalDeps ? [] + # a list of lua derivations + , requiredLuaRocks ? [] + , extraVariables ? {} + , rocksSubdir ? "rocks-subdir" + }: let + rocksTrees = lib.imap0 + (i: dep: { + name = "dep-${toString i}"; + root = "${dep}"; + # packages built by buildLuaPackage or luarocks doesn't contain rocksSubdir + # hence a default here + rocks_dir = if dep ? rocksSubdir then "${dep}/${dep.rocksSubdir}" else "${dep.pname}-${dep.version}-rocks"; + }) + requiredLuaRocks; + + # Explicitly point luarocks to the relevant locations for multiple-output + # derivations that are external dependencies, to work around an issue it has + # (https://github.com/luarocks/luarocks/issues/766) + depVariables = zipAttrsWithLast (lib.lists.map ({name, dep}: { + "${name}_INCDIR" = "${lib.getDev dep}/include"; + "${name}_LIBDIR" = "${lib.getLib dep}/lib"; + "${name}_BINDIR" = "${lib.getBin dep}/bin"; + }) externalDeps'); + zipAttrsWithLast = lib.attrsets.zipAttrsWith (name: lib.lists.last); + + # example externalDeps': [ { name = "CRYPTO"; dep = pkgs.openssl; } ] + externalDeps' = lib.filter (dep: !lib.isDerivation dep) externalDeps; + + externalDepsDirs = map + (x: builtins.toString x) + (lib.filter (lib.isDerivation) externalDeps); + in toLua { asBindings = true; } ({ + local_cache = ""; + # To prevent collisions when creating environments, we install the rock + # files into per-package subdirectories + rocks_subdir = rocksSubdir; + # first tree is the default target where new rocks are installed, + # any other trees in the list are treated as additional sources of installed rocks for matching dependencies. + rocks_trees = ( + [{name = "current"; root = "${placeholder "out"}"; rocks_dir = "current"; }] ++ + rocksTrees + ); + } // lib.optionalAttrs lua.pkgs.isLuaJIT { + # Luajit provides some additional functionality built-in; this exposes + # that to luarock's dependency system + rocks_provided = { + jit = "${lua.luaversion}-1"; + ffi = "${lua.luaversion}-1"; + luaffi = "${lua.luaversion}-1"; + bit = "${lua.luaversion}-1"; + }; + } // { + # For single-output external dependencies + external_deps_dirs = externalDepsDirs; + # Some needed machinery to handle multiple-output external dependencies, + # as per https://github.com/luarocks/luarocks/issues/766 + variables = (depVariables // extraVariables); + }); +} diff --git a/nixpkgs/pkgs/development/lua-modules/luuid.patch b/nixpkgs/pkgs/development/lua-modules/luuid.patch new file mode 100644 index 000000000000..039d522be6d7 --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/luuid.patch @@ -0,0 +1,16 @@ +diff -Naur 5.2/uuid/luuid.c rock/uuid/luuid.c +--- 5.2/uuid/luuid.c 2012-05-10 11:22:00.000000000 +1000 ++++ rock/uuid/luuid.c 2019-06-13 15:13:10.374134079 +1000 +@@ -64,7 +64,11 @@ + + LUALIB_API int luaopen_uuid(lua_State *L) + { +- luaL_newlib(L,R); ++ #if LUA_VERSION_NUM == 501 ++ luaL_register(L,MYNAME,R); ++ #else ++ luaL_newlib(L,R); ++ #endif + lua_pushliteral(L,"version"); /** version */ + lua_pushliteral(L,MYVERSION); + lua_settable(L,-3); diff --git a/nixpkgs/pkgs/development/lua-modules/magick.patch b/nixpkgs/pkgs/development/lua-modules/magick.patch new file mode 100644 index 000000000000..41b5ed98c7f0 --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/magick.patch @@ -0,0 +1,53 @@ +diff --git a/magick/wand/lib.lua b/magick/wand/lib.lua +index 21940a0..0d103dc 100644 +--- a/magick/wand/lib.lua ++++ b/magick/wand/lib.lua +@@ -134,15 +134,6 @@ get_filters = function() + local prefixes = { + "/usr/include/ImageMagick", + "/usr/local/include/ImageMagick", +- unpack((function() +- local _accum_0 = { } +- local _len_0 = 1 +- for p in get_flags():gmatch("-I([^%s]+)") do +- _accum_0[_len_0] = p +- _len_0 = _len_0 + 1 +- end +- return _accum_0 +- end)()) + } + for _index_0 = 1, #prefixes do + local p = prefixes[_index_0] +@@ -204,12 +195,7 @@ try_to_load = function(...) + break + end + end +- if pcall(function() +- out = ffi.load(name) +- end) then +- return out +- end +- _continue_0 = true ++ return ffi.load(name) + until true + if not _continue_0 then + break +@@ -217,17 +203,7 @@ try_to_load = function(...) + end + return error("Failed to load ImageMagick (" .. tostring(...) .. ")") + end +-lib = try_to_load("MagickWand", function() +- local lname = get_flags():match("-l(MagickWand[^%s]*)") +- local suffix +- if ffi.os == "OSX" then +- suffix = ".dylib" +- elseif ffi.os == "Windows" then +- suffix = ".dll" +- else +- suffix = ".so" +- end +- return lname and "lib" .. lname .. suffix ++lib = try_to_load("@nix_wand@", function() + end) + return { + lib = lib, diff --git a/nixpkgs/pkgs/development/lua-modules/nfd/default.nix b/nixpkgs/pkgs/development/lua-modules/nfd/default.nix new file mode 100644 index 000000000000..148b074666e8 --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/nfd/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, buildLuarocksPackage, lua, pkg-config, lib +, substituteAll, zenity, AppKit }: + +buildLuarocksPackage { + pname = "nfd"; + version = "scm-1"; + + src = fetchFromGitHub { + owner = "Vexatos"; + repo = "nativefiledialog"; + rev = "2f74a5758e8df9b27158d444953697bc13fe90d8"; + sha256 = "1f52mb0s9zrpsqjp10bx92wzqmy1lq7fg1fk1nd6xmv57kc3b1qv"; + fetchSubmodules = true; + }; + + # use zenity because default gtk impl just crashes + patches = [ + (substituteAll { + src = ./zenity.patch; + inherit zenity; + }) + ]; + rockspecDir = "lua"; + + extraVariables.LUA_LIBDIR = "${lua}/lib"; + nativeBuildInputs = [ pkg-config ]; + + buildInputs = lib.optionals stdenv.isDarwin [ AppKit ]; + + fixupPhase = '' + find $out -name nfd_zenity.so -execdir mv {} nfd.so \; + ''; + + disabled = with lua; (luaversion != "5.1"); + + meta = { + description = + "A tiny, neat lua library that portably invokes native file open and save dialogs."; + homepage = "https://github.com/Alloyed/nativefiledialog/tree/master/lua"; + license = lib.licenses.zlib; + maintainers = [ lib.maintainers.scoder12 ]; + }; +} diff --git a/nixpkgs/pkgs/development/lua-modules/nfd/zenity.patch b/nixpkgs/pkgs/development/lua-modules/nfd/zenity.patch new file mode 100644 index 000000000000..59a91e0e546c --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/nfd/zenity.patch @@ -0,0 +1,47 @@ +diff --git a/lua/Makefile.linux b/lua/Makefile.linux +index 9f5aa68..77660d4 100644 +--- a/lua/Makefile.linux ++++ b/lua/Makefile.linux +@@ -37,5 +37,5 @@ nfd_zenity.o: src/nfd_zenity.c + clean: + rm nfd_common.o nfd_gtk.o nfd_wrap_lua.o nfd.so + +-install: nfd.so +- cp nfd.so $(INST_LIBDIR) ++install: ++ cp nfd*.so $(INST_LIBDIR) +diff --git a/lua/nfd-scm-1.rockspec b/lua/nfd-scm-1.rockspec +index 503399d..2d0a7da 100644 +--- a/lua/nfd-scm-1.rockspec ++++ b/lua/nfd-scm-1.rockspec +@@ -17,9 +17,6 @@ supported_platforms = { "linux", "macosx", "windows" } + external_dependencies = { + platforms = { + linux = { +- gtk3 = { +- library = "gtk-3", +- } + } + } + } +@@ -28,6 +25,7 @@ build = { + linux = { + type = "make", + makefile = "lua/Makefile.linux", ++ build_target = "nfd_zenity.so", + build_variables = { + CFLAGS="$(CFLAGS)", + LIBFLAG="$(LIBFLAG)", +diff --git a/src/nfd_zenity.c b/src/nfd_zenity.c +index 43ccc6d..3fcdea0 100644 +--- a/src/nfd_zenity.c ++++ b/src/nfd_zenity.c +@@ -109,6 +109,8 @@ ZenityCommon(char** command, + command[i] = tmp; + } + ++ // caller always sets command[0] to "zenity" ++ command[0] = strdup("@zenity@/bin/zenity"); + AddFiltersToCommandArgs(command, commandLen, filterList); + + int byteCount = 0; diff --git a/nixpkgs/pkgs/development/lua-modules/overrides.nix b/nixpkgs/pkgs/development/lua-modules/overrides.nix new file mode 100644 index 000000000000..72334f6d0ff0 --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/overrides.nix @@ -0,0 +1,642 @@ +# do not add pkgs, it messes up splicing +{ stdenv +, cargo +, cmake +, curl +, cyrus_sasl +, dbus +, expat +, fetchFromGitHub +, fetchpatch +, fetchurl +, fixDarwinDylibNames +, glib +, glibc +, gmp +, gnulib +, gnum4 +, gobject-introspection +, imagemagick +, installShellFiles +, lib +, libevent +, libiconv +, libmpack +, libmysqlclient +, libuuid +, libuv +, libxcrypt +, libyaml +, mariadb +, magic-enum +, mpfr +, neovim-unwrapped +, openldap +, openssl +, pcre +, pkg-config +, postgresql +, readline +, rustPlatform +, sol2 +, sqlite +, tomlplusplus +, unbound +, vimPlugins +, vimUtils +, yajl +, zlib +, zziplib +}: + +final: prev: +with prev; +{ + ##########################################3 + #### manual fixes for generated packages + ##########################################3 + bit32 = prev.bit32.overrideAttrs (oa: { + # Small patch in order to no longer redefine a Lua 5.2 function that Luajit + # 2.1 also provides, see https://github.com/LuaJIT/LuaJIT/issues/325 for + # more + patches = [ + ./bit32.patch + ]; + meta.broken = luaOlder "5.1" || luaAtLeast "5.4"; + }); + + busted = prev.busted.overrideAttrs (oa: { + nativeBuildInputs = oa.nativeBuildInputs ++ [ + installShellFiles + ]; + postConfigure = '' + substituteInPlace ''${rockspecFilename} \ + --replace "'lua_cliargs = 3.0-1'," "'lua_cliargs >= 3.0-1'," + ''; + postInstall = '' + installShellCompletion --cmd busted \ + --zsh completions/zsh/_busted \ + --bash completions/bash/busted.bash + ''; + }); + + cqueues = prev.cqueues.overrideAttrs (oa: rec { + # Parse out a version number without the Lua version inserted + version = with lib; let + version' = prev.cqueues.version; + rel = splitVersion version'; + date = head rel; + rev = last (splitString "-" (last rel)); + in + "${date}-${rev}"; + + meta.broken = luaOlder "5.1" || luaAtLeast "5.4"; + + nativeBuildInputs = oa.nativeBuildInputs ++ [ + gnum4 + ]; + + externalDeps = [ + { name = "CRYPTO"; dep = openssl; } + { name = "OPENSSL"; dep = openssl; } + ]; + + # Upstream rockspec is pointlessly broken into separate rockspecs, per Lua + # version, which doesn't work well for us, so modify it + postConfigure = let inherit (prev.cqueues) pname; in + '' + # 'all' target auto-detects correct Lua version, which is fine for us as + # we only have the right one available :) + sed -Ei ''${rockspecFilename} \ + -e 's|lua == 5.[[:digit:]]|lua >= 5.1, <= 5.3|' \ + -e 's|build_target = "[^"]+"|build_target = "all"|' \ + -e 's|version = "[^"]+"|version = "${version}"|' + specDir=$(dirname ''${rockspecFilename}) + cp ''${rockspecFilename} "$specDir/${pname}-${version}.rockspec" + rockspecFilename="$specDir/${pname}-${version}.rockspec" + ''; + }); + + fennel = prev.fennel.overrideAttrs(oa: { + nativeBuildInputs = oa.nativeBuildInputs ++ [ + installShellFiles + ]; + postInstall = '' + installManPage fennel.1 + ''; + }); + + # Until https://github.com/swarn/fzy-lua/pull/8 is merged, + # we have to invoke busted manually + fzy = prev.fzy.overrideAttrs(oa: { + doCheck = true; + nativeCheckInputs = [ prev.busted ]; + checkPhase = '' + busted test/test.lua + ''; + }); + + http = prev.http.overrideAttrs (oa: { + patches = [ + (fetchpatch { + name = "invalid-state-progression.patch"; + url = "https://github.com/daurnimator/lua-http/commit/cb7b59474a.diff"; + sha256 = "1vmx039n3nqfx50faqhs3wgiw28ws416rhw6vh6srmh9i826dac7"; + }) + ]; + /* TODO: separate docs derivation? (pandoc is heavy) + nativeBuildInputs = [ pandoc ]; + makeFlags = [ "-C doc" "lua-http.html" "lua-http.3" ]; + */ + }); + + ldbus = prev.ldbus.overrideAttrs (oa: { + extraVariables = { + DBUS_DIR = "${dbus.lib}"; + DBUS_ARCH_INCDIR = "${dbus.lib}/lib/dbus-1.0/include"; + DBUS_INCDIR = "${dbus.dev}/include/dbus-1.0"; + }; + buildInputs = [ + dbus + ]; + }); + + ljsyscall = prev.ljsyscall.overrideAttrs (oa: rec { + version = "unstable-20180515"; + # package hasn't seen any release for a long time + src = fetchFromGitHub { + owner = "justincormack"; + repo = "ljsyscall"; + rev = "e587f8c55aad3955dddab3a4fa6c1968037b5c6e"; + sha256 = "06v52agqyziwnbp2my3r7liv245ddmb217zmyqakh0ldjdsr8lz4"; + }; + knownRockspec = "rockspec/ljsyscall-scm-1.rockspec"; + # actually library works fine with lua 5.2 + preConfigure = '' + sed -i 's/lua == 5.1/lua >= 5.1, < 5.3/' ${knownRockspec} + ''; + meta.broken = luaOlder "5.1" || luaAtLeast "5.3"; + + propagatedBuildInputs = with lib; oa.propagatedBuildInputs ++ optional (!isLuaJIT) luaffi; + }); + + lgi = prev.lgi.overrideAttrs (oa: { + nativeBuildInputs = oa.nativeBuildInputs ++ [ + pkg-config + ]; + buildInputs = [ + glib + gobject-introspection + ]; + patches = [ + (fetchpatch { + name = "lgi-find-cairo-through-typelib.patch"; + url = "https://github.com/psychon/lgi/commit/46a163d9925e7877faf8a4f73996a20d7cf9202a.patch"; + sha256 = "0gfvvbri9kyzhvq3bvdbj2l6mwvlz040dk4mrd5m9gz79f7w109c"; + }) + ]; + + # https://github.com/lgi-devs/lgi/pull/300 + postPatch = '' + substituteInPlace lgi/Makefile tests/Makefile \ + --replace 'PKG_CONFIG =' 'PKG_CONFIG ?=' + ''; + + # there is only a rockspec.in in the repo, the actual rockspec must be generated + preConfigure = '' + make rock + ''; + }); + + lmathx = prev.luaLib.overrideLuarocks prev.lmathx (drv: + if luaAtLeast "5.1" && luaOlder "5.2" then { + version = "20120430.51-1"; + knownRockspec = (fetchurl { + url = "https://luarocks.org/lmathx-20120430.51-1.rockspec"; + sha256 = "148vbv2g3z5si2db7rqg5bdily7m4sjyh9w6r3jnx3csvfaxyhp0"; + }).outPath; + src = 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 = (fetchurl { + url = "https://luarocks.org/lmathx-20120430.52-1.rockspec"; + sha256 = "14rd625sipakm72wg6xqsbbglaxyjba9nsajsfyvhg0sz8qjgdya"; + }).outPath; + src = 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' + ''; + }); + + lmpfrlib = prev.lmpfrlib.overrideAttrs (oa: { + externalDeps = [ + { name = "GMP"; dep = gmp; } + { name = "MPFR"; dep = mpfr; } + ]; + unpackPhase = '' + cp $src $(stripHash $src) + ''; + }); + + lrexlib-gnu = prev.lrexlib-gnu.overrideAttrs (oa: { + buildInputs = oa.buildInputs ++ [ + gnulib + ]; + }); + + lrexlib-pcre = prev.lrexlib-pcre.overrideAttrs (oa: { + externalDeps = [ + { name = "PCRE"; dep = pcre; } + ]; + }); + + lrexlib-posix = prev.lrexlib-posix.overrideAttrs (oa: { + buildInputs = oa.buildInputs ++ [ + glibc.dev + ]; + }); + + lua-curl = prev.lua-curl.overrideAttrs (oa: { + buildInputs = oa.buildInputs ++ [ + curl.dev + ]; + }); + + lua-iconv = prev.lua-iconv.overrideAttrs (oa: { + buildInputs = oa.buildInputs ++ [ + libiconv + ]; + }); + + lua-lsp = prev.lua-lsp.overrideAttrs (oa: { + # until Alloyed/lua-lsp#28 + postConfigure = '' + substituteInPlace ''${rockspecFilename} \ + --replace '"dkjson ~> 2.5",' '"dkjson >= 2.5",' + ''; + }); + + lua-zlib = prev.lua-zlib.overrideAttrs (oa: { + buildInputs = oa.buildInputs ++ [ + zlib.dev + ]; + meta.broken = luaOlder "5.1" || luaAtLeast "5.4"; + }); + + luadbi-mysql = prev.luadbi-mysql.overrideAttrs (oa: { + extraVariables = { + # Can't just be /include and /lib, unfortunately needs the trailing 'mysql' + MYSQL_INCDIR = "${libmysqlclient.dev}/include/mysql"; + MYSQL_LIBDIR = "${libmysqlclient}/lib/mysql"; + }; + buildInputs = oa.buildInputs ++ [ + mariadb.client + libmysqlclient + ]; + }); + + luadbi-postgresql = prev.luadbi-postgresql.overrideAttrs (oa: { + buildInputs = oa.buildInputs ++ [ + postgresql + ]; + }); + + luadbi-sqlite3 = prev.luadbi-sqlite3.overrideAttrs (oa: { + externalDeps = [ + { name = "SQLITE"; dep = sqlite; } + ]; + }); + + luaevent = prev.luaevent.overrideAttrs (oa: { + propagatedBuildInputs = oa.propagatedBuildInputs ++ [ + luasocket + ]; + externalDeps = [ + { name = "EVENT"; dep = libevent; } + ]; + meta.broken = luaOlder "5.1" || luaAtLeast "5.4"; + }); + + luaexpat = prev.luaexpat.overrideAttrs (_: { + externalDeps = [ + { name = "EXPAT"; dep = expat; } + ]; + }); + + # TODO Somehow automatically amend buildInputs for things that need luaffi + # but are in luajitPackages? + luaffi = prev.luaffi.overrideAttrs (oa: { + # The packaged .src.rock version is pretty old, and doesn't work with Lua 5.3 + src = fetchFromGitHub { + owner = "facebook"; + repo = "luaffifb"; + rev = "532c757e51c86f546a85730b71c9fef15ffa633d"; + sha256 = "1nwx6sh56zfq99rcs7sph0296jf6a9z72mxknn0ysw9fd7m1r8ig"; + }; + knownRockspec = with prev.luaffi; "${pname}-${version}.rockspec"; + meta.broken = luaOlder "5.1" || luaAtLeast "5.4" || isLuaJIT; + }); + + lualdap = prev.lualdap.overrideAttrs (_: { + externalDeps = [ + { name = "LDAP"; dep = openldap; } + ]; + }); + + luaossl = prev.luaossl.overrideAttrs (_: { + externalDeps = [ + { name = "CRYPTO"; dep = openssl; } + { name = "OPENSSL"; dep = openssl; } + ]; + }); + + luaposix = prev.luaposix.overrideAttrs (_: { + externalDeps = [ + { name = "CRYPT"; dep = libxcrypt; } + ]; + }); + + luasec = prev.luasec.overrideAttrs (oa: { + externalDeps = [ + { name = "OPENSSL"; dep = openssl; } + ]; + }); + + luasql-sqlite3 = prev.luasql-sqlite3.overrideAttrs (oa: { + externalDeps = [ + { name = "SQLITE"; dep = sqlite; } + ]; + }); + + luasystem = prev.luasystem.overrideAttrs (oa: lib.optionalAttrs stdenv.isLinux { + buildInputs = [ glibc.out ]; + }); + + luazip = prev.luazip.overrideAttrs (oa: { + buildInputs = oa.buildInputs ++ [ + zziplib + ]; + }); + + # lua-resty-session = prev.lua-resty-session.overrideAttrs (oa: { + # # lua_pack and lua-ffi-zlib are unpackaged, causing this package to not evaluate + # meta.broken = true; + # }); + + lua-yajl = prev.lua-yajl.overrideAttrs (oa: { + buildInputs = oa.buildInputs ++ [ + yajl + ]; + }); + + luaunbound = prev.luaunbound.overrideAttrs (oa: { + externalDeps = [ + { name = "libunbound"; dep = unbound; } + ]; + }); + + lua-subprocess = prev.lua-subprocess.overrideAttrs (oa: { + meta.broken = luaOlder "5.1" || luaAtLeast "5.4"; + }); + + lua-rtoml = prev.lua-rtoml.overrideAttrs (oa: { + + cargoDeps = rustPlatform.fetchCargoTarball { + src = oa.src; + hash = "sha256-EcP4eYsuOVeEol+kMqzsVHd8F2KoBdLzf6K0KsYToUY="; + }; + + propagatedBuildInputs = oa.propagatedBuildInputs ++ [ cargo rustPlatform.cargoSetupHook ]; + + }); + + lush-nvim = prev.lush-nvim.overrideAttrs (drv: { + doCheck = false; + }); + + luuid = prev.luuid.overrideAttrs (oa: { + externalDeps = [ + { name = "LIBUUID"; dep = libuuid; } + ]; + # Trivial patch to make it work in both 5.1 and 5.2. Basically just the + # tiny diff between the two upstream versions placed behind an #if. + # Upstreams: + # 5.1: http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/5.1/luuid.tar.gz + # 5.2: http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/5.2/luuid.tar.gz + patchFlags = [ "-p2" ]; + patches = [ + ./luuid.patch + ]; + postConfigure = '' + sed -Ei ''${rockspecFilename} -e 's|lua >= 5.2|lua >= 5.1,|' + ''; + meta = oa.meta // { + broken = luaOlder "5.1" || (luaAtLeast "5.4"); + platforms = lib.platforms.linux; + }; + }); + + + # as advised in https://github.com/luarocks/luarocks/issues/1402#issuecomment-1080616570 + # we shouldn't use luarocks machinery to build complex cmake components + libluv = stdenv.mkDerivation { + + pname = "libluv"; + inherit (prev.luv) version meta src; + + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_MODULE=OFF" + "-DWITH_SHARED_LIBUV=ON" + "-DLUA_BUILD_TYPE=System" + "-DWITH_LUA_ENGINE=${if isLuaJIT then "LuaJit" else "Lua"}" + ]; + + # to make sure we dont use bundled deps + postUnpack = '' + rm -rf deps/lua deps/libuv + ''; + + buildInputs = [ libuv final.lua ]; + + nativeBuildInputs = [ pkg-config cmake ] + ++ lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ]; + }; + + luv = prev.luv.overrideAttrs (oa: { + + nativeBuildInputs = oa.nativeBuildInputs ++ [ pkg-config ]; + buildInputs = [ libuv ]; + + # Use system libuv instead of building local and statically linking + extraVariables = { + WITH_SHARED_LIBUV = "ON"; + }; + + # we unset the LUA_PATH since the hook erases the interpreter defaults (To fix) + # tests is not run since they are not part of the tarball anymore + preCheck = '' + unset LUA_PATH + rm tests/test-{dns,thread}.lua + ''; + }); + + lyaml = prev.lyaml.overrideAttrs (oa: { + buildInputs = [ + libyaml + ]; + }); + + magick = prev.magick.overrideAttrs (oa: { + buildInputs = oa.buildInputs ++ [ + imagemagick + ]; + + # Fix MagickWand not being found in the pkg-config search path + patches = [ + ./magick.patch + ]; + + postPatch = '' + substituteInPlace magick/wand/lib.lua \ + --replace @nix_wand@ ${imagemagick}/lib/libMagickWand-7.Q16HDRI${stdenv.hostPlatform.extensions.sharedLibrary} + ''; + + # Requires ffi + meta.broken = !isLuaJIT; + }); + + mpack = prev.mpack.overrideAttrs (drv: { + buildInputs = (drv.buildInputs or []) ++ [ libmpack ]; + env = { + # the rockspec doesn't use the makefile so you may need to export more flags + USE_SYSTEM_LUA = "yes"; + USE_SYSTEM_MPACK = "yes"; + }; + }); + + rapidjson = prev.rapidjson.overrideAttrs (oa: { + preBuild = '' + sed -i '/set(CMAKE_CXX_FLAGS/d' CMakeLists.txt + sed -i '/set(CMAKE_C_FLAGS/d' CMakeLists.txt + ''; + }); + + readline = final.callPackage({ buildLuarocksPackage, fetchurl, luaAtLeast, luaOlder, lua, luaposix }: + buildLuarocksPackage ({ + pname = "readline"; + version = "3.2-0"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/readline-3.2-0.rockspec"; + sha256 = "1r0sgisxm4xd1r6i053iibxh30j7j3rcj4wwkd8rzkj8nln20z24"; + }).outPath; + src = fetchurl { + # the rockspec url doesn't work because 'www.' is not covered by the certificate so + # I manually removed the 'www' prefix here + url = "http://pjb.com.au/comp/lua/readline-3.2.tar.gz"; + sha256 = "1mk9algpsvyqwhnq7jlw4cgmfzj30l7n2r6ak4qxgdxgc39f48k4"; + }; + + extraVariables = rec { + READLINE_INCDIR = "${readline.dev}/include"; + HISTORY_INCDIR = READLINE_INCDIR; + }; + unpackCmd = '' + unzip "$curSrc" + tar xf *.tar.gz + ''; + + disabled = (luaOlder "5.1") || (luaAtLeast "5.5"); + propagatedBuildInputs = [ lua luaposix + readline.out + ]; + + meta = { + homepage = "http://pjb.com.au/comp/lua/readline.html"; + description = "Interface to the readline library"; + license.fullName = "MIT/X11"; + }; + })) {}; + + + sqlite = prev.sqlite.overrideAttrs (drv: { + + doCheck = true; + nativeCheckInputs = [ final.plenary-nvim neovim-unwrapped ]; + + # we override 'luarocks test' because otherwise neovim doesn't find/load the plenary plugin + checkPhase = '' + export LIBSQLITE="${sqlite.out}/lib/libsqlite3${stdenv.hostPlatform.extensions.sharedLibrary}" + export HOME="$TMPDIR"; + + nvim --headless -i NONE \ + -u test/minimal_init.vim --cmd "set rtp+=${vimPlugins.plenary-nvim}" \ + -c "PlenaryBustedDirectory test/auto/ { minimal_init = './test/minimal_init.vim' }" + ''; + + }); + + std-_debug = prev.std-_debug.overrideAttrs (oa: { + # run make to generate lib/std/_debug/version.lua + preConfigure = '' + make all + ''; + }); + + std-normalize = prev.std-normalize.overrideAttrs (oa: { + # run make to generate lib/std/_debug/version.lua + preConfigure = '' + make all + ''; + }); + + toml = prev.toml.overrideAttrs (oa: { + patches = [ ./toml.patch ]; + + propagatedBuildInputs = oa.propagatedBuildInputs ++ [ magic-enum sol2 ]; + + postPatch = '' + substituteInPlace CMakeLists.txt --replace \ + "TOML_PLUS_PLUS_SRC" \ + "${tomlplusplus.src}" + ''; + }); + + toml-edit = prev.toml-edit.overrideAttrs (oa: { + + cargoDeps = rustPlatform.fetchCargoTarball { + src = oa.src; + hash = "sha256-pLAisfnSDoAToQO/kdKTdic6vEug7/WFNtgOfj0bRAE="; + }; + + nativeBuildInputs = oa.nativeBuildInputs ++ [ cargo rustPlatform.cargoSetupHook ]; + + }); + + vstruct = prev.vstruct.overrideAttrs (_: { + meta.broken = (luaOlder "5.1" || luaAtLeast "5.4"); + }); + + vusted = prev.vusted.overrideAttrs (_: { + # make sure vusted_entry.vim doesn't get wrapped + postInstall = '' + chmod -x $out/bin/vusted_entry.vim + ''; + }); + + + # aliases + cjson = prev.lua-cjson; +} diff --git a/nixpkgs/pkgs/development/lua-modules/toml.patch b/nixpkgs/pkgs/development/lua-modules/toml.patch new file mode 100644 index 000000000000..5f9f57a445db --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/toml.patch @@ -0,0 +1,43 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ab3884c..9432df7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,26 +38,17 @@ include(FetchContent) + + FetchContent_Declare( + ${TOML++} +- GIT_REPOSITORY "https://github.com/marzer/tomlplusplus.git" +- GIT_SHALLOW ON +- GIT_SUBMODULES "" +- GIT_TAG "v3.3.0" ++ DOWNLOAD_COMMAND true + ) + + FetchContent_Declare( + ${SOL2} +- GIT_REPOSITORY "https://github.com/ThePhD/sol2.git" +- GIT_SHALLOW ON +- GIT_SUBMODULES "" +- GIT_TAG "v3.3.0" ++ DOWNLOAD_COMMAND true + ) + + FetchContent_Declare( + ${MAGIC_ENUM} +- GIT_REPOSITORY "https://github.com/Neargye/magic_enum.git" +- GIT_SHALLOW ON +- GIT_SUBMODULES "" +- GIT_TAG "v0.8.2" ++ DOWNLOAD_COMMAND true + ) + + FetchContent_GetProperties(${TOML++}) +@@ -113,7 +104,7 @@ if(NOT LUA_INCLUDE_DIR OR (WIN32 AND NOT LUA_LIBRARIES)) + find_package(Lua) + endif() + +-include_directories(${LUA_INCLUDE_DIR} src src/include ${${TOML++}_SOURCE_DIR} ${${SOL2}_SOURCE_DIR}/include ${${MAGIC_ENUM}_SOURCE_DIR}/include) ++include_directories(${LUA_INCLUDE_DIR} src src/include TOML_PLUS_PLUS_SRC ${${SOL2}_SOURCE_DIR}/include ${${MAGIC_ENUM}_SOURCE_DIR}/include) + + set(SOURCES + src/toml.cpp diff --git a/nixpkgs/pkgs/development/lua-modules/updater/default.nix b/nixpkgs/pkgs/development/lua-modules/updater/default.nix new file mode 100644 index 000000000000..40c93b21e831 --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/updater/default.nix @@ -0,0 +1,49 @@ +{ buildPythonApplication +, nix +, makeWrapper +, python3Packages +, lib +# , nix-prefetch-git +, nix-prefetch-scripts +, luarocks-nix +}: +let + + path = lib.makeBinPath [ nix nix-prefetch-scripts luarocks-nix ]; +in +buildPythonApplication { + pname = "luarocks-packages-updater"; + version = "0.1"; + + format = "other"; + + nativeBuildInputs = [ + makeWrapper + python3Packages.wrapPython + ]; + propagatedBuildInputs = [ + python3Packages.gitpython + ]; + + dontUnpack = true; + + installPhase = + '' + mkdir -p $out/bin $out/lib + cp ${./updater.py} $out/bin/luarocks-packages-updater + cp ${../../../../maintainers/scripts/pluginupdate.py} $out/lib/pluginupdate.py + + # wrap python scripts + makeWrapperArgs+=( --prefix PATH : "${path}" --prefix PYTHONPATH : "$out/lib" ) + wrapPythonProgramsIn "$out" + ''; + + shellHook = '' + export PYTHONPATH="maintainers/scripts:$PYTHONPATH" + export PATH="${path}:$PATH" + ''; + + meta.mainProgram = "luarocks-packages-updater"; +} + + diff --git a/nixpkgs/pkgs/development/lua-modules/updater/updater.py b/nixpkgs/pkgs/development/lua-modules/updater/updater.py new file mode 100755 index 000000000000..89a9bd9823a7 --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/updater/updater.py @@ -0,0 +1,217 @@ +#!/usr/bin/env python +# format: +# $ nix run nixpkgs#python3Packages.black -- update.py +# type-check: +# $ nix run nixpkgs#python3Packages.mypy -- update.py +# linted: +# $ nix run nixpkgs#python3Packages.flake8 -- --ignore E501,E265,E402 update.py + +import inspect +import os +import tempfile +import shutil +from dataclasses import dataclass +import subprocess +import csv +import logging +import textwrap +from multiprocessing.dummy import Pool + +from typing import List, Tuple, Optional +from pathlib import Path + +log = logging.getLogger() +log.addHandler(logging.StreamHandler()) + +ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent # type: ignore +import pluginupdate +from pluginupdate import update_plugins, FetchConfig, CleanEnvironment + +PKG_LIST = "maintainers/scripts/luarocks-packages.csv" +TMP_FILE = "$(mktemp)" +GENERATED_NIXFILE = "pkgs/development/lua-modules/generated-packages.nix" + +HEADER = """/* {GENERATED_NIXFILE} is an auto-generated file -- DO NOT EDIT! +Regenerate it with: nix run nixpkgs#update-luarocks-packages +You can customize the generated packages in pkgs/development/lua-modules/overrides.nix +*/ +""".format( + GENERATED_NIXFILE=GENERATED_NIXFILE +) + +FOOTER = """ +} +/* GENERATED - do not edit this file */ +""" + + +@dataclass +class LuaPlugin: + name: str + """Name of the plugin, as seen on luarocks.org""" + src: str + """address to the git repository""" + ref: Optional[str] + """git reference (branch name/tag)""" + version: Optional[str] + """Set it to pin a package """ + server: Optional[str] + """luarocks.org registers packages under different manifests. + Its value can be 'http://luarocks.org/dev' + """ + luaversion: Optional[str] + """Attribue of the lua interpreter if a package is available only for a specific lua version""" + maintainers: Optional[str] + """ Optional string listing maintainers separated by spaces""" + + @property + def normalized_name(self) -> str: + return self.name.replace(".", "-") + + +# rename Editor to LangUpdate/ EcosystemUpdater +class LuaEditor(pluginupdate.Editor): + + def create_parser(self): + parser = super().create_parser() + parser.set_defaults(proc=1) + return parser + + def get_current_plugins(self): + return [] + + def load_plugin_spec(self, input_file) -> List[LuaPlugin]: + luaPackages = [] + csvfilename = input_file + log.info("Loading package descriptions from %s", csvfilename) + + with open(csvfilename, newline="") as csvfile: + reader = csv.DictReader( + csvfile, + ) + for row in reader: + # name,server,version,luaversion,maintainers + plugin = LuaPlugin(**row) + luaPackages.append(plugin) + return luaPackages + + def update(self, args): + update_plugins(self, args) + + def generate_nix(self, results: List[Tuple[LuaPlugin, str]], outfilename: str): + with tempfile.NamedTemporaryFile("w+") as f: + f.write(HEADER) + header2 = textwrap.dedent( + """ + { stdenv, lib, fetchurl, fetchgit, callPackage, ... } @ args: + final: prev: + { + """ + ) + f.write(header2) + for plugin, nix_expr in results: + f.write(f"{plugin.normalized_name} = {nix_expr}") + f.write(FOOTER) + f.flush() + + # if everything went fine, move the generated file to its destination + # using copy since move doesn't work across disks + shutil.copy(f.name, outfilename) + + print(f"updated {outfilename}") + + @property + def attr_path(self): + return "luaPackages" + + def get_update(self, input_file: str, outfile: str, config: FetchConfig): + _prefetch = generate_pkg_nix + + def update() -> dict: + plugin_specs = self.load_plugin_spec(input_file) + sorted_plugin_specs = sorted(plugin_specs, key=lambda v: v.name.lower()) + + try: + pool = Pool(processes=config.proc) + results = pool.map(_prefetch, sorted_plugin_specs) + finally: + pass + + self.generate_nix(results, outfile) + + redirects = {} + return redirects + + return update + + def rewrite_input(self, input_file: str, *args, **kwargs): + # vim plugin reads the file before update but that shouldn't be our case + # not implemented yet + # fieldnames = ['name', 'server', 'version', 'luaversion', 'maintainers'] + # input_file = "toto.csv" + # with open(input_file, newline='') as csvfile: + # writer = csv.DictWriter(csvfile, fieldnames=fieldnames) + # writer.writeheader() + # for row in reader: + # # name,server,version,luaversion,maintainers + # plugin = LuaPlugin(**row) + # luaPackages.append(plugin) + pass + + +def generate_pkg_nix(plug: LuaPlugin): + """ + Generate nix expression for a luarocks package + Our cache key associates "p.name-p.version" to its rockspec + """ + log.debug("Generating nix expression for %s", plug.name) + + cmd = ["luarocks", "nix"] + + if plug.maintainers: + cmd.append(f"--maintainers={plug.maintainers}") + + # if plug.server == "src": + if plug.src != "": + if plug.src is None: + msg = ( + "src must be set when 'version' is set to \"src\" for package %s" + % plug.name + ) + log.error(msg) + raise RuntimeError(msg) + log.debug("Updating from source %s", plug.src) + cmd.append(plug.src) + # update the plugin from luarocks + else: + cmd.append(plug.name) + if plug.version and plug.version != "src": + cmd.append(plug.version) + + if plug.server != "src" and plug.server: + cmd.append(f"--only-server={plug.server}") + + if plug.luaversion: + cmd.append(f"--lua-version={plug.luaversion}") + + log.debug("running %s", " ".join(cmd)) + + output = subprocess.check_output(cmd, text=True) + output = "callPackage(" + output.strip() + ") {};\n\n" + return (plug, output) + + +def main(): + editor = LuaEditor( + "lua", + ROOT, + "", + default_in=PKG_LIST, + default_out=GENERATED_NIXFILE, + ) + + editor.run() + + +if __name__ == "__main__": + main() diff --git a/nixpkgs/pkgs/development/lua-modules/zip.patch b/nixpkgs/pkgs/development/lua-modules/zip.patch new file mode 100644 index 000000000000..c3f88f451e8d --- /dev/null +++ b/nixpkgs/pkgs/development/lua-modules/zip.patch @@ -0,0 +1,23 @@ +--- a/Makefile 2007-10-30 01:59:10.000000000 +0300 ++++ b/Makefile 2014-09-18 11:04:53.176320021 +0400 +@@ -6,10 +6,6 @@ + + include $(CONFIG) + +-ifeq "$(LUA_VERSION_NUM)" "500" +-COMPAT_O= $(COMPAT_DIR)/compat-5.1.o +-endif +- + SRCS= src/lua$T.c + OBJS= src/lua$T.o $(COMPAT_O) + +@@ -19,9 +15,6 @@ + src/$(LIBNAME): $(OBJS) + export MACOSX_DEPLOYMENT_TARGET="10.3"; $(CC) $(CFLAGS) $(LIB_OPTION) -o src/$(LIBNAME) $(OBJS) -lzzip + +-$(COMPAT_DIR)/compat-5.1.o: $(COMPAT_DIR)/compat-5.1.c +- $(CC) -c $(CFLAGS) -o $@ $(COMPAT_DIR)/compat-5.1.c +- + install: src/$(LIBNAME) + mkdir -p $(LUA_LIBDIR) + cp src/$(LIBNAME) $(LUA_LIBDIR) |