summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMatthieu Coudron <mcoudron@hotmail.com>2021-08-30 21:42:52 +0200
committerMatthieu Coudron <mcoudron@hotmail.com>2021-08-31 00:42:26 +0200
commita2fd477970f3cfb5c5c51bc527ce6ace47b1cfab (patch)
tree78989027f3663272c61a61a6950fec9e570fd878 /pkgs
parent24ac87c440a1b9f6f2ca8b653d1242d3ee1497b7 (diff)
downloadnixpkgs-a2fd477970f3cfb5c5c51bc527ce6ace47b1cfab.tar
nixpkgs-a2fd477970f3cfb5c5c51bc527ce6ace47b1cfab.tar.gz
nixpkgs-a2fd477970f3cfb5c5c51bc527ce6ace47b1cfab.tar.bz2
nixpkgs-a2fd477970f3cfb5c5c51bc527ce6ace47b1cfab.tar.lz
nixpkgs-a2fd477970f3cfb5c5c51bc527ce6ace47b1cfab.tar.xz
nixpkgs-a2fd477970f3cfb5c5c51bc527ce6ace47b1cfab.tar.zst
nixpkgs-a2fd477970f3cfb5c5c51bc527ce6ace47b1cfab.zip
lua: restore knownRockspec and lgi
- fix std._debug build
- fixed std-normalize
- pinned stdlib since the git version  causes issues with awesome

cleanup
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/interpreters/lua-5/build-lua-package.nix28
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix977
-rw-r--r--pkgs/development/lua-modules/overrides.nix27
3 files changed, 752 insertions, 280 deletions
diff --git a/pkgs/development/interpreters/lua-5/build-lua-package.nix b/pkgs/development/interpreters/lua-5/build-lua-package.nix
index 8c9204c0b28..8ff70cef3ba 100644
--- a/pkgs/development/interpreters/lua-5/build-lua-package.nix
+++ b/pkgs/development/interpreters/lua-5/build-lua-package.nix
@@ -165,22 +165,8 @@ builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps" "extraVariab
   # @-patterns do not capture formal argument default values, so we need to
   # explicitly inherit this for it to be available as a shell variable in the
   # builder
-  # inherit rockspecFilename;
   inherit rocksSubdir;
 
-  # enabled only for src.rock
-  # setSourceRoot= let
-  #   # name_only= lib.getName name;
-  #   name_only= pname;
-  # in
-  #   # if this is a rockFile
-  #   lib.optionalString (knownRockspec == null  ) ''
-  #   # format is rockspec_basename/source_basename
-  #   # rockspec can set it via spec.source.dir
-  #   folder=$(find . -mindepth 2 -maxdepth 2 -type d -path '*${name_only}*/*'|head -n1)
-  #   sourceRoot="$folder"
-  # '';
-
   configurePhase = ''
     runHook preConfigure
 
@@ -194,13 +180,13 @@ builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps" "extraVariab
   + lib.optionalString (rockspecFilename == null) ''
     rockspecFilename="${generatedRockspecFilename}"
   ''
-  # + lib.optionalString (knownRockspec != null) ''
+  + lib.optionalString (knownRockspec != null) ''
 
-  #   # prevents the following type of error:
-  #   # Inconsistency between rockspec filename (42fm1b3d7iv6fcbhgm9674as3jh6y2sh-luv-1.22.0-1.rockspec) and its contents (luv-1.22.0-1.rockspec)
-  #   rockspecFilename="$TMP/$(stripHash ''${knownRockspec})"
-  #   cp ''${knownRockspec} "$rockspecFilename"
-  # ''
+    # prevents the following type of error:
+    # Inconsistency between rockspec filename (42fm1b3d7iv6fcbhgm9674as3jh6y2sh-luv-1.22.0-1.rockspec) and its contents (luv-1.22.0-1.rockspec)
+    rockspecFilename="$TMP/$(stripHash ''${knownRockspec})"
+    cp ''${knownRockspec} "$rockspecFilename"
+  ''
   + ''
     runHook postConfigure
   '';
@@ -239,9 +225,7 @@ builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps" "extraVariab
 
     nix_debug "ROCKSPEC $rockspecFilename"
     nix_debug "cwd: $PWD"
-    set -x
     $LUAROCKS make --deps-mode=all --tree=$out ''${rockspecFilename}
-    set +x
 
     runHook postInstall
   '';
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index 79dee5fdf24..cfc6f67fdb1 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -13,11 +13,22 @@ with self;
 alt-getopt = buildLuarocksPackage {
   pname = "alt-getopt";
   version = "0.8.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/alt-getopt-0.8.0-1.src.rock";
-    sha256 = "1mi97dqb97sf47vb6wrk12yf1yxcaz0asr9gbgwyngr5n1adh5i3";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua ];
 
@@ -117,11 +128,22 @@ binaryheap = buildLuarocksPackage {
 bit32 = buildLuarocksPackage {
   pname = "bit32";
   version = "5.3.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/bit32-5.3.0-1.src.rock";
-    sha256 = "19i7kc2pfg9hc6qjq4kka43q6qk71bkl2rzvrjaks6283q6wfyzy";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -136,7 +158,10 @@ bit32 = buildLuarocksPackage {
 busted = buildLuarocksPackage {
   pname = "busted";
   version = "2.0.0-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/busted-2.0.0-1.rockspec";
+    sha256 = "0cbw95bjxl667n9apcgng2kr5hq6bc7gp3vryw4dzixmfabxkcbw";
+  }).outPath;
   src = fetchurl {
     url    = "https://github.com/Olivine-Labs/busted/archive/v2.0.0.tar.gz";
     sha256 = "1ps7b3f4diawfj637mibznaw4x08gn567pyni0m2s50hrnw4v8zx";
@@ -155,11 +180,22 @@ busted = buildLuarocksPackage {
 cassowary = buildLuarocksPackage {
   pname = "cassowary";
   version = "2.3.1-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/cassowary-2.3.1-1.rockspec";
+    sha256 = "1rgs0rmlmhghml0gi4dn0rg2iq7rqnn8w8dcy9r3qsbkpyylbajc";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/sile-typesetter/cassowary.lua",
+  "rev": "c022a120dee86979d18e4c4613e55e721c632d80",
+  "date": "2021-07-19T14:37:34+03:00",
+  "path": "/nix/store/rzsbr6gqg8vhchl24ma3p1h4slhk0xp7-cassowary.lua",
+  "sha256": "1r668qcvd2a1rx17xp7ajp5wjhyvh2fwn0c60xmw0mnarjb5w1pq",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/cassowary-2.3.1-1.src.rock";
-    sha256 = "1whb2d0isp2ca3nlli1kyql8ig9ny4wrvm309a1pzk8q9nys3pf9";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua penlight ];
 
@@ -174,11 +210,15 @@ cassowary = buildLuarocksPackage {
 compat53 = buildLuarocksPackage {
   pname = "compat53";
   version = "0.7-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/compat53-0.7-1.rockspec";
+    sha256 = "1r7a3q1cjrcmdycrv2ikgl83irjhxs53sa88v2fdpr9aaamlb101";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/compat53-0.7-1.src.rock";
-    sha256 = "0kpaxbpgrwjn4jjlb17fn29a09w6lw732d21bi0302kqcaixqpyb";
+    url    = "https://github.com/keplerproject/lua-compat-5.3/archive/v0.7.zip";
+    sha256 = "1x3wv1qx7b2zlf3fh4q9pmi2xxkcdm024g7bf11rpv0yacnhran3";
   };
+
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua ];
 
@@ -193,11 +233,22 @@ compat53 = buildLuarocksPackage {
 cosmo = buildLuarocksPackage {
   pname = "cosmo";
   version = "16.06.04-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/cosmo-16.06.04-1.src.rock";
-    sha256 = "1adrk74j0x1yzhy0xz9k80hphxdjvm09kpwpbx00sk3kic6db0ww";
-  };
   propagatedBuildInputs = [ lpeg ];
 
   meta = {
@@ -211,11 +262,22 @@ cosmo = buildLuarocksPackage {
 coxpcall = buildLuarocksPackage {
   pname = "coxpcall";
   version = "1.17.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/coxpcall-1.17.0-1.src.rock";
-    sha256 = "0n1jmda4g7x06458596bamhzhcsly6x0p31yp6q3jz4j11zv1zhi";
-  };
 
   meta = {
     homepage = "http://keplerproject.github.io/coxpcall";
@@ -227,11 +289,15 @@ coxpcall = buildLuarocksPackage {
 cqueues = buildLuarocksPackage {
   pname = "cqueues";
   version = "20200726.52-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/cqueues-20200726.52-0.rockspec";
+    sha256 = "0w2kq9w0wda56k02rjmvmzccz6bc3mn70s9v7npjadh85i5zlhhp";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/cqueues-20200726.52-0.src.rock";
-    sha256 = "1mxs74gzs2xmgnrvhl1dlqy1m3m5m0wwiadack97r4pdd63dcp08";
+    url    = "https://github.com/wahern/cqueues/archive/rel-20200726.tar.gz";
+    sha256 = "0lhd02ag3r1sxr2hx847rdjkddm04l1vf5234v5cz9bd4kfjw4cy";
   };
+
   disabled = (lua.luaversion != "5.2");
   propagatedBuildInputs = [ lua ];
 
@@ -298,11 +364,15 @@ digestif = buildLuarocksPackage {
 dkjson = buildLuarocksPackage {
   pname = "dkjson";
   version = "2.5-3";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/dkjson-2.5-3.rockspec";
+    sha256 = "18xngdzl2q207cil64aj81qi6qvj1g269pf07j5x4pbvamd6a1l3";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/dkjson-2.5-3.src.rock";
-    sha256 = "0v5sihm85r0f458n1wvfjlmz59hjqlg5ndpp6dhd68fvrjikaw80";
+    url    = "http://dkolf.de/src/dkjson-lua.fsl/tarball/dkjson-2.5.tar.gz?uuid=release_2_5";
+    sha256 = "14wanday1l7wj2lnpabbxw8rcsa0zbvcdi1w88rdr5gbsq3xwasm";
   };
+
   disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua ];
 
@@ -316,11 +386,15 @@ dkjson = buildLuarocksPackage {
 fifo = buildLuarocksPackage {
   pname = "fifo";
   version = "0.2-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/fifo-0.2-0.rockspec";
+    sha256 = "0vr9apmai2cyra2n573nr3dyk929gzcs4nm1096jdxcixmvh2ymq";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/fifo-0.2-0.src.rock";
-    sha256 = "082c5g1m8brnsqj5gnjs65bm7z50l6b05cfwah14lqaqsr5a5pjk";
+    url    = "https://github.com/daurnimator/fifo.lua/archive/0.2.zip";
+    sha256 = "1a028yyc1xlkaavij8rkz18dqf96risrj65xp0p72y2mhsrckdp1";
   };
+
   propagatedBuildInputs = [ lua ];
 
   meta = {
@@ -359,11 +433,15 @@ gitsigns-nvim = buildLuarocksPackage {
 http = buildLuarocksPackage {
   pname = "http";
   version = "0.3-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/http-0.3-0.rockspec";
+    sha256 = "0fn3irkf5nnmfc83alc40b316hs8l7zdq2xlaiaa65sjd8acfvia";
+  }).outPath;
   src = fetchurl {
-    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/http-0.3-0.src.rock";
-    sha256 = "0vvl687bh3cvjjwbyp9cphqqccm3slv4g7y3h03scp3vpq9q4ccq";
+    url    = "https://github.com/daurnimator/lua-http/archive/v0.3.zip";
+    sha256 = "13xyj8qx42mzn1z4lwwdfd7ha06a720q4b7d04ir6vvp2fwp3s4q";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua compat53 bit32 cqueues luaossl basexx lpeg lpeg_patterns binaryheap fifo ];
 
@@ -378,11 +456,15 @@ http = buildLuarocksPackage {
 inspect = buildLuarocksPackage {
   pname = "inspect";
   version = "3.1.1-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/inspect-3.1.1-0.rockspec";
+    sha256 = "00spibq2h4an8v0204vr1hny4vv6za720c37ipsahpjk198ayf1p";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/inspect-3.1.1-0.src.rock";
-    sha256 = "0k4g9ahql83l4r2bykfs6sacf9l1wdpisav2i0z55fyfcdv387za";
+    url    = "https://github.com/kikito/inspect.lua/archive/v3.1.1.tar.gz";
+    sha256 = "1nz0yqhkd0nkymghrj99gb2id40g50drh4a96g3v5k7h1sbg94h2";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -396,7 +478,10 @@ inspect = buildLuarocksPackage {
 ldbus = buildLuarocksPackage {
   pname = "ldbus";
   version = "scm-0";
-
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/ldbus-scm-0.rockspec";
+    sha256 = "1yhkw5y8h1qf44vx31934k042cmnc7zcv2k0pv0g27wsmlxrlznx";
+  }).outPath;
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
   "url": "https://github.com/daurnimator/ldbus.git",
   "rev": "9e176fe851006037a643610e6d8f3a8e597d4073",
@@ -444,6 +529,35 @@ ldoc = buildLuarocksPackage {
   };
 };
 
+lgi = buildLuarocksPackage {
+  pname = "lgi";
+  version = "0.9.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = (luaOlder "5.1");
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "http://github.com/pavouk/lgi";
+    description = "Lua bindings to GObject libraries";
+    license.fullName = "MIT/X11";
+  };
+};
+
 linenoise = buildLuarocksPackage {
   pname = "linenoise";
   version = "0.9-1";
@@ -466,11 +580,15 @@ linenoise = buildLuarocksPackage {
 ljsyscall = buildLuarocksPackage {
   pname = "ljsyscall";
   version = "0.12-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/ljsyscall-0.12-1.rockspec";
+    sha256 = "0zna5s852vn7q414z56kkyqwpighaghyq7h7in3myap4d9vcgm01";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/ljsyscall-0.12-1.src.rock";
-    sha256 = "12gs81lnzpxi5d409lbrvjfflld5l2xsdkfhkz93xg7v65sfhh2j";
+    url    = "https://github.com/justincormack/ljsyscall/archive/v0.12.tar.gz";
+    sha256 = "1w9g36nhxv92cypjia7igg1xpfrn3dbs3hfy6gnnz5mx14v50abf";
   };
+
   disabled = (lua.luaversion != "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -485,11 +603,15 @@ ljsyscall = buildLuarocksPackage {
 lpeg = buildLuarocksPackage {
   pname = "lpeg";
   version = "1.0.2-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lpeg-1.0.2-1.rockspec";
+    sha256 = "08a8p5cwlwpjawk8sczb7bq2whdsng4mmhphahyklf1bkvl2li89";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/lpeg-1.0.2-1.src.rock";
-    sha256 = "1g5zmfh0x7drc6mg2n0vvlga2hdc08cyp3hnb22mh1kzi63xdl70";
+    url    = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.2.tar.gz";
+    sha256 = "1zjzl7acvcdavmcg5l7wi12jd4rh95q9pl5aiww7hv0v0mv6bmj8";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -504,11 +626,15 @@ lpeg = buildLuarocksPackage {
 lpeg_patterns = buildLuarocksPackage {
   pname = "lpeg_patterns";
   version = "0.5-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lpeg_patterns-0.5-0.rockspec";
+    sha256 = "1vzl3ryryc624mchclzsfl3hsrprb9q214zbi1xsjcc4ckq5qfh7";
+  }).outPath;
   src = fetchurl {
-    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/lpeg_patterns-0.5-0.src.rock";
-    sha256 = "0mlw4nayrsdxrh98i26avz5i4170a9brciybw88kks496ra36v8f";
+    url    = "https://github.com/daurnimator/lpeg_patterns/archive/v0.5.zip";
+    sha256 = "17jizbyalzdg009p3x2260bln65xf8xhv9npr0kr93kv986j463b";
   };
+
   propagatedBuildInputs = [ lua lpeg ];
 
   meta = {
@@ -521,11 +647,15 @@ lpeg_patterns = buildLuarocksPackage {
 lpeglabel = buildLuarocksPackage {
   pname = "lpeglabel";
   version = "1.6.0-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lpeglabel-1.6.0-1.rockspec";
+    sha256 = "13gc32pggng6f95xx5zw9n9ian518wlgb26mna9kh4q2xa1k42pm";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/lpeglabel-1.6.0-1.src.rock";
-    sha256 = "0mihrs0gcj40gsjbh4x9b5pm92w2vdwwd1f3fyibyd4a8r1h93r9";
+    url    = "https://github.com/sqmedeiros/lpeglabel/archive/v1.6.0-1.tar.gz";
+    sha256 = "1i02lsxj20iygqm8fy6dih1gh21lqk5qj1mv14wlrkaywnv35wcv";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -539,11 +669,15 @@ lpeglabel = buildLuarocksPackage {
 lpty = buildLuarocksPackage {
   pname = "lpty";
   version = "1.2.2-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lpty-1.2.2-1.rockspec";
+    sha256 = "04af4mhiqrw3br4qzz7yznw9zy2m50wddwzgvzkvhd99ng71fkzg";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/lpty-1.2.2-1.src.rock";
-    sha256 = "1vxvsjgjfirl6ranz6k4q4y2dnxqh72bndbk400if22x8lqbkxzm";
+    url    = "http://www.tset.de/downloads/lpty-1.2.2-1.tar.gz";
+    sha256 = "071mvz79wi9vr6hvrnb1rv19lqp1bh2fi742zkpv2sm1r9gy5rav";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -557,11 +691,22 @@ lpty = buildLuarocksPackage {
 lrexlib-gnu = buildLuarocksPackage {
   pname = "lrexlib-gnu";
   version = "2.9.1-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/lrexlib-gnu-2.9.1-1.src.rock";
-    sha256 = "07ppl5ib2q08mcy1nd4pixp58i0v0m9zv3y6ppbrzv105v21wdvi";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -575,11 +720,22 @@ lrexlib-gnu = buildLuarocksPackage {
 lrexlib-pcre = buildLuarocksPackage {
   pname = "lrexlib-pcre";
   version = "2.9.1-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/lrexlib-pcre-2.9.1-1.src.rock";
-    sha256 = "0rsar13nax5r8f96pqjr0hf3civ1f1ijg4k7y69y5gi4wqd376lz";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -594,11 +750,22 @@ lrexlib-pcre = buildLuarocksPackage {
 lrexlib-posix = buildLuarocksPackage {
   pname = "lrexlib-posix";
   version = "2.9.1-1";
+  knownRockspec = (fetchurl {
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/lrexlib-posix-2.9.1-1.src.rock";
-    sha256 = "0ajbzs3d6758f2hs95akirymw46nxcyy2prbzlaqq45ynzq02psb";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -612,11 +779,22 @@ lrexlib-posix = buildLuarocksPackage {
 lua-cjson = buildLuarocksPackage {
   pname = "lua-cjson";
   version = "2.1.0.6-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-cjson-2.1.0.6-1.rockspec";
+    sha256 = "1x6dk17lwmgkafpki99yl1hlypchbrxr9sxqafrmx7wwvzbz6q11";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/openresty/lua-cjson",
+  "rev": "a03094c5473d9a9764bb486fbe5e99a62d166dae",
+  "date": "2018-04-19T12:03:43-07:00",
+  "path": "/nix/store/qdpqx2g0xi1c9fknzxx280mcdq6fi8rw-lua-cjson",
+  "sha256": "0i2sjsi6flax1k0bm647yijgmc02jznq9bn88mj71pgii79pfjhw",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/lua-cjson-2.1.0.6-1.src.rock";
-    sha256 = "0dqqkn0aygc780kiq2lbydb255r8is7raf7md0gxdjcagp8afps5";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -630,13 +808,16 @@ lua-cjson = buildLuarocksPackage {
 lua-cmsgpack = buildLuarocksPackage {
   pname = "lua-cmsgpack";
   version = "0.4.0-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-cmsgpack-0.4.0-0.rockspec";
+    sha256 = "10cvr6knx3qvjcw1q9v05f2qy607mai7lbq321nx682aa0n1fzin";
+  }).outPath;
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
   "url": "https://github.com/antirez/lua-cmsgpack.git",
-  "rev": "57b1f90cf6cec46450e87289ed5a676165d31071",
-  "date": "2018-06-14T11:56:56+02:00",
-  "path": "/nix/store/ndjf00i9r45gvy8lh3vp218y4w4md33p-lua-cmsgpack",
-  "sha256": "0yiwl4p1zh9qid3ksc4n9fv5bwaa9vjb0vgwnkars204xmxdj8fj",
+  "rev": "dec1810a70d2948725f2e32cc38163de62b9d9a7",
+  "date": "2015-06-03T08:39:04+02:00",
+  "path": "/nix/store/ksqvl7hbd5s7nb6hjffyic1shldac4z2-lua-cmsgpack",
+  "sha256": "0j0ahc9rprgl6dqxybaxggjam2r5i2wqqsd6764n0d7fdpj9fqm0",
   "fetchSubmodules": true,
   "deepClone": false,
   "leaveDotGit": false
@@ -656,11 +837,15 @@ lua-cmsgpack = buildLuarocksPackage {
 lua-iconv = buildLuarocksPackage {
   pname = "lua-iconv";
   version = "7-3";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-iconv-7-3.rockspec";
+    sha256 = "0qh5vsaxd7s31p7a8rl08lwd6zv90wnvp15nll4fcz452kffpp72";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/lua-iconv-7-3.src.rock";
-    sha256 = "03xibhcqwihyjhxnzv367q4bfmzmffxl49lmjsq77g0prw8v0q83";
+    url    = "https://github.com/downloads/ittner/lua-iconv/lua-iconv-7.tar.gz";
+    sha256 = "02dg5x79fg5mwsycr0fj6w04zykdpiki9xjswkkwzdalqwaikny1";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -674,11 +859,22 @@ lua-iconv = buildLuarocksPackage {
 lua-lsp = buildLuarocksPackage {
   pname = "lua-lsp";
   version = "0.1.0-2";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/lua-lsp-0.1.0-2.src.rock";
-    sha256 = "1cxj5qjdycx4vh411wb18kgglzcyarmm8495nw3yl5h2rx1pk3d3";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua dkjson lpeglabel inspect ];
 
@@ -692,11 +888,15 @@ lua-lsp = buildLuarocksPackage {
 lua-messagepack = buildLuarocksPackage {
   pname = "lua-messagepack";
   version = "0.5.2-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-messagepack-0.5.2-1.rockspec";
+    sha256 = "15liz6v8hsqgb3xrcd74a71nnjcz79gpc3ak351hk6k4gyjq2rfc";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/lua-messagepack-0.5.2-1.src.rock";
-    sha256 = "0hqahc84ncl8g4miif14sdkzyvnpqip48886sagz9drl52qvgcfb";
+    url    = "https://framagit.org/fperrad/lua-MessagePack/raw/releases/lua-messagepack-0.5.2.tar.gz";
+    sha256 = "1jgi944d0vx4zs9lrphys9pw0wrsibip93sh141qjwymrjyjg1nc";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -710,11 +910,22 @@ lua-messagepack = buildLuarocksPackage {
 lua-resty-http = buildLuarocksPackage {
   pname = "lua-resty-http";
   version = "0.16.1-0";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-resty-http-0.16.1-0.rockspec";
+    sha256 = "1475zncd9zvnrblc3r60cwf49c7v0w3khqmi6wqrc5k331m0wm8w";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/ledgetech/lua-resty-http",
+  "rev": "9bf951dfe162dd9710a0e1f4525738d4902e9d20",
+  "date": "2021-04-09T17:11:35+01:00",
+  "path": "/nix/store/zzd1xj4r0iy3srs2hgv4mlm6wflmk24x-lua-resty-http",
+  "sha256": "1whwn2fwm8c9jda4z1sb5636sfy4pfgjdxw0grcgmf6451xi57nw",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/lua-resty-http-0.16.1-0.src.rock";
-    sha256 = "0n5hiablpc0dsccs6h76zg81wc3jb4mdvyfn9lfxnhls3yqwrgkj";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -728,11 +939,22 @@ lua-resty-http = buildLuarocksPackage {
 lua-resty-jwt = buildLuarocksPackage {
   pname = "lua-resty-jwt";
   version = "0.2.3-0";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/lua-resty-jwt-0.2.3-0.src.rock";
-    sha256 = "0s7ghldwrjnhyc205pvcvgdzrgg46qz42v449vrri0cysh8ad91y";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua lua-resty-openssl ];
 
@@ -746,11 +968,22 @@ lua-resty-jwt = buildLuarocksPackage {
 lua-resty-openidc = buildLuarocksPackage {
   pname = "lua-resty-openidc";
   version = "1.7.4-1";
+  knownRockspec = (fetchurl {
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/lua-resty-openidc-1.7.4-1.rockspec";
+    sha256 = "12r03pzx1lpaxzy71iqh0kf1zs6gx1k89vpxc5va9r7nr47a56vy";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/zmartzone/lua-resty-openidc",
+  "rev": "0c75741b41bc9a8b5dbe0b27f81a2851a6c68b60",
+  "date": "2020-11-17T17:42:16+01:00",
+  "path": "/nix/store/240kss5xx1br5n3qz6djw21cs1fj4pfg-lua-resty-openidc",
+  "sha256": "1gw71av1r0c6v4f1h0bj0l6way2hmipic6wmipnavr17bz7m1q7z",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/lua-resty-openidc-1.7.4-1.src.rock";
-    sha256 = "07ny9rl8zir1c3plrbdmd2a23ysrx45qam196nhqsz118xrbds78";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua lua-resty-http lua-resty-session lua-resty-jwt ];
 
@@ -764,11 +997,22 @@ lua-resty-openidc = buildLuarocksPackage {
 lua-resty-openssl = buildLuarocksPackage {
   pname = "lua-resty-openssl";
   version = "0.7.4-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-resty-openssl-0.7.4-1.rockspec";
+    sha256 = "1h87nc8rnay2h0hcc9rylkdzrssibjs6whyim53k647wqkm3fslm";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/fffonion/lua-resty-openssl.git",
+  "rev": "5b113a6059e63dbcf7c6fa95a149a9381b904219",
+  "date": "2021-08-02T18:09:14+08:00",
+  "path": "/nix/store/qk6fcp5hwqsm4mday34l1mdkx0ba76bx-lua-resty-openssl",
+  "sha256": "1iar6znh0i45zkx03n8vrkwhx732158hmxfmfjgbpv547mh30ly6",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/lua-resty-openssl-0.7.4-1.src.rock";
-    sha256 = "16rzcf6z9rgln4sc0v785awn2f3mi9yrswsk5xsfdsb2y1sdxdc0";
-  };
 
   meta = {
     homepage = "https://github.com/fffonion/lua-resty-openssl";
@@ -780,11 +1024,22 @@ lua-resty-openssl = buildLuarocksPackage {
 lua-resty-session = buildLuarocksPackage {
   pname = "lua-resty-session";
   version = "3.8-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-resty-session-3.8-1.rockspec";
+    sha256 = "0pz86bshawysmsnfc5q1yh13gr1458j2nh8r93a4rrmk1wggc4ka";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/bungle/lua-resty-session.git",
+  "rev": "2cd1f8484fdd429505ac33abf7a44adda1f367bf",
+  "date": "2021-01-04T14:02:41+02:00",
+  "path": "/nix/store/jqc8arr46mx1xbmrsw503zza1kmz7mcv-lua-resty-session",
+  "sha256": "09q8xbxkr431i2k21vdyx740rv325v0zmnx0qa3q9x15kcfsd2fm",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/lua-resty-session-3.8-1.src.rock";
-    sha256 = "1x4l6n0dnm4br4p376r8nkg53hwm6a48xkhrzhsh9fcd5xqgqvxz";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -798,7 +1053,10 @@ lua-resty-session = buildLuarocksPackage {
 lua-term = buildLuarocksPackage {
   pname = "lua-term";
   version = "0.7-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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";
@@ -815,11 +1073,22 @@ lua-term = buildLuarocksPackage {
 lua-toml = buildLuarocksPackage {
   pname = "lua-toml";
   version = "2.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/lua-toml-2.0-1.src.rock";
-    sha256 = "0lyqlnydqbplq82brw9ipqy9gijin6hj1wc46plz994pg4i2c74m";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -833,11 +1102,22 @@ lua-toml = buildLuarocksPackage {
 lua-yajl = buildLuarocksPackage {
   pname = "lua-yajl";
   version = "2.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/lua-yajl-2.0-1.src.rock";
-    sha256 = "0bsm519vs53rchcdf8g96ygzdx2bz6pa4vffqlvc7ap49bg5np4f";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -852,13 +1132,16 @@ lua-yajl = buildLuarocksPackage {
 lua-zlib = buildLuarocksPackage {
   pname = "lua-zlib";
   version = "1.2-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lua-zlib-1.2-1.rockspec";
+    sha256 = "18rpbg9b4vsnh3svapiqrvwwshw1abb5l5fd7441byx1nm3fjq9w";
+  }).outPath;
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
   "url": "https://github.com/brimworks/lua-zlib.git",
-  "rev": "82d0fdfe8ddd8645970f55011c13d87469501615",
-  "date": "2021-03-08T06:04:09-08:00",
-  "path": "/nix/store/2wr6l2djjl2l63wq1fddfm9ljrrkplr5-lua-zlib",
-  "sha256": "18q9a5f21fp8hxvpp4sq23wi7m2h0v3p3kydslz140mnryazridj",
+  "rev": "a305d98f473d0a253b6fd740ce60d7d5a5f1cda0",
+  "date": "2017-10-07T08:26:37-07:00",
+  "path": "/nix/store/6hjfczd3xkilkdxidgqzdrwmaiwnlf05-lua-zlib",
+  "sha256": "1cv12s5c5lihmf3hb0rz05qf13yihy1bjpb7448v8mkiss6y1s5c",
   "fetchSubmodules": true,
   "deepClone": false,
   "leaveDotGit": false
@@ -924,11 +1207,22 @@ luabitop = buildLuarocksPackage {
 luacheck = buildLuarocksPackage {
   pname = "luacheck";
   version = "0.24.0-2";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luacheck-0.24.0-2.rockspec";
+    sha256 = "1x8n7w1mdr1bmmbw38syzi2612yyd7bbv4j2hnlk2k76qfcvkhf3";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/luarocks/luacheck.git",
+  "rev": "6651c20d8495c380a49ca81662fcfd1ade6b2411",
+  "date": "2020-08-20T19:21:52-03:00",
+  "path": "/nix/store/8r4x8snxp0kjabn9bsxwh62pfczd8wma-luacheck",
+  "sha256": "08jsqibksdvpl6mvf8d6rlh5pii78hqm3fkhbkgzrs6k8kk5a7lf",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/luacheck-0.24.0-2.src.rock";
-    sha256 = "0in09mnhcbm84ia22qawn9mmfmaj0z6zqyii8xwz3llacss0mssq";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua argparse luafilesystem ];
 
@@ -942,11 +1236,22 @@ luacheck = buildLuarocksPackage {
 luacov = buildLuarocksPackage {
   pname = "luacov";
   version = "0.15.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/luacov-0.15.0-1.src.rock";
-    sha256 = "14y79p62m1l7jwj8ay0b8nkarr6hdarjycr6qfzlc4v676h38ikq";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua ];
 
@@ -960,11 +1265,22 @@ luacov = buildLuarocksPackage {
 luadbi = buildLuarocksPackage {
   pname = "luadbi";
   version = "0.7.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/luadbi-0.7.2-1.src.rock";
-    sha256 = "0mj9ggyb05l03gs38ds508620mqaw4fkrzz9861n4j0zxbsbmfwy";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua ];
 
@@ -978,11 +1294,22 @@ luadbi = buildLuarocksPackage {
 luadbi-mysql = buildLuarocksPackage {
   pname = "luadbi-mysql";
   version = "0.7.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/luadbi-mysql-0.7.2-1.src.rock";
-    sha256 = "1f8i5p66halws8qsa7g09110hwzg7pv29yi22mkqd8sjgjv42iq4";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua luadbi ];
 
@@ -996,11 +1323,22 @@ luadbi-mysql = buildLuarocksPackage {
 luadbi-postgresql = buildLuarocksPackage {
   pname = "luadbi-postgresql";
   version = "0.7.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/luadbi-postgresql-0.7.2-1.src.rock";
-    sha256 = "0nmm1hdzl77wk8p6r6al6mpkh2n332a8r3iqsdi6v4nxamykdh28";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua luadbi ];
 
@@ -1014,11 +1352,22 @@ luadbi-postgresql = buildLuarocksPackage {
 luadbi-sqlite3 = buildLuarocksPackage {
   pname = "luadbi-sqlite3";
   version = "0.7.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/luadbi-sqlite3-0.7.2-1.src.rock";
-    sha256 = "17wd2djzk5x4l4pv2k3c7b8dcvl46s96kqyk8dp3q6ll8gdl7c65";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua luadbi ];
 
@@ -1029,31 +1378,25 @@ luadbi-sqlite3 = buildLuarocksPackage {
   };
 };
 
-luadoc = buildLuarocksPackage {
-  pname = "luadoc";
-  version = "3.0.1-1";
-
-  src = fetchurl {
-    url    = "https://luarocks.org/luadoc-3.0.1-1.src.rock";
-    sha256 = "112zqjbzkrhx3nvavrxx3vhpv2ix85pznzzbpa8fq4piyv5r781i";
-  };
-  propagatedBuildInputs = [ lualogging luafilesystem ];
-
-  meta = {
-    homepage = "http://luadoc.luaforge.net/";
-    description = "LuaDoc is a documentation tool for Lua source code";
-    license.fullName = "MIT/X11";
-  };
-};
-
 luaepnf = buildLuarocksPackage {
   pname = "luaepnf";
   version = "0.3-2";
+  knownRockspec = (fetchurl {
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/luaepnf-0.3-2.src.rock";
-    sha256 = "01vghy965hkmycbvffb1rbgy16fp74103r2ihy3q78dzia4fbfvs";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua lpeg ];
 
@@ -1067,11 +1410,15 @@ luaepnf = buildLuarocksPackage {
 luaevent = buildLuarocksPackage {
   pname = "luaevent";
   version = "0.4.6-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luaevent-0.4.6-1.rockspec";
+    sha256 = "03zixadhx4a7nh67n0sm6sy97c8i9va1a78hibhrl7cfbqc2zc7f";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/luaevent-0.4.6-1.src.rock";
-    sha256 = "0chq09nawiz00lxd6pkdqcb8v426gdifjw6js3ql0lx5vqdkb6dz";
+    url    = "https://github.com/harningt/luaevent/archive/v0.4.6.tar.gz";
+    sha256 = "0pbh315d3p7hxgzmbhphkcldxv2dadbka96131b8j5914nxvl4nx";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -1085,11 +1432,15 @@ luaevent = buildLuarocksPackage {
 luaexpat = buildLuarocksPackage {
   pname = "luaexpat";
   version = "1.3.0-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luaexpat-1.3.0-1.rockspec";
+    sha256 = "14f7y2acycbgrx95w3darx5l1qm52a09f7njkqmhyk10w615lrw4";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/luaexpat-1.3.0-1.src.rock";
-    sha256 = "15jqz5q12i9zvjyagzwz2lrpzya64mih8v1hxwr0wl2gsjh86y5a";
+    url    = "http://matthewwild.co.uk/projects/luaexpat/luaexpat-1.3.0.tar.gz";
+    sha256 = "1hvxqngn0wf5642i5p3vcyhg3pmp102k63s9ry4jqyyqc1wkjq6h";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -1104,11 +1455,22 @@ luaexpat = buildLuarocksPackage {
 luaffi = 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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "mirror://luarocks/luaffi-scm-1.src.rock";
-    sha256 = "0dia66w8sgzw26bwy36gzyb2hyv7kh9n95lh5dl0158rqa6fsf26";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -1122,11 +1484,22 @@ luaffi = buildLuarocksPackage {
 luafilesystem = buildLuarocksPackage {
   pname = "luafilesystem";
   version = "1.7.0-2";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luafilesystem-1.7.0-2.rockspec";
+    sha256 = "0xivgn8bbkx1g5a30jrjcv4hg5mpiiyrm3fhlz9lndgbh4cnjrq6";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/keplerproject/luafilesystem",
+  "rev": "de87218e9798c4dd1a40d65403d99e9e82e1cfa0",
+  "date": "2017-09-15T20:07:33-03:00",
+  "path": "/nix/store/20xm4942kvnb8kypg76jl7zrym5cz03c-luafilesystem",
+  "sha256": "0zmprgkm9zawdf9wnw0v3w6ibaj442wlc6alp39hmw610fl4vghi",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/luafilesystem-1.7.0-2.src.rock";
-    sha256 = "0xhmd08zklsgpnpjr9rjipah35fbs8jd4v4va36xd8bpwlvx9rk5";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -1141,11 +1514,22 @@ luafilesystem = buildLuarocksPackage {
 lualogging = buildLuarocksPackage {
   pname = "lualogging";
   version = "1.5.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lualogging-1.5.2-1.rockspec";
+    sha256 = "0jlqjhr5p9ji51bkmz8n9jc55i3vzqjfwjxvxp2ib9h4gmh2zqk3";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/lunarmodules/lualogging.git",
+  "rev": "8b4d8dd5a311245a197890405ba9324b9f5f5ab1",
+  "date": "2021-08-12T19:29:39+02:00",
+  "path": "/nix/store/q1v28n04hh3r7aw37cxakzksfa3kw5qa-lualogging",
+  "sha256": "0nj0ik91lgl9rwgizdkn7vy9brddsz1kxfn70c01x861vaxi63iz",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/lualogging-1.5.2-1.src.rock";
-    sha256 = "1rxandfjff8z1jnryq9vcvhnva7qyrl7zjrc1mihg6fbddzdcfg7";
-  };
   propagatedBuildInputs = [ luasocket ];
 
   meta = {
@@ -1158,11 +1542,15 @@ lualogging = buildLuarocksPackage {
 luaossl = buildLuarocksPackage {
   pname = "luaossl";
   version = "20200709-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luaossl-20200709-0.rockspec";
+    sha256 = "0izxxrzc49q4jancza43b2y4hfvasflpcag771nrhapk1n8k45f3";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/luaossl-20200709-0.src.rock";
-    sha256 = "0y6dqf560j2bq2rjlm5572m82pj627fd2p9mjc5y6fbram764vga";
+    url    = "https://github.com/wahern/luaossl/archive/rel-20200709.zip";
+    sha256 = "07j1rqqypjb24x11x6v6qpwf12g0ib23qwg47sw3c2yqkbq744j4";
   };
+
   propagatedBuildInputs = [ lua ];
 
   meta = {
@@ -1175,11 +1563,15 @@ luaossl = buildLuarocksPackage {
 luaposix = buildLuarocksPackage {
   pname = "luaposix";
   version = "34.1.1-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luaposix-34.1.1-1.rockspec";
+    sha256 = "0hx6my54axjcb3bklr991wji374qq6mwa3ily6dvb72vi2534nwz";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/luaposix-34.1.1-1.src.rock";
-    sha256 = "1l9pkn3g0nzlbmmfj12rhfwvkqb06c21ydqxqgmnmd3w9z4ck53w";
+    url    = "http://github.com/luaposix/luaposix/archive/v34.1.1.zip";
+    sha256 = "1xqx764ji054jphxdhkynsmwzqzkfgxqfizxkf70za6qfrvnl3yh";
   };
+
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ bit32 lua ];
 
@@ -1194,7 +1586,10 @@ luaposix = buildLuarocksPackage {
 luarepl = buildLuarocksPackage {
   pname = "luarepl";
   version = "0.9-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luarepl-0.9-1.rockspec";
+    sha256 = "1409lanxv4s8kq5rrh46dvld77ip33qzfn3vac3i9zpzbmgb5i8z";
+  }).outPath;
   src = fetchurl {
     url    = "https://github.com/hoelzro/lua-repl/archive/0.9.tar.gz";
     sha256 = "04xka7b84d9mrz3gyf8ywhw08xp65v8jrnzs8ry8k9540aqs721w";
@@ -1213,11 +1608,22 @@ luarepl = buildLuarocksPackage {
 luasec = buildLuarocksPackage {
   pname = "luasec";
   version = "1.0.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luasec-1.0.2-1.rockspec";
+    sha256 = "02qkbfnvn3943zf2fnz3amnz1z05ipx9mnsn3i2rmpjpvvd414dg";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/brunoos/luasec",
+  "rev": "ef14b27a2c8e541cac071165048250e85a7216df",
+  "date": "2021-08-14T10:28:09-03:00",
+  "path": "/nix/store/jk2npg54asnmj5fnpldn8dxym9gx8x4g-luasec",
+  "sha256": "14hx72qw3gjgz12v5bwpz3irgbf69f8584z8y7lglccbyydp4jla",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/luasec-1.0.2-1.src.rock";
-    sha256 = "1c3zqv2fbspvxplj3had9m3rij51bn9krx5kmdcqc3lgmn5d1mby";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua luasocket ];
 
@@ -1232,11 +1638,15 @@ luasec = buildLuarocksPackage {
 luasocket = buildLuarocksPackage {
   pname = "luasocket";
   version = "3.0rc1-2";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luasocket-3.0rc1-2.rockspec";
+    sha256 = "17fbkihp4zypv5wwgxz8dnghj37pf5bhpi2llg4gbljp1bl2f42c";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/luasocket-3.0rc1-2.src.rock";
-    sha256 = "1isin9m40ixpqng6ds47skwa4zxrc6w8blza8gmmq566w6hz50iq";
+    url    = "https://github.com/diegonehab/luasocket/archive/v3.0-rc1.zip";
+    sha256 = "0x0fg07cg08ybgkpzif7zmzaaq5ga979rxwd9rj95kfws9bbrl0y";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -1250,7 +1660,10 @@ luasocket = buildLuarocksPackage {
 luasql-sqlite3 = buildLuarocksPackage {
   pname = "luasql-sqlite3";
   version = "2.6.0-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luasql-sqlite3-2.6.0-1.rockspec";
+    sha256 = "0w32znsfcaklcja6avqx7daaxbf0hr2v8g8bmz0fysb3401lmp02";
+  }).outPath;
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
   "url": "https://github.com/keplerproject/luasql.git",
   "rev": "69f68a858134d6adbe9b65a902dcd3f60cd6a7ce",
@@ -1277,7 +1690,10 @@ luasql-sqlite3 = buildLuarocksPackage {
 luassert = buildLuarocksPackage {
   pname = "luassert";
   version = "1.8.0-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luassert-1.8.0-0.rockspec";
+    sha256 = "1194y81nlkq4qmrrgl7z82i6vgvhqvp1p673kq0arjix8mv3zyz1";
+  }).outPath;
   src = fetchurl {
     url    = "https://github.com/Olivine-Labs/luassert/archive/v1.8.0.tar.gz";
     sha256 = "0xlwlb32215524bg33svp1ci8mdvh9wykchl8dkhihpxcd526mar";
@@ -1296,11 +1712,15 @@ luassert = buildLuarocksPackage {
 luasystem = buildLuarocksPackage {
   pname = "luasystem";
   version = "0.2.1-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luasystem-0.2.1-0.rockspec";
+    sha256 = "0xj5q7lzsbmlw5d3zbjqf3jpj78wcn348h2jcxn5ph4n4hx73z3n";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/luasystem-0.2.1-0.src.rock";
-    sha256 = "091xmp8cijgj0yzfsjrn7vljwznjnjn278ay7z9pjwpwiva0diyi";
+    url    = "https://github.com/o-lim/luasystem/archive/v0.2.1.tar.gz";
+    sha256 = "150bbklchh02gsvpngv56xrrlxxvwpqwrh0yy6z95fnvks7gd0qb";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -1314,11 +1734,15 @@ luasystem = buildLuarocksPackage {
 luautf8 = buildLuarocksPackage {
   pname = "luautf8";
   version = "0.1.3-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/luautf8-0.1.3-1.rockspec";
+    sha256 = "16i9wfgd0f299g1afgjp0hhczlrk5g8i0kq3ka0f8bwj3mp2wmcp";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/luautf8-0.1.3-1.src.rock";
-    sha256 = "1yp4j1r33yvsqf8cggmf4mhaxhz5lqzxhl9mnc0q5lh01yy5di48";
+    url    = "https://github.com/starwing/luautf8/archive/0.1.3.tar.gz";
+    sha256 = "02rf8jmazmi8rp3i5v4jsz0d7mrf1747qszsl8i2hv1sl0ik92r0";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -1333,11 +1757,22 @@ luautf8 = buildLuarocksPackage {
 luazip = buildLuarocksPackage {
   pname = "luazip";
   version = "1.2.7-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/luazip-1.2.7-1.src.rock";
-    sha256 = "1yprlr1ap6bhshhy88qfphmmyg9zp1py2hj2158iw6vsva0fk03l";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua ];
 
@@ -1351,11 +1786,15 @@ luazip = buildLuarocksPackage {
 luuid = buildLuarocksPackage {
   pname = "luuid";
   version = "20120509-2";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luuid-20120509-2.rockspec";
+    sha256 = "1q2fv25wfbiqn49mqv26gs4pyllch311akcf7jjn27l5ik8ji5b6";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/luuid-20120509-2.src.rock";
-    sha256 = "08q54x0m51w89np3n117h2a153wsgv3qayabd8cz6i55qm544hkg";
+    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 ];
 
@@ -1369,11 +1808,15 @@ luuid = buildLuarocksPackage {
 luv = buildLuarocksPackage {
   pname = "luv";
   version = "1.30.0-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luv-1.30.0-0.rockspec";
+    sha256 = "05j231z6vpfjbxxmsizbigrsr80bk2dg48fcz12isj668lhia32h";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/luv-1.30.0-0.src.rock";
-    sha256 = "1z5sdq9ld4sm5pws9qxpk9cadv9i7ycwad1zwsa57pj67gly11vi";
+    url    = "https://github.com/luvit/luv/releases/download/1.30.0-0/luv-1.30.0-0.tar.gz";
+    sha256 = "1vxmxgdjk2bdnm8d9n3z5lfg6x34cx97j5nh8camm6ps5c0mmisw";
   };
+
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
@@ -1387,11 +1830,15 @@ luv = buildLuarocksPackage {
 lyaml = buildLuarocksPackage {
   pname = "lyaml";
   version = "6.2.7-1";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lyaml-6.2.7-1.rockspec";
+    sha256 = "0m5bnzg24nyk35gcn4rydgzk0ysk1f6rslxwxd0w3drl1bg64zja";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/lyaml-6.2.7-1.src.rock";
-    sha256 = "1sh1q84n109j4sammgbzyr69ni7fxnrjfwqb49fsbrhhd49vw7ca";
+    url    = "http://github.com/gvvaughan/lyaml/archive/v6.2.7.zip";
+    sha256 = "165mr3krf8g8070j4ax9z0j2plfbdwb8x2zk2hydpqaqa0kcdb0c";
   };
+
   disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua ];
 
@@ -1406,11 +1853,22 @@ lyaml = buildLuarocksPackage {
 markdown = buildLuarocksPackage {
   pname = "markdown";
   version = "0.33-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/markdown-0.33-1.src.rock";
-    sha256 = "01xw4b4jvmrv1hz2gya02g3nphsj3hc94hsbc672ycj8pcql5n5y";
-  };
   disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
   propagatedBuildInputs = [ lua ];
 
@@ -1424,7 +1882,10 @@ markdown = buildLuarocksPackage {
 mediator_lua = buildLuarocksPackage {
   pname = "mediator_lua";
   version = "1.1.2-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/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";
@@ -1443,11 +1904,22 @@ mediator_lua = buildLuarocksPackage {
 moonscript = buildLuarocksPackage {
   pname = "moonscript";
   version = "0.5.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/moonscript-0.5.0-1.rockspec";
+    sha256 = "06ykvmzndkcmbwn85a4l1cl8v8jw38g0isdyhwwbgv0m5a306j6d";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/leafo/moonscript.git",
+  "rev": "b7efcd131046ed921ae1075d7c0f6a3b64a570f7",
+  "date": "2021-03-18T11:51:52-07:00",
+  "path": "/nix/store/xijbk0bgjpxjgmvscbqnghj4r3zdzgxl-moonscript",
+  "sha256": "14xx6pij0djblfv3g2hi0xlljh7h0yrbb03f4x90q5j66v693gx7",
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
-  src = fetchurl {
-    url    = "https://luarocks.org/moonscript-0.5.0-1.src.rock";
-    sha256 = "09vv3ayzg94bjnzv5fw50r683ma0x3lb7sym297145zig9aqb9q9";
-  };
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua lpeg alt-getopt luafilesystem ];
 
@@ -1462,7 +1934,10 @@ moonscript = buildLuarocksPackage {
 mpack = buildLuarocksPackage {
   pname = "mpack";
   version = "1.0.8-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/mpack-1.0.8-0.rockspec";
+    sha256 = "0hhpamw2bydnfrild274faaan6v48918nhslnw3kvi9y36b4i5ha";
+  }).outPath;
   src = fetchurl {
     url    = "https://github.com/libmpack/libmpack-lua/releases/download/1.0.8/libmpack-lua-1.0.8.tar.gz";
     sha256 = "1sf93ffx7a3y1waknc4994l2yrxilrlf3hcp2cj2cvxmpm5inszd";
@@ -1514,7 +1989,7 @@ penlight = buildLuarocksPackage {
   disabled = (luaOlder "5.1");
   propagatedBuildInputs = [ lua luafilesystem ];
   checkInputs = [ busted busted ];
-  doCheck = true;
+  doCheck = false;
 
   meta = {
     homepage = "https://lunarmodules.github.io/penlight";
@@ -1578,11 +2053,15 @@ rapidjson = buildLuarocksPackage {
 readline = buildLuarocksPackage {
   pname = "readline";
   version = "3.0-0";
-
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/readline-3.0-0.rockspec";
+    sha256 = "1bjj8yn61vc0fzy1lvrfp6cyakj4bf2255xcqai4h3rcg0i5cmpr";
+  }).outPath;
   src = fetchurl {
-    url    = "https://luarocks.org/readline-3.0-0.src.rock";
-    sha256 = "0qpa60llcgvc5mj67a2w3il9i7700lvimraxjpk0lx44zkabh6c8";
+    url    = "http://www.pjb.com.au/comp/lua/readline-3.0.tar.gz";
+    sha256 = "1rr2b7q8w3i4bm1i634sd6kzhw6v1fpnh53mj09af6xdq1rfhr5n";
   };
+
   disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
   propagatedBuildInputs = [ lua luaposix ];
 
@@ -1666,22 +2145,18 @@ std-normalize = buildLuarocksPackage {
 
 stdlib = buildLuarocksPackage {
   pname = "stdlib";
-  version = "git-1";
-
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lua-stdlib/lua-stdlib.git",
-  "rev": "a632078f216ac6b9994449b7f1435a419172b44f",
-  "date": "2018-01-01T20:51:44-08:00",
-  "path": "/nix/store/m9mqhcghsr178sjllv5ibbs588krd4qh-lua-stdlib",
-  "sha256": "0hphmqyp33v90i3pjyr4p33c1pmglbzass8yzlaxfxp2ya7k2vsi",
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path"]) ;
+  version = "41.2.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/stdlib-41.2.2-1.rockspec";
+    sha256 = "0rscb4cm8s8bb8fk8rknc269y7bjqpslspsaxgs91i8bvabja6f6";
+  }).outPath;
+  src = fetchurl {
+    url    = "http://github.com/lua-stdlib/lua-stdlib/archive/release-v41.2.2.zip";
+    sha256 = "0is8i8lk4qq4afnan0vj1bwr8brialyrva7cjy43alzgwdphwynx";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua std-_debug std-normalize ldoc ];
+  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
+  propagatedBuildInputs = [ lua ];
 
   meta = {
     homepage = "http://lua-stdlib.github.io/lua-stdlib";
@@ -1697,10 +2172,10 @@ vstruct = buildLuarocksPackage {
 
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
   "url": "https://github.com/ToxicFrog/vstruct.git",
-  "rev": "b6889e3b275e9f9532b5dff4917e903b17e22730",
-  "date": "2020-08-01T22:14:34-04:00",
-  "path": "/nix/store/wayczacy4ds2j320f45yghw9arqzj5s9-vstruct",
-  "sha256": "0mjvcybh4r8lwz5xncy8j49b864ndk0x5hkb409042glb6cw0s9g",
+  "rev": "924d3dd63043189e4a7ef6b1b54b19208054cc0f",
+  "date": "2020-05-06T23:13:06-04:00",
+  "path": "/nix/store/a4i9k5hx9xiz38bij4hb505dg088jkss-vstruct",
+  "sha256": "0sl9v874mckhh6jbxsan48s5xajzx193k4qlphw69sdbf8kr3p57",
   "fetchSubmodules": true,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index 00a02dcb2b1..a15bd6e5366 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -114,13 +114,13 @@ with super;
       pkgs.glib
       pkgs.gobject-introspection
     ];
-    # patches = [
-    #   (pkgs.fetchpatch {
-    #     name = "lgi-find-cairo-through-typelib.patch";
-    #     url = "https://github.com/psychon/lgi/commit/46a163d9925e7877faf8a4f73996a20d7cf9202a.patch";
-    #     sha256 = "0gfvvbri9kyzhvq3bvdbj2l6mwvlz040dk4mrd5m9gz79f7w109c";
-    #   })
-    # ];
+    patches = [
+      (pkgs.fetchpatch {
+        name = "lgi-find-cairo-through-typelib.patch";
+        url = "https://github.com/psychon/lgi/commit/46a163d9925e7877faf8a4f73996a20d7cf9202a.patch";
+        sha256 = "0gfvvbri9kyzhvq3bvdbj2l6mwvlz040dk4mrd5m9gz79f7w109c";
+      })
+    ];
 
     # there is only a rockspec.in in the repo, the actual rockspec must be generated
     preConfigure = ''
@@ -349,6 +349,19 @@ with super;
     '';
   });
 
+  std-_debug = super.std-_debug.overrideAttrs(oa: {
+    # run make to generate lib/std/_debug/version.lua
+    preConfigure = ''
+      make all
+    '';
+  });
+
+  std-normalize = super.std-normalize.overrideAttrs(oa: {
+    # run make to generate lib/std/_debug/version.lua
+    preConfigure = ''
+      make all
+    '';
+  });
 
   # aliases
   cjson = super.lua-cjson;