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
commit9f32d30e97c325810bba0ce17fef4491fac2f365 (patch)
tree0b8157172fb508a4b962032d663b6d9b2e31a600 /util/paths.lua
parent469ce79a49fabbe0d42115fa7a2f1a27e3bae3f1 (diff)
parent6ae5f04781c82e8064ceb9acc91ab9cfdb295969 (diff)
downloadprosody-9f32d30e97c325810bba0ce17fef4491fac2f365.tar.gz
prosody-9f32d30e97c325810bba0ce17fef4491fac2f365.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;