From a4067cefd21f3b5c73d9ccf1cc2cbcf173374acb Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sun, 27 Sep 2015 16:17:09 +0200 Subject: Took care of pam_auth deps for prosody --- customized/prosody.nix | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 customized/prosody.nix (limited to 'customized/prosody.nix') diff --git a/customized/prosody.nix b/customized/prosody.nix new file mode 100644 index 00000000..4a6da4fb --- /dev/null +++ b/customized/prosody.nix @@ -0,0 +1,69 @@ +{ stdenv, fetchurl, libidn, openssl, makeWrapper, fetchhg +, lua5, luasocket, luasec, luaexpat, luafilesystem, luabitop, luaevent ? null, luazlib ? null +, withLibevent ? true, withZlib ? true +, extraModules ? [], extraLibs ? [] +}: + +assert withLibevent -> luaevent != null; +assert withZlib -> luazlib != null; + +with stdenv.lib; + +let + libs = [ luasocket luasec luaexpat luafilesystem luabitop ] + ++ optional withLibevent luaevent + ++ optional withZlib luazlib + ++ extraLibs; + 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"; + copyModule = name : "cp -rv $communityModules/${name} $out/lib/prosody/modules/" + luaPath = concatStringsSep ";" (map getLuaPath libs); + luaCPath = concatStringsSep ";" (map getLuaCPath libs); + copyModules = concatStringsSep ";" (map copyModule (extraModules ++ ["mod_websocket"])); +in + +stdenv.mkDerivation rec { + version = "0.9.8"; + name = "prosody-${version}"; + + src = fetchurl { + url = "http://prosody.im/downloads/source/${name}.tar.gz"; + sha256 = "0wbq4ps69l09fjb5dfjzab6i30hzpi4bvyj5kc44gf70arf42w4l"; + }; + + communityModules = fetchhg { + url = "http://prosody-modules.googlecode.com/hg/"; + rev = "4b55110b0aa8"; + sha256 = "0010x2rl9f9ihy2nwqan2jdlz25433srj2zna1xh10490mc28hij"; + }; + + buildInputs = [ lua5 luasocket luasec luaexpat luabitop libidn openssl makeWrapper ] + ++ optional withLibevent luaevent + ++ optional withZlib luazlib; + + configureFlags = [ + "--ostype=linux" + "--with-lua-include=${lua5}/include" + "--with-lua=${lua5}" + ]; + + postInstall = '' + ${copyModules} + wrapProgram $out/bin/prosody \ + --set LUA_PATH '"${luaPath};"' \ + --set LUA_CPATH '"${luaCPath};"' + wrapProgram $out/bin/prosodyctl \ + --add-flags '--config "/etc/prosody/prosody.cfg.lua"' \ + --set LUA_PATH '"${luaPath};"' \ + --set LUA_CPATH '"${luaCPath};"' + ''; + + meta = { + description = "Open-source XMPP application server written in Lua"; + license = licenses.mit; + homepage = http://www.prosody.im; + platforms = platforms.linux; + maintainers = [ maintainers.flosse ]; + }; +} -- cgit v1.2.3