aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorV1K1NGbg <victor@ilchev.com>2024-08-06 19:45:49 +0300
committerV1K1NGbg <victor@ilchev.com>2024-08-06 19:45:49 +0300
commit294f30af4f9af2cf1f7bbd2c787b132dcc954aa4 (patch)
tree983dd2104919d0b7bc611f9d899d8f45fe5588ac
parent57b4ab7209bf046544860b8106c4897df31c9dc4 (diff)
downloadluarocks-294f30af4f9af2cf1f7bbd2c787b132dcc954aa4.tar.gz
luarocks-294f30af4f9af2cf1f7bbd2c787b132dcc954aa4.tar.bz2
luarocks-294f30af4f9af2cf1f7bbd2c787b132dcc954aa4.zip
removed more redefined variables and deps
-rw-r--r--src/luarocks/core/manif.tl4
-rw-r--r--src/luarocks/core/util.tl6
-rw-r--r--src/luarocks/core/vers.tl6
-rw-r--r--src/luarocks/deps.tl7
-rw-r--r--src/luarocks/fetch/cvs.tl4
-rw-r--r--src/luarocks/fetch/svn.tl8
-rw-r--r--src/luarocks/queries.tl6
-rw-r--r--src/luarocks/rockspecs-original.lua183
-rw-r--r--src/luarocks/rockspecs.lua132
-rw-r--r--src/luarocks/rockspecs.tl5
-rw-r--r--src/luarocks/search.tl4
-rw-r--r--src/luarocks/tools/patch.tl2
-rw-r--r--src/luarocks/upload/api.tl5
13 files changed, 88 insertions, 284 deletions
diff --git a/src/luarocks/core/manif.tl b/src/luarocks/core/manif.tl
index 7ef018db..683ec741 100644
--- a/src/luarocks/core/manif.tl
+++ b/src/luarocks/core/manif.tl
@@ -12,8 +12,8 @@ local path = require("luarocks.core.path")
12 12
13-------------------------------------------------------------------------------- 13--------------------------------------------------------------------------------
14 14
15local type t = require("luarocks.core.types.tree") 15local type tr = require("luarocks.core.types.tree")
16local type Tree = t.Tree 16local type Tree = tr.Tree
17 17
18local type q = require("luarocks.core.types.query") 18local type q = require("luarocks.core.types.query")
19local type Query = q.Query 19local type Query = q.Query
diff --git a/src/luarocks/core/util.tl b/src/luarocks/core/util.tl
index ede0e75f..183deaab 100644
--- a/src/luarocks/core/util.tl
+++ b/src/luarocks/core/util.tl
@@ -4,9 +4,9 @@ end
4 4
5-------------------------------------------------------------------------------- 5--------------------------------------------------------------------------------
6 6
7local type o = require("luarocks.core.types.ordering") 7local type ord = require("luarocks.core.types.ordering")
8local type Ordering = o.Ordering 8local type Ordering = ord.Ordering
9local type SortBy = o.SortBy 9local type SortBy = ord.SortBy
10 10
11local dir_sep = package.config:sub(1, 1) 11local dir_sep = package.config:sub(1, 1)
12 12
diff --git a/src/luarocks/core/vers.tl b/src/luarocks/core/vers.tl
index f7ecdb98..62701f74 100644
--- a/src/luarocks/core/vers.tl
+++ b/src/luarocks/core/vers.tl
@@ -2,9 +2,9 @@ local record vers
2end 2end
3 3
4local util = require("luarocks.core.util") 4local util = require("luarocks.core.util")
5local type v = require("luarocks.core.types.version") 5local type ver = require("luarocks.core.types.version")
6local type Version = v.Version 6local type Version = ver.Version
7local type Constraint = v.Constraint 7local type Constraint = ver.Constraint
8-------------------------------------------------------------------------------- 8--------------------------------------------------------------------------------
9 9
10local deltas: {string: integer} = { 10local deltas: {string: integer} = {
diff --git a/src/luarocks/deps.tl b/src/luarocks/deps.tl
index f65594fb..d9d66892 100644
--- a/src/luarocks/deps.tl
+++ b/src/luarocks/deps.tl
@@ -26,10 +26,11 @@ local type Tree = t.Tree
26local type q = require("luarocks.core.types.query") 26local type q = require("luarocks.core.types.query")
27local type Query = q.Query 27local type Query = q.Query
28 28
29local type Version = require("luarocks.core.types.version").Version 29local type ver = require("luarocks.core.types.version")
30local type Version = ver.Version
30 31
31local type p = require("luarocks.core.types.persist") 32local type per = require("luarocks.core.types.persist")
32local type PersistableTable = p.PersistableTable 33local type PersistableTable = per.PersistableTable
33 34
34local type res = require("luarocks.core.types.result") 35local type res = require("luarocks.core.types.result")
35local type Result = res.Result 36local type Result = res.Result
diff --git a/src/luarocks/fetch/cvs.tl b/src/luarocks/fetch/cvs.tl
index a2f67dcf..0532cecb 100644
--- a/src/luarocks/fetch/cvs.tl
+++ b/src/luarocks/fetch/cvs.tl
@@ -41,8 +41,8 @@ function cvs.get_sources(rockspec: Rockspec, extract: boolean, dest_dir?: string
41 else 41 else
42 store_dir = dest_dir 42 store_dir = dest_dir
43 end 43 end
44 local ok, err = fs.change_dir(store_dir) 44 local okchange, err = fs.change_dir(store_dir)
45 if not ok then return nil, err end 45 if not okchange then return nil, err end
46 if not fs.execute(table.unpack(command)) then 46 if not fs.execute(table.unpack(command)) then
47 return nil, "Failed fetching files from CVS." 47 return nil, "Failed fetching files from CVS."
48 end 48 end
diff --git a/src/luarocks/fetch/svn.tl b/src/luarocks/fetch/svn.tl
index 3db136e9..fc4ba2a5 100644
--- a/src/luarocks/fetch/svn.tl
+++ b/src/luarocks/fetch/svn.tl
@@ -43,13 +43,13 @@ function svn.get_sources(rockspec: Rockspec, extract: boolean, dest_dir?: string
43 else 43 else
44 store_dir = dest_dir 44 store_dir = dest_dir
45 end 45 end
46 local ok, err = fs.change_dir(store_dir) 46 local okchange, err = fs.change_dir(store_dir)
47 if not ok then return nil, err end 47 if not okchange then return nil, err end
48 if not fs.execute(table.unpack(command)) then 48 if not fs.execute(table.unpack(command)) then
49 return nil, "Failed fetching files from Subversion." 49 return nil, "Failed fetching files from Subversion."
50 end 50 end
51 ok, err = fs.change_dir(module) 51 okchange, err = fs.change_dir(module)
52 if not ok then return nil, err end 52 if not okchange then return nil, err end
53 for _, d in ipairs(fs.find(".")) do 53 for _, d in ipairs(fs.find(".")) do
54 if dir.base_name(d) == ".svn" then 54 if dir.base_name(d) == ".svn" then
55 fs.delete(dir.path(store_dir, module, d)) 55 fs.delete(dir.path(store_dir, module, d))
diff --git a/src/luarocks/queries.tl b/src/luarocks/queries.tl
index bed7612c..b6e7a392 100644
--- a/src/luarocks/queries.tl
+++ b/src/luarocks/queries.tl
@@ -9,9 +9,9 @@ local cfg = require("luarocks.core.cfg")
9local type q = require("luarocks.core.types.query") 9local type q = require("luarocks.core.types.query")
10local type Query = q.Query 10local type Query = q.Query
11 11
12local type v = require("luarocks.core.types.version") 12local type ver = require("luarocks.core.types.version")
13local type Version = v.Version 13local type Version = ver.Version
14local type Constraint = v.Constraint 14local type Constraint = ver.Constraint
15 15
16local query_mt: metatable<Query> = {} 16local query_mt: metatable<Query> = {}
17 17
diff --git a/src/luarocks/rockspecs-original.lua b/src/luarocks/rockspecs-original.lua
deleted file mode 100644
index 454bab77..00000000
--- a/src/luarocks/rockspecs-original.lua
+++ /dev/null
@@ -1,183 +0,0 @@
1local rockspecs = {}
2
3local cfg = require("luarocks.core.cfg")
4local dir = require("luarocks.dir")
5local path = require("luarocks.path")
6local queries = require("luarocks.queries")
7local type_rockspec = require("luarocks.type.rockspec")
8local util = require("luarocks.util")
9local vers = require("luarocks.core.vers")
10
11local vendored_build_type_set = {
12 ["builtin"] = true,
13 ["cmake"] = true,
14 ["command"] = true,
15 ["make"] = true,
16 ["module"] = true, -- compatibility alias
17 ["none"] = true,
18}
19
20local rockspec_mt = {}
21
22rockspec_mt.__index = rockspec_mt
23
24function rockspec_mt.type()
25 return "rockspec"
26end
27
28--- Perform platform-specific overrides on a table.
29-- Overrides values of table with the contents of the appropriate
30-- subset of its "platforms" field. The "platforms" field should
31-- be a table containing subtables keyed with strings representing
32-- platform names. Names that match the contents of the global
33-- detected platforms setting are used. For example, if
34-- platform "unix" is detected, then the fields of
35-- tbl.platforms.unix will overwrite those of tbl with the same
36-- names. For table values, the operation is performed recursively
37-- (tbl.platforms.foo.x.y.z overrides tbl.x.y.z; other contents of
38-- tbl.x are preserved).
39-- @param tbl table or nil: Table which may contain a "platforms" field;
40-- if it doesn't (or if nil is passed), this function does nothing.
41local function platform_overrides(tbl)
42 assert(type(tbl) == "table" or not tbl)
43
44 if not tbl then return end
45
46 if tbl.platforms then
47 for platform in cfg.each_platform() do
48 local platform_tbl = tbl.platforms[platform]
49 if platform_tbl then
50 util.deep_merge(tbl, platform_tbl)
51 end
52 end
53 end
54 tbl.platforms = nil
55end
56
57local function convert_dependencies(rockspec, key)
58 if rockspec[key] then
59 for i = 1, #rockspec[key] do
60 local parsed, err = queries.from_dep_string(rockspec[key][i])
61 if not parsed then
62 return nil, "Parse error processing dependency '"..rockspec[key][i].."': "..tostring(err)
63 end
64 rockspec[key][i] = parsed
65 end
66 else
67 rockspec[key] = {}
68 end
69 return true
70end
71
72--- Set up path-related variables for a given rock.
73-- Create a "variables" table in the rockspec table, containing
74-- adjusted variables according to the configuration file.
75-- @param rockspec table: The rockspec table.
76local function configure_paths(rockspec)
77 local vars = {}
78 for k,v in pairs(cfg.variables) do
79 vars[k] = v
80 end
81 local name, version = rockspec.name, rockspec.version
82 vars.PREFIX = path.install_dir(name, version)
83 vars.LUADIR = path.lua_dir(name, version)
84 vars.LIBDIR = path.lib_dir(name, version)
85 vars.CONFDIR = path.conf_dir(name, version)
86 vars.BINDIR = path.bin_dir(name, version)
87 vars.DOCDIR = path.doc_dir(name, version)
88 rockspec.variables = vars
89end
90
91function rockspecs.from_persisted_table(filename, rockspec, globals, quick)
92 assert(type(rockspec) == "table")
93 assert(type(globals) == "table" or globals == nil)
94 assert(type(filename) == "string")
95 assert(type(quick) == "boolean" or quick == nil)
96
97 if rockspec.rockspec_format then
98 if vers.compare_versions(rockspec.rockspec_format, type_rockspec.rockspec_format) then
99 return nil, "Rockspec format "..rockspec.rockspec_format.." is not supported, please upgrade LuaRocks."
100 end
101 end
102
103 if not quick then
104 local ok, err = type_rockspec.check(rockspec, globals or {})
105 if not ok then
106 return nil, err
107 end
108 end
109
110 --- Check if rockspec format version satisfies version requirement.
111 -- @param rockspec table: The rockspec table.
112 -- @param version string: required version.
113 -- @return boolean: true if rockspec format matches version or is newer, false otherwise.
114 do
115 local parsed_format = vers.parse_version(rockspec.rockspec_format or "1.0")
116 rockspec.format_is_at_least = function(self, version)
117 return parsed_format >= vers.parse_version(version)
118 end
119 end
120
121 platform_overrides(rockspec.build)
122 platform_overrides(rockspec.dependencies)
123 platform_overrides(rockspec.build_dependencies)
124 platform_overrides(rockspec.test_dependencies)
125 platform_overrides(rockspec.external_dependencies)
126 platform_overrides(rockspec.source)
127 platform_overrides(rockspec.hooks)
128 platform_overrides(rockspec.test)
129
130 rockspec.name = rockspec.package:lower()
131
132 local protocol, pathname = dir.split_url(rockspec.source.url)
133 if dir.is_basic_protocol(protocol) then
134 rockspec.source.file = rockspec.source.file or dir.base_name(rockspec.source.url)
135 end
136 rockspec.source.protocol, rockspec.source.pathname = protocol, pathname
137
138 -- Temporary compatibility
139 if rockspec.source.cvs_module then rockspec.source.module = rockspec.source.cvs_module end
140 if rockspec.source.cvs_tag then rockspec.source.tag = rockspec.source.cvs_tag end
141
142 rockspec.local_abs_filename = filename
143 rockspec.source.dir_set = rockspec.source.dir ~= nil
144 rockspec.source.dir = rockspec.source.dir or rockspec.source.module
145
146 rockspec.rocks_provided = util.get_rocks_provided(rockspec)
147
148 for _, key in ipairs({"dependencies", "build_dependencies", "test_dependencies"}) do
149 local ok, err = convert_dependencies(rockspec, key)
150 if not ok then
151 return nil, err
152 end
153 end
154
155 if rockspec.build
156 and rockspec.build.type
157 and not vendored_build_type_set[rockspec.build.type] then
158 local build_pkg_name = "luarocks-build-" .. rockspec.build.type
159 if not rockspec.build_dependencies then
160 rockspec.build_dependencies = {}
161 end
162
163 local found = false
164 for _, dep in ipairs(rockspec.build_dependencies) do
165 if dep.name == build_pkg_name then
166 found = true
167 break
168 end
169 end
170
171 if not found then
172 table.insert(rockspec.build_dependencies, queries.from_dep_string(build_pkg_name))
173 end
174 end
175
176 if not quick then
177 configure_paths(rockspec)
178 end
179
180 return setmetatable(rockspec, rockspec_mt)
181end
182
183return rockspecs
diff --git a/src/luarocks/rockspecs.lua b/src/luarocks/rockspecs.lua
index 559a874a..454bab77 100644
--- a/src/luarocks/rockspecs.lua
+++ b/src/luarocks/rockspecs.lua
@@ -1,5 +1,4 @@
1local _tl_compat; if (tonumber((_VERSION or ''):match('[%d.]*$')) or 0) < 5.3 then local p, m = pcall(require, 'compat53.module'); if p then _tl_compat = m end end; local ipairs = _tl_compat and _tl_compat.ipairs or ipairs; local pairs = _tl_compat and _tl_compat.pairs or pairs; local table = _tl_compat and _tl_compat.table or table; local rockspecs = {} 1local rockspecs = {}
2
3 2
4local cfg = require("luarocks.core.cfg") 3local cfg = require("luarocks.core.cfg")
5local dir = require("luarocks.dir") 4local dir = require("luarocks.dir")
@@ -9,53 +8,45 @@ local type_rockspec = require("luarocks.type.rockspec")
9local util = require("luarocks.util") 8local util = require("luarocks.util")
10local vers = require("luarocks.core.vers") 9local vers = require("luarocks.core.vers")
11 10
12local r = require("luarocks.core.types.rockspec")
13
14
15
16
17
18
19local vendored_build_type_set = { 11local vendored_build_type_set = {
20 ["builtin"] = true, 12 ["builtin"] = true,
21 ["cmake"] = true, 13 ["cmake"] = true,
22 ["command"] = true, 14 ["command"] = true,
23 ["make"] = true, 15 ["make"] = true,
24 ["module"] = true, 16 ["module"] = true, -- compatibility alias
25 ["none"] = true, 17 ["none"] = true,
26} 18}
27 19
28local rockspec_mt = {} 20local rockspec_mt = {}
29 21
30rockspec_mt.__index = r.Rockspec 22rockspec_mt.__index = rockspec_mt
31 23
32function r.Rockspec.type() 24function rockspec_mt.type()
33 return "rockspec" 25 return "rockspec"
34end 26end
35 27
36 28--- Perform platform-specific overrides on a table.
37 29-- Overrides values of table with the contents of the appropriate
38 30-- subset of its "platforms" field. The "platforms" field should
39 31-- be a table containing subtables keyed with strings representing
40 32-- platform names. Names that match the contents of the global
41 33-- detected platforms setting are used. For example, if
42 34-- platform "unix" is detected, then the fields of
43 35-- tbl.platforms.unix will overwrite those of tbl with the same
44 36-- names. For table values, the operation is performed recursively
45 37-- (tbl.platforms.foo.x.y.z overrides tbl.x.y.z; other contents of
46 38-- tbl.x are preserved).
47 39-- @param tbl table or nil: Table which may contain a "platforms" field;
48 40-- if it doesn't (or if nil is passed), this function does nothing.
49local function platform_overrides(tbl) 41local function platform_overrides(tbl)
42 assert(type(tbl) == "table" or not tbl)
50 43
51 if not tbl then return end 44 if not tbl then return end
52 45
53 local tblp = tbl.platforms 46 if tbl.platforms then
54
55 if type(tblp) == "table" then
56 for platform in cfg.each_platform() do 47 for platform in cfg.each_platform() do
57 local platform_tbl = tblp[platform] 48 local platform_tbl = tbl.platforms[platform]
58 if type(platform_tbl) == "table" then 49 if platform_tbl then
59 util.deep_merge(tbl, platform_tbl) 50 util.deep_merge(tbl, platform_tbl)
60 end 51 end
61 end 52 end
@@ -63,28 +54,28 @@ local function platform_overrides(tbl)
63 tbl.platforms = nil 54 tbl.platforms = nil
64end 55end
65 56
66local function convert_dependencies(dependencies) 57local function convert_dependencies(rockspec, key)
67 if not dependencies then 58 if rockspec[key] then
68 return {} 59 for i = 1, #rockspec[key] do
69 end 60 local parsed, err = queries.from_dep_string(rockspec[key][i])
70 local qs = {} 61 if not parsed then
71 for i = 1, #dependencies do 62 return nil, "Parse error processing dependency '"..rockspec[key][i].."': "..tostring(err)
72 local parsed, err = queries.from_dep_string(dependencies[i]) 63 end
73 if not parsed then 64 rockspec[key][i] = parsed
74 return nil, "Parse error processing dependency '" .. dependencies[i] .. "': " .. tostring(err)
75 end 65 end
76 qs[i] = parsed 66 else
67 rockspec[key] = {}
77 end 68 end
78 return qs 69 return true
79end 70end
80 71
81 72--- Set up path-related variables for a given rock.
82 73-- Create a "variables" table in the rockspec table, containing
83 74-- adjusted variables according to the configuration file.
84 75-- @param rockspec table: The rockspec table.
85local function configure_paths(rockspec) 76local function configure_paths(rockspec)
86 local vars = {} 77 local vars = {}
87 for k, v in pairs(cfg.variables) do 78 for k,v in pairs(cfg.variables) do
88 vars[k] = v 79 vars[k] = v
89 end 80 end
90 local name, version = rockspec.name, rockspec.version 81 local name, version = rockspec.name, rockspec.version
@@ -98,10 +89,14 @@ local function configure_paths(rockspec)
98end 89end
99 90
100function rockspecs.from_persisted_table(filename, rockspec, globals, quick) 91function rockspecs.from_persisted_table(filename, rockspec, globals, quick)
92 assert(type(rockspec) == "table")
93 assert(type(globals) == "table" or globals == nil)
94 assert(type(filename) == "string")
95 assert(type(quick) == "boolean" or quick == nil)
101 96
102 if rockspec.rockspec_format then 97 if rockspec.rockspec_format then
103 if vers.compare_versions(rockspec.rockspec_format, type_rockspec.rockspec_format) then 98 if vers.compare_versions(rockspec.rockspec_format, type_rockspec.rockspec_format) then
104 return nil, "Rockspec format " .. rockspec.rockspec_format .. " is not supported, please upgrade LuaRocks." 99 return nil, "Rockspec format "..rockspec.rockspec_format.." is not supported, please upgrade LuaRocks."
105 end 100 end
106 end 101 end
107 102
@@ -112,10 +107,10 @@ function rockspecs.from_persisted_table(filename, rockspec, globals, quick)
112 end 107 end
113 end 108 end
114 109
115 110 --- Check if rockspec format version satisfies version requirement.
116 111 -- @param rockspec table: The rockspec table.
117 112 -- @param version string: required version.
118 113 -- @return boolean: true if rockspec format matches version or is newer, false otherwise.
119 do 114 do
120 local parsed_format = vers.parse_version(rockspec.rockspec_format or "1.0") 115 local parsed_format = vers.parse_version(rockspec.rockspec_format or "1.0")
121 rockspec.format_is_at_least = function(self, version) 116 rockspec.format_is_at_least = function(self, version)
@@ -140,7 +135,7 @@ function rockspecs.from_persisted_table(filename, rockspec, globals, quick)
140 end 135 end
141 rockspec.source.protocol, rockspec.source.pathname = protocol, pathname 136 rockspec.source.protocol, rockspec.source.pathname = protocol, pathname
142 137
143 138 -- Temporary compatibility
144 if rockspec.source.cvs_module then rockspec.source.module = rockspec.source.cvs_module end 139 if rockspec.source.cvs_module then rockspec.source.module = rockspec.source.cvs_module end
145 if rockspec.source.cvs_tag then rockspec.source.tag = rockspec.source.cvs_tag end 140 if rockspec.source.cvs_tag then rockspec.source.tag = rockspec.source.cvs_tag end
146 141
@@ -150,32 +145,23 @@ function rockspecs.from_persisted_table(filename, rockspec, globals, quick)
150 145
151 rockspec.rocks_provided = util.get_rocks_provided(rockspec) 146 rockspec.rocks_provided = util.get_rocks_provided(rockspec)
152 147
153 local err 148 for _, key in ipairs({"dependencies", "build_dependencies", "test_dependencies"}) do
154 rockspec.dependencies.queries, err = convert_dependencies(rockspec.dependencies) 149 local ok, err = convert_dependencies(rockspec, key)
155 if err then 150 if not ok then
156 return nil, err 151 return nil, err
157 end 152 end
158
159 rockspec.build_dependencies.queries, err = convert_dependencies(rockspec.build_dependencies)
160 if err then
161 return nil, err
162 end
163
164 rockspec.test_dependencies.queries, err = convert_dependencies(rockspec.test_dependencies)
165 if err then
166 return nil, err
167 end 153 end
168 154
169 if rockspec.build and 155 if rockspec.build
170 rockspec.build.type and 156 and rockspec.build.type
171 not vendored_build_type_set[rockspec.build.type] then 157 and not vendored_build_type_set[rockspec.build.type] then
172 local build_pkg_name = "luarocks-build-" .. rockspec.build.type 158 local build_pkg_name = "luarocks-build-" .. rockspec.build.type
173 if not rockspec.build_dependencies then 159 if not rockspec.build_dependencies then
174 rockspec.build_dependencies = {} 160 rockspec.build_dependencies = {}
175 end 161 end
176 162
177 local found = false 163 local found = false
178 for _, dep in ipairs(rockspec.build_dependencies.queries) do 164 for _, dep in ipairs(rockspec.build_dependencies) do
179 if dep.name == build_pkg_name then 165 if dep.name == build_pkg_name then
180 found = true 166 found = true
181 break 167 break
@@ -183,11 +169,7 @@ function rockspecs.from_persisted_table(filename, rockspec, globals, quick)
183 end 169 end
184 170
185 if not found then 171 if not found then
186 local query, err = queries.from_dep_string(build_pkg_name) 172 table.insert(rockspec.build_dependencies, queries.from_dep_string(build_pkg_name))
187 if err then
188 return nil, "Invalid dependency in rockspec: " .. err
189 end
190 table.insert(rockspec.build_dependencies.queries, query)
191 end 173 end
192 end 174 end
193 175
diff --git a/src/luarocks/rockspecs.tl b/src/luarocks/rockspecs.tl
index 3ea6c147..b65227da 100644
--- a/src/luarocks/rockspecs.tl
+++ b/src/luarocks/rockspecs.tl
@@ -1,3 +1,4 @@
1
1local record rockspecs 2local record rockspecs
2end 3end
3 4
@@ -183,8 +184,8 @@ function rockspecs.from_persisted_table(filename: string, rockspec: Rockspec, gl
183 end 184 end
184 185
185 if not found then 186 if not found then
186 local query, err = queries.from_dep_string(build_pkg_name) 187 local query, errfromdep = queries.from_dep_string(build_pkg_name)
187 if err then 188 if errfromdep then
188 return nil, "Invalid dependency in rockspec: " .. err 189 return nil, "Invalid dependency in rockspec: " .. err
189 end 190 end
190 table.insert(rockspec.build_dependencies.queries, query) 191 table.insert(rockspec.build_dependencies.queries, query)
diff --git a/src/luarocks/search.tl b/src/luarocks/search.tl
index 7d8a9055..caf01221 100644
--- a/src/luarocks/search.tl
+++ b/src/luarocks/search.tl
@@ -15,8 +15,8 @@ local type Result = r.Result
15local type q = require("luarocks.core.types.query") 15local type q = require("luarocks.core.types.query")
16local type Query = q.Query 16local type Query = q.Query
17 17
18local type v = require("luarocks.core.types.version") 18local type ver = require("luarocks.core.types.version")
19local type Version = v.Version 19local type Version = ver.Version
20 20
21local type t = require("luarocks.core.types.tree") 21local type t = require("luarocks.core.types.tree")
22local type Tree = t.Tree 22local type Tree = t.Tree
diff --git a/src/luarocks/tools/patch.tl b/src/luarocks/tools/patch.tl
index a5d67e18..f204cd63 100644
--- a/src/luarocks/tools/patch.tl
+++ b/src/luarocks/tools/patch.tl
@@ -465,7 +465,7 @@ end
465 465
466local function check_patched(file: {string}, hunks: {Hunk}): boolean 466local function check_patched(file: {string}, hunks: {Hunk}): boolean
467 local lineno: integer = 1 467 local lineno: integer = 1
468 local ok, err: boolean, string = pcall(function() 468 local _, err: boolean, string = pcall(function()
469 if #file == 0 then 469 if #file == 0 then
470 error('nomatch', 0) 470 error('nomatch', 0)
471 end 471 end
diff --git a/src/luarocks/upload/api.tl b/src/luarocks/upload/api.tl
index 6863f6f0..4ea9f922 100644
--- a/src/luarocks/upload/api.tl
+++ b/src/luarocks/upload/api.tl
@@ -35,6 +35,9 @@ local type Args = api.Args
35local type Configuration = api.Configuration 35local type Configuration = api.Configuration
36local type File = multipart.File 36local type File = multipart.File
37 37
38local type p = require("luarocks.core.types.persist")
39local type PersistableTable = p.PersistableTable
40
38local function upload_config_file(): string 41local function upload_config_file(): string
39 if not cfg.config_files.user.file then 42 if not cfg.config_files.user.file then
40 return nil 43 return nil
@@ -284,7 +287,7 @@ function api.Api:save_config(): boolean, string --! nil?
284 if not ok then 287 if not ok then
285 return nil, errmake 288 return nil, errmake
286 end 289 end
287 persist.save_from_table(upload_conf, self.config as persist.PersistableTable) 290 persist.save_from_table(upload_conf, self.config as PersistableTable)
288 fs.set_permissions(upload_conf, "read", "user") 291 fs.set_permissions(upload_conf, "read", "user")
289 return true 292 return true
290end 293end