about summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/mail/dspam/default.nix7
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix1
-rw-r--r--pkgs/servers/mail/postfix/pfixtools.nix48
-rw-r--r--pkgs/servers/mail/rmilter/default.nix2
-rw-r--r--pkgs/servers/mail/rspamd/default.nix2
-rw-r--r--pkgs/servers/nosql/cassandra/2.1.nix4
-rw-r--r--pkgs/servers/plex/default.nix6
-rw-r--r--pkgs/servers/pulseaudio/default.nix6
-rw-r--r--pkgs/servers/quagga/default.nix72
-rw-r--r--pkgs/servers/search/elasticsearch/2.x.nix41
-rw-r--r--pkgs/servers/search/elasticsearch/es-home-2.x.patch31
-rw-r--r--pkgs/servers/sql/postgresql/default.nix26
-rw-r--r--pkgs/servers/x11/xorg/default.nix6
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list2
-rw-r--r--pkgs/servers/xmpp/ejabberd/default.nix147
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix4
-rw-r--r--pkgs/servers/xmpp/pyIRCt/default.nix42
-rw-r--r--pkgs/servers/xmpp/pyMAILt/default.nix36
18 files changed, 343 insertions, 140 deletions
diff --git a/pkgs/servers/mail/dspam/default.nix b/pkgs/servers/mail/dspam/default.nix
index 2b5949959516..99f8d45b4c1d 100644
--- a/pkgs/servers/mail/dspam/default.nix
+++ b/pkgs/servers/mail/dspam/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, makeWrapper
-, gawk, gnused, gnugrep, coreutils
+, gawk, gnused, gnugrep, coreutils, which
 , perl, NetSMTP
 , withMySQL ? false, zlib, libmysql
 , withPgSQL ? false, postgresql
@@ -15,7 +15,7 @@ let
              ++ lib.optional withSQLite "sqlite3_drv"
              ++ lib.optional withDB "libdb4_drv"
             );
