summary refs log tree commit diff
path: root/pkgs/servers/xmpp/openfire/default.nix
blob: e5e5273783f8c934d76c36b8ac75ff9eba58ae3e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{ stdenv, fetchurl, builderDefs, jre }:

with builderDefs;
  let 
    version="3_6_3";
    localDefs = builderDefs.passthru.function (rec {
    src = /* put a fetchurl here */
      fetchurl {
        url = "http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_${version}.tar.gz";
        sha256 = "0ibzhmh9qw4lmx45ir1i280p30npgwnj7vrkl432kj3zi7hp79q2";
      };

    buildInputs = [jre];
    configureFlags = [];

    installPhase = fullDepEntry (''
      sed -e 's@\(common_jvm_locations\)=.*@\1${jre}@' -i bin/openfire
      cp -r . $out
      rm -r $out/logs
      mv $out/conf $out/conf.inst
      ln -s /var/log/openfire $out/logs
      ln -s /etc/openfire $out/conf
    '') 
    ["minInit" "doUnpack" "addInputs"];
  });
  in with localDefs;
stdenv.mkDerivation rec {
  name = "openfire-"+version;
  builder = writeScript (name + "-builder")
    (textClosure localDefs 
      [ installPhase doForceShare doPropagate]);
  meta = {
    description = "XMPP server in Java";
    inherit src;
  };
}