diff options
Diffstat (limited to 'util/dependencies.lua')
-rw-r--r-- | util/dependencies.lua | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/util/dependencies.lua b/util/dependencies.lua index ea19d9a8..e0f1072d 100644 --- a/util/dependencies.lua +++ b/util/dependencies.lua @@ -6,16 +6,14 @@ -- COPYING file in the source package for more information. -- -module("dependencies", package.seeall) - -function softreq(...) local ok, lib = pcall(require, ...); if ok then return lib; else return nil, lib; end end +local function softreq(...) local ok, lib = pcall(require, ...); if ok then return lib; else return nil, lib; end end -- Required to be able to find packages installed with luarocks if not softreq "luarocks.loader" then -- LuaRocks 2.x softreq "luarocks.require"; -- LuaRocks <1.x end -function missingdep(name, sources, msg) +local function missingdep(name, sources, msg) print(""); print("**************************"); print("Prosody was unable to find "..tostring(name)); @@ -48,7 +46,7 @@ package.preload["util.ztact"] = function () end end; -function check_dependencies() +local function check_dependencies() if _VERSION ~= "Lua 5.1" then print "***********************************" print("Unsupported Lua version: ".._VERSION); @@ -137,13 +135,15 @@ function check_dependencies() return not fatal; end -function log_warnings() +local function log_warnings() + local ssl = softreq"ssl"; if ssl then local major, minor, veryminor, patched = ssl._VERSION:match("(%d+)%.(%d+)%.?(%d*)(M?)"); if not major or ((tonumber(major) == 0 and (tonumber(minor) or 0) <= 3 and (tonumber(veryminor) or 0) <= 2) and patched ~= "M") then log("error", "This version of LuaSec contains a known bug that causes disconnects, see http://prosody.im/doc/depends"); end end + local lxp = softreq"lxp"; if lxp then if not pcall(lxp.new, { StartDoctypeDecl = false }) then log("error", "The version of LuaExpat on your system leaves Prosody " @@ -162,4 +162,9 @@ function log_warnings() end end -return _M; +return { + softreq = softreq; + missingdep = missingdep; + check_dependencies = check_dependencies; + log_warnings = log_warnings; +}; |