-  maintenancePath = lib.makeSearchPath "bin" [ gawk gnused gnugrep coreutils ];
+  maintenancePath = lib.makeSearchPath "bin" [ gawk gnused gnugrep coreutils which ];
 
 in stdenv.mkDerivation rec {
   name = "dspam-3.10.2";
@@ -83,7 +83,7 @@ in stdenv.mkDerivation rec {
     # Install maintenance script
     install -Dm755 contrib/dspam_maintenance/dspam_maintenance.sh $out/bin/dspam_maintenance
     sed -i \
-      -e '2iexport PATH=${maintenancePath}:$PATH' \
+      -e "2iexport PATH=$out/bin:${maintenancePath}:\$PATH" \
       -e 's,/usr/[a-z0-9/]*,,g' \
       -e 's,^DSPAM_CONFIGDIR=.*,DSPAM_CONFIGDIR=/etc/dspam,' \
       -e "s,^DSPAM_HOMEDIR=.*,DSPAM_HOMEDIR=/var/lib/dspam," \
@@ -93,6 +93,7 @@ in stdenv.mkDerivation rec {
       -e "s,^PGSQL_BIN_DIR=.*,PGSQL_BIN_DIR=/run/current-system/sw/bin," \
       -e "s,^SQLITE_BIN_DIR=.*,SQLITE_BIN_DIR=/run/current-system/sw/bin," \
       -e "s,^SQLITE3_BIN_DIR=.*,SQLITE3_BIN_DIR=/run/current-system/sw/bin," \
+      -e 's,^DSPAM_CRON_LOCKFILE=.*,DSPAM_CRON_LOCKFILE=/run/dspam/dspam_maintenance.pid,' \
       $out/bin/dspam_maintenance
   '';
 
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
index 03367c7b50d9..7acca907729c 100644
--- a/pkgs/servers/mail/opensmtpd/default.nix
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
     "--with-queue-user=smtpq"
     "--with-ca-file=/etc/ssl/certs/ca-certificates.crt"
     "--with-libevent-dir=${libevent.dev}"
+    "--enable-table-db"
   ];
 
   installFlags = [
diff --git a/pkgs/servers/mail/postfix/pfixtools.nix b/pkgs/servers/mail/postfix/pfixtools.nix
new file mode 100644
index 000000000000..f45dd3b7248a
--- /dev/null
+++ b/pkgs/servers/mail/postfix/pfixtools.nix
@@ -0,0 +1,48 @@
+{ stdenv, lib, fetchFromGitHub, git, gperf, pcre, unbound, libev, tokyocabinet, pkgconfig, bash, libsrs2 }:
+
+let
+  version = "0.9";
+
+  pfixtoolsSrc = fetchFromGitHub {
+    owner = "Fruneau";
+    repo = "pfixtools";
+    rev = "pfixtools-${version}";
+    sha256 = "1vmbrw686f41n6xfjphfshn96vl07ynvnsyjdw9yfn9bfnldcjcq";
+  };
+
+  srcRoot = "pfixtools-${pfixtoolsSrc.rev}-src";
+
+  libCommonSrc = fetchFromGitHub {
+    owner = "Fruneau";
+    repo = "libcommon";
+    rev = "b07e6bdea3d24748e0d39783d7d817096d10cc67";
+    sha256 = "14fxldp29j4vmfmhfgwwi37pj8cz0flm1aykkxlbgakz92d4pm35";
+  };
+
+in
+
+stdenv.mkDerivation {
+  name = "pfixtools-${version}";
+
+  src = pfixtoolsSrc;
+
+  buildInputs = [git gperf pcre unbound libev tokyocabinet pkgconfig bash libsrs2];
+
+  postUnpack = ''
+    cp -Rp ${libCommonSrc}/* ${srcRoot}/common;
+    chmod -R +w ${srcRoot}/common;
+  '';
+
+  postPatch = ''
+    substituteInPlace postlicyd/policy_tokens.sh \
+                      --replace /bin/bash ${bash}/bin/bash;
+  '';
+
+  makeFlags = "DESTDIR=$(out) prefix=";
+
+  meta = {
+    description = "a collection of postfix-related tools";
+    license = with lib.licenses; [ bsd3 ];
+    homepage = https://github.com/Fruneau/pfixtools;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/servers/mail/rmilter/default.nix b/pkgs/servers/mail/rmilter/default.nix
index 45c625466280..ad40b57f8a60 100644
--- a/pkgs/servers/mail/rmilter/default.nix
+++ b/pkgs/servers/mail/rmilter/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/vstakhov/rmilter";
     license = licenses.bsd2; 
     description = "server, used to integrate rspamd and milter compatible MTA, for example postfix or sendmail";
-    maintainer = maintainers.avnik;
+    maintainers = maintainers.avnik;
   };
 }
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index a3b20820a6e0..1f9c36b73777 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/vstakhov/rspamd";
     license = licenses.bsd2; 
     description = "advanced spam filtering system";
-    maintainer = maintainers.avnik;
+    maintainers = maintainers.avnik;
   };
 }
diff --git a/pkgs/servers/nosql/cassandra/2.1.nix b/pkgs/servers/nosql/cassandra/2.1.nix
index cac8eb3fba81..d0f70a554f7e 100644
--- a/pkgs/servers/nosql/cassandra/2.1.nix
+++ b/pkgs/servers/nosql/cassandra/2.1.nix
@@ -11,8 +11,8 @@
 
 let
 
-  version = "2.1.12";
-  sha256 = "0ngibzw7lx2nppzsq5hn6adbkyzns6bnhsrkllqpimyjf27sjfq1";
+  version = "2.1.13";
+  sha256 = "09b3vf5jsv70xlfimj30v8l1zw7c5xdgpw5fpmn6jh8n3gigybqh";
 
 in
 
diff --git a/pkgs/servers/plex/default.nix b/pkgs/servers/plex/default.nix
index d88f7a89493d..2974b91152e2 100644
--- a/pkgs/servers/plex/default.nix
+++ b/pkgs/servers/plex/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   name = "plex-${version}";
-  version = "0.9.14.6.1620";
-  vsnHash = "e0b7243";
+  version = "0.9.15.2.1663";
+  vsnHash = "7efd046";
 
   src = fetchurl {
     url    = "https://downloads.plex.tv/plex-media-server/${version}-${vsnHash}/plexmediaserver-${version}-${vsnHash}.x86_64.rpm";
-    sha256 = "0br82yxnvjapvsrb0mbfd12mx7qqi9zh623jnivsjk2gxbfd3ki1";
+    sha256 = "f06225807c6284914bca1cfaec4490d594c53a2c794d916b321658388d40f9cf";
   };
 
   buildInputs = [ rpmextract glibc ];
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 66ed31bab7b9..02f5363be8e7 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -34,11 +34,11 @@
 
 stdenv.mkDerivation rec {
   name = "${if libOnly then "lib" else ""}pulseaudio-${version}";
-  version = "7.1";
+  version = "8.0";
 
   src = fetchurl {
     url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${version}.tar.xz";
-    sha256 = "1ndrac0j528lsg3b8wcsgvzds38ml0ja4m57xsn953rj51552rz6";
+    sha256 = "128rrlvrgb4ia3pbzipf5mi6nvrpm6zmxn5r3bynqiikhvify3k9";
   };
 
   patches = [ ./caps-fix.patch ];
@@ -112,7 +112,7 @@ stdenv.mkDerivation rec {
 
   postInstall = lib.optionalString libOnly ''
     rm -rf $out/{bin,share,etc,lib/{pulse-*,systemd}}
-    sed 's|-lltdl|-L${libtool.lib}/lib -lltdl|' -i $out/lib/libpulsecore-${version}.la
+    sed 's|-lltdl|-L${libtool.lib}/lib -lltdl|' -i $out/lib/pulseaudio/libpulsecore-${version}.la
   ''
     + ''moveToOutput lib/cmake "$dev" '';
 
diff --git a/pkgs/servers/quagga/default.nix b/pkgs/servers/quagga/default.nix
new file mode 100644
index 000000000000..cdc2905d62db
--- /dev/null
+++ b/pkgs/servers/quagga/default.nix
@@ -0,0 +1,72 @@
+{ stdenv, fetchurl, libcap, libnl, readline, net_snmp, less, perl, texinfo }:
+
+stdenv.mkDerivation rec {
+  name = "quagga-${version}";
+  version = "0.99.24.1";
+
+  src = fetchurl {
+    url = "mirror://savannah/quagga/${name}.tar.gz";
+    sha256 = "0kvmc810m7ssrvgb3213271rpywyxb646v5bzjl1jl88vx3imbl4";
+  };
+
+  buildInputs =
+    [ readline net_snmp ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ libcap libnl ];
+
+  nativeBuildInputs = [ perl texinfo ];
+
+  configureFlags = [
+    "--sysconfdir=/etc/quagga"
+    "--localstatedir=/run/quagga"
+    "--sbindir=$(out)/libexec/quagga"
+    "--disable-exampledir"
+    "--enable-user=quagga"
+    "--enable-group=quagga"
+    "--enable-configfile-mask=0640"
+    "--enable-logfile-mask=0640"
+    "--enable-vtysh"
+    "--enable-vty-group=quaggavty"
+    "--enable-snmp"
+    "--enable-multipath=64"
+    "--enable-rtadv"
+    "--enable-irdp"
+    "--enable-opaque-lsa"
+    "--enable-ospf-te"
+    "--enable-pimd"
+    "--enable-isis-topology"
+  ];
+
+  preConfigure = ''
+    substituteInPlace vtysh/vtysh.c --replace \"more\" \"${less}/bin/less\"
+  '';
+
+  postInstall = ''
+    rm -f $out/bin/test_igmpv3_join
+    mv -f $out/libexec/quagga/ospfclient $out/bin/
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Quagga BGP/OSPF/ISIS/RIP/RIPNG routing daemon suite";
+    longDescription = ''
+      GNU Quagga is free software which manages TCP/IP based routing protocols.
+      It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2, and RIPng as
+      well as the IPv6 versions of these.
+
+      As the predecessor Zebra has been considered orphaned, the Quagga project
+      has been formed by members of the zebra mailing list and the former
+      zebra-pj project to continue developing.
+
+      Quagga uses threading if the kernel supports it, but can also run on
+      kernels that do not support threading. Each protocol has its own daemon.
+
+      It is more than a routed replacement, it can be used as a Route Server and
+      a Route Reflector.
+    '';
+    homepage = http://www.quagga.net/;
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ tavyc ];
+  };
+}
diff --git a/pkgs/servers/search/elasticsearch/2.x.nix b/pkgs/servers/search/elasticsearch/2.x.nix
new file mode 100644
index 000000000000..a37703ae7fd7
--- /dev/null
+++ b/pkgs/servers/search/elasticsearch/2.x.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, makeWrapper, jre, utillinux, getopt }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  version = "2.2.0";
+  name = "elasticsearch-${version}";
+
+  src = fetchurl {
+    url = "https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/${version}/${name}.tar.gz";
+    sha256 = "0c2d0mpcr8lpvifvgp2pfj7avdi7fa8a5vib0gqdap7mw60wqw7d";
+  };
+
+  patches = [ ./es-home-2.x.patch ];
+
+  buildInputs = [ makeWrapper jre ] ++
+    (if (!stdenv.isDarwin) then [utillinux] else [getopt]);
+
+  installPhase = ''
+    mkdir -p $out
+    cp -R bin config lib $out
+
+    # don't want to have binary with name plugin
+    mv $out/bin/plugin $out/bin/elasticsearch-plugin
+       wrapProgram $out/bin/elasticsearch ${if (!stdenv.isDarwin)
+        then ''--prefix PATH : "${utillinux}/bin/"''
+        else ''--prefix PATH : "${getopt}/bin"''} \
+      --set JAVA_HOME "${jre}"
+    wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre}"
+  '';
+
+  meta = {
+    description = "Open Source, Distributed, RESTful Search Engine";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = [
+      maintainers.offline
+      maintainers.markWot
+    ];
+  };
+}
diff --git a/pkgs/servers/search/elasticsearch/es-home-2.x.patch b/pkgs/servers/search/elasticsearch/es-home-2.x.patch
new file mode 100644
index 000000000000..0c80e8651145
--- /dev/null
+++ b/pkgs/servers/search/elasticsearch/es-home-2.x.patch
@@ -0,0 +1,31 @@
+diff -rupN a/bin/elasticsearch b/bin/elasticsearch
+--- a/bin/elasticsearch	2015-11-18 21:48:18.000000000 +0100
++++ b/bin/elasticsearch	2015-12-04 00:52:21.032475098 +0100
+@@ -72,7 +72,11 @@ while [ -h "$SCRIPT" ] ; do
+ done
+ 
+ # determine elasticsearch home
+-ES_HOME=`dirname "$SCRIPT"`/..
++
++if [ -z "$ES_HOME" ]; then
++    echo "You must set the ES_HOME var" >&2
++    exit 1
++fi
+ 
+ # make ELASTICSEARCH_HOME absolute
+ ES_HOME=`cd "$ES_HOME"; pwd`
+diff -rupN a/bin/plugin b/bin/plugin
+--- a/bin/plugin	2015-11-18 21:48:18.000000000 +0100
++++ b/bin/plugin	2015-12-04 00:52:55.947453619 +0100
+@@ -17,7 +17,10 @@ while [ -h "$SCRIPT" ] ; do
+ done
+ 
+ # determine elasticsearch home
+-ES_HOME=`dirname "$SCRIPT"`/..
++if [ -z "$ES_HOME" ]; then
++    echo "You must set the ES_HOME var" >&2
++    exit 1
++fi
+ 
+ # make ELASTICSEARCH_HOME absolute
+ ES_HOME=`cd "$ES_HOME"; pwd`
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index c5daaa626a7a..5fec92a5bf8a 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -66,40 +66,34 @@ let
 
 in {
 
-  postgresql90 = common {
-    version = "9.0.23";
-    psqlSchema = "9.0";
-    sha256 = "1pnpni95r0ry112z6ycrqk5m6iw0vd4npg789czrl4qlr0cvxg1x";
-  };
-
   postgresql91 = common {
-    version = "9.1.19";
+    version = "9.1.20";
     psqlSchema = "9.1";
-    sha256 = "1ihf9h353agsm5p2dr717dvraxvsw6j7chbn3qxdcz8la5s0bmfb";
+    sha256 = "0dr9hz1a0ax30f6jvnv2rck0zzxgk9x7nh4n1xgshrf26i1nq7kd";
   };
 
   postgresql92 = common {
-    version = "9.2.14";
+    version = "9.2.15";
     psqlSchema = "9.2";
-    sha256 = "0bi9zfsfhj84mnaa41ar63j9qgzsnac1wwgjhy2c6j0a68zhphjl";
+    sha256 = "0q1yahkfys78crf59avp02ibd0lp3z7h626xchyfi6cqb03livbw";
   };
 
   postgresql93 = common {
-    version = "9.3.10";
+    version = "9.3.11";
     psqlSchema = "9.3";
-    sha256 = "0c8mailildnqnndwpmnqf8ymxmk1qf5w5dq02hjqmydgfq7lyi75";
+    sha256 = "08ba951nfiy516flaw352shj1zslxg4ryx3w5k0adls1r682l8ix";
   };
 
   postgresql94 = common {
-    version = "9.4.5";
+    version = "9.4.6";
     psqlSchema = "9.4";
-    sha256 = "0faav7k3nlhh1z7j1r3adrhx1fpsji3jixmm2abjm93fdg350z5q";
+    sha256 = "19j0845i195ksg9pvnk3yc2fr62i7ii2bqgbidfjq556056izknb";
   };
 
   postgresql95 = common {
-    version = "9.5.0";
+    version = "9.5.1";
     psqlSchema = "9.5";
-    sha256 = "f1c0d3a1a8aa8c92738cab0153fbfffcc4d4158b3fee84f7aa6bfea8283978bc";
+    sha256 = "1ljvijaja5zy4i5b1450drbj8m3fcm3ly1zzaakp75x30s2rsc3b";
   };
 
 
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 22b4e750772a..7ba97cf35b04 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1568,11 +1568,11 @@ let
   }) // {inherit ;};
 
   xf86inputevdev = (mkDerivation "xf86inputevdev" {
-    name = "xf86-input-evdev-2.10.0";
+    name = "xf86-input-evdev-2.10.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-evdev-2.10.0.tar.bz2;
-      sha256 = "05yihr84rf209yyjvin8ab55h504b30c7dck8kgrwykvn272k5yh";
+      url = mirror://xorg/individual/driver/xf86-input-evdev-2.10.1.tar.bz2;
+      sha256 = "05z05n39v8s2b0hwhcjb1bca7j8gc62bv9jxnibawwmjym3jp75g";
     };
     buildInputs = [pkgconfig inputproto udev xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index ddda39c76f7f..d0a812e45d6a 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -119,7 +119,7 @@ mirror://xorg/individual/proto/xextproto-7.3.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2
-mirror://xorg/individual/driver/xf86-input-evdev-2.10.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-evdev-2.10.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2
 mirror://xorg/individual/driver/xf86-input-keyboard-1.8.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-libinput-0.16.0.tar.bz2
diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix
index 2fb6f7a4b2df..f1fa6bed00c2 100644
--- a/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/pkgs/servers/xmpp/ejabberd/default.nix
@@ -17,154 +17,162 @@ let
   ctlpath = lib.makeSearchPath "bin" [ bash gnused gnugrep coreutils utillinux procps ];
 
   fakegit = writeScriptBin "git" ''
-    #! ${stdenv.shell}
-    exit 0
+    #! ${stdenv.shell} -e
+    if [ "$1" = "describe" ]; then
+      [ -r .rev ] && cat .rev || true
+    fi
   '';
 
-  # These can be extracted from `rebar.config.script`
+  # These can be extracted from `rebar.config`
   # Some dependencies are from another packages. Try commenting them out; then during build
   # you'll get necessary revision information.
   ejdeps = {
-    p1_cache_tab = fetchFromGitHub {
+    cache_tab = fetchFromGitHub {
       owner = "processone";
       repo = "cache_tab";
-      rev = "f7ea12b0ba962a3d2f9a406d2954cf7de4e27230";
-      sha256 = "043rz66s6vhcbk02qjhn1r8jv8yyy4gk0gsknmk7ya6wq2v1farw";
+      rev = "1.0.1";
+      sha256 = "1mq5vgqskb0v2pdn6i3610hzd9iyjznh8143pdbz8z57rrhxpxg4";
     };
     p1_tls = fetchFromGitHub {
       owner = "processone";
       repo = "tls";
-      rev = "e56321afd974e9da33da913cd31beebc8e73e75f";
-      sha256 = "0k8dx8mww2ilr4y5m2llhqh673l0z7r73f0lh7klyf57wfqy7hzk";
+      rev = "1.0.0";
+      sha256 = "1q6l5drgmwj4fp4nfh0075lczplia4n40sirk9pd5x76d59qcmnj";
     };
     p1_stringprep = fetchFromGitHub {
       owner = "processone";
       repo = "stringprep";
-      rev = "3c640237a3a7831dc39de6a6d329d3a9af25c579";
-      sha256 = "0mwlkivkfj16bdv80jr8kqa0vcqglxkq90m9qn0m6zp4bjc3jm3n";
+      rev = "1.0.0";
+      sha256 = "105xc0af61xrd4vjxrg49gxbij8x0fq4yribywa8qly303d1nwwa";
     };
     p1_xml = fetchFromGitHub {
       owner = "processone";
       repo = "xml";
-      rev = "1c8b016b0ac7986efb823baf1682a43565449e65";
-      sha256 = "192jhj0cwwypbiass3rm2449410pqyk3mgrdg7yyvqwmjzzkmh87";
+      rev = "1.1.1";
+      sha256 = "07zxc8ky78sd2mcbhhrxha68arbbk8vyayn9gwi402avnqcic7cx";
     };
     esip = fetchFromGitHub {
       owner = "processone";
       repo = "p1_sip";
-      rev = "d662d3fe7f6288b444ea321d854de0bd6d40e022";
-      sha256 = "1mwzkkv01vr9n13h6h3100jrrlgb683ncq9jymnbxqxk6rn7xjd1";
+      rev = "1.0.0";
+      sha256 = "02k920995b0js6srarx0rabavs428rl0dp7zz90x74l8b589zq9a";
     };
     p1_stun = fetchFromGitHub {
       owner = "processone";
       repo = "stun";
-      rev = "061bdae484268cbf0457ad4797e74b8516df3ad1";
-      sha256 = "0zaw8yq4sk7x4ybibcq93k9b6rb7fn03i0k8gb2dnlipmbcdd8cf";
+      rev = "0.9.0";
+      sha256 = "0ghf2p6z1m55f5pm4pv5gj7h7fdcwcsyqz1wzax4w8bgs9id06dm";
     };
     p1_yaml = fetchFromGitHub {
       owner = "processone";
       repo = "p1_yaml";
-      rev = "79f756ba73a235c4d3836ec07b5f7f2b55f49638";
-      sha256 = "05jjw02ay8v34izwgi5zizqp1mj68ypjilxn59c262xj7c169pzh";
+      rev = "1.0.0";
+      sha256 = "0is0vr8ygh3fbiyf0jb85cfpfakxmx31fqk6s4j90gmfhlbm16f8";
     };
     p1_utils = fetchFromGitHub {
       owner = "processone";
       repo = "p1_utils";
-      rev = "d7800881e6702723ce58b7646b60c9e4cd25d563";
-      sha256 = "07p47ccrdjymjmn6rn9jlcyg515bs9l0iwfbc75qsk10ddnmbvdi";
+      rev = "1.0.2";
+      sha256 = "11b71bnc90riy1qplkpwx6l1yr9849jai3ckri35cavfsk35j687";
     };
     jiffy = fetchFromGitHub {
       owner = "davisp";
       repo = "jiffy";
-      rev = "cfc61a2e952dc3182e0f9b1473467563699992e2";
-      sha256 = "1c2x71x90jlx4585znxz8fg46q3jxm80nk7v184lf4pqa1snk8kk";
+      rev = "0.14.5";
+      sha256 = "1xs01cl4gq1x6sjj7d1qgg4iq9iwzv3cjqjrj0kr7rqrbfqx2nq3";
     };
     oauth2 = fetchFromGitHub {
-      owner = "prefiks";
+      owner = "kivra";
       repo = "oauth2";
-      rev = "e6da9912e5d8f658e7e868f41a102d085bdbef59";
-      sha256 = "0di33bkj8xc7h17z1fs4birp8a88c1ds72jc4xz2qmz8kh7q9m3k";
+      rev = "8d129fbf8866930b4ffa6dd84e65bd2b32b9acb8";
+      sha256 = "0mbmw6668l945iqppba991793nmmkyvvf18zxgdahxcwgxg1majn";
     };
     xmlrpc = fetchFromGitHub {
       owner = "rds13";
       repo = "xmlrpc";
-      rev = "42e6e96a0fe7106830274feed915125feb1056f3";
-      sha256 = "10dk480s6z653lr5sap4rcx3zsfmg68hgapvc4jvcyf7vgg12d3s";
+      rev = "1.15";
+      sha256 = "0ihwag2hgw9rswxygallc4w1yipgpd6arw3xpr799ib7ybsn8x81";
     };
 
     p1_mysql = fetchFromGitHub {
       owner = "processone";
       repo = "mysql";
-      rev = "dfa87da95f8fdb92e270741c2a53f796b682f918";
-      sha256 = "1nw7n1xvid4yqp57s94drdjf6ffap8zpy8hkrz9yffzkhk9biz5y";
+      rev = "1.0.0";
+      sha256 = "1v3g75hhfpv5bnrar23y7lsk3pd02xl5cy4mj13j0qxl6bc4dgss";
     };
     p1_pgsql = fetchFromGitHub {
       owner = "processone";
       repo = "pgsql";
-      rev = "e72c03c60bfcb56bbb5d259342021d9cb3581dac";
-      sha256 = "0y89995h7g8bi12qi1m4cdzcswsljbv7y8zb43rjg5ss2bcq7kb6";
+      rev = "1.0.0";
+      sha256 = "1r7dkjzxhwplmhvgvdx990xn98gpslckah5jpkx8c2gm9nj3xi33";
     };
     sqlite3 = fetchFromGitHub {
       owner = "alexeyr";
       repo = "erlang-sqlite3";
-      rev = "8350dc603804c503f99c92bfd2eab1dd6885758e";
-      sha256 = "0d0pbqmi3hsvzjp4vjp7a6bq3pjvkfv0spszh6485x9cmxsbwfpc";
+      rev = "cbc3505f7a131254265d3ef56191b2581b8cc172";
+      sha256 = "1xrvygv0zhslsqf8044m5ml1zr6di7znvv2zycg3amsz190w0w2g";
     };
     p1_pam = fetchFromGitHub {
       owner = "processone";
       repo = "epam";
-      rev = "d3ce290b7da75d780a03e86e7a8198a80e9826a6";
-      sha256 = "0s0czrgjvc1nw7j66x8b9rlajcap0yfnv6zqd4gs76ky6096qpb0";
+      rev = "1.0.0";
+      sha256 = "0dlbmfwndhyg855vnhwyccxcjqzf2wcgc7522mjb9q38cva50rpr";
     };
     p1_zlib = fetchFromGitHub {
       owner = "processone";
       repo = "zlib";
-      rev = "e3d4222b7aae616d7ef2e7e2fa0bbf451516c602";
-      sha256 = "0z960nwva8x4lw1k91i53kpn2bjbf1v1amslkyp8sx2gc5zf0gbn";
+      rev = "1.0.0";
+      sha256 = "1a6m7wz6cbb8526fwhmgm7mva62absmvyjm8cjnq7cs0mzp18r0m";
+    };
+    hamcrest = fetchFromGitHub {
+      owner = "hyperthunk";
+      repo = "hamcrest-erlang";
+      rev = "908a24fda4a46776a5135db60ca071e3d783f9f6";
+      sha256 = "0irxidwrb37m0xwls6q9nn2zfs3pyxrgbnjgrhnh7gm35ib51hkj";
     };
     riakc = fetchFromGitHub {
       owner = "basho";
       repo = "riak-erlang-client";
-      rev = "1.4.2";
-      sha256 = "128jz83n1990m9c2fzwsif6hyapmq46720nzfyyb4z2j75vn85zz";
+      rev = "527722d12d0433b837cdb92a60900c2cb5df8942";
+      sha256 = "13rkwibsjsl2gdysvf11r1hqfrf89hjgpa0x0hz2910f2ryqll3y";
     };
     # dependency of riakc
     riak_pb = fetchFromGitHub {
       owner = "basho";
       repo = "riak_pb";
-      rev = "1.4.4.0";
-      sha256 = "054fg9gaxk4n0id0qs6k8i919qvxsvmh76m6fgfbmixyfxh5jp3w";
+      rev = "2.1.0.7";
+      sha256 = "1p0qmjq069f7j1m29dv36ayvz8m0pcm94ccsnv5blykfg2c5ja0c";
     };
     # dependency of riak_pb
     protobuffs = fetchFromGitHub {
       owner = "basho";
       repo = "erlang_protobuffs";
-      rev = "0.8.1p1";
-      sha256 = "1x75a26y1gx6pzr829i4sx2mxm5w40kb6hfd5y511him56jcczna";
+      rev = "0.8.2";
+      sha256 = "0w4jmsnc9x2ykqh1q6b12pl8a9973dxdhqk3y0ph17n83q5xz3h7";
     };
     rebar_elixir_plugin = fetchFromGitHub {
-      owner = "yrashk";
+      owner = "processone";
       repo = "rebar_elixir_plugin";
-      rev = "7058379b7c7e017555647f6b9cecfd87cd50f884";
-      sha256 = "1s5bvbrhal866gbp72lgp0jzphs2cmgmafmka0pylwj30im41c71";
+      rev = "0.1.0";
+      sha256 = "0x04ff53mxwd9va8nl4m70dbamp6p4dpxs646c168iqpnpadk3sk";
     };
     elixir = fetchFromGitHub {
       owner = "elixir-lang";
       repo = "elixir";
-      rev = "1d9548fd285d243721b7eba71912bde2ffd1f6c3";
-      sha256 = "1lxn9ly73rm797p6slfx7grsq32nn6bz15qhkbra834rj01fqzh8";
+      rev = "v1.1.0";
+      sha256 = "0r5673x2qdvfbwmvyvj8ddvzgxnkl3cv9jsf1yzsxgdifjbrzwx7";
     };
     p1_iconv = fetchFromGitHub {
       owner = "processone";
       repo = "eiconv";
-      rev = "8b7542b1aaf0a851f335e464956956985af6d9a2";
-      sha256 = "1w3k41fpynqylc2vnirz0fymlidpz0nnym0070f1f1s3pd6g5906";
+      rev = "0.9.0";
+      sha256 = "1ikccpj3aq6mip6slrq8c7w3kilpb82dr1jdy8kwajmiy9cmsq97";
     };
     lager = fetchFromGitHub {
       owner = "basho";
       repo = "lager";
-      rev = "4d2ec8c701e1fa2d386f92f2b83b23faf8608ac3";
-      sha256 = "03aav3cid0qpl1n8dn83hk0p70rw05nqvhq1abdh219nrlk9gfmx";
+      rev = "3.0.2";
+      sha256 = "04l40dlqpl2y6ddpbpknmnjf537bjvrmg8r0jnmw1h60dgyb2ydk";
     };
     # dependency of lager
     goldrush = fetchFromGitHub {
@@ -176,31 +184,31 @@ let
     p1_logger = fetchFromGitHub {
       owner = "processone";
       repo = "p1_logger";
-      rev = "3e19507fd5606a73694917158767ecb3f5704e3f";
-      sha256 = "0mq86gh8x3bgqcpwdjkdn7m3bj2006gbarnj7cn5dfs21m2h2mdn";
+      rev = "1.0.0";
+      sha256 = "0z11xsr139a75w09syjws4sja6ky2l9rsrwkjr6wcl7p1jz02h4r";
     };
     meck = fetchFromGitHub {
       owner = "eproxus";
       repo = "meck";
-      rev = "fc362e037f424250130bca32d6bf701f2f49dc75";
-      sha256 = "056yca394f8mbg8vwxxlq47dbjx48ykdrg4lvnbi5gfijl786i3s";
+      rev = "0.8.2";
+      sha256 = "0s4qbvryap46cz63awpbv5zzmlcay5pn2lixgmgvcjarqv70cbs7";
     };
     eredis = fetchFromGitHub {
       owner = "wooga";
       repo = "eredis";
-      rev = "770f828918db710d0c0958c6df63e90a4d341ed7";
-      sha256 = "0qv8hldn5972328pa1qz2lbblw1p2283js5y98dc8papldkicvmm";
+      rev = "v1.0.8";
+      sha256 = "10fr3kbc2nd2liggsq4y77nfirndzapcxzkjgyp06bpr9cjlvhlm";
     };
 
   };
 
 in stdenv.mkDerivation rec {
-  version = "15.11";
+  version = "16.01";
   name = "ejabberd-${version}";
 
   src = fetchurl {
     url = "http://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
-    sha256 = "0sll1si9pd4v7yibzr8hp18hfrbxsa5nj9h7qsldvy7r4md4n101";
+    sha256 = "10fnsw52gxybw731yka63ma8mj39g4i0nsancwp9nlvhb2flgk72";
   };
 
   nativeBuildInputs = [ fakegit ];
@@ -216,13 +224,13 @@ in stdenv.mkDerivation rec {
   LANG = "en_US.UTF-8";
 
   depsNames =
-    [ "p1_cache_tab" "p1_tls" "p1_stringprep" "p1_xml" "esip" "p1_stun" "p1_yaml" "p1_utils" "jiffy" "oauth2" "xmlrpc" ]
+    [ "cache_tab" "p1_tls" "p1_stringprep" "p1_xml" "esip" "p1_stun" "p1_yaml" "p1_utils" "jiffy" "oauth2" "xmlrpc" ]
     ++ lib.optional withMysql "p1_mysql"
     ++ lib.optional withPgsql "p1_pgsql"
     ++ lib.optional withSqlite "sqlite3"
     ++ lib.optional withPam "p1_pam"
     ++ lib.optional withZlib "p1_zlib"
-    ++ lib.optionals withRiak [ "riakc" "riak_pb" "protobuffs" ]
+    ++ lib.optionals withRiak [ "hamcrest" "riakc" "riak_pb" "protobuffs" ]
     ++ lib.optionals withElixir [ "rebar_elixir_plugin" "elixir" ]
     ++ lib.optional withIconv "p1_iconv"
     ++ lib.optionals withLager [ "lager" "goldrush" ]
@@ -232,8 +240,7 @@ in stdenv.mkDerivation rec {
   ;
 
   configureFlags =
-    [ "--enable-nif"
-      (lib.enableFeature withMysql "mysql")
+    [ (lib.enableFeature withMysql "mysql")
       (lib.enableFeature withPgsql "pgsql")
       (lib.enableFeature withSqlite "sqlite")
       (lib.enableFeature withPam "pam")
@@ -247,6 +254,7 @@ in stdenv.mkDerivation rec {
     ] ++ lib.optional withSqlite "--with-sqlite3=${sqlite}";
 
   depsPaths = map (x: builtins.getAttr x ejdeps) depsNames;
+  depsRevs = map (x: x.rev) depsPaths;
 
   enableParallelBuilding = true;
 
@@ -254,12 +262,19 @@ in stdenv.mkDerivation rec {
     mkdir deps
     depsPathsA=( $depsPaths )
     depsNamesA=( $depsNames )
+    depsRevsA=( $depsRevs )
     for i in {0..${toString (builtins.length depsNames - 1)}}; do
-      cp -R ''${depsPathsA[$i]} deps/''${depsNamesA[$i]}
+      path="deps/''${depsNamesA[$i]}"
+      cp -R ''${depsPathsA[$i]} "$path"
+      chmod -R +w "$path"
+      echo "''${depsRevsA[$i]}" > "$path/.rev"
     done
-    chmod -R +w deps
     touch deps/.got
     patchShebangs .
+
+    for i in deps/*; do
+      [ -x "$i/configure" ] && ( cd "$i"; ./configure ) || true
+    done
   '';
 
   postInstall = ''
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index 631073da4d4a..45c42947c5a4 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -19,12 +19,12 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "0.9.8";
+  version = "0.9.10";
   name = "prosody-${version}";
 
   src = fetchurl {
     url = "http://prosody.im/downloads/source/${name}.tar.gz";
-    sha256 = "0wbq4ps69l09fjb5dfjzab6i30hzpi4bvyj5kc44gf70arf42w4l";
+    sha256 = "0bv6s5c0iizz015hh1lxlwlw1iwvisywajm2rcrbdfyrskzfwdj8";
   };
 
   communityModules = fetchhg {
diff --git a/pkgs/servers/xmpp/pyIRCt/default.nix b/pkgs/servers/xmpp/pyIRCt/default.nix
index 4481ad4a14a6..f732e29acc95 100644
--- a/pkgs/servers/xmpp/pyIRCt/default.nix
+++ b/pkgs/servers/xmpp/pyIRCt/default.nix
@@ -1,37 +1,39 @@
-a @ { xmpppy, pythonIRClib, python, makeWrapper, ... } :
-let
-  fetchurl = a.fetchurl;
+{ stdenv, fetchurl, xmpppy, pythonIRClib, python, pythonPackages } :
+
+stdenv.mkDerivation rec {
+  name = "pyIRCt-${version}";
+  version = "0.4";
 
-  version = a.lib.attrByPath ["version"] "0.4" a;
-  buildInputs = with a; [
-    xmpppy pythonIRClib python makeWrapper
-  ];
-in
-rec {
   src = fetchurl {
     url = "mirror://sourceforge/xmpppy/irc-transport-${version}.tar.gz";
     sha256 = "0gbc0dvj1p3088b6x315yjrlwnc5vvzp0var36wlf9z60ghvk8yb";
   };
 
-  inherit buildInputs;
-  configureFlags = [];
+  buildInputs = [ pythonPackages.wrapPython ];
+
+  pythonPath = [
+    xmpppy pythonIRClib
+  ];
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["deploy" (a.makeManyWrappers "$out/share/${name}/irc.py" a.pythonWrapperArguments)];
-  deploy = a.fullDepEntry (''
+  # phaseNames = ["deploy" (a.makeManyWrappers "$out/share/${name}/irc.py" a.pythonWrapperArguments)];
+
+  installPhase = ''
     mkdir -p $out/bin $out/share/${name}
-    sed -e 's@/usr/bin/@${a.python}/bin/@' -i irc.py
+    sed -e 's@/usr/bin/@${python}/bin/@' -i irc.py
     sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.pyIRCt.xml"]' -i config.py
     sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.python-irc-transport.xml"]' -i config.py
     sed -e '/configFiles/iimport os' -i config.py
-    cp * $out/share/$name
-    echo "#! /bin/sh" > $out/bin/pyIRCt
-    echo "cd $out/share/${name}" >> $out/bin/pyIRCt
-    echo "./irc.py \"$@\"" >> $out/bin/pyIRCt
+    cp * $out/share/${name}
+    cat > $out/bin/pyIRCt <<EOF
+      #! /bin/sh
+      cd $out/share/${name}
+      ./irc.py \"$@\"
+    EOF
     chmod a+rx  $out/bin/pyIRCt $out/share/${name}/irc.py
-  '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
+    wrapPythonPrograms
+  '';
 
-  name = "pyIRCt-" + version;
   meta = {
     description = "IRC transport module for XMPP";
   };
diff --git a/pkgs/servers/xmpp/pyMAILt/default.nix b/pkgs/servers/xmpp/pyMAILt/default.nix
index eb4f55f7aebd..f5a91b28633f 100644
--- a/pkgs/servers/xmpp/pyMAILt/default.nix
+++ b/pkgs/servers/xmpp/pyMAILt/default.nix
@@ -1,39 +1,37 @@
-a @ { xmpppy, python, makeWrapper, fetchcvs, ... } :
-let
-  fetchurl = a.fetchurl;
+{ stdenv, python, xmpppy, pythonPackages, fetchcvs } :
 
-  buildInputs = with a; [
-    xmpppy python makeWrapper
-  ];
-in
-rec {
-  src = a.fetchcvs {
+stdenv.mkDerivation rec {
+  name = "pyMAILt-${version}";
+  version = "20090101";
+
+  src = fetchcvs {
 		cvsRoot = ":pserver:anonymous@xmpppy.cvs.sourceforge.net:/cvsroot/xmpppy";
 		module = "xmpppy/mail-transport";
 		date = "2009-01-01";
 		sha256 = "15301252e52b4ccb2156baefed8982a2a0cce3ae8eae3caf3cc28dfa615c8d6e";
 	};
 
-  inherit buildInputs;
-  configureFlags = [];
+  pythonPath = [ xmpppy ];
+  buildInputs = [ pythonPackages.wrapPython ];
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["deploy" (a.makeManyWrappers "$out/share/${name}/mail.py" a.pythonWrapperArguments)];
-  deploy = a.fullDepEntry (''
+  installPhase = ''
     cd mail-transport
     mkdir -p $out/bin $out/share/${name}
-    sed -e 's@/usr/bin/@${a.python}/bin/@' -i mail.py
+    sed -e 's@/usr/bin/@${python}/bin/@' -i mail.py
     sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.pyMAILt.xml"]' -i config.py
     sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.python-mail-transport.xml"]' -i config.py
     sed -e '/configFiles/iimport os' -i config.py
     cp * $out/share/$name
-    echo "#! /bin/sh" > $out/bin/pyMAILt
-    echo "cd $out/share/${name}" >> $out/bin/pyMAILt
-    echo "./mail.py \"$@\"" >> $out/bin/pyMAILt
+    cat > $out/bin/pyMAILt <<EOF
+      #! /bin/sh
+      cd $out/share/${name}
+      ./mail.py \"$@\"
+    EOF
     chmod a+rx  $out/bin/pyMAILt $out/share/${name}/mail.py
-  '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
+    wrapPythonPrograms
+  '';
 
-  name = "pyMAILt-20090101";
   meta = {
     description = "Email transport module for XMPP";
   };