Software /
code /
prosody
Annotate
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 (21 months ago) |
parent | 12947:14a44b1a51d0 |
child | 12949:2f61ebcf37c0 |
rev | line source |
---|---|
12948
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
1 -- Allow for both require"util.foo" and require"prosody.util.foo" for a |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
2 -- transition period while we update all require calls. |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
3 |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
4 if (...) == "prosody.loader" then |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
5 if not package.path:find "prosody" then |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
6 -- For require"util.foo" also look in paths equivalent to "prosody.util.foo" |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
7 package.path = package.path:gsub("([^;]*)(?[^;]*)", "%1prosody/%2;%1%2"); |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
8 package.cpath = package.cpath:gsub("([^;]*)(?[^;]*)", "%1prosody/%2;%1%2"); |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
9 end |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
10 else |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
11 -- When requiring "prosody.x", also look for "x" |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
12 for i = #package.searchers, 1, -1 do |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
13 local search = package.searchers[i]; |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
14 table.insert(package.searchers, i, function(module_name) |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
15 local lib = module_name:match("^prosody%.(.*)$"); |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
16 if lib then |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
17 return search(lib); |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
18 end |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
19 end) |
29983f09c913
prosody.loader: Incorporate search path rewrite patch from Debian packages
Kim Alvefur <zash@zash.se>
parents:
12947
diff
changeset
|
20 end |
12947
14a44b1a51d0
prosody.loader: Allow loading modules under 'prosody' namespace (#1223)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 end |