aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobil4sk <tobil4sk@outlook.com>2026-02-03 22:47:50 +0000
committerGitHub <noreply@github.com>2026-02-03 19:47:50 -0300
commit47301d83aba58925e1b9594023621ebb27070cdb (patch)
tree73021b5366687ec1683b9e66505e74f22f71d31b
parentacf1f47e7f1b1ecbc147e41cae51ddfd06ad898d (diff)
downloadluarocks-main.tar.gz
luarocks-main.tar.bz2
luarocks-main.zip
Improve flexibility around vendored librariesmain
compat53 is vendored since #1757 as it is required to run luarocks with lua 5.1 or 5.2. However, this introduced some issues as the GNUmakefile install rule places these in the same place where `luarocks install compat53` would install them. This means you get conflicts if you install the actual package: ``` Warning: /.../prefix/share/lua/5.1/compat53/init.lua is not tracked by this installation of LuaRocks. Moving it to /.../prefix/share/lua/5.1/compat53/init.lua~ Warning: /.../prefix/share/lua/5.1/compat53/module.lua is not tracked by this installation of LuaRocks. Moving it to /.../prefix/share/lua/5.1/compat53/module.lua~ Warning: /.../prefix/share/lua/5.1/compat53/file_mt.lua is not tracked by this installation of LuaRocks. Moving it to /.../prefix/share/lua/5.1/compat53/file_mt.lua~ ``` It is also not ideal for linux package maintainers to include a vendored package, see: https://github.com/luarocks/luarocks/pull/1757#issuecomment-3409873412. To solve these issues, this patchset makes the following changes: - GNUmakefile now places the compat53 files under `luarocks/vendor/compat53` (which is added internally to the luarocks script's `package.path`). This way a user's installation of compat53 does not interfere at all with luarocks one. - Added `--with-system-compat53` option to configure script for external packaging systems. - Fixed install.bat's logic for deciding whether to vendor compat53, as the current script includes it for every version. install.bat already places luarocks sources outside of LUAPATH, so that part can stay as is. I've also inverted the version check to avoid the need for future patches like: #1850.
Diffstat (limited to '')
-rw-r--r--.gitattributes2
-rw-r--r--.luacheckrc2
-rw-r--r--GNUmakefile38
-rwxr-xr-xbinary/all_in_one10
-rwxr-xr-xconfigure7
-rw-r--r--install.bat9
-rw-r--r--luarocks-dev-1.rockspec5
-rw-r--r--spec/util/test_env.lua1
-rw-r--r--src/luarocks/admin/cmd/add.tl2
-rw-r--r--src/luarocks/admin/cmd/make_manifest.tl2
-rw-r--r--src/luarocks/admin/cmd/refresh_cache.tl2
-rw-r--r--src/luarocks/admin/cmd/remove.tl2
-rw-r--r--src/luarocks/cmd.lua2
-rw-r--r--src/luarocks/cmd.tl2
-rw-r--r--src/luarocks/cmd/build.tl2
-rw-r--r--src/luarocks/cmd/config.lua2
-rw-r--r--src/luarocks/cmd/config.tl4
-rw-r--r--src/luarocks/cmd/doc.tl2
-rw-r--r--src/luarocks/cmd/download.tl2
-rw-r--r--src/luarocks/cmd/init.tl2
-rw-r--r--src/luarocks/cmd/install.tl2
-rw-r--r--src/luarocks/cmd/lint.tl2
-rw-r--r--src/luarocks/cmd/list.tl2
-rw-r--r--src/luarocks/cmd/make.tl2
-rw-r--r--src/luarocks/cmd/new_version.tl2
-rw-r--r--src/luarocks/cmd/pack.tl2
-rw-r--r--src/luarocks/cmd/path.tl2
-rw-r--r--src/luarocks/cmd/purge.tl2
-rw-r--r--src/luarocks/cmd/remove.tl2
-rw-r--r--src/luarocks/cmd/search.tl2
-rw-r--r--src/luarocks/cmd/show.tl2
-rw-r--r--src/luarocks/cmd/test.tl2
-rw-r--r--src/luarocks/cmd/unpack.tl2
-rw-r--r--src/luarocks/cmd/upload.tl2
-rw-r--r--src/luarocks/cmd/which.tl2
-rw-r--r--src/luarocks/cmd/write_rockspec.tl2
-rw-r--r--src/luarocks/core/persist.lua2
-rw-r--r--src/luarocks/core/persist.tl4
-rw-r--r--src/luarocks/upload/api.lua2
-rw-r--r--src/luarocks/upload/api.tl2
-rw-r--r--src/luarocks/util.tl2
-rwxr-xr-xteal.sh2
-rw-r--r--tlconfig.lua2
-rw-r--r--vendor/argparse.d.tl (renamed from src/luarocks/vendor/argparse.d.tl)0
-rw-r--r--vendor/argparse.lua (renamed from src/luarocks/vendor/argparse.lua)0
-rw-r--r--vendor/compat53/file_mt.lua (renamed from src/compat53/file_mt.lua)0
-rw-r--r--vendor/compat53/init.lua (renamed from src/compat53/init.lua)0
-rw-r--r--vendor/compat53/module.lua (renamed from src/compat53/module.lua)0
-rw-r--r--vendor/dkjson.d.tl (renamed from src/luarocks/vendor/dkjson.d.tl)0
-rw-r--r--vendor/dkjson.lua (renamed from src/luarocks/vendor/dkjson.lua)0
50 files changed, 93 insertions, 55 deletions
diff --git a/.gitattributes b/.gitattributes
index 4f593865..9c1b9df1 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1,3 @@
1*.tl linguist-language=Lua 1*.tl linguist-language=Lua
2
3vendor/** linguist-vendored
diff --git a/.luacheckrc b/.luacheckrc
index cf70fdf4..7a9c62ee 100644
--- a/.luacheckrc
+++ b/.luacheckrc
@@ -26,7 +26,7 @@ ignore = {
26} 26}
27 27
28exclude_files = { 28exclude_files = {
29 "src/luarocks/vendor/**/*.lua", 29 "vendor/**/*.lua",
30} 30}
31 31
32include_files = { 32include_files = {
diff --git a/GNUmakefile b/GNUmakefile
index c938756d..0e28818b 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -18,6 +18,16 @@ LUAROCKS_FILES = $(shell find src/luarocks/ -type f -name '*.lua')
18 18
19LUA_ENV_VARS = LUA_PATH LUA_PATH_5_2 LUA_PATH_5_3 LUA_PATH_5_4 LUA_PATH_5_5 LUA_CPATH LUA_CPATH_5_2 LUA_CPATH_5_3 LUA_CPATH_5_4 LUA_CPATH_5_5 19LUA_ENV_VARS = LUA_PATH LUA_PATH_5_2 LUA_PATH_5_3 LUA_PATH_5_4 LUA_PATH_5_5 LUA_CPATH LUA_CPATH_5_2 LUA_CPATH_5_3 LUA_CPATH_5_4 LUA_CPATH_5_5
20 20
21luarockspackagepath := $(luadir)/?.lua
22
23ifndef WITH_SYSTEM_ROCKS
24luarockspackagepath := $(luarockspackagepath);$(luadir)/luarocks/vendor/?.lua
25vendored_rocks = 1
26ifneq ($(filter $(LUA_VERSION),5.1 5.2),)
27vendored_compat53 = 1
28endif
29endif
30
21all: build 31all: build
22 32
23# ---------------------------------------- 33# ----------------------------------------
@@ -54,7 +64,7 @@ luarocks: config.unix $(builddir)/config-$(LUA_VERSION).lua
54 rm -f src/luarocks/core/hardcoded.lua 64 rm -f src/luarocks/core/hardcoded.lua
55 echo "#!/bin/sh" > luarocks 65 echo "#!/bin/sh" > luarocks
56 echo "unset $(LUA_ENV_VARS)" >> luarocks 66 echo "unset $(LUA_ENV_VARS)" >> luarocks
57 echo 'LUAROCKS_SYSCONFDIR="$(luarocksconfdir)" LUA_PATH="$(CURDIR)/src/?.lua;;" exec "$(LUA)" "$(CURDIR)/src/bin/luarocks" --project-tree="$(CURDIR)/lua_modules" "$$@"' >> luarocks 67 echo 'LUAROCKS_SYSCONFDIR="$(luarocksconfdir)" LUA_PATH="$(CURDIR)/src/?.lua;$(CURDIR)/vendor/?.lua;;" exec "$(LUA)" "$(CURDIR)/src/bin/luarocks" --project-tree="$(CURDIR)/lua_modules" "$$@"' >> luarocks
58 chmod +rx ./luarocks 68 chmod +rx ./luarocks
59 ./luarocks init 69 ./luarocks init
60 70
@@ -62,7 +72,7 @@ luarocks-admin: config.unix
62 rm -f src/luarocks/core/hardcoded.lua 72 rm -f src/luarocks/core/hardcoded.lua
63 echo "#!/bin/sh" > luarocks-admin 73 echo "#!/bin/sh" > luarocks-admin
64 echo "unset $(LUA_ENV_VARS)" >> luarocks-admin 74 echo "unset $(LUA_ENV_VARS)" >> luarocks-admin
65 echo 'LUAROCKS_SYSCONFDIR="$(luarocksconfdir)" LUA_PATH="$(CURDIR)/src/?.lua;;" exec "$(LUA)" "$(CURDIR)/src/bin/luarocks-admin" --project-tree="$(CURDIR)/lua_modules" "$$@"' >> luarocks-admin 75 echo 'LUAROCKS_SYSCONFDIR="$(luarocksconfdir)" LUA_PATH="$(CURDIR)/src/?.lua;$(CURDIR)/vendor/?.lua;;" exec "$(LUA)" "$(CURDIR)/src/bin/luarocks-admin" --project-tree="$(CURDIR)/lua_modules" "$$@"' >> luarocks-admin
66 chmod +rx ./luarocks-admin 76 chmod +rx ./luarocks-admin
67 77
68$(builddir)/luarocks: src/bin/luarocks config.unix 78$(builddir)/luarocks: src/bin/luarocks config.unix
@@ -71,7 +81,7 @@ $(builddir)/luarocks: src/bin/luarocks config.unix
71 'package.loaded["luarocks.core.hardcoded"] = { '\ 81 'package.loaded["luarocks.core.hardcoded"] = { '\
72 "$$([ -n "$(FORCE_CONFIG)" ] && printf 'FORCE_CONFIG = true, ')"\ 82 "$$([ -n "$(FORCE_CONFIG)" ] && printf 'FORCE_CONFIG = true, ')"\
73 'SYSCONFDIR = [[$(luarocksconfdir)]] }\n'\ 83 'SYSCONFDIR = [[$(luarocksconfdir)]] }\n'\
74 'package.path=[[$(luadir)/?.lua;]] .. package.path\n'\ 84 'package.path=[[$(luarockspackagepath);]] .. package.path\n'\
75 'local list = package.searchers or package.loaders; table.insert(list, 1, function(name) if name:match("^luarocks%%.") then return loadfile([[$(luadir)/]] .. name:gsub([[%%.]], [[/]]) .. [[.lua]]) end end)\n'; \ 85 'local list = package.searchers or package.loaders; table.insert(list, 1, function(name) if name:match("^luarocks%%.") then return loadfile([[$(luadir)/]] .. name:gsub([[%%.]], [[/]]) .. [[.lua]]) end end)\n'; \
76 tail -n +2 src/bin/luarocks \ 86 tail -n +2 src/bin/luarocks \
77 )> "$@" 87 )> "$@"
@@ -82,7 +92,7 @@ $(builddir)/luarocks-admin: src/bin/luarocks-admin config.unix
82 'package.loaded["luarocks.core.hardcoded"] = { '\ 92 'package.loaded["luarocks.core.hardcoded"] = { '\
83 "$$([ -n "$(FORCE_CONFIG)" ] && printf 'FORCE_CONFIG = true, ')"\ 93 "$$([ -n "$(FORCE_CONFIG)" ] && printf 'FORCE_CONFIG = true, ')"\
84 'SYSCONFDIR = [[$(luarocksconfdir)]] }\n'\ 94 'SYSCONFDIR = [[$(luarocksconfdir)]] }\n'\
85 'package.path=[[$(luadir)/?.lua;]] .. package.path\n'\ 95 'package.path=[[$(luarockspackagepath);]] .. package.path\n'\
86 'local list = package.searchers or package.loaders; table.insert(list, 1, function(name) if name:match("^luarocks%%.") then return loadfile([[$(luadir)/]] .. name:gsub([[%%.]], [[/]]) .. [[.lua]]) end end)\n'; \ 96 'local list = package.searchers or package.loaders; table.insert(list, 1, function(name) if name:match("^luarocks%%.") then return loadfile([[$(luadir)/]] .. name:gsub([[%%.]], [[/]]) .. [[.lua]]) end end)\n'; \
87 tail -n +2 src/bin/luarocks-admin \ 97 tail -n +2 src/bin/luarocks-admin \
88 )> "$@" 98 )> "$@"
@@ -119,15 +129,25 @@ install: all install-config
119 do \ 129 do \
120 $(INSTALL_DATA) "$$f" '$(DESTDIR)$(luadir)'/`echo $$f | sed 's,^src/,,'`; \ 130 $(INSTALL_DATA) "$$f" '$(DESTDIR)$(luadir)'/`echo $$f | sed 's,^src/,,'`; \
121 done 131 done
122ifeq (,$(findstring $(LUA_VERSION),"5.3" "5.4" "5.5")) 132ifdef vendored_rocks
123 find src/compat53/ -type d | while read f; \ 133 find vendor/ -type d | while read f; \
124 do \ 134 do \
125 mkdir -p '$(DESTDIR)$(luadir)'/`echo $$f | sed 's,^src/,,'`; \ 135 mkdir -p '$(DESTDIR)$(luadir)/luarocks'/`echo $$f`; \
126 done 136 done
127 find src/compat53/ -type f -name '*.lua' | while read f; \ 137 find vendor/ -maxdepth 1 -type f -name '*.lua' | while read f; \
128 do \ 138 do \
129 $(INSTALL_DATA) "$$f" '$(DESTDIR)$(luadir)'/`echo $$f | sed 's,^src/,,'`; \ 139 $(INSTALL_DATA) "$$f" '$(DESTDIR)$(luadir)/luarocks'/`echo $$f`; \
130 done 140 done
141ifdef vendored_compat53
142 find vendor/compat53/ -type d | while read f; \
143 do \
144 mkdir -p '$(DESTDIR)$(luadir)/luarocks'/`echo $$f`; \
145 done
146 find vendor/compat53/ -type f -name '*.lua' | while read f; \
147 do \
148 $(INSTALL_DATA) "$$f" '$(DESTDIR)$(luadir)/luarocks'/`echo $$f`; \
149 done
150endif
131endif 151endif
132 152
133install-config: 153install-config:
diff --git a/binary/all_in_one b/binary/all_in_one
index e3d595d7..1b096936 100755
--- a/binary/all_in_one
+++ b/binary/all_in_one
@@ -44,7 +44,7 @@ end
44local LUA_MODULES = TARGET_DIR .. "/lua_modules" 44local LUA_MODULES = TARGET_DIR .. "/lua_modules"
45local CONFIG_DIR = TARGET_DIR .. "/.luarocks" 45local CONFIG_DIR = TARGET_DIR .. "/.luarocks"
46 46
47package.path = "./src/?.lua;" .. package.path 47package.path = "./src/?.lua;" .. "./vendor/?.lua;" .. package.path
48 48
49local fs = require("luarocks.fs") 49local fs = require("luarocks.fs")
50local cfg = require("luarocks.core.cfg") 50local cfg = require("luarocks.core.cfg")
@@ -385,17 +385,17 @@ end
385 385
386local function nonnull(x) return x ~= nil end 386local function nonnull(x) return x ~= nil end
387 387
388local function generate(main_program, dir, skip) 388local function generate(main_program, src_dir, vendor_dir, skip)
389 local program_name = main_program:gsub(".*/", "") 389 local program_name = main_program:gsub(".*/", "")
390 390
391 local hardcoded = write_hardcoded_module(dir) 391 local hardcoded = write_hardcoded_module(src_dir)
392 392
393 local out = {} 393 local out = {}
394 table.insert(out, ([[static const char* progname = %q;]]):format(program_name)) 394 table.insert(out, ([[static const char* progname = %q;]]):format(program_name))
395 table.insert(out, c_preamble) 395 table.insert(out, c_preamble)
396 load_main(out, main_program, program_name) 396 load_main(out, main_program, program_name)
397 local lua_modules = LUA_MODULES .. "/share/lua/" .. cfg.lua_version 397 local lua_modules = LUA_MODULES .. "/share/lua/" .. cfg.lua_version
398 declare_modules(out, { dir, lua_modules }, skip) 398 declare_modules(out, { src_dir, vendor_dir, lua_modules }, skip)
399 local a_files = declare_libraries(out, LUA_MODULES .. "/lib/lua/" .. cfg.lua_version) 399 local a_files = declare_libraries(out, LUA_MODULES .. "/lib/lua/" .. cfg.lua_version)
400 table.insert(out, c_main) 400 table.insert(out, c_main)
401 401
@@ -497,7 +497,7 @@ local function main()
497 end 497 end
498 end 498 end
499 499
500 generate(MAIN_PROGRAM, "src", { EXCLUDE, "^bin/?" }) 500 generate(MAIN_PROGRAM, "src", "vendor", { EXCLUDE, "^bin/?" })
501end 501end
502 502
503main() 503main()
diff --git a/configure b/configure
index 170f4ede..7253dc61 100755
--- a/configure
+++ b/configure
@@ -143,6 +143,9 @@ For specialized uses of LuaRocks:
143 (e.g. when only deploying binary packages) 143 (e.g. when only deploying binary packages)
144 you do not need lua.h installed. This flag 144 you do not need lua.h installed. This flag
145 skips the check for lua.h in "configure". 145 skips the check for lua.h in "configure".
146 --with-system-rocks Use an external installation of rocks required
147 for running luarocks instead instead of the
148 vendored versions.
146 149
147EOF 150EOF
148} 151}
@@ -301,6 +304,9 @@ do
301 --disable-incdir-check) 304 --disable-incdir-check)
302 DISABLE_INCDIR_CHECK=yes 305 DISABLE_INCDIR_CHECK=yes
303 ;; 306 ;;
307 --with-system-rocks)
308 WITH_SYSTEM_ROCKS=yes
309 ;;
304 310
305 # Old options that no longer apply 311 # Old options that no longer apply
306 # -------------------------------- 312 # --------------------------------
@@ -500,6 +506,7 @@ LUA_BINDIR=$LUA_BINDIR
500LUA_INCDIR=$LUA_INCDIR 506LUA_INCDIR=$LUA_INCDIR
501LUA_LIBDIR=$LUA_LIBDIR 507LUA_LIBDIR=$LUA_LIBDIR
502FORCE_CONFIG=$FORCE_CONFIG 508FORCE_CONFIG=$FORCE_CONFIG
509WITH_SYSTEM_ROCKS=$WITH_SYSTEM_ROCKS
503EOF 510EOF
504 511
505echo 512echo
diff --git a/install.bat b/install.bat
index 31c78288..cd73b1e1 100644
--- a/install.bat
+++ b/install.bat
@@ -1024,14 +1024,17 @@ end
1024if not exec(S[[XCOPY /S src\luarocks\*.* "$LUADIR\luarocks" >NUL]]) then 1024if not exec(S[[XCOPY /S src\luarocks\*.* "$LUADIR\luarocks" >NUL]]) then
1025 die() 1025 die()
1026end 1026end
1027if vars.LUA_VERSION ~= "5.3" or vars.LUA_VERSION ~= "5.4" or vars.LUA_VERSION ~= "5.5" then 1027if not exec(S[[XCOPY vendor\*.* "$LUADIR\luarocks" >NUL]]) then
1028 -- Copy the vendored lua-copmat53 source files 1028 die()
1029end
1030if vars.LUA_VERSION == "5.1" or vars.LUA_VERSION == "5.2" then
1031 -- Copy the vendored lua-compat53 source files
1029 if not exists(S[[$LUADIR\compat53]]) then 1032 if not exists(S[[$LUADIR\compat53]]) then
1030 if not mkdir(S[[$LUADIR\compat53]]) then 1033 if not mkdir(S[[$LUADIR\compat53]]) then
1031 die() 1034 die()
1032 end 1035 end
1033 end 1036 end
1034 if not exec(S[[XCOPY /S src\compat53\*.* "$LUADIR\compat53" >NUL]]) then 1037 if not exec(S[[XCOPY /S vendor\compat53\*.* "$LUADIR\compat53" >NUL]]) then
1035 die() 1038 die()
1036 end 1039 end
1037end 1040end
diff --git a/luarocks-dev-1.rockspec b/luarocks-dev-1.rockspec
index 677b07cf..fd8ff2b3 100644
--- a/luarocks-dev-1.rockspec
+++ b/luarocks-dev-1.rockspec
@@ -20,6 +20,11 @@ description = {
20 maintainer = "Hisham Muhammad", 20 maintainer = "Hisham Muhammad",
21 license = "MIT", 21 license = "MIT",
22} 22}
23dependencies = {
24 "compat53",
25 "argparse",
26 "dkjson",
27}
23test_dependencies = { 28test_dependencies = {
24 "luacov", 29 "luacov",
25 "busted-htest", 30 "busted-htest",
diff --git a/spec/util/test_env.lua b/spec/util/test_env.lua
index 4b359b7f..d37444e2 100644
--- a/spec/util/test_env.lua
+++ b/spec/util/test_env.lua
@@ -593,6 +593,7 @@ local function create_env(testing_paths)
593 table.insert(lua_path, dir_path(deps_tree, "share", "lua", lua_v, "?.lua")) 593 table.insert(lua_path, dir_path(deps_tree, "share", "lua", lua_v, "?.lua"))
594 table.insert(lua_path, dir_path(deps_tree, "share", "lua", lua_v, "?", "init.lua")) 594 table.insert(lua_path, dir_path(deps_tree, "share", "lua", lua_v, "?", "init.lua"))
595 table.insert(lua_path, dir_path(testing_paths.src_dir, "?.lua")) 595 table.insert(lua_path, dir_path(testing_paths.src_dir, "?.lua"))
596 table.insert(lua_path, dir_path(testing_paths.src_dir, "..", "vendor", "?.lua"))
596 env_variables.LUA_PATH = table.concat(lua_path, ";") .. ";" 597 env_variables.LUA_PATH = table.concat(lua_path, ";") .. ";"
597 598
598 local lua_cpath = {} 599 local lua_cpath = {}
diff --git a/src/luarocks/admin/cmd/add.tl b/src/luarocks/admin/cmd/add.tl
index 56be7044..0989c82b 100644
--- a/src/luarocks/admin/cmd/add.tl
+++ b/src/luarocks/admin/cmd/add.tl
@@ -12,7 +12,7 @@ local fs = require("luarocks.fs")
12local cache = require("luarocks.admin.cache") 12local cache = require("luarocks.admin.cache")
13local index = require("luarocks.admin.index") 13local index = require("luarocks.admin.index")
14 14
15local type Parser = require("luarocks.vendor.argparse").Parser 15local type Parser = require("argparse").Parser
16 16
17local type Args = require("luarocks.core.types.args").Args 17local type Args = require("luarocks.core.types.args").Args
18 18
diff --git a/src/luarocks/admin/cmd/make_manifest.tl b/src/luarocks/admin/cmd/make_manifest.tl
index 8f6efd3c..26ee1f46 100644
--- a/src/luarocks/admin/cmd/make_manifest.tl
+++ b/src/luarocks/admin/cmd/make_manifest.tl
@@ -12,7 +12,7 @@ local deps = require("luarocks.deps")
12local fs = require("luarocks.fs") 12local fs = require("luarocks.fs")
13local dir = require("luarocks.dir") 13local dir = require("luarocks.dir")
14 14
15local type Parser = require("luarocks.vendor.argparse").Parser 15local type Parser = require("argparse").Parser
16 16
17local type Args = require("luarocks.core.types.args").Args 17local type Args = require("luarocks.core.types.args").Args
18 18
diff --git a/src/luarocks/admin/cmd/refresh_cache.tl b/src/luarocks/admin/cmd/refresh_cache.tl
index b0be9984..a60cb6c0 100644
--- a/src/luarocks/admin/cmd/refresh_cache.tl
+++ b/src/luarocks/admin/cmd/refresh_cache.tl
@@ -7,7 +7,7 @@ local cfg = require("luarocks.core.cfg")
7local util = require("luarocks.util") 7local util = require("luarocks.util")
8local cache = require("luarocks.admin.cache") 8local cache = require("luarocks.admin.cache")
9 9
10local type Parser = require("luarocks.vendor.argparse").Parser 10local type Parser = require("argparse").Parser
11 11
12local type Args = require("luarocks.core.types.args").Args 12local type Args = require("luarocks.core.types.args").Args
13 13
diff --git a/src/luarocks/admin/cmd/remove.tl b/src/luarocks/admin/cmd/remove.tl
index 0b1aa65b..1ba630f2 100644
--- a/src/luarocks/admin/cmd/remove.tl
+++ b/src/luarocks/admin/cmd/remove.tl
@@ -12,7 +12,7 @@ local fs = require("luarocks.fs")
12local cache = require("luarocks.admin.cache") 12local cache = require("luarocks.admin.cache")
13local index = require("luarocks.admin.index") 13local index = require("luarocks.admin.index")
14 14
15local type Parser = require("luarocks.vendor.argparse").Parser 15local type Parser = require("argparse").Parser
16 16
17local type Args = require("luarocks.core.types.args").Args 17local type Args = require("luarocks.core.types.args").Args
18 18
diff --git a/src/luarocks/cmd.lua b/src/luarocks/cmd.lua
index 4890593d..ed757276 100644
--- a/src/luarocks/cmd.lua
+++ b/src/luarocks/cmd.lua
@@ -20,7 +20,7 @@ local cfg = require("luarocks.core.cfg")
20local dir = require("luarocks.dir") 20local dir = require("luarocks.dir")
21local fun = require("luarocks.fun") 21local fun = require("luarocks.fun")
22local fs = require("luarocks.fs") 22local fs = require("luarocks.fs")
23local argparse = require("luarocks.vendor.argparse") 23local argparse = require("argparse")
24 24
25 25
26 26
diff --git a/src/luarocks/cmd.tl b/src/luarocks/cmd.tl
index 6645e583..3f743bb6 100644
--- a/src/luarocks/cmd.tl
+++ b/src/luarocks/cmd.tl
@@ -20,7 +20,7 @@ local cfg = require("luarocks.core.cfg")
20local dir = require("luarocks.dir") 20local dir = require("luarocks.dir")
21local fun = require("luarocks.fun") 21local fun = require("luarocks.fun")
22local fs = require("luarocks.fs") 22local fs = require("luarocks.fs")
23local argparse = require("luarocks.vendor.argparse") 23local argparse = require("argparse")
24 24
25local type Tree = require("luarocks.core.types.tree").Tree 25local type Tree = require("luarocks.core.types.tree").Tree
26 26
diff --git a/src/luarocks/cmd/build.tl b/src/luarocks/cmd/build.tl
index 31e9bee9..8cad506c 100644
--- a/src/luarocks/cmd/build.tl
+++ b/src/luarocks/cmd/build.tl
@@ -19,7 +19,7 @@ local search = require("luarocks.search")
19local make = require("luarocks.cmd.make") 19local make = require("luarocks.cmd.make")
20local repos = require("luarocks.repos") 20local repos = require("luarocks.repos")
21 21
22local type Parser = require("luarocks.vendor.argparse").Parser 22local type Parser = require("argparse").Parser
23 23
24local type Args = require("luarocks.core.types.args").Args 24local type Args = require("luarocks.core.types.args").Args
25local type BOpts = require("luarocks.core.types.bopts").BOpts 25local type BOpts = require("luarocks.core.types.bopts").BOpts
diff --git a/src/luarocks/cmd/config.lua b/src/luarocks/cmd/config.lua
index 4ab40081..e8bda657 100644
--- a/src/luarocks/cmd/config.lua
+++ b/src/luarocks/cmd/config.lua
@@ -10,7 +10,7 @@ local util = require("luarocks.util")
10local deps = require("luarocks.deps") 10local deps = require("luarocks.deps")
11local dir = require("luarocks.dir") 11local dir = require("luarocks.dir")
12local fs = require("luarocks.fs") 12local fs = require("luarocks.fs")
13local json = require("luarocks.vendor.dkjson") 13local json = require("dkjson")
14 14
15 15
16 16
diff --git a/src/luarocks/cmd/config.tl b/src/luarocks/cmd/config.tl
index cdda3fb9..66b60944 100644
--- a/src/luarocks/cmd/config.tl
+++ b/src/luarocks/cmd/config.tl
@@ -10,9 +10,9 @@ local util = require("luarocks.util")
10local deps = require("luarocks.deps") 10local deps = require("luarocks.deps")
11local dir = require("luarocks.dir") 11local dir = require("luarocks.dir")
12local fs = require("luarocks.fs") 12local fs = require("luarocks.fs")
13local json = require("luarocks.vendor.dkjson") 13local json = require("dkjson")
14 14
15local type Parser = require("luarocks.vendor.argparse").Parser 15local type Parser = require("argparse").Parser
16 16
17local type Args = require("luarocks.core.types.args").Args 17local type Args = require("luarocks.core.types.args").Args
18 18
diff --git a/src/luarocks/cmd/doc.tl b/src/luarocks/cmd/doc.tl
index 9e7bee2a..b8a1667c 100644
--- a/src/luarocks/cmd/doc.tl
+++ b/src/luarocks/cmd/doc.tl
@@ -13,7 +13,7 @@ local fetch = require("luarocks.fetch")
13local fs = require("luarocks.fs") 13local fs = require("luarocks.fs")
14local download = require("luarocks.download") 14local download = require("luarocks.download")
15 15
16local type Parser = require("luarocks.vendor.argparse").Parser 16local type Parser = require("argparse").Parser
17 17
18local type Args = require("luarocks.core.types.args").Args 18local type Args = require("luarocks.core.types.args").Args
19local type Rockspec = require("luarocks.core.types.rockspec").Rockspec 19local type Rockspec = require("luarocks.core.types.rockspec").Rockspec
diff --git a/src/luarocks/cmd/download.tl b/src/luarocks/cmd/download.tl
index 3b85443b..2e8175cb 100644
--- a/src/luarocks/cmd/download.tl
+++ b/src/luarocks/cmd/download.tl
@@ -7,7 +7,7 @@ end
7local util = require("luarocks.util") 7local util = require("luarocks.util")
8local download = require("luarocks.download") 8local download = require("luarocks.download")
9 9
10local type Parser = require("luarocks.vendor.argparse").Parser 10local type Parser = require("argparse").Parser
11 11
12local type Args = require("luarocks.core.types.args").Args 12local type Args = require("luarocks.core.types.args").Args
13 13
diff --git a/src/luarocks/cmd/init.tl b/src/luarocks/cmd/init.tl
index 313c6df9..5846f96f 100644
--- a/src/luarocks/cmd/init.tl
+++ b/src/luarocks/cmd/init.tl
@@ -12,7 +12,7 @@ local util = require("luarocks.util")
12local persist = require("luarocks.persist") 12local persist = require("luarocks.persist")
13local write_rockspec = require("luarocks.cmd.write_rockspec") 13local write_rockspec = require("luarocks.cmd.write_rockspec")
14 14
15local type Parser = require("luarocks.vendor.argparse").Parser 15local type Parser = require("argparse").Parser
16 16
17local type Args = require("luarocks.core.types.args").Args 17local type Args = require("luarocks.core.types.args").Args
18 18
diff --git a/src/luarocks/cmd/install.tl b/src/luarocks/cmd/install.tl
index 95d42f8e..8ed54a89 100644
--- a/src/luarocks/cmd/install.tl
+++ b/src/luarocks/cmd/install.tl
@@ -17,7 +17,7 @@ local search = require("luarocks.search")
17local queries = require("luarocks.queries") 17local queries = require("luarocks.queries")
18local cfg = require("luarocks.core.cfg") 18local cfg = require("luarocks.core.cfg")
19 19
20local type Parser = require("luarocks.vendor.argparse").Parser 20local type Parser = require("argparse").Parser
21 21
22local type Args = require("luarocks.core.types.args").Args 22local type Args = require("luarocks.core.types.args").Args
23local type IOpts = require("luarocks.core.types.installs").IOpts 23local type IOpts = require("luarocks.core.types.installs").IOpts
diff --git a/src/luarocks/cmd/lint.tl b/src/luarocks/cmd/lint.tl
index 116dba12..247610cf 100644
--- a/src/luarocks/cmd/lint.tl
+++ b/src/luarocks/cmd/lint.tl
@@ -8,7 +8,7 @@ local util = require("luarocks.util")
8local download = require("luarocks.download") 8local download = require("luarocks.download")
9local fetch = require("luarocks.fetch") 9local fetch = require("luarocks.fetch")
10 10
11local type Parser = require("luarocks.vendor.argparse").Parser 11local type Parser = require("argparse").Parser
12 12
13local type Args = require("luarocks.core.types.args").Args 13local type Args = require("luarocks.core.types.args").Args
14 14
diff --git a/src/luarocks/cmd/list.tl b/src/luarocks/cmd/list.tl
index 9a0948f0..f47c7889 100644
--- a/src/luarocks/cmd/list.tl
+++ b/src/luarocks/cmd/list.tl
@@ -19,7 +19,7 @@ local path = require("luarocks.path")
19 19
20local type Outdated = list.Outdated 20local type Outdated = list.Outdated
21 21
22local type Parser = require("luarocks.vendor.argparse").Parser 22local type Parser = require("argparse").Parser
23 23
24local type Args = require("luarocks.core.types.args").Args 24local type Args = require("luarocks.core.types.args").Args
25 25
diff --git a/src/luarocks/cmd/make.tl b/src/luarocks/cmd/make.tl
index fc467b31..e77c523b 100644
--- a/src/luarocks/cmd/make.tl
+++ b/src/luarocks/cmd/make.tl
@@ -17,7 +17,7 @@ local deps = require("luarocks.deps")
17local dir = require("luarocks.dir") 17local dir = require("luarocks.dir")
18local fs = require("luarocks.fs") 18local fs = require("luarocks.fs")
19 19
20local type Parser = require("luarocks.vendor.argparse").Parser 20local type Parser = require("argparse").Parser
21 21
22local type Args = require("luarocks.core.types.args").Args 22local type Args = require("luarocks.core.types.args").Args
23 23
diff --git a/src/luarocks/cmd/new_version.tl b/src/luarocks/cmd/new_version.tl
index d929376b..bf66b72c 100644
--- a/src/luarocks/cmd/new_version.tl
+++ b/src/luarocks/cmd/new_version.tl
@@ -12,7 +12,7 @@ local fs = require("luarocks.fs")
12local dir = require("luarocks.dir") 12local dir = require("luarocks.dir")
13local type_rockspec = require("luarocks.type.rockspec") 13local type_rockspec = require("luarocks.type.rockspec")
14 14
15local type Parser = require("luarocks.vendor.argparse").Parser 15local type Parser = require("argparse").Parser
16 16
17local type Args = require("luarocks.core.types.args").Args 17local type Args = require("luarocks.core.types.args").Args
18 18
diff --git a/src/luarocks/cmd/pack.tl b/src/luarocks/cmd/pack.tl
index 750ae9c9..0d41a7eb 100644
--- a/src/luarocks/cmd/pack.tl
+++ b/src/luarocks/cmd/pack.tl
@@ -8,7 +8,7 @@ local util = require("luarocks.util")
8local pack = require("luarocks.pack") 8local pack = require("luarocks.pack")
9local queries = require("luarocks.queries") 9local queries = require("luarocks.queries")
10 10
11local type Parser = require("luarocks.vendor.argparse").Parser 11local type Parser = require("argparse").Parser
12 12
13local type Args = require("luarocks.core.types.args").Args 13local type Args = require("luarocks.core.types.args").Args
14 14
diff --git a/src/luarocks/cmd/path.tl b/src/luarocks/cmd/path.tl
index 998aa222..13e75373 100644
--- a/src/luarocks/cmd/path.tl
+++ b/src/luarocks/cmd/path.tl
@@ -8,7 +8,7 @@ local util = require("luarocks.util")
8local cfg = require("luarocks.core.cfg") 8local cfg = require("luarocks.core.cfg")
9local fs = require("luarocks.fs") 9local fs = require("luarocks.fs")
10 10
11local type Parser = require("luarocks.vendor.argparse").Parser 11local type Parser = require("argparse").Parser
12 12
13local type Args = require("luarocks.core.types.args").Args 13local type Args = require("luarocks.core.types.args").Args
14 14
diff --git a/src/luarocks/cmd/purge.tl b/src/luarocks/cmd/purge.tl
index 2801f357..5cec693f 100644
--- a/src/luarocks/cmd/purge.tl
+++ b/src/luarocks/cmd/purge.tl
@@ -14,7 +14,7 @@ local cfg = require("luarocks.core.cfg")
14local remove = require("luarocks.remove") 14local remove = require("luarocks.remove")
15local queries = require("luarocks.queries") 15local queries = require("luarocks.queries")
16 16
17local type Parser = require("luarocks.vendor.argparse").Parser 17local type Parser = require("argparse").Parser
18 18
19local type Args = require("luarocks.core.types.args").Args 19local type Args = require("luarocks.core.types.args").Args
20 20
diff --git a/src/luarocks/cmd/remove.tl b/src/luarocks/cmd/remove.tl
index 77ee359d..af1fbe6b 100644
--- a/src/luarocks/cmd/remove.tl
+++ b/src/luarocks/cmd/remove.tl
@@ -13,7 +13,7 @@ local path = require("luarocks.path")
13local deps = require("luarocks.deps") 13local deps = require("luarocks.deps")
14local queries = require("luarocks.queries") 14local queries = require("luarocks.queries")
15 15
16local type Parser = require("luarocks.vendor.argparse").Parser 16local type Parser = require("argparse").Parser
17 17
18local type Args = require("luarocks.core.types.args").Args 18local type Args = require("luarocks.core.types.args").Args
19 19
diff --git a/src/luarocks/cmd/search.tl b/src/luarocks/cmd/search.tl
index 7b27e8a1..6cf95bb4 100644
--- a/src/luarocks/cmd/search.tl
+++ b/src/luarocks/cmd/search.tl
@@ -10,7 +10,7 @@ local search = require("luarocks.search")
10local queries = require("luarocks.queries") 10local queries = require("luarocks.queries")
11local results = require("luarocks.results") 11local results = require("luarocks.results")
12 12
13local type Parser = require("luarocks.vendor.argparse").Parser 13local type Parser = require("argparse").Parser
14 14
15local type Args = require("luarocks.core.types.args").Args 15local type Args = require("luarocks.core.types.args").Args
16 16
diff --git a/src/luarocks/cmd/show.tl b/src/luarocks/cmd/show.tl
index 56d70277..da93a74d 100644
--- a/src/luarocks/cmd/show.tl
+++ b/src/luarocks/cmd/show.tl
@@ -22,7 +22,7 @@ local repos = require("luarocks.repos")
22local type Return = show.Return 22local type Return = show.Return
23local type RenderData = {string: string | {string}} 23local type RenderData = {string: string | {string}}
24 24
25local type Parser = require("luarocks.vendor.argparse").Parser 25local type Parser = require("argparse").Parser
26 26
27local type Args = require("luarocks.core.types.args").Args 27local type Args = require("luarocks.core.types.args").Args
28 28
diff --git a/src/luarocks/cmd/test.tl b/src/luarocks/cmd/test.tl
index a258e4a3..8e945987 100644
--- a/src/luarocks/cmd/test.tl
+++ b/src/luarocks/cmd/test.tl
@@ -7,7 +7,7 @@ end
7local util = require("luarocks.util") 7local util = require("luarocks.util")
8local test = require("luarocks.test") 8local test = require("luarocks.test")
9 9
10local type Parser = require("luarocks.vendor.argparse").Parser 10local type Parser = require("argparse").Parser
11 11
12local type Args = require("luarocks.core.types.args").Args 12local type Args = require("luarocks.core.types.args").Args
13 13
diff --git a/src/luarocks/cmd/unpack.tl b/src/luarocks/cmd/unpack.tl
index 6d05ecde..5395fbee 100644
--- a/src/luarocks/cmd/unpack.tl
+++ b/src/luarocks/cmd/unpack.tl
@@ -11,7 +11,7 @@ local build = require("luarocks.build")
11local dir = require("luarocks.dir") 11local dir = require("luarocks.dir")
12local search = require("luarocks.search") 12local search = require("luarocks.search")
13 13
14local type Parser = require("luarocks.vendor.argparse").Parser 14local type Parser = require("argparse").Parser
15 15
16local type Args = require("luarocks.core.types.args").Args 16local type Args = require("luarocks.core.types.args").Args
17 17
diff --git a/src/luarocks/cmd/upload.tl b/src/luarocks/cmd/upload.tl
index a12b30c0..edfe4f89 100644
--- a/src/luarocks/cmd/upload.tl
+++ b/src/luarocks/cmd/upload.tl
@@ -20,7 +20,7 @@ local Api = require("luarocks.upload.api")
20 20
21local type Response = upload.Response 21local type Response = upload.Response
22 22
23local type Parser = require("luarocks.vendor.argparse").Parser 23local type Parser = require("argparse").Parser
24 24
25local type Args = require("luarocks.core.types.args").Args 25local type Args = require("luarocks.core.types.args").Args
26local type Rockspec = require("luarocks.core.types.rockspec").Rockspec 26local type Rockspec = require("luarocks.core.types.rockspec").Rockspec
diff --git a/src/luarocks/cmd/which.tl b/src/luarocks/cmd/which.tl
index 85a798ac..9b08acac 100644
--- a/src/luarocks/cmd/which.tl
+++ b/src/luarocks/cmd/which.tl
@@ -8,7 +8,7 @@ local loader = require("luarocks.loader")
8local cfg = require("luarocks.core.cfg") 8local cfg = require("luarocks.core.cfg")
9local util = require("luarocks.util") 9local util = require("luarocks.util")
10 10
11local type Parser = require("luarocks.vendor.argparse").Parser 11local type Parser = require("argparse").Parser
12 12
13local type Args = require("luarocks.core.types.args").Args 13local type Args = require("luarocks.core.types.args").Args
14 14
diff --git a/src/luarocks/cmd/write_rockspec.tl b/src/luarocks/cmd/write_rockspec.tl
index 2ec4eea9..cb48ca3f 100644
--- a/src/luarocks/cmd/write_rockspec.tl
+++ b/src/luarocks/cmd/write_rockspec.tl
@@ -12,7 +12,7 @@ local rockspecs = require("luarocks.rockspecs")
12local type_rockspec = require("luarocks.type.rockspec") 12local type_rockspec = require("luarocks.type.rockspec")
13local util = require("luarocks.util") 13local util = require("luarocks.util")
14 14
15local type Parser = require("luarocks.vendor.argparse").Parser 15local type Parser = require("argparse").Parser
16 16
17local type Args = require("luarocks.core.types.args").Args 17local type Args = require("luarocks.core.types.args").Args
18 18
diff --git a/src/luarocks/core/persist.lua b/src/luarocks/core/persist.lua
index c9ccb4a0..0d44aa16 100644
--- a/src/luarocks/core/persist.lua
+++ b/src/luarocks/core/persist.lua
@@ -2,7 +2,7 @@ local _tl_compat; if (tonumber((_VERSION or ''):match('[%d.]*$')) or 0) < 5.3 th
2local persist = {} 2local persist = {}
3 3
4 4
5local json = require("luarocks.vendor.dkjson") 5local json = require("dkjson")
6 6
7 7
8 8
diff --git a/src/luarocks/core/persist.tl b/src/luarocks/core/persist.tl
index 268d2bb6..cafcfc60 100644
--- a/src/luarocks/core/persist.tl
+++ b/src/luarocks/core/persist.tl
@@ -2,7 +2,7 @@
2local record persist 2local record persist
3end 3end
4 4
5local json = require("luarocks.vendor.dkjson") 5local json = require("dkjson")
6 6
7-------------------------------------------------------------------------------- 7--------------------------------------------------------------------------------
8 8
@@ -64,7 +64,7 @@ function persist.load_into_table(filename: string, tbl?: {string:any}) : {string
64 setmetatable(result, save_mt) 64 setmetatable(result, save_mt)
65 65
66 if not ok then 66 if not ok then
67 return nil, tostring(err), errcode 67 return nil, tostring(err), errcode
68 end 68 end
69 return result, globals 69 return result, globals
70end 70end
diff --git a/src/luarocks/upload/api.lua b/src/luarocks/upload/api.lua
index e6762d76..3074965b 100644
--- a/src/luarocks/upload/api.lua
+++ b/src/luarocks/upload/api.lua
@@ -24,7 +24,7 @@ local dir = require("luarocks.dir")
24local util = require("luarocks.util") 24local util = require("luarocks.util")
25local persist = require("luarocks.persist") 25local persist = require("luarocks.persist")
26local multipart = require("luarocks.upload.multipart") 26local multipart = require("luarocks.upload.multipart")
27local json = require("luarocks.vendor.dkjson") 27local json = require("dkjson")
28local dir_sep = package.config:sub(1, 1) 28local dir_sep = package.config:sub(1, 1)
29 29
30 30
diff --git a/src/luarocks/upload/api.tl b/src/luarocks/upload/api.tl
index dc0b568c..e89ecf6e 100644
--- a/src/luarocks/upload/api.tl
+++ b/src/luarocks/upload/api.tl
@@ -24,7 +24,7 @@ local dir = require("luarocks.dir")
24local util = require("luarocks.util") 24local util = require("luarocks.util")
25local persist = require("luarocks.persist") 25local persist = require("luarocks.persist")
26local multipart = require("luarocks.upload.multipart") 26local multipart = require("luarocks.upload.multipart")
27local json = require("luarocks.vendor.dkjson") 27local json = require("dkjson")
28local dir_sep = package.config:sub(1, 1) 28local dir_sep = package.config:sub(1, 1)
29 29
30local type Parameters = multipart.Parameters 30local type Parameters = multipart.Parameters
diff --git a/src/luarocks/util.tl b/src/luarocks/util.tl
index f2fb5a5a..6411c9b9 100644
--- a/src/luarocks/util.tl
+++ b/src/luarocks/util.tl
@@ -48,7 +48,7 @@ util.starts_with = core.starts_with
48local type Fn = util.Fn 48local type Fn = util.Fn
49local type Rockspec = require("luarocks.core.types.rockspec").Rockspec 49local type Rockspec = require("luarocks.core.types.rockspec").Rockspec
50 50
51local type Parser = require("luarocks.vendor.argparse").Parser 51local type Parser = require("argparse").Parser
52 52
53 53
54local scheduled_functions: {Fn} = {} 54local scheduled_functions: {Fn} = {}
diff --git a/teal.sh b/teal.sh
index 86420139..67fa8a83 100755
--- a/teal.sh
+++ b/teal.sh
@@ -10,7 +10,7 @@ do
10 luaname=$(echo $tealname | sed 's/.tl$/.lua/g') 10 luaname=$(echo $tealname | sed 's/.tl$/.lua/g')
11 if [ $tealname -nt $luaname ] || [ "$1" = "--all" ] 11 if [ $tealname -nt $luaname ] || [ "$1" = "--all" ]
12 then 12 then
13 tl gen --check -I ../types $tealname -o $luaname 13 tl gen --check -I ../types -I ../vendor $tealname -o $luaname
14 i=$[i+1] 14 i=$[i+1]
15 fi 15 fi
16done 16done
diff --git a/tlconfig.lua b/tlconfig.lua
index 342d167b..2d89ea23 100644
--- a/tlconfig.lua
+++ b/tlconfig.lua
@@ -1,6 +1,6 @@
1return { 1return {
2 build_dir = "build", 2 build_dir = "build",
3 source_dir = "src", 3 source_dir = "src",
4 include_dir = { "src", "types" }, 4 include_dir = { "src", "types", "vendor" },
5 gen_target = "5.1", 5 gen_target = "5.1",
6} 6}
diff --git a/src/luarocks/vendor/argparse.d.tl b/vendor/argparse.d.tl
index 812786c4..812786c4 100644
--- a/src/luarocks/vendor/argparse.d.tl
+++ b/vendor/argparse.d.tl
diff --git a/src/luarocks/vendor/argparse.lua b/vendor/argparse.lua
index 2c2585dd..2c2585dd 100644
--- a/src/luarocks/vendor/argparse.lua
+++ b/vendor/argparse.lua
diff --git a/src/compat53/file_mt.lua b/vendor/compat53/file_mt.lua
index 6433619d..6433619d 100644
--- a/src/compat53/file_mt.lua
+++ b/vendor/compat53/file_mt.lua
diff --git a/src/compat53/init.lua b/vendor/compat53/init.lua
index b5075713..b5075713 100644
--- a/src/compat53/init.lua
+++ b/vendor/compat53/init.lua
diff --git a/src/compat53/module.lua b/vendor/compat53/module.lua
index b580e536..b580e536 100644
--- a/src/compat53/module.lua
+++ b/vendor/compat53/module.lua
diff --git a/src/luarocks/vendor/dkjson.d.tl b/vendor/dkjson.d.tl
index 4245e8aa..4245e8aa 100644
--- a/src/luarocks/vendor/dkjson.d.tl
+++ b/vendor/dkjson.d.tl
diff --git a/src/luarocks/vendor/dkjson.lua b/vendor/dkjson.lua
index 7a867241..7a867241 100644
--- a/src/luarocks/vendor/dkjson.lua
+++ b/vendor/dkjson.lua