mirror of
https://github.com/bjc/prosody.git
synced 2025-04-01 20:27:39 +03:00
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.
This commit is contained in:
parent
d33f55156b
commit
d06cc5176b
1 changed files with 20 additions and 8 deletions
28
loader.lua
28
loader.lua
|
@ -1,9 +1,21 @@
|
|||
for i = #package.searchers, 1, -1 do
|
||||
local search = package.searchers[i];
|
||||
table.insert(package.searchers, i, function(module_name)
|
||||
local lib = module_name:match("^prosody%.(.*)$");
|
||||
if lib then
|
||||
return search(lib);
|
||||
end
|
||||
end)
|
||||
-- Allow for both require"util.foo" and require"prosody.util.foo" for a
|
||||
-- transition period while we update all require calls.
|
||||
|
||||
if (...) == "prosody.loader" then
|
||||
if not package.path:find "prosody" then
|
||||
-- For require"util.foo" also look in paths equivalent to "prosody.util.foo"
|
||||
package.path = package.path:gsub("([^;]*)(?[^;]*)", "%1prosody/%2;%1%2");
|
||||
package.cpath = package.cpath:gsub("([^;]*)(?[^;]*)", "%1prosody/%2;%1%2");
|
||||
end
|
||||
else
|
||||
-- When requiring "prosody.x", also look for "x"
|
||||
for i = #package.searchers, 1, -1 do
|
||||
local search = package.searchers[i];
|
||||
table.insert(package.searchers, i, function(module_name)
|
||||
local lib = module_name:match("^prosody%.(.*)$");
|
||||
if lib then
|
||||
return search(lib);
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue