aboutsummaryrefslogtreecommitdiffstats
path: root/util/paths.lua
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2019-08-19 12:17:17 +0100
committerMatthew Wild <mwild1@gmail.com>2019-08-19 12:17:17 +0100
commita1b8dd5db58a60936620502dfcf069e297a353a6 (patch)
tree0b8157172fb508a4b962032d663b6d9b2e31a600 /util/paths.lua
parent91a0bce2b12a098408d7a67f77b5c42e9421e00b (diff)
parent8a6819c5643736a0fc7d4c45f496ad958796d36e (diff)
downloadprosody-a1b8dd5db58a60936620502dfcf069e297a353a6.tar.gz
prosody-a1b8dd5db58a60936620502dfcf069e297a353a6.zip
Merge mod-installer (2019 GSoC by Jo?o Duarte)
Diffstat (limited to 'util/paths.lua')
-rw-r--r--util/paths.lua16
1 files changed, 16 insertions, 0 deletions
diff --git a/util/paths.lua b/util/paths.lua
index 89f4cad9..c225108a 100644
--- a/util/paths.lua
+++ b/util/paths.lua
@@ -41,4 +41,20 @@ function path_util.join(...)
return t_concat({...}, path_sep);
end
+function path_util.complement_lua_path(installer_plugin_path)
+ -- Checking for duplicates
+ -- The commands using luarocks need the path to the directory that has the /share and /lib folders.
+ local lua_version = _VERSION:match(" (.+)$");
+ local lua_path_sep = package.config:sub(3,3);
+ local dir_sep = package.config:sub(1,1);
+ local sub_path = dir_sep.."lua"..dir_sep..lua_version..dir_sep;
+ if not string.match(package.path, installer_plugin_path) then
+ package.path = package.path..lua_path_sep..installer_plugin_path..dir_sep.."share"..sub_path.."?.lua";
+ package.path = package.path..lua_path_sep..installer_plugin_path..dir_sep.."share"..sub_path.."?"..dir_sep.."init.lua";
+ end
+ if not string.match(package.path, installer_plugin_path) then
+ package.cpath = package.cpath..lua_path_sep..installer_plugin_path..dir_sep.."lib"..sub_path.."?.so";
+ end
+end
+
return path_util;