comparison loader.lua @ 12948:29983f09c913

prosody.loader: Incorporate search path rewrite patch from Debian packages Nice to drop that patch. Will allow loading this to do something both when installed under a prosody directory or from a source checkout.
author Kim Alvefur <zash@zash.se>
date Fri, 17 Mar 2023 14:36:02 +0100
parents 14a44b1a51d0
children 2f61ebcf37c0
comparison
equal deleted inserted replaced
12947:14a44b1a51d0 12948:29983f09c913
1 for i = #package.searchers, 1, -1 do 1 -- Allow for both require"util.foo" and require"prosody.util.foo" for a
2 local search = package.searchers[i]; 2 -- transition period while we update all require calls.
3 table.insert(package.searchers, i, function(module_name) 3
4 local lib = module_name:match("^prosody%.(.*)$"); 4 if (...) == "prosody.loader" then
5 if lib then 5 if not package.path:find "prosody" then
6 return search(lib); 6 -- For require"util.foo" also look in paths equivalent to "prosody.util.foo"
7 end 7 package.path = package.path:gsub("([^;]*)(?[^;]*)", "%1prosody/%2;%1%2");
8 end) 8 package.cpath = package.cpath:gsub("([^;]*)(?[^;]*)", "%1prosody/%2;%1%2");
9 end
10 else
11 -- When requiring "prosody.x", also look for "x"
12 for i = #package.searchers, 1, -1 do
13 local search = package.searchers[i];
14 table.insert(package.searchers, i, function(module_name)
15 local lib = module_name:match("^prosody%.(.*)$");
16 if lib then
17 return search(lib);
18 end
19 end)
20 end
9 end 21 end