diff options
Diffstat (limited to 'pkgs/servers')
-rw-r--r-- | pkgs/servers/xmpp/prosody/default.nix | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix index 3285456a3485..b6af22883bcb 100644 --- a/pkgs/servers/xmpp/prosody/default.nix +++ b/pkgs/servers/xmpp/prosody/default.nix @@ -1,16 +1,24 @@ { stdenv, fetchurl, libidn, openssl, makeWrapper, fetchhg -, lua5, luasocket, luasec, luaexpat, luafilesystem, luabitop, luaevent ? null, luazlib ? null -, withLibevent ? true, withZlib ? true }: +, lua5, luasocket, luasec, luaexpat, luafilesystem, luabitop +, withLibevent ? true, luaevent ? null +, withZlib ? true, luazlib ? null +, withDBI ? true, luadbi ? null +# use withExtraLibs to add additional dependencies of community modules +, withExtraLibs ? [ ] +, withCommunityModules ? [ ] }: assert withLibevent -> luaevent != null; assert withZlib -> luazlib != null; +assert withDBI -> luadbi != null; with stdenv.lib; let libs = [ luasocket luasec luaexpat luafilesystem luabitop ] ++ optional withLibevent luaevent - ++ optional withZlib luazlib; + ++ optional withZlib luazlib + ++ optional withDBI luadbi + ++ withExtraLibs; getPath = lib : type : "${lib}/lib/lua/${lua5.luaversion}/?.${type};${lib}/share/lua/${lua5.luaversion}/?.${type}"; getLuaPath = lib : getPath lib "lua"; getLuaCPath = lib : getPath lib "so"; @@ -28,14 +36,12 @@ stdenv.mkDerivation rec { }; communityModules = fetchhg { - url = "http://prosody-modules.googlecode.com/hg/"; - rev = "4b55110b0aa8"; - sha256 = "0010x2rl9f9ihy2nwqan2jdlz25433srj2zna1xh10490mc28hij"; + url = "https://hg.prosody.im/prosody-modules"; + rev = "590ac12b7671"; + sha256 = "02f3nmvbidm2f32v6kvc1ljmslysgk0ab2lpg91szy0agmmj5xja"; }; - buildInputs = [ lua5 luasocket luasec luaexpat luabitop libidn openssl makeWrapper ] - ++ optional withLibevent luaevent - ++ optional withZlib luazlib; + buildInputs = [ lua5 makeWrapper libidn openssl ]; configureFlags = [ "--ostype=linux" @@ -44,7 +50,9 @@ stdenv.mkDerivation rec { ]; postInstall = '' - cp $communityModules/mod_websocket/mod_websocket.lua $out/lib/prosody/modules/ + ${concatMapStringsSep "\n" (module: '' + cp -r $communityModules/mod_${module} $out/lib/prosody/modules/ + '') withCommunityModules} wrapProgram $out/bin/prosody \ --set LUA_PATH '${luaPath};' \ --set LUA_CPATH '${luaCPath};' |