about summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-10-03 13:33:13 +0200
committerVladimír Čunát <vcunat@gmail.com>2015-10-03 13:33:37 +0200
commit5227fb1dd53fcb5918b9342dff4868f4ad68427e (patch)
treed6cd521e3f67944031216a27f740f28f22b73b41 /pkgs/servers
parentd6dd3b8bd1eaeeb21dfdb5051cd4732c748ce5d7 (diff)
parent33373d939a19f465228ddede6d38ce9032b5916b (diff)
downloadnixlib-5227fb1dd53fcb5918b9342dff4868f4ad68427e.tar
nixlib-5227fb1dd53fcb5918b9342dff4868f4ad68427e.tar.gz
nixlib-5227fb1dd53fcb5918b9342dff4868f4ad68427e.tar.bz2
nixlib-5227fb1dd53fcb5918b9342dff4868f4ad68427e.tar.lz
nixlib-5227fb1dd53fcb5918b9342dff4868f4ad68427e.tar.xz
nixlib-5227fb1dd53fcb5918b9342dff4868f4ad68427e.tar.zst
nixlib-5227fb1dd53fcb5918b9342dff4868f4ad68427e.zip
Merge commit staging+systemd into closure-size
Many non-conflict problems weren't (fully) resolved in this commit yet.
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/amqp/qpid-cpp/default.nix9
-rw-r--r--pkgs/servers/apcupsd/default.nix4
-rw-r--r--pkgs/servers/bird/default.nix8
-rw-r--r--pkgs/servers/bird/dont-create-sysconfdir.patch13
-rw-r--r--pkgs/servers/computing/torque/default.nix18
-rw-r--r--pkgs/servers/consul/Gemfile.lock10
-rw-r--r--pkgs/servers/consul/alerts.nix27
-rw-r--r--pkgs/servers/consul/default.nix63
-rw-r--r--pkgs/servers/consul/deps.nix315
-rw-r--r--pkgs/servers/consul/gemset.nix20
-rw-r--r--pkgs/servers/consul/template.nix34
-rw-r--r--pkgs/servers/consul/ui.nix39
-rw-r--r--pkgs/servers/dico/default.nix2
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/dns/mesos-dns/default.nix31
-rw-r--r--pkgs/servers/dns/nsd/default.nix4
-rw-r--r--pkgs/servers/dns/skydns/default.nix30
-rw-r--r--pkgs/servers/dnschain/default.nix11
-rw-r--r--pkgs/servers/dnschain/package.json3
-rw-r--r--pkgs/servers/dnschain/package.nix2200
-rw-r--r--pkgs/servers/etcd/default.nix25
-rw-r--r--pkgs/servers/felix/default.nix6
-rw-r--r--pkgs/servers/ftp/vsftpd/CVE-2015-1419.patch104
-rw-r--r--pkgs/servers/ftp/vsftpd/default.nix6
-rw-r--r--pkgs/servers/gpm/default.nix26
-rw-r--r--pkgs/servers/hbase/default.nix11
-rw-r--r--pkgs/servers/http/apache-httpd/2.2.nix4
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix4
-rw-r--r--pkgs/servers/http/apache-modules/mod_python/default.nix6
-rw-r--r--pkgs/servers/http/apache-modules/tomcat-connectors/default.nix6
-rw-r--r--pkgs/servers/http/jboss/default.nix10
-rw-r--r--pkgs/servers/http/jetty/9.2.nix8
-rw-r--r--pkgs/servers/http/jetty/default.nix6
-rw-r--r--pkgs/servers/http/lighttpd/default.nix4
-rw-r--r--pkgs/servers/http/micro-httpd/default.nix25
-rw-r--r--pkgs/servers/http/mini-httpd/default.nix4
-rw-r--r--pkgs/servers/http/nginx/default.nix25
-rw-r--r--pkgs/servers/http/nginx/unstable.nix12
-rw-r--r--pkgs/servers/http/openresty/default.nix4
-rw-r--r--pkgs/servers/http/tomcat/6.0.nix4
-rw-r--r--pkgs/servers/http/tomcat/7.0.nix4
-rw-r--r--pkgs/servers/http/tomcat/8.0.nix4
-rw-r--r--pkgs/servers/http/yaws/default.nix4
-rw-r--r--pkgs/servers/irc/charybdis/default.nix34
-rw-r--r--pkgs/servers/irc/charybdis/remove-setenv.patch12
-rw-r--r--pkgs/servers/irc/ngircd/default.nix1
-rw-r--r--pkgs/servers/kippo/default.nix8
-rw-r--r--pkgs/servers/mail/dovecot/2.2.x.nix4
-rw-r--r--pkgs/servers/mail/dovecot/default.nix4
-rw-r--r--pkgs/servers/mail/exim/default.nix8
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix4
-rw-r--r--pkgs/servers/mail/postfix/2.11.nix4
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix1
-rw-r--r--pkgs/servers/memcached/default.nix9
-rw-r--r--pkgs/servers/meteor/default.nix93
-rw-r--r--pkgs/servers/meteor/main.patch49
-rw-r--r--pkgs/servers/misc/subsonic/default.nix35
-rw-r--r--pkgs/servers/misc/taskserver/default.nix5
-rw-r--r--pkgs/servers/monitoring/bosun/default.nix26
-rw-r--r--pkgs/servers/monitoring/bosun/scollector.nix23
-rw-r--r--pkgs/servers/monitoring/newrelic-sysmond/default.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/alertmanager/default.nix56
-rw-r--r--pkgs/servers/monitoring/prometheus/cli/default.nix25
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix56
-rw-r--r--pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix23
-rw-r--r--pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix24
-rw-r--r--pkgs/servers/monitoring/prometheus/node_exporter/default.nix32
-rw-r--r--pkgs/servers/monitoring/prometheus/pushgateway/default.nix51
-rw-r--r--pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix27
-rw-r--r--pkgs/servers/monitoring/riemann-dash/Gemfile2
-rw-r--r--pkgs/servers/monitoring/riemann-dash/Gemfile.lock14
-rw-r--r--pkgs/servers/monitoring/riemann-dash/gemset.nix40
-rw-r--r--pkgs/servers/monitoring/riemann/default.nix4
-rw-r--r--pkgs/servers/monitoring/sensu/default.nix2
-rw-r--r--pkgs/servers/monitoring/zabbix/2.0.nix8
-rw-r--r--pkgs/servers/monitoring/zabbix/2.2.nix8
-rw-r--r--pkgs/servers/monitoring/zabbix/default.nix8
-rw-r--r--pkgs/servers/mpd/default.nix8
-rw-r--r--pkgs/servers/neard/default.nix35
-rw-r--r--pkgs/servers/nosql/apache-jena/binary.nix4
-rw-r--r--pkgs/servers/nosql/arangodb/default.nix34
-rw-r--r--pkgs/servers/nosql/cassandra/1.2.nix52
-rw-r--r--pkgs/servers/nosql/cassandra/2.0.nix14
-rw-r--r--pkgs/servers/nosql/cassandra/2.1.nix14
-rw-r--r--pkgs/servers/nosql/eventstore/default.nix55
-rw-r--r--pkgs/servers/nosql/hyperdex/busybee.nix2
-rw-r--r--pkgs/servers/nosql/hyperdex/default.nix4
-rw-r--r--pkgs/servers/nosql/hyperdex/libmacaroons.nix4
-rw-r--r--pkgs/servers/nosql/hyperdex/replicant.nix2
-rw-r--r--pkgs/servers/nosql/influxdb/backup.nix25
-rw-r--r--pkgs/servers/nosql/mongodb/default.nix22
-rw-r--r--pkgs/servers/nosql/redis/3.0.nix23
-rw-r--r--pkgs/servers/nosql/redis/default.nix5
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix34
-rw-r--r--pkgs/servers/nosql/riak/2.1.1.nix94
-rw-r--r--pkgs/servers/nsq/default.nix32
-rw-r--r--pkgs/servers/openafs-client/I5558c64760e4cad2bd3dc648067d81020afc69b6.patch48
-rw-r--r--pkgs/servers/openafs-client/If1fd9d27f795dee4b5aa2152dd09e0540d643a69.patch55
-rw-r--r--pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch51
-rw-r--r--pkgs/servers/openafs-client/default.nix42
-rw-r--r--pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch130
-rw-r--r--pkgs/servers/openpts/bugs.patch12
-rw-r--r--pkgs/servers/openpts/default.nix53
-rw-r--r--pkgs/servers/openpts/ptsc.patch28
-rw-r--r--pkgs/servers/openpts/tboot.patch21
-rw-r--r--pkgs/servers/openpts/zlib.patch12
-rw-r--r--pkgs/servers/openxpki/default.nix77
-rw-r--r--pkgs/servers/openxpki/vergen_revision_state12
-rw-r--r--pkgs/servers/owncloud/default.nix4
-rw-r--r--pkgs/servers/p910nd/default.nix48
-rw-r--r--pkgs/servers/plex/default.nix2
-rw-r--r--pkgs/servers/pulseaudio/default.nix221
-rw-r--r--pkgs/servers/restund/default.nix2
-rw-r--r--pkgs/servers/rippled/default.nix6
-rw-r--r--pkgs/servers/rippled/package.nix4666
-rw-r--r--pkgs/servers/rippled/ripple-rest.nix26
-rw-r--r--pkgs/servers/rpcbind/default.nix5
-rw-r--r--pkgs/servers/rpcbind/sunrpc.patch30
-rw-r--r--pkgs/servers/s6/default.nix5
-rw-r--r--pkgs/servers/samba/4.x-heimdal-compat.patch16
-rw-r--r--pkgs/servers/samba/4.x.nix184
-rw-r--r--pkgs/servers/search/elasticsearch/default.nix9
-rw-r--r--pkgs/servers/search/elasticsearch/es-home.patch29
-rw-r--r--pkgs/servers/search/elasticsearch/plugins.nix32
-rw-r--r--pkgs/servers/serfdom/default.nix28
-rw-r--r--pkgs/servers/shairport-sync/default.nix42
-rw-r--r--pkgs/servers/shellinabox/default.nix42
-rw-r--r--pkgs/servers/shellinabox/shellinabox-minus.patch6
-rw-r--r--pkgs/servers/shishi/default.nix80
-rw-r--r--pkgs/servers/shishi/gcrypt-fix.patch34
-rw-r--r--pkgs/servers/sip/freeswitch/default.nix4
-rw-r--r--pkgs/servers/sip/sipwitch/default.nix4
-rw-r--r--pkgs/servers/softether/4.18.nix53
-rw-r--r--pkgs/servers/sql/mariadb/default.nix19
-rw-r--r--pkgs/servers/sql/monetdb/default.nix4
-rw-r--r--pkgs/servers/sql/mysql/5.5.17-cygwin.patch44
-rw-r--r--pkgs/servers/sql/mysql/5.5.17-export-symbols.patch22
-rw-r--r--pkgs/servers/sql/mysql/5.5.x.nix11
-rw-r--r--pkgs/servers/sql/postgresql/8.4.x.nix30
-rw-r--r--pkgs/servers/sql/postgresql/9.0.x.nix33
-rw-r--r--pkgs/servers/sql/postgresql/9.1.x.nix41
-rw-r--r--pkgs/servers/sql/postgresql/9.2.x.nix39
-rw-r--r--pkgs/servers/sql/postgresql/9.3.x.nix43
-rw-r--r--pkgs/servers/sql/postgresql/9.4.x.nix43
-rw-r--r--pkgs/servers/sql/postgresql/default.nix91
-rw-r--r--pkgs/servers/sql/postgresql/jdbc/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/psqlodbc/default.nix4
-rw-r--r--pkgs/servers/squid/squids.nix6
-rw-r--r--pkgs/servers/tvheadend/default.nix35
-rw-r--r--pkgs/servers/u9fs/default.nix4
-rw-r--r--pkgs/servers/unifi/default.nix4
-rw-r--r--pkgs/servers/uwsgi/default.nix4
-rw-r--r--pkgs/servers/x11/quartz-wm/default.nix3
-rw-r--r--pkgs/servers/x11/xorg/builder.sh4
-rw-r--r--pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch33
-rw-r--r--pkgs/servers/x11/xorg/darwin/0001-XQuartz-GLX-Use-__glXEnableExtension-to-build-extens.patch78
-rw-r--r--pkgs/servers/x11/xorg/darwin/0002-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch (renamed from pkgs/servers/x11/xorg/darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch)29
-rw-r--r--pkgs/servers/x11/xorg/darwin/0003-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch (renamed from pkgs/servers/x11/xorg/darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch)20
-rw-r--r--pkgs/servers/x11/xorg/darwin/0004-Use-old-miTrapezoids-and-miTriangles-routines.patch (renamed from pkgs/servers/x11/xorg/darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch)18
-rw-r--r--pkgs/servers/x11/xorg/darwin/0005-fb-Revert-fb-changes-that-broke-XQuartz.patch (renamed from pkgs/servers/x11/xorg/darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch)26
-rw-r--r--pkgs/servers/x11/xorg/darwin/0006-fb-Revert-fb-changes-that-broke-XQuartz.patch (renamed from pkgs/servers/x11/xorg/darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch)89
-rw-r--r--pkgs/servers/x11/xorg/default.nix349
-rw-r--r--pkgs/servers/x11/xorg/extra.list3
-rw-r--r--pkgs/servers/x11/xorg/fix-clang.patch11
-rw-r--r--pkgs/servers/x11/xorg/fix_segfault.patch63
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl5
-rw-r--r--pkgs/servers/x11/xorg/libpciaccess-apple.patch26
-rw-r--r--pkgs/servers/x11/xorg/libxkbfile-clang36.patch11
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix84
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list88
-rw-r--r--pkgs/servers/x11/xorg/xkeyboard-config-eo.patch71
-rw-r--r--pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch30
-rw-r--r--pkgs/servers/x11/xorg/xwayland.nix2
-rw-r--r--pkgs/servers/x11/xquartz/default.nix10
-rw-r--r--pkgs/servers/xmpp/openfire/default.nix2
-rw-r--r--pkgs/servers/xmpp/pyIRCt/default.nix8
-rw-r--r--pkgs/servers/xmpp/pyMAILt/default.nix6
177 files changed, 8101 insertions, 3890 deletions
diff --git a/pkgs/servers/amqp/qpid-cpp/default.nix b/pkgs/servers/amqp/qpid-cpp/default.nix
index 69c0a3dff41c..410bd23eb30e 100644
--- a/pkgs/servers/amqp/qpid-cpp/default.nix
+++ b/pkgs/servers/amqp/qpid-cpp/default.nix
@@ -1,14 +1,13 @@
 { stdenv, fetchurl, cmake, python, boost, libuuid, ruby }:
 
 stdenv.mkDerivation rec {
-  name = "${project}-cpp-${version}";
+  name = "qpid-cpp-${version}";
 
-  project = "qpid";
-  version = "0.26";
+  version = "0.34";
 
   src = fetchurl {
-    url = "mirror://apache/${project}/${version}/${name}.tar.gz";
-    sha256 = "1c03yi19d5h5h78h37add9csmy0mzvvmvn7zkcalwszabdhsb5yk";
+    url = "mirror://apache/qpid/cpp/${version}/${name}.tar.gz";
+    sha256 = "07ibwvw5lm7xabv32zai5x03r7l9mxm0zk7h9lbfkzmav0f41w0w";
   };
 
   buildInputs = [ cmake python boost libuuid ruby ];
diff --git a/pkgs/servers/apcupsd/default.nix b/pkgs/servers/apcupsd/default.nix
index ad8685d3d422..e60f6173c0f7 100644
--- a/pkgs/servers/apcupsd/default.nix
+++ b/pkgs/servers/apcupsd/default.nix
@@ -6,11 +6,11 @@ assert enableCgiScripts -> gd != null;
 
 stdenv.mkDerivation rec {
   pname = "apcupsd";
-  name = "${pname}-3.14.12";
+  name = "${pname}-3.14.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "0h54ahj65nqrgmdcg81h1gp0zlxg9hwwhg8pmx6z9zcwn4y70kqv";
+    sha256 = "1y83bly5bgpjbfaxxwmdk2mndbi4cw0svq5z9n6byj043phbvv2p";
   };
 
   buildInputs = [ pkgconfig utillinux man ] ++ stdenv.lib.optional enableCgiScripts gd;
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index 9b17551a8cbb..c13ad64fca3f 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -10,6 +10,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ flex bison readline ];
 
+  patches = [
+    ./dont-create-sysconfdir.patch
+  ];
+
+  configureFlags = [
+    "--localstatedir /var"
+  ];
+
   meta = {
     description = "BIRD Internet Routing Daemon";
     homepage = http://bird.network.cz;
diff --git a/pkgs/servers/bird/dont-create-sysconfdir.patch b/pkgs/servers/bird/dont-create-sysconfdir.patch
new file mode 100644
index 000000000000..0a11c8a2a8d8
--- /dev/null
+++ b/pkgs/servers/bird/dont-create-sysconfdir.patch
@@ -0,0 +1,13 @@
+diff --git a/tools/Makefile.in b/tools/Makefile.in
+index 062ba91..4fd7453 100644
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -68,7 +68,7 @@ tags:
+ 	cd $(srcdir) ; etags -lc `find $(static-dirs) $(addprefix $(objdir)/,$(dynamic-dirs)) $(client-dirs) -name *.[chY]`
+ 
+ install: all
+-	$(INSTALL) -d $(DESTDIR)/$(sbindir) $(DESTDIR)/$(sysconfdir) $(DESTDIR)/@runtimedir@
++	$(INSTALL) -d $(DESTDIR)/$(sbindir) $(DESTDIR)/$(sysconfdir)
+ 	$(INSTALL_PROGRAM) $(exedir)/bird $(DESTDIR)/$(sbindir)/bird@SUFFIX@
+ 	$(INSTALL_PROGRAM) $(exedir)/birdcl $(DESTDIR)/$(sbindir)/birdcl@SUFFIX@
+ 	if test -n "@CLIENT@" ; then								\
diff --git a/pkgs/servers/computing/torque/default.nix b/pkgs/servers/computing/torque/default.nix
index d95e929ff824..6d0037f74bdb 100644
--- a/pkgs/servers/computing/torque/default.nix
+++ b/pkgs/servers/computing/torque/default.nix
@@ -1,19 +1,27 @@
-{ stdenv, fetchurl, openssl, flex, bison, pkgconfig, groff, libxml2, utillinux }:
+{ stdenv, fetchurl, openssl, flex, bison, pkgconfig, groff, libxml2, utillinux
+, file, libtool, which }:
 
 stdenv.mkDerivation rec {
-  name = "torque-4.2.8";
+  name = "torque-4.2.10";
 
   src = fetchurl {
     name = "${name}.tar.gz";
-    url = "http://www.adaptivecomputing.com/index.php?wpfb_dl=2730";
-    sha256 = "1sjpvndzm9ccdmfwdf9887ppmapawfsh5qdkzr92kadg5jxp796j";
+    url = "http://www.adaptivecomputing.com/index.php?wpfb_dl=2880";
+    sha256 = "1qpsk3bla6b6m7m0i1xpr183yj79liy3p34xhnz1grgq0776wg5l";
   };
 
-  buildInputs = [ openssl flex bison pkgconfig groff libxml2 utillinux ];
+  buildInputs = [ openssl flex bison pkgconfig groff libxml2 utillinux libtool
+                  which ];
 
   enableParallelBuilding = true;
 
   preConfigure = ''
+   substituteInPlace ./configure \
+     --replace '/usr/bin/file' '${file}/bin/file'
+
+   # fix broken libxml2 detection
+   sed -i '/xmlLib\=/c\xmlLib=xml2' ./configure
+
    for s in fifo cray_t3e dec_cluster msic_cluster sgi_origin umn_cluster; do
      substituteInPlace src/scheduler.cc/samples/$s/Makefile.in \
        --replace "schedprivdir = " "schedprivdir = $out/"
diff --git a/pkgs/servers/consul/Gemfile.lock b/pkgs/servers/consul/Gemfile.lock
index 8ca7428084de..cc4df6b24309 100644
--- a/pkgs/servers/consul/Gemfile.lock
+++ b/pkgs/servers/consul/Gemfile.lock
@@ -1,15 +1,15 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    execjs (2.0.2)
-    json (1.8.1)
-    libv8 (3.16.14.3)
+    execjs (2.3.0)
+    json (1.8.2)
+    libv8 (3.16.14.11)
     ref (1.0.5)
-    sass (3.3.6)
+    sass (3.4.11)
     therubyracer (0.12.1)
       libv8 (~> 3.16.14.0)
       ref
-    uglifier (2.5.0)
+    uglifier (2.7.0)
       execjs (>= 0.3.0)
       json (>= 1.8.0)
 
diff --git a/pkgs/servers/consul/alerts.nix b/pkgs/servers/consul/alerts.nix
deleted file mode 100644
index b3dbb21d5bbb..000000000000
--- a/pkgs/servers/consul/alerts.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, goPackages, fetchFromGitHub }:
-
-with goPackages;
-
-buildGoPackage rec {
-  name = "consul-alerts-${version}";
-  version = "0.2.0";
-
-  src = fetchFromGitHub {
-    owner = "AcalephStorage";
-    repo = "consul-alerts";
-    rev = "v${version}";
-    sha256 = "02rgz68g3i408biq2aqilpqraqirzmba9mh7avdga5bljp427jgn";
-  };
-
-  goPackagePath = "github.com/AcalephStorage/consul-alerts";
-  dontInstallSrc = true;
-  subPackages = [ "./" ];
-
-  meta = with lib; {
-    description = "A simple daemon to send notifications based on Consul health checks";
-    homepage = https://github.com/AcalephStorage/consul-alerts;
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ offline ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
deleted file mode 100644
index b299981bee2a..000000000000
--- a/pkgs/servers/consul/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub , ruby , nodejs
-, bundlerEnv }:
-
-let
-  version = "0.5.0";
-  # `sass` et al
-  gems = bundlerEnv {
-    name = "consul-deps";
-    gemfile = ./Gemfile;
-    lockfile = ./Gemfile.lock;
-    gemset = ./gemset.nix;
-  };
-in
-
-with lib;
-stdenv.mkDerivation {
-  name = "consul-${version}";
-
-  src = import ./deps.nix {
-    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
-  };
-
-  buildInputs = [ go ruby gems nodejs ];
-
-  buildPhase = ''
-    # Build consul binary
-    export GOPATH=$src
-    go build -v -o consul github.com/hashicorp/consul
-
-    # Build ui static files
-    ({
-      cp -r src/github.com/hashicorp/consul/ui .
-      cd ui
-      chmod -R u+w .
-      make dist
-    })
-  '';
-
-  outputs = [ "out" "ui" ];
-
-  installPhase = ''
-    # Fix references to go-deps in the binary
-    hash=$(echo $src | sed 's,.*/\([^/-]*\).*,\1,g')
-    xs=$(printf 'x%.0s' $(seq 2 $(echo $hash | wc -c)))
-    sed -i "s,$hash,$xs,g" consul
-
-    # Install consul binary
-    mkdir -p $out/bin
-    cp consul $out/bin
-
-    # Install ui static files
-    mkdir -p $ui
-    mv ui/dist/* $ui
-  '';
-
-  meta = with lib; {
-    homepage    = http://www.consul.io/;
-    description = "A tool for service discovery, monitoring and configuration";
-    maintainers = with maintainers; [ cstrahan wkennington ];
-    license     = licenses.mpl20 ;
-    platforms   = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/consul/deps.nix b/pkgs/servers/consul/deps.nix
deleted file mode 100644
index ad41dbb70a59..000000000000
--- a/pkgs/servers/consul/deps.nix
+++ /dev/null
@@ -1,315 +0,0 @@
-{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
-
-let
-  goDeps = [
-    {
-      root = "github.com/armon/circbuf";
-      src = fetchFromGitHub {
-        owner = "armon";
-        repo = "circbuf";
-        rev = "f092b4f207b6e5cce0569056fba9e1a2735cb6cf";
-        sha256 = "06kwwdwa3hskdh6ws7clj1vim80dyc3ldim8k9y5qpd30x0avn5s";
-      };
-    }
-    {
-      root = "github.com/armon/consul-api";
-      src = fetchFromGitHub {
-        owner = "armon";
-        repo = "consul-api";
-        rev = "dcfedd50ed5334f96adee43fc88518a4f095e15c";
-        sha256 = "1k3yl34j4d8y6xxqdm70pjrbdcnp11dbf8i1mp60480xg0cwpb6d";
-      };
-    }
-    {
-      root = "github.com/armon/go-metrics";
-      src = fetchFromGitHub {
-        owner = "armon";
-        repo = "go-metrics";
-        rev = "88b7658f24511c4b885942b26e9ea7a61ee37ebc";
-        sha256 = "18f7nr6khirdmcsy5mic1yggwc189wfiqvms8i7yfcvfns5nq9cc";
-      };
-    }
-    {
-      root = "github.com/armon/go-radix";
-      src = fetchFromGitHub {
-        owner = "armon";
-        repo = "go-radix";
-        rev = "e39d623f12e8e41c7b5529e9a9dd67a1e2261f80";
-        sha256 = "10vhgr35dfbsm90q8aqp82vhdf4izqrx8bzzgn0h3vrx94c2pnq1";
-      };
-    }
-    {
-      root = "github.com/armon/gomdb";
-      src = fetchFromGitHub {
-        owner = "armon";
-        repo = "gomdb";
-        rev = "151f2e08ef45cb0e57d694b2562f351955dff572";
-        sha256 = "02wdhgfarmmwfbc75snd1dh6p9k9c1y2135apdm6mkr062qlxx61";
-      };
-    }
-    {
-      root = "github.com/golang/protobuf";
-      src = fetchFromGitHub {
-        owner = "golang";
-        repo = "protobuf";
-        rev = "c22ae3cf020a21ebb7ae566dccbe90fc8ea4f9ea";
-        sha256 = "1ab605jw0cprq0kbp0b5iyjw805wk08r3p9mvcyland7v4gfqys2";
-      };
-    }
-    {
-      root = "github.com/hashicorp/consul";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "consul";
-        rev = "a022dfcb32246274adc8fb383882353c056d1da3";
-        sha256 = "1al6bc62c8qygq4yhr8rq9jkx51ijv11816kipphylw73kyyrzg5";
-      };
-    }
-    {
-      root = "github.com/hashicorp/go-multierror";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "go-multierror";
-        rev = "fcdddc395df1ddf4247c69bd436e84cfa0733f7e";
-        sha256 = "1gvrm2bqi425mfg55m01z9gppfd7v4ljz1z8bykmh2sc82fj25jz";
-      };
-    }
-    {
-      root = "github.com/hashicorp/consul-template";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "consul-template";
-        rev = "v0.7.0";
-        sha256 = "0xaym2mi8j3hw1waplhqfypnxv32fi81xxx3clfzk0a6bjmaihfx";
-      };
-    }
-    {
-      root = "github.com/hashicorp/go-checkpoint";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "go-checkpoint";
-        rev = "88326f6851319068e7b34981032128c0b1a6524d";
-        sha256 = "1npasn9lmvx57nw3wkswwvl5k0wmn01jpalbwv832x5wq4r0nsz4";
-      };
-    }
-    {
-      root = "github.com/hashicorp/go-msgpack";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "go-msgpack";
-        rev = "71c2886f5a673a35f909803f38ece5810165097b";
-        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
-      };
-    }
-    {
-      root = "github.com/hashicorp/go-syslog";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "go-syslog";
-        rev = "42a2b573b664dbf281bd48c3cc12c086b17a39ba";
-        sha256 = "1j53m2wjyczm9m55znfycdvm4c8vfniqgk93dvzwy8vpj5gm6sb3";
-      };
-    }
-    {
-      root = "github.com/hashicorp/golang-lru";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "golang-lru";
-        rev = "f09f965649501e2ac1b0c310c632a7bebdbdc1d4";
-        sha256 = "0yjnmk2d2x0kqvkg1sdfkl3jr408yl76rpyqzkkbpkvdcjrz554c";
-      };
-    }
-    {
-      root = "github.com/hashicorp/hcl";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "hcl";
-        rev = "513e04c400ee2e81e97f5e011c08fb42c6f69b84";
-        sha256 = "041js0k8bj7qsgr79p207m6r3nkpw7839gq31747618sap6w3g8c";
-      };
-    }
-    {
-      root = "github.com/hashicorp/logutils";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "logutils";
-        rev = "23b0af5510a2d1442103ef83ffcf53eb82f3debc";
-        sha256 = "018bfknmc2qdk0br1ri6dgd45sx308j3qd77sxnzxsyaivw1mm0d";
-      };
-    }
-    {
-      root = "github.com/hashicorp/memberlist";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "memberlist";
-        rev = "3d05e25e06bbb9e2b0e0afbd0b1c7dcebdd29cab";
-        sha256 = "1pjknjfvbs692y6laizgd4fmd4pqn039vvnmnag7q362mrpf5aj4";
-      };
-    }
-    {
-      root = "github.com/hashicorp/net-rpc-msgpackrpc";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "net-rpc-msgpackrpc";
-        rev = "d377902b7aba83dd3895837b902f6cf3f71edcb2";
-        sha256 = "05q8qlf42ygafcp8zdyx7y7kv9vpjrxnp8ak4qcszz9kgl2cg969";
-      };
-    }
-    {
-      root = "github.com/hashicorp/raft";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "raft";
-        rev = "a88bfa8385bc52c1f25d0fc02d1b55a2708d04ab";
-        sha256 = "02kr7919m6iv7l26wnihalfi4lydz886j6x75a53vgchdcsbv7ai";
-      };
-    }
-    {
-      root = "github.com/hashicorp/raft-mdb";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "raft-mdb";
-        rev = "4ec3694ffbc74d34f7532e70ef2e9c3546a0c0b0";
-        sha256 = "15l4n6zygwn3h118m2945h9jxkryaxxcgy8xij2rxjhzrzpfyj3i";
-      };
-    }
-    {
-      root = "github.com/hashicorp/scada-client";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "scada-client";
-        rev = "c26580cfe35393f6f4bf1b9ba55e6afe33176bae";
-        sha256 = "0s8xg49fa7d2d0vv8pi37f43rjrgkb7w6x6ydkikz1v8ccg05p3b";
-      };
-    }
-    {
-      root = "github.com/hashicorp/serf";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "serf";
-        rev = "f1fd5030d6a55d3edc6916d2ba58e933c21314de";
-        sha256 = "0w84iw255aray7acasacwn8njm36aqbxiyalnjqwfsn0pwfjla0b";
-      };
-    }
-    {
-      root = "github.com/hashicorp/terraform";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "terraform";
-        rev = "v0.3.7";
-        sha256 = "04cs6sjwysg95l5cfsmnpnx3d126bv86qbkg91gj8h98knk5bs6z";
-      };
-    }
-    {
-      root = "github.com/hashicorp/yamux";
-      src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "yamux";
-        rev = "b4f943b3f25da97dec8e26bee1c3269019de070d";
-        sha256 = "18ivpiix006f0g085a11gra8z0n6bq344rrgc5rphn7nmnghqchz";
-      };
-    }
-    {
-      root = "github.com/inconshreveable/muxado";
-      src = fetchFromGitHub {
-        owner = "inconshreveable";
-        repo = "muxado";
-        rev = "f693c7e88ba316d1a0ae3e205e22a01aa3ec2848";
-        sha256 = "1vgiwwxhgx9c899f6ikvrs0w6vfsnypzalcqyr0mqm2w816r9hhs";
-      };
-    }
-    {
-      root = "github.com/matttproud/golang_protobuf_extensions";
-      src = fetchFromGitHub {
-        owner = "matttproud";
-        repo = "golang_protobuf_extensions";
-        rev = "ba7d65ac66e9da93a714ca18f6d1bc7a0c09100c";
-        sha256 = "1vz6zj94v90x8mv9h6qfp1211kmzn60ri5qh7p9fzpjkhga5k936";
-      };
-    }
-    {
-      root = "github.com/miekg/dns";
-      src = fetchFromGitHub {
-        owner = "miekg";
-        repo = "dns";
-        rev = "6427527bba3ea8fdf2b56fba43d20d1e3e76336d";
-        sha256 = "1zszpn44kak4cs5lmy9i7sslizqngldgb0ixn0la9x9gxf16h9zn";
-      };
-    }
-    {
-      root = "github.com/mitchellh/cli";
-      src = fetchFromGitHub {
-        owner = "mitchellh";
-        repo = "cli";
-        rev = "e3c2e3d39391e9beb9660ccd6b4bd9a2f38dd8a0";
-        sha256 = "1fwf7wmlhri19bl2yyjd4zlgndgwwqrdry45clpszzjsr8b5wfgm";
-      };
-    }
-    {
-      root = "github.com/mitchellh/mapstructure";
-      src = fetchFromGitHub {
-        owner = "mitchellh";
-        repo = "mapstructure";
-        rev = "442e588f213303bec7936deba67901f8fc8f18b1";
-        sha256 = "076svhy5jlnw4jykm3dsrx2dswifajrpr7d09mz9y6g3lg901rqd";
-      };
-    }
-    {
-      root = "github.com/prometheus/client_golang";
-      src = fetchFromGitHub {
-        owner = "prometheus";
-        repo = "client_golang";
-        rev = "0.2.0";
-        sha256 = "0iq2hlmdazwmpjq2k9gvpv2zprzxzmyzsc89c2kalrwl52ksg250";
-      };
-    }
-    {
-      root = "github.com/prometheus/client_model";
-      src = fetchFromGitHub {
-        owner = "prometheus";
-        repo = "client_model";
-        rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6";
-        sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9";
-      };
-    }
-    {
-      root = "github.com/prometheus/procfs";
-      src = fetchFromGitHub {
-        owner = "prometheus";
-        repo = "procfs";
-        rev = "6c34ef819e19b4e16f410100ace4aa006f0e3bf8";
-        sha256 = "1n48jhx50bhnjznxds4nmz04digbbbbjq3hkvvl29js1grylda0i";
-      };
-    }
-    {
-      root = "github.com/ryanuber/columnize";
-      src = fetchFromGitHub {
-        owner = "ryanuber";
-        repo = "columnize";
-        rev = "v2.0.1";
-        sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f";
-      };
-    }
-    {
-      root = "github.com/ugorji/go";
-      src = fetchFromGitHub {
-        owner = "ugorji";
-        repo = "go";
-        rev = "c8676e5e9db1226325ca0ed7771633fb0109878b";
-        sha256 = "18r1iajmc9a461kx0pz3lpv91lzlfg93cjw0k0j7ffk6901m0084";
-      };
-    }
-  ];
-
-in
-
-stdenv.mkDerivation rec {
-  name = "go-deps";
-
-  buildCommand =
-    lib.concatStrings
-      (map (dep: ''
-              mkdir -p $out/src/`dirname ${dep.root}`
-              ln -s ${dep.src} $out/src/${dep.root}
-            '') goDeps);
-}
diff --git a/pkgs/servers/consul/gemset.nix b/pkgs/servers/consul/gemset.nix
index bf417f8c411c..f87038775be7 100644
--- a/pkgs/servers/consul/gemset.nix
+++ b/pkgs/servers/consul/gemset.nix
@@ -1,23 +1,23 @@
 {
   execjs = {
-    version = "2.0.2";
+    version = "2.3.0";
     source = {
       type = "gem";
-      sha256 = "167kbkyql7nvvwjsgdw5z8j66ngq7kc59gxfwsxhqi5fl1z0jbjs";
+      sha256 = "097v02bhmzc70j7n0yyf8j0z5wms88zcmgpmggby4hnvqxf41y1h";
     };
   };
   json = {
-    version = "1.8.1";
+    version = "1.8.2";
     source = {
       type = "gem";
-      sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn";
+      sha256 = "0zzvv25vjikavd3b1bp6lvbgj23vv9jvmnl4vpim8pv30z8p6vr5";
     };
   };
   libv8 = {
-    version = "3.16.14.3";
+    version = "3.16.14.11";
     source = {
       type = "gem";
-      sha256 = "1arjjbmr9zxkyv6pdrihsz1p5cadzmx8308vgfvrhm380ccgridm";
+      sha256 = "000vbiy78wk5r1f6p7qncab8ldg7qw5pjz7bchn3lw700gpaacxp";
     };
   };
   ref = {
@@ -28,10 +28,10 @@
     };
   };
   sass = {
-    version = "3.3.6";
+    version = "3.4.11";
     source = {
       type = "gem";
-      sha256 = "0ra0kxx52cgyrq6db7a1vysk984ilshbx40bcf527k8b3fha6k5r";
+      sha256 = "10dncnv7g5v8d1xpw2aaarxjjlm68f7nm02ns2kl8nf3yxi6wzdf";
     };
   };
   therubyracer = {
@@ -46,10 +46,10 @@
     ];
   };
   uglifier = {
-    version = "2.5.0";
+    version = "2.7.0";
     source = {
       type = "gem";
-      sha256 = "0b9kxgyg8cv3g1bp6casndfzfy71jd9xyjxwng0lj90vzqrgjp20";
+      sha256 = "1x1mnakx086l83a3alj690c6n8kfmb4bk243a6m6yz99s15gbxfq";
     };
     dependencies = [
       "execjs"
diff --git a/pkgs/servers/consul/template.nix b/pkgs/servers/consul/template.nix
deleted file mode 100644
index 59ca524b51e3..000000000000
--- a/pkgs/servers/consul/template.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  name = "consul-template-${version}";
-  version = "0.7.0";
-
-  src = import ./deps.nix {
-    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
-  };
-
-  buildInputs = [ go ];
-
-  buildPhase = ''
-    GOPATH=$src go build -v -o consul-template github.com/hashicorp/consul-template
-  '';
-
-  installPhase = ''
-    # Fix references to go-deps in the binary
-    hash=$(echo $src | sed 's,.*/\([^/-]*\).*,\1,g')
-    xs=$(printf 'x%.0s' $(seq 2 $(echo $hash | wc -c)))
-    sed -i "s,$hash,$xs,g" consul-template
-
-    mkdir -p $out/bin
-    cp consul-template $out/bin
-  '';
-
-  meta = with lib; {
-    description = "Generic template rendering and notifications with Consul";
-    homepage = https://github.com/hashicorp/consul-template;
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ puffnfresh wkennington ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/consul/ui.nix b/pkgs/servers/consul/ui.nix
new file mode 100644
index 000000000000..2aaa7b4a1319
--- /dev/null
+++ b/pkgs/servers/consul/ui.nix
@@ -0,0 +1,39 @@
+{ stdenv, goPackages, ruby, bundlerEnv }:
+
+let
+  # `sass` et al
+  gems = bundlerEnv {
+    name = "consul-ui-deps";
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    gemset = ./gemset.nix;
+  };
+in
+
+stdenv.mkDerivation {
+  name = "consul-ui-${goPackages.consul.rev}";
+
+  src = goPackages.consul.src;
+
+  buildInputs = [ ruby gems ];
+
+  buildPhase = ''
+    # Build ui static files
+    cd ui
+    make dist
+  '';
+
+  installPhase = ''
+    # Install ui static files
+    mkdir -p $out
+    mv dist/* $out
+  '';
+
+  meta = with stdenv.lib; {
+    homepage    = http://www.consul.io/;
+    description = "A tool for service discovery, monitoring and configuration";
+    maintainers = with maintainers; [ cstrahan wkennington ];
+    license     = licenses.mpl20 ;
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/dico/default.nix b/pkgs/servers/dico/default.nix
index f345fe71a34f..f898034719f3 100644
--- a/pkgs/servers/dico/default.nix
+++ b/pkgs/servers/dico/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Flexible dictionary server and client implementing RFC 2229";
     homepage    = http://www.gnu.org/software/dico/;
-    license     = "GPLv3+";
+    license     = licenses.gpl3Plus;
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
 
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index fbfa2d8d9b7d..c44f507f2ead 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, openssl, libtool, perl, libxml2 }:
 
-let version = "9.10.2"; in
+let version = "9.10.3"; in
 
 stdenv.mkDerivation rec {
   name = "bind-${version}";
 
   src = fetchurl {
     url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
-    sha256 = "163s8pvqj4lyryvfzkc6acbys7gw1by5dqwilggiwp54ia8bg6vg";
+    sha256 = "1w4gp4hdkb452nmz91l413d1rx89isl2l6wv8kpbdd2afpc3phws";
   };
 
   patchPhase = ''
diff --git a/pkgs/servers/dns/mesos-dns/default.nix b/pkgs/servers/dns/mesos-dns/default.nix
deleted file mode 100644
index bf672aa89d84..000000000000
--- a/pkgs/servers/dns/mesos-dns/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, goPackages, fetchFromGitHub }:
-
-with goPackages;
-
-buildGoPackage rec {
-  name = "mesos-dns-${version}";
-  version = "0.1";
-
-  goPackagePath = "github.com/mesosphere/mesos-dns";
-
-  src = fetchFromGitHub {
-    owner = "mesosphere";
-    repo = "mesos-dns";
-    rev = "f37051fc5a723eb021797e7d57d92755c011a28e";
-    sha256 = "0djzd4zdpr4dcp56rqprncan6pcff6gy4wxi9572fmni2ldj4l15";
-  };
-
-  # Avoid including the benchmarking test helper in the output:
-  subPackages = [ "." ];
-
-  buildInputs = with goPackages; [ go dns ];
-  dontInstallSrc = true;
-
-  meta = with lib; {
-    description = "DNS-based service discovery for Mesos clusters";
-    homepage = https://github.com/mesosphere/mesos-dns;
-    license = licenses.apsl20;
-    maintainers = with maintainers; [ benley ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index a6bb4171934f..218c7dc73f18 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -13,11 +13,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nsd-4.1.1";
+  name = "nsd-4.1.3";
 
   src = fetchurl {
     url = "http://www.nlnetlabs.nl/downloads/nsd/${name}.tar.gz";
-    sha256 = "b0c3fab40ac7a8b5ffca642bc9e1b424aa72aebd03adf13a1f24ab4874734640";
+    sha256 = "1r8p5lqj7i6xi4k04jr1n9r1p8gwy3547hzsi8xags6krnav4z09";
   };
 
   buildInputs = [ libevent openssl ];
diff --git a/pkgs/servers/dns/skydns/default.nix b/pkgs/servers/dns/skydns/default.nix
deleted file mode 100644
index 6536ad972b74..000000000000
--- a/pkgs/servers/dns/skydns/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, goPackages, fetchFromGitHub, etcd }:
-
-with goPackages;
-
-buildGoPackage rec {
-  name = "skydns-${version}";
-  version = "2.1.0a";
-
-  goPackagePath = "github.com/skynetservices/skydns";
-
-  src = fetchFromGitHub {
-    owner = "skynetservices";
-    repo = "skydns";
-    rev = "f5141ee69309fb4c542d5a0b50fc7616370c5c06";
-    sha256 = "1bnc9r22kwvmn1bgz7zaidkjqm7pmw99bn5n87r76vcrd7n2a9pd";
-  };
-
-  buildInputs = with goPackages; [ go-etcd rcrowley.go-metrics influxdb-go go-systemd go-log dns stathat osext etcd ];
-  dontInstallSrc = true;
-
-  subPackages = [ "." ];
-
-  meta = with lib; {
-    description = "DNS service discovery for etcd";
-    homepage = https://github.com/skynetservices/skydns;
-    license = licenses.mit;
-    maintainers = with maintainers; [ offline ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/dnschain/default.nix b/pkgs/servers/dnschain/default.nix
new file mode 100644
index 000000000000..b1714101856a
--- /dev/null
+++ b/pkgs/servers/dnschain/default.nix
@@ -0,0 +1,11 @@
+{ stdenv, nodePackages }:
+
+# to update dnschain, run npm2nix package.json package.nix, and
+# then add "coffee-script" manually as a dependecy for "dnschain"
+# in package.nix.
+
+let
+  np = nodePackages.override { generated = ./package.nix; self = np; };
+in
+
+np.dnschain
diff --git a/pkgs/servers/dnschain/package.json b/pkgs/servers/dnschain/package.json
new file mode 100644
index 000000000000..fda40c8a90a6
--- /dev/null
+++ b/pkgs/servers/dnschain/package.json
@@ -0,0 +1,3 @@
+[ "dnschain"
+, "coffee-script"
+]
diff --git a/pkgs/servers/dnschain/package.nix b/pkgs/servers/dnschain/package.nix
new file mode 100644
index 000000000000..8077cb0f01f4
--- /dev/null
+++ b/pkgs/servers/dnschain/package.nix
@@ -0,0 +1,2200 @@
+{ self, fetchurl, fetchgit ? null, lib }:
+
+{
+  by-spec."accepts"."~1.2.3" =
+    self.by-version."accepts"."1.2.13";
+  by-version."accepts"."1.2.13" = self.buildNodePackage {
+    name = "accepts-1.2.13";
+    version = "1.2.13";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz";
+      name = "accepts-1.2.13.tgz";
+      sha1 = "e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea";
+    };
+    deps = {
+      "mime-types-2.1.6" = self.by-version."mime-types"."2.1.6";
+      "negotiator-0.5.3" = self.by-version."negotiator"."0.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."async"."0.2.x" =
+    self.by-version."async"."0.2.10";
+  by-version."async"."0.2.10" = self.buildNodePackage {
+    name = "async-0.2.10";
+    version = "0.2.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
+      name = "async-0.2.10.tgz";
+      sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."async"."~0.9.0" =
+    self.by-version."async"."0.9.2";
+  by-version."async"."0.9.2" = self.buildNodePackage {
+    name = "async-0.9.2";
+    version = "0.9.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.9.2.tgz";
+      name = "async-0.9.2.tgz";
+      sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."better-curry"."1.x.x" =
+    self.by-version."better-curry"."1.6.0";
+  by-version."better-curry"."1.6.0" = self.buildNodePackage {
+    name = "better-curry-1.6.0";
+    version = "1.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/better-curry/-/better-curry-1.6.0.tgz";
+      name = "better-curry-1.6.0.tgz";
+      sha1 = "38f716b24c8cee07a262abc41c22c314e20e3869";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."binaryheap".">= 0.0.3" =
+    self.by-version."binaryheap"."0.0.3";
+  by-version."binaryheap"."0.0.3" = self.buildNodePackage {
+    name = "binaryheap-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/binaryheap/-/binaryheap-0.0.3.tgz";
+      name = "binaryheap-0.0.3.tgz";
+      sha1 = "0d6136c84e9f1a5a90c0b97178c3e00df59820d6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bindings"."*" =
+    self.by-version."bindings"."1.2.1";
+  by-version."bindings"."1.2.1" = self.buildNodePackage {
+    name = "bindings-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
+      name = "bindings-1.2.1.tgz";
+      sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bluebird"."2.9.9" =
+    self.by-version."bluebird"."2.9.9";
+  by-version."bluebird"."2.9.9" = self.buildNodePackage {
+    name = "bluebird-2.9.9";
+    version = "2.9.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bluebird/-/bluebird-2.9.9.tgz";
+      name = "bluebird-2.9.9.tgz";
+      sha1 = "61a26904d43d7f6b19dff7ed917dbc92452ad6d3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bottleneck"."1.5.x" =
+    self.by-version."bottleneck"."1.5.3";
+  by-version."bottleneck"."1.5.3" = self.buildNodePackage {
+    name = "bottleneck-1.5.3";
+    version = "1.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bottleneck/-/bottleneck-1.5.3.tgz";
+      name = "bottleneck-1.5.3.tgz";
+      sha1 = "55fa64920d9670087d44150404525d59f9511c20";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."buffercursor".">= 0.0.12" =
+    self.by-version."buffercursor"."0.0.12";
+  by-version."buffercursor"."0.0.12" = self.buildNodePackage {
+    name = "buffercursor-0.0.12";
+    version = "0.0.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffercursor/-/buffercursor-0.0.12.tgz";
+      name = "buffercursor-0.0.12.tgz";
+      sha1 = "78a9a7f4343ae7d820a8999acc80de591e25a779";
+    };
+    deps = {
+      "verror-1.6.0" = self.by-version."verror"."1.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."buffercursor".">= 0.0.5" =
+    self.by-version."buffercursor"."0.0.12";
+  by-spec."coffee-script"."*" =
+    self.by-version."coffee-script"."1.10.0";
+  by-version."coffee-script"."1.10.0" = self.buildNodePackage {
+    name = "coffee-script-1.10.0";
+    version = "1.10.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz";
+      name = "coffee-script-1.10.0.tgz";
+      sha1 = "12938bcf9be1948fa006f92e0c4c9e81705108c0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "coffee-script" = self.by-version."coffee-script"."1.10.0";
+  by-spec."colors"."0.6.x" =
+    self.by-version."colors"."0.6.2";
+  by-version."colors"."0.6.2" = self.buildNodePackage {
+    name = "colors-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+      name = "colors-0.6.2.tgz";
+      sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."combined-stream"."~0.0.4" =
+    self.by-version."combined-stream"."0.0.7";
+  by-version."combined-stream"."0.0.7" = self.buildNodePackage {
+    name = "combined-stream-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
+      name = "combined-stream-0.0.7.tgz";
+      sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
+    };
+    deps = {
+      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."component-emitter"."1.1.2" =
+    self.by-version."component-emitter"."1.1.2";
+  by-version."component-emitter"."1.1.2" = self.buildNodePackage {
+    name = "component-emitter-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
+      name = "component-emitter-1.1.2.tgz";
+      sha1 = "296594f2753daa63996d2af08d15a95116c9aec3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."content-disposition"."0.5.0" =
+    self.by-version."content-disposition"."0.5.0";
+  by-version."content-disposition"."0.5.0" = self.buildNodePackage {
+    name = "content-disposition-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz";
+      name = "content-disposition-0.5.0.tgz";
+      sha1 = "4284fe6ae0630874639e44e80a418c2934135e9e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie"."0.1.2" =
+    self.by-version."cookie"."0.1.2";
+  by-version."cookie"."0.1.2" = self.buildNodePackage {
+    name = "cookie-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+      name = "cookie-0.1.2.tgz";
+      sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie-signature"."1.0.5" =
+    self.by-version."cookie-signature"."1.0.5";
+  by-version."cookie-signature"."1.0.5" = self.buildNodePackage {
+    name = "cookie-signature-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz";
+      name = "cookie-signature-1.0.5.tgz";
+      sha1 = "a122e3f1503eca0f5355795b0711bb2368d450f9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookiejar"."2.0.1" =
+    self.by-version."cookiejar"."2.0.1";
+  by-version."cookiejar"."2.0.1" = self.buildNodePackage {
+    name = "cookiejar-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookiejar/-/cookiejar-2.0.1.tgz";
+      name = "cookiejar-2.0.1.tgz";
+      sha1 = "3d12752f6adf68a892f332433492bd5812bb668f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."core-util-is"."~1.0.0" =
+    self.by-version."core-util-is"."1.0.1";
+  by-version."core-util-is"."1.0.1" = self.buildNodePackage {
+    name = "core-util-is-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
+      name = "core-util-is-1.0.1.tgz";
+      sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."crc"."3.2.1" =
+    self.by-version."crc"."3.2.1";
+  by-version."crc"."3.2.1" = self.buildNodePackage {
+    name = "crc-3.2.1";
+    version = "3.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/crc/-/crc-3.2.1.tgz";
+      name = "crc-3.2.1.tgz";
+      sha1 = "5d9c8fb77a245cd5eca291e5d2d005334bab0082";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cycle"."1.0.x" =
+    self.by-version."cycle"."1.0.3";
+  by-version."cycle"."1.0.3" = self.buildNodePackage {
+    name = "cycle-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
+      name = "cycle-1.0.3.tgz";
+      sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."1.x.x" =
+    self.by-version."debug"."1.0.4";
+  by-version."debug"."1.0.4" = self.buildNodePackage {
+    name = "debug-1.0.4";
+    version = "1.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
+      name = "debug-1.0.4.tgz";
+      sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+    };
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."2" =
+    self.by-version."debug"."2.2.0";
+  by-version."debug"."2.2.0" = self.buildNodePackage {
+    name = "debug-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
+      name = "debug-2.2.0.tgz";
+      sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
+    };
+    deps = {
+      "ms-0.7.1" = self.by-version."ms"."0.7.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."~2.1.1" =
+    self.by-version."debug"."2.1.3";
+  by-version."debug"."2.1.3" = self.buildNodePackage {
+    name = "debug-2.1.3";
+    version = "2.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-2.1.3.tgz";
+      name = "debug-2.1.3.tgz";
+      sha1 = "ce8ab1b5ee8fbee2bfa3b633cab93d366b63418e";
+    };
+    deps = {
+      "ms-0.7.0" = self.by-version."ms"."0.7.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."delayed-stream"."0.0.5" =
+    self.by-version."delayed-stream"."0.0.5";
+  by-version."delayed-stream"."0.0.5" = self.buildNodePackage {
+    name = "delayed-stream-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+      name = "delayed-stream-0.0.5.tgz";
+      sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."depd"."~1.0.0" =
+    self.by-version."depd"."1.0.1";
+  by-version."depd"."1.0.1" = self.buildNodePackage {
+    name = "depd-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/depd/-/depd-1.0.1.tgz";
+      name = "depd-1.0.1.tgz";
+      sha1 = "80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."destroy"."1.0.3" =
+    self.by-version."destroy"."1.0.3";
+  by-version."destroy"."1.0.3" = self.buildNodePackage {
+    name = "destroy-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+      name = "destroy-1.0.3.tgz";
+      sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dnschain"."*" =
+    self.by-version."dnschain"."0.5.3";
+  by-version."dnschain"."0.5.3" = self.buildNodePackage {
+    name = "dnschain-0.5.3";
+    version = "0.5.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dnschain/-/dnschain-0.5.3.tgz";
+      name = "dnschain-0.5.3.tgz";
+      sha1 = "9b21d9ac5e203295f372ac37df470e9f0854c470";
+    };
+    deps = {
+      "bluebird-2.9.9" = self.by-version."bluebird"."2.9.9";
+      "bottleneck-1.5.3" = self.by-version."bottleneck"."1.5.3";
+      "event-stream-3.2.2" = self.by-version."event-stream"."3.2.2";
+      "express-4.11.2" = self.by-version."express"."4.11.2";
+      "hiredis-0.4.1" = self.by-version."hiredis"."0.4.1";
+      "json-rpc2-0.8.1" = self.by-version."json-rpc2"."0.8.1";
+      "lodash-3.1.0" = self.by-version."lodash"."3.1.0";
+      "native-dns-0.6.1" = self.by-version."native-dns"."0.6.1";
+      "native-dns-packet-0.1.1" = self.by-version."native-dns-packet"."0.1.1";
+      "nconf-0.7.1" = self.by-version."nconf"."0.7.1";
+      "properties-1.2.1" = self.by-version."properties"."1.2.1";
+      "redis-0.12.1" = self.by-version."redis"."0.12.1";
+      "string-2.0.1" = self.by-version."string"."2.0.1";
+      "winston-0.8.0" = self.by-version."winston"."0.8.0";
+      "superagent-0.21.0" = self.by-version."superagent"."0.21.0";
+      "coffee-script-1.10.0" = self.by-version."coffee-script"."1.10.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "dnschain" = self.by-version."dnschain"."0.5.3";
+  by-spec."duplexer"."~0.1.1" =
+    self.by-version."duplexer"."0.1.1";
+  by-version."duplexer"."0.1.1" = self.buildNodePackage {
+    name = "duplexer-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
+      name = "duplexer-0.1.1.tgz";
+      sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ee-first"."1.1.0" =
+    self.by-version."ee-first"."1.1.0";
+  by-version."ee-first"."1.1.0" = self.buildNodePackage {
+    name = "ee-first-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz";
+      name = "ee-first-1.1.0.tgz";
+      sha1 = "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."es5class"."2.x.x" =
+    self.by-version."es5class"."2.3.1";
+  by-version."es5class"."2.3.1" = self.buildNodePackage {
+    name = "es5class-2.3.1";
+    version = "2.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/es5class/-/es5class-2.3.1.tgz";
+      name = "es5class-2.3.1.tgz";
+      sha1 = "42c5c18a9016bcb0db28a4d340ebb831f55d1b66";
+    };
+    deps = {
+      "better-curry-1.6.0" = self.by-version."better-curry"."1.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escape-html"."1.0.1" =
+    self.by-version."escape-html"."1.0.1";
+  by-version."escape-html"."1.0.1" = self.buildNodePackage {
+    name = "escape-html-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+      name = "escape-html-1.0.1.tgz";
+      sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."etag"."~1.5.1" =
+    self.by-version."etag"."1.5.1";
+  by-version."etag"."1.5.1" = self.buildNodePackage {
+    name = "etag-1.5.1";
+    version = "1.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/etag/-/etag-1.5.1.tgz";
+      name = "etag-1.5.1.tgz";
+      sha1 = "54c50de04ee42695562925ac566588291be7e9ea";
+    };
+    deps = {
+      "crc-3.2.1" = self.by-version."crc"."3.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."event-stream"."3.2.2" =
+    self.by-version."event-stream"."3.2.2";
+  by-version."event-stream"."3.2.2" = self.buildNodePackage {
+    name = "event-stream-3.2.2";
+    version = "3.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/event-stream/-/event-stream-3.2.2.tgz";
+      name = "event-stream-3.2.2.tgz";
+      sha1 = "f79f9984c07ee3fd9b44ffb3cd0422b13e24084d";
+    };
+    deps = {
+      "through-2.3.8" = self.by-version."through"."2.3.8";
+      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
+      "from-0.1.3" = self.by-version."from"."0.1.3";
+      "map-stream-0.1.0" = self.by-version."map-stream"."0.1.0";
+      "pause-stream-0.0.11" = self.by-version."pause-stream"."0.0.11";
+      "split-0.3.3" = self.by-version."split"."0.3.3";
+      "stream-combiner-0.0.4" = self.by-version."stream-combiner"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."eventemitter3"."0.x.x" =
+    self.by-version."eventemitter3"."0.1.6";
+  by-version."eventemitter3"."0.1.6" = self.buildNodePackage {
+    name = "eventemitter3-0.1.6";
+    version = "0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/eventemitter3/-/eventemitter3-0.1.6.tgz";
+      name = "eventemitter3-0.1.6.tgz";
+      sha1 = "8c7ac44b87baab55cd50c828dc38778eac052ea5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express"."4.11.2" =
+    self.by-version."express"."4.11.2";
+  by-version."express"."4.11.2" = self.buildNodePackage {
+    name = "express-4.11.2";
+    version = "4.11.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-4.11.2.tgz";
+      name = "express-4.11.2.tgz";
+      sha1 = "8df3d5a9ac848585f00a0777601823faecd3b148";
+    };
+    deps = {
+      "accepts-1.2.13" = self.by-version."accepts"."1.2.13";
+      "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
+      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "depd-1.0.1" = self.by-version."depd"."1.0.1";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "finalhandler-0.3.3" = self.by-version."finalhandler"."0.3.3";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "methods-1.1.1" = self.by-version."methods"."1.1.1";
+      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
+      "proxy-addr-1.0.8" = self.by-version."proxy-addr"."1.0.8";
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.11.1" = self.by-version."send"."0.11.1";
+      "serve-static-1.8.1" = self.by-version."serve-static"."1.8.1";
+      "type-is-1.5.7" = self.by-version."type-is"."1.5.7";
+      "vary-1.0.1" = self.by-version."vary"."1.0.1";
+      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
+      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."extend"."~1.2.1" =
+    self.by-version."extend"."1.2.1";
+  by-version."extend"."1.2.1" = self.buildNodePackage {
+    name = "extend-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
+      name = "extend-1.2.1.tgz";
+      sha1 = "a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."extsprintf"."1.2.0" =
+    self.by-version."extsprintf"."1.2.0";
+  by-version."extsprintf"."1.2.0" = self.buildNodePackage {
+    name = "extsprintf-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz";
+      name = "extsprintf-1.2.0.tgz";
+      sha1 = "5ad946c22f5b32ba7f8cd7426711c6e8a3fc2529";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."eyes"."0.1.x" =
+    self.by-version."eyes"."0.1.8";
+  by-version."eyes"."0.1.8" = self.buildNodePackage {
+    name = "eyes-0.1.8";
+    version = "0.1.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
+      name = "eyes-0.1.8.tgz";
+      sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."faye-websocket"."0.x.x" =
+    self.by-version."faye-websocket"."0.10.0";
+  by-version."faye-websocket"."0.10.0" = self.buildNodePackage {
+    name = "faye-websocket-0.10.0";
+    version = "0.10.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz";
+      name = "faye-websocket-0.10.0.tgz";
+      sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
+    };
+    deps = {
+      "websocket-driver-0.6.2" = self.by-version."websocket-driver"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."finalhandler"."0.3.3" =
+    self.by-version."finalhandler"."0.3.3";
+  by-version."finalhandler"."0.3.3" = self.buildNodePackage {
+    name = "finalhandler-0.3.3";
+    version = "0.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.3.3.tgz";
+      name = "finalhandler-0.3.3.tgz";
+      sha1 = "b1a09aa1e6a607b3541669b09bcb727f460cd426";
+    };
+    deps = {
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."form-data"."0.1.3" =
+    self.by-version."form-data"."0.1.3";
+  by-version."form-data"."0.1.3" = self.buildNodePackage {
+    name = "form-data-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz";
+      name = "form-data-0.1.3.tgz";
+      sha1 = "4ee4346e6eb5362e8344a02075bd8dbd8c7373ea";
+    };
+    deps = {
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "async-0.9.2" = self.by-version."async"."0.9.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."formidable"."1.0.14" =
+    self.by-version."formidable"."1.0.14";
+  by-version."formidable"."1.0.14" = self.buildNodePackage {
+    name = "formidable-1.0.14";
+    version = "1.0.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
+      name = "formidable-1.0.14.tgz";
+      sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."forwarded"."~0.1.0" =
+    self.by-version."forwarded"."0.1.0";
+  by-version."forwarded"."0.1.0" = self.buildNodePackage {
+    name = "forwarded-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
+      name = "forwarded-0.1.0.tgz";
+      sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fresh"."0.2.4" =
+    self.by-version."fresh"."0.2.4";
+  by-version."fresh"."0.2.4" = self.buildNodePackage {
+    name = "fresh-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
+      name = "fresh-0.2.4.tgz";
+      sha1 = "3582499206c9723714190edd74b4604feb4a614c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."from"."~0" =
+    self.by-version."from"."0.1.3";
+  by-version."from"."0.1.3" = self.buildNodePackage {
+    name = "from-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/from/-/from-0.1.3.tgz";
+      name = "from-0.1.3.tgz";
+      sha1 = "ef63ac2062ac32acf7862e0d40b44b896f22f3bc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hiredis"."0.4.1" =
+    self.by-version."hiredis"."0.4.1";
+  by-version."hiredis"."0.4.1" = self.buildNodePackage {
+    name = "hiredis-0.4.1";
+    version = "0.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hiredis/-/hiredis-0.4.1.tgz";
+      name = "hiredis-0.4.1.tgz";
+      sha1 = "aab4dcfd0fc4cbdb219d268005f2335a3c639e8f";
+    };
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-2.0.8" = self.by-version."nan"."2.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inherits"."~2.0.1" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = self.buildNodePackage {
+    name = "inherits-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+      name = "inherits-2.0.1.tgz";
+      sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ini"."1.x.x" =
+    self.by-version."ini"."1.3.4";
+  by-version."ini"."1.3.4" = self.buildNodePackage {
+    name = "ini-1.3.4";
+    version = "1.3.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ini/-/ini-1.3.4.tgz";
+      name = "ini-1.3.4.tgz";
+      sha1 = "0537cb79daf59b59a1a517dff706c86ec039162e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ipaddr.js"."1.0.1" =
+    self.by-version."ipaddr.js"."1.0.1";
+  by-version."ipaddr.js"."1.0.1" = self.buildNodePackage {
+    name = "ipaddr.js-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.1.tgz";
+      name = "ipaddr.js-1.0.1.tgz";
+      sha1 = "5f38801dc73e0400fc7076386f6ed5215fbd8f95";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ipaddr.js".">= 0.1.1" =
+    self.by-version."ipaddr.js"."1.0.3";
+  by-version."ipaddr.js"."1.0.3" = self.buildNodePackage {
+    name = "ipaddr.js-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.3.tgz";
+      name = "ipaddr.js-1.0.3.tgz";
+      sha1 = "2a9df7be73ea92aadb0d7f377497decd8e6d01bb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."isarray"."0.0.1" =
+    self.by-version."isarray"."0.0.1";
+  by-version."isarray"."0.0.1" = self.buildNodePackage {
+    name = "isarray-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+      name = "isarray-0.0.1.tgz";
+      sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."json-rpc2"."0.8.1" =
+    self.by-version."json-rpc2"."0.8.1";
+  by-version."json-rpc2"."0.8.1" = self.buildNodePackage {
+    name = "json-rpc2-0.8.1";
+    version = "0.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json-rpc2/-/json-rpc2-0.8.1.tgz";
+      name = "json-rpc2-0.8.1.tgz";
+      sha1 = "efe8c9834605b556c488d1ed7bcf24ee381eeeb2";
+    };
+    deps = {
+      "jsonparse-0.0.6" = self.by-version."jsonparse"."0.0.6";
+      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
+      "es5class-2.3.1" = self.by-version."es5class"."2.3.1";
+      "faye-websocket-0.10.0" = self.by-version."faye-websocket"."0.10.0";
+      "eventemitter3-0.1.6" = self.by-version."eventemitter3"."0.1.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jsonparse"."0.x.x" =
+    self.by-version."jsonparse"."0.0.6";
+  by-version."jsonparse"."0.0.6" = self.buildNodePackage {
+    name = "jsonparse-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsonparse/-/jsonparse-0.0.6.tgz";
+      name = "jsonparse-0.0.6.tgz";
+      sha1 = "ab599f19324d4ae178fa21a930192ab11ab61a4e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash"."2.x.x" =
+    self.by-version."lodash"."2.4.2";
+  by-version."lodash"."2.4.2" = self.buildNodePackage {
+    name = "lodash-2.4.2";
+    version = "2.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz";
+      name = "lodash-2.4.2.tgz";
+      sha1 = "fadd834b9683073da179b3eae6d9c0d15053f73e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash"."3.1.0" =
+    self.by-version."lodash"."3.1.0";
+  by-version."lodash"."3.1.0" = self.buildNodePackage {
+    name = "lodash-3.1.0";
+    version = "3.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-3.1.0.tgz";
+      name = "lodash-3.1.0.tgz";
+      sha1 = "d41b8b33530cb3be088853208ad30092d2c27961";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."map-stream"."~0.1.0" =
+    self.by-version."map-stream"."0.1.0";
+  by-version."map-stream"."0.1.0" = self.buildNodePackage {
+    name = "map-stream-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz";
+      name = "map-stream-0.1.0.tgz";
+      sha1 = "e56aa94c4c8055a16404a0674b78f215f7c8e194";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."media-typer"."0.3.0" =
+    self.by-version."media-typer"."0.3.0";
+  by-version."media-typer"."0.3.0" = self.buildNodePackage {
+    name = "media-typer-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+      name = "media-typer-0.3.0.tgz";
+      sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."merge-descriptors"."0.0.2" =
+    self.by-version."merge-descriptors"."0.0.2";
+  by-version."merge-descriptors"."0.0.2" = self.buildNodePackage {
+    name = "merge-descriptors-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
+      name = "merge-descriptors-0.0.2.tgz";
+      sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."methods"."1.0.1" =
+    self.by-version."methods"."1.0.1";
+  by-version."methods"."1.0.1" = self.buildNodePackage {
+    name = "methods-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/methods/-/methods-1.0.1.tgz";
+      name = "methods-1.0.1.tgz";
+      sha1 = "75bc91943dffd7da037cf3eeb0ed73a0037cd14b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."methods"."~1.1.1" =
+    self.by-version."methods"."1.1.1";
+  by-version."methods"."1.1.1" = self.buildNodePackage {
+    name = "methods-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/methods/-/methods-1.1.1.tgz";
+      name = "methods-1.1.1.tgz";
+      sha1 = "17ea6366066d00c58e375b8ec7dfd0453c89822a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime"."1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = self.buildNodePackage {
+    name = "mime-1.2.11";
+    version = "1.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+      name = "mime-1.2.11.tgz";
+      sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime-db"."~1.12.0" =
+    self.by-version."mime-db"."1.12.0";
+  by-version."mime-db"."1.12.0" = self.buildNodePackage {
+    name = "mime-db-1.12.0";
+    version = "1.12.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz";
+      name = "mime-db-1.12.0.tgz";
+      sha1 = "3d0c63180f458eb10d325aaa37d7c58ae312e9d7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-db"."~1.18.0" =
+    self.by-version."mime-db"."1.18.0";
+  by-version."mime-db"."1.18.0" = self.buildNodePackage {
+    name = "mime-db-1.18.0";
+    version = "1.18.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.18.0.tgz";
+      name = "mime-db-1.18.0.tgz";
+      sha1 = "5317e28224c08af1d484f60973dd386ba8f389e0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-types"."~2.0.9" =
+    self.by-version."mime-types"."2.0.14";
+  by-version."mime-types"."2.0.14" = self.buildNodePackage {
+    name = "mime-types-2.0.14";
+    version = "2.0.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz";
+      name = "mime-types-2.0.14.tgz";
+      sha1 = "310e159db23e077f8bb22b748dabfa4957140aa6";
+    };
+    deps = {
+      "mime-db-1.12.0" = self.by-version."mime-db"."1.12.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-types"."~2.1.6" =
+    self.by-version."mime-types"."2.1.6";
+  by-version."mime-types"."2.1.6" = self.buildNodePackage {
+    name = "mime-types-2.1.6";
+    version = "2.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.1.6.tgz";
+      name = "mime-types-2.1.6.tgz";
+      sha1 = "949f8788411864ddc70948a0f21c43f29d25667c";
+    };
+    deps = {
+      "mime-db-1.18.0" = self.by-version."mime-db"."1.18.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimist"."~0.0.1" =
+    self.by-version."minimist"."0.0.10";
+  by-version."minimist"."0.0.10" = self.buildNodePackage {
+    name = "minimist-0.0.10";
+    version = "0.0.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
+      name = "minimist-0.0.10.tgz";
+      sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ms"."0.6.2" =
+    self.by-version."ms"."0.6.2";
+  by-version."ms"."0.6.2" = self.buildNodePackage {
+    name = "ms-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+      name = "ms-0.6.2.tgz";
+      sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ms"."0.7.0" =
+    self.by-version."ms"."0.7.0";
+  by-version."ms"."0.7.0" = self.buildNodePackage {
+    name = "ms-0.7.0";
+    version = "0.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ms/-/ms-0.7.0.tgz";
+      name = "ms-0.7.0.tgz";
+      sha1 = "865be94c2e7397ad8a57da6a633a6e2f30798b83";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ms"."0.7.1" =
+    self.by-version."ms"."0.7.1";
+  by-version."ms"."0.7.1" = self.buildNodePackage {
+    name = "ms-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
+      name = "ms-0.7.1.tgz";
+      sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nan"."^2.0.5" =
+    self.by-version."nan"."2.0.8";
+  by-version."nan"."2.0.8" = self.buildNodePackage {
+    name = "nan-2.0.8";
+    version = "2.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-2.0.8.tgz";
+      name = "nan-2.0.8.tgz";
+      sha1 = "c15fd99dd4cc323d1c2f94ac426313680e606392";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."native-dns"."git+https://github.com/okTurtles/node-dns.git#08433ec98f517eed3c6d5e47bdf62603539cd402" =
+    self.by-version."native-dns"."0.6.1";
+  by-version."native-dns"."0.6.1" = self.buildNodePackage {
+    name = "native-dns-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchgit {
+      url = "https://github.com/okTurtles/node-dns.git";
+      rev = "08433ec98f517eed3c6d5e47bdf62603539cd402";
+      sha256 = "9c3faf4d39fda7bb6dd52a82036625f37ed442d5e948d295acb2f055dd367080";
+    };
+    deps = {
+      "ipaddr.js-1.0.3" = self.by-version."ipaddr.js"."1.0.3";
+      "native-dns-cache-0.0.2" = self.by-version."native-dns-cache"."0.0.2";
+      "native-dns-packet-0.0.4" = self.by-version."native-dns-packet"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."native-dns-cache"."git+https://github.com/okTurtles/native-dns-cache.git#8714196bb9223cc9a4064a4fddf9e82ec50b7d4d" =
+    self.by-version."native-dns-cache"."0.0.2";
+  by-version."native-dns-cache"."0.0.2" = self.buildNodePackage {
+    name = "native-dns-cache-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchgit {
+      url = "https://github.com/okTurtles/native-dns-cache.git";
+      rev = "8714196bb9223cc9a4064a4fddf9e82ec50b7d4d";
+      sha256 = "3f06b2577afc3c1e428533baae3c51bad44a2e1e02fca147a1303943c214f841";
+    };
+    deps = {
+      "binaryheap-0.0.3" = self.by-version."binaryheap"."0.0.3";
+      "native-dns-packet-0.0.3" = self.by-version."native-dns-packet"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."native-dns-packet"."0.1.1" =
+    self.by-version."native-dns-packet"."0.1.1";
+  by-version."native-dns-packet"."0.1.1" = self.buildNodePackage {
+    name = "native-dns-packet-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/native-dns-packet/-/native-dns-packet-0.1.1.tgz";
+      name = "native-dns-packet-0.1.1.tgz";
+      sha1 = "97da90570b8438a00194701ce24d011fd3cc109a";
+    };
+    deps = {
+      "buffercursor-0.0.12" = self.by-version."buffercursor"."0.0.12";
+      "ipaddr.js-1.0.3" = self.by-version."ipaddr.js"."1.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."native-dns-packet"."git+https://github.com/okTurtles/native-dns-packet.git#307e77a47ebba57a5ae9118a284e916e5ebb305a" =
+    self.by-version."native-dns-packet"."0.0.3";
+  by-version."native-dns-packet"."0.0.3" = self.buildNodePackage {
+    name = "native-dns-packet-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchgit {
+      url = "https://github.com/okTurtles/native-dns-packet.git";
+      rev = "307e77a47ebba57a5ae9118a284e916e5ebb305a";
+      sha256 = "3ab023906deb8ee86bcb34c3e67e03cebeed1ba2dcb0b1d561c362ca995b0739";
+    };
+    deps = {
+      "buffercursor-0.0.12" = self.by-version."buffercursor"."0.0.12";
+      "ipaddr.js-1.0.3" = self.by-version."ipaddr.js"."1.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."native-dns-packet"."git+https://github.com/okTurtles/native-dns-packet.git#8bf2714c318cfe7d31bca2006385882ccbf503e4" =
+    self.by-version."native-dns-packet"."0.0.4";
+  by-version."native-dns-packet"."0.0.4" = self.buildNodePackage {
+    name = "native-dns-packet-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchgit {
+      url = "https://github.com/okTurtles/native-dns-packet.git";
+      rev = "8bf2714c318cfe7d31bca2006385882ccbf503e4";
+      sha256 = "2a5951696b4e514ab5dee36e4e5394781656a8e94c6aacba83b03f7e647f8df3";
+    };
+    deps = {
+      "buffercursor-0.0.12" = self.by-version."buffercursor"."0.0.12";
+      "ipaddr.js-1.0.3" = self.by-version."ipaddr.js"."1.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nconf"."0.7.1" =
+    self.by-version."nconf"."0.7.1";
+  by-version."nconf"."0.7.1" = self.buildNodePackage {
+    name = "nconf-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nconf/-/nconf-0.7.1.tgz";
+      name = "nconf-0.7.1.tgz";
+      sha1 = "ee4b561dd979a3c58db122e38f196d49d61aeb5b";
+    };
+    deps = {
+      "async-0.9.2" = self.by-version."async"."0.9.2";
+      "ini-1.3.4" = self.by-version."ini"."1.3.4";
+      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."negotiator"."0.5.3" =
+    self.by-version."negotiator"."0.5.3";
+  by-version."negotiator"."0.5.3" = self.buildNodePackage {
+    name = "negotiator-0.5.3";
+    version = "0.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz";
+      name = "negotiator-0.5.3.tgz";
+      sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."on-finished"."~2.2.0" =
+    self.by-version."on-finished"."2.2.1";
+  by-version."on-finished"."2.2.1" = self.buildNodePackage {
+    name = "on-finished-2.2.1";
+    version = "2.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz";
+      name = "on-finished-2.2.1.tgz";
+      sha1 = "5c85c1cc36299f78029653f667f27b6b99ebc029";
+    };
+    deps = {
+      "ee-first-1.1.0" = self.by-version."ee-first"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."optimist"."~0.6.0" =
+    self.by-version."optimist"."0.6.1";
+  by-version."optimist"."0.6.1" = self.buildNodePackage {
+    name = "optimist-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+      name = "optimist-0.6.1.tgz";
+      sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+    };
+    deps = {
+      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parseurl"."~1.3.0" =
+    self.by-version."parseurl"."1.3.0";
+  by-version."parseurl"."1.3.0" = self.buildNodePackage {
+    name = "parseurl-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
+      name = "parseurl-1.3.0.tgz";
+      sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."path-to-regexp"."0.1.3" =
+    self.by-version."path-to-regexp"."0.1.3";
+  by-version."path-to-regexp"."0.1.3" = self.buildNodePackage {
+    name = "path-to-regexp-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
+      name = "path-to-regexp-0.1.3.tgz";
+      sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pause-stream"."0.0.11" =
+    self.by-version."pause-stream"."0.0.11";
+  by-version."pause-stream"."0.0.11" = self.buildNodePackage {
+    name = "pause-stream-0.0.11";
+    version = "0.0.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz";
+      name = "pause-stream-0.0.11.tgz";
+      sha1 = "fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445";
+    };
+    deps = {
+      "through-2.3.8" = self.by-version."through"."2.3.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pkginfo"."0.3.x" =
+    self.by-version."pkginfo"."0.3.0";
+  by-version."pkginfo"."0.3.0" = self.buildNodePackage {
+    name = "pkginfo-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
+      name = "pkginfo-0.3.0.tgz";
+      sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."properties"."1.2.1" =
+    self.by-version."properties"."1.2.1";
+  by-version."properties"."1.2.1" = self.buildNodePackage {
+    name = "properties-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/properties/-/properties-1.2.1.tgz";
+      name = "properties-1.2.1.tgz";
+      sha1 = "0ee97a7fc020b1a2a55b8659eda4aa8d869094bd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."proxy-addr"."~1.0.6" =
+    self.by-version."proxy-addr"."1.0.8";
+  by-version."proxy-addr"."1.0.8" = self.buildNodePackage {
+    name = "proxy-addr-1.0.8";
+    version = "1.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.8.tgz";
+      name = "proxy-addr-1.0.8.tgz";
+      sha1 = "db54ec878bcc1053d57646609219b3715678bafe";
+    };
+    deps = {
+      "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
+      "ipaddr.js-1.0.1" = self.by-version."ipaddr.js"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."1.2.0" =
+    self.by-version."qs"."1.2.0";
+  by-version."qs"."1.2.0" = self.buildNodePackage {
+    name = "qs-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-1.2.0.tgz";
+      name = "qs-1.2.0.tgz";
+      sha1 = "ed079be28682147e6fd9a34cc2b0c1e0ec6453ee";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."2.3.3" =
+    self.by-version."qs"."2.3.3";
+  by-version."qs"."2.3.3" = self.buildNodePackage {
+    name = "qs-2.3.3";
+    version = "2.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-2.3.3.tgz";
+      name = "qs-2.3.3.tgz";
+      sha1 = "e9e85adbe75da0bbe4c8e0476a086290f863b404";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."range-parser"."~1.0.2" =
+    self.by-version."range-parser"."1.0.2";
+  by-version."range-parser"."1.0.2" = self.buildNodePackage {
+    name = "range-parser-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
+      name = "range-parser-1.0.2.tgz";
+      sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."readable-stream"."1.0.27-1" =
+    self.by-version."readable-stream"."1.0.27-1";
+  by-version."readable-stream"."1.0.27-1" = self.buildNodePackage {
+    name = "readable-stream-1.0.27-1";
+    version = "1.0.27-1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
+      name = "readable-stream-1.0.27-1.tgz";
+      sha1 = "6b67983c20357cefd07f0165001a16d710d91078";
+    };
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."redis"."0.12.x" =
+    self.by-version."redis"."0.12.1";
+  by-version."redis"."0.12.1" = self.buildNodePackage {
+    name = "redis-0.12.1";
+    version = "0.12.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/redis/-/redis-0.12.1.tgz";
+      name = "redis-0.12.1.tgz";
+      sha1 = "64df76ad0fc8acebaebd2a0645e8a48fac49185e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."reduce-component"."1.0.1" =
+    self.by-version."reduce-component"."1.0.1";
+  by-version."reduce-component"."1.0.1" = self.buildNodePackage {
+    name = "reduce-component-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
+      name = "reduce-component-1.0.1.tgz";
+      sha1 = "e0c93542c574521bea13df0f9488ed82ab77c5da";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."send"."0.11.1" =
+    self.by-version."send"."0.11.1";
+  by-version."send"."0.11.1" = self.buildNodePackage {
+    name = "send-0.11.1";
+    version = "0.11.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.11.1.tgz";
+      name = "send-0.11.1.tgz";
+      sha1 = "1beabfd42f9e2709f99028af3078ac12b47092d5";
+    };
+    deps = {
+      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "depd-1.0.1" = self.by-version."depd"."1.0.1";
+      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "ms-0.7.0" = self.by-version."ms"."0.7.0";
+      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-static"."~1.8.1" =
+    self.by-version."serve-static"."1.8.1";
+  by-version."serve-static"."1.8.1" = self.buildNodePackage {
+    name = "serve-static-1.8.1";
+    version = "1.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-static/-/serve-static-1.8.1.tgz";
+      name = "serve-static-1.8.1.tgz";
+      sha1 = "08fabd39999f050fc311443f46d5888a77ecfc7c";
+    };
+    deps = {
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "send-0.11.1" = self.by-version."send"."0.11.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."split"."0.3" =
+    self.by-version."split"."0.3.3";
+  by-version."split"."0.3.3" = self.buildNodePackage {
+    name = "split-0.3.3";
+    version = "0.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/split/-/split-0.3.3.tgz";
+      name = "split-0.3.3.tgz";
+      sha1 = "cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f";
+    };
+    deps = {
+      "through-2.3.8" = self.by-version."through"."2.3.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stack-trace"."0.0.x" =
+    self.by-version."stack-trace"."0.0.9";
+  by-version."stack-trace"."0.0.9" = self.buildNodePackage {
+    name = "stack-trace-0.0.9";
+    version = "0.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
+      name = "stack-trace-0.0.9.tgz";
+      sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stream-combiner"."~0.0.4" =
+    self.by-version."stream-combiner"."0.0.4";
+  by-version."stream-combiner"."0.0.4" = self.buildNodePackage {
+    name = "stream-combiner-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
+      name = "stream-combiner-0.0.4.tgz";
+      sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
+    };
+    deps = {
+      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."string"."2.0.1" =
+    self.by-version."string"."2.0.1";
+  by-version."string"."2.0.1" = self.buildNodePackage {
+    name = "string-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string/-/string-2.0.1.tgz";
+      name = "string-2.0.1.tgz";
+      sha1 = "ef1473b3e11cb8158671856556959b9aff5fd759";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."string_decoder"."~0.10.x" =
+    self.by-version."string_decoder"."0.10.31";
+  by-version."string_decoder"."0.10.31" = self.buildNodePackage {
+    name = "string_decoder-0.10.31";
+    version = "0.10.31";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+      name = "string_decoder-0.10.31.tgz";
+      sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."superagent"."0.21.0" =
+    self.by-version."superagent"."0.21.0";
+  by-version."superagent"."0.21.0" = self.buildNodePackage {
+    name = "superagent-0.21.0";
+    version = "0.21.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/superagent/-/superagent-0.21.0.tgz";
+      name = "superagent-0.21.0.tgz";
+      sha1 = "fb15027984751ee7152200e6cd21cd6e19a5de87";
+    };
+    deps = {
+      "qs-1.2.0" = self.by-version."qs"."1.2.0";
+      "formidable-1.0.14" = self.by-version."formidable"."1.0.14";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "methods-1.0.1" = self.by-version."methods"."1.0.1";
+      "cookiejar-2.0.1" = self.by-version."cookiejar"."2.0.1";
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "reduce-component-1.0.1" = self.by-version."reduce-component"."1.0.1";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+      "form-data-0.1.3" = self.by-version."form-data"."0.1.3";
+      "readable-stream-1.0.27-1" = self.by-version."readable-stream"."1.0.27-1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."through"."2" =
+    self.by-version."through"."2.3.8";
+  by-version."through"."2.3.8" = self.buildNodePackage {
+    name = "through-2.3.8";
+    version = "2.3.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/through/-/through-2.3.8.tgz";
+      name = "through-2.3.8.tgz";
+      sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."through"."~2.3" =
+    self.by-version."through"."2.3.8";
+  by-spec."through"."~2.3.1" =
+    self.by-version."through"."2.3.8";
+  by-spec."type-is"."~1.5.6" =
+    self.by-version."type-is"."1.5.7";
+  by-version."type-is"."1.5.7" = self.buildNodePackage {
+    name = "type-is-1.5.7";
+    version = "1.5.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/type-is/-/type-is-1.5.7.tgz";
+      name = "type-is-1.5.7.tgz";
+      sha1 = "b9368a593cc6ef7d0645e78b2f4c64cbecd05e90";
+    };
+    deps = {
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "mime-types-2.0.14" = self.by-version."mime-types"."2.0.14";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."utils-merge"."1.0.0" =
+    self.by-version."utils-merge"."1.0.0";
+  by-version."utils-merge"."1.0.0" = self.buildNodePackage {
+    name = "utils-merge-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+      name = "utils-merge-1.0.0.tgz";
+      sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."vary"."~1.0.0" =
+    self.by-version."vary"."1.0.1";
+  by-version."vary"."1.0.1" = self.buildNodePackage {
+    name = "vary-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vary/-/vary-1.0.1.tgz";
+      name = "vary-1.0.1.tgz";
+      sha1 = "99e4981566a286118dfb2b817357df7993376d10";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."verror"."^1.4.0" =
+    self.by-version."verror"."1.6.0";
+  by-version."verror"."1.6.0" = self.buildNodePackage {
+    name = "verror-1.6.0";
+    version = "1.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/verror/-/verror-1.6.0.tgz";
+      name = "verror-1.6.0.tgz";
+      sha1 = "7d13b27b1facc2e2da90405eb5ea6e5bdd252ea5";
+    };
+    deps = {
+      "extsprintf-1.2.0" = self.by-version."extsprintf"."1.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."websocket-driver".">=0.5.1" =
+    self.by-version."websocket-driver"."0.6.2";
+  by-version."websocket-driver"."0.6.2" = self.buildNodePackage {
+    name = "websocket-driver-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.2.tgz";
+      name = "websocket-driver-0.6.2.tgz";
+      sha1 = "8281dba3e299e5bd7a42b65d4577a8928c26f898";
+    };
+    deps = {
+      "websocket-extensions-0.1.1" = self.by-version."websocket-extensions"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."websocket-extensions".">=0.1.1" =
+    self.by-version."websocket-extensions"."0.1.1";
+  by-version."websocket-extensions"."0.1.1" = self.buildNodePackage {
+    name = "websocket-extensions-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz";
+      name = "websocket-extensions-0.1.1.tgz";
+      sha1 = "76899499c184b6ef754377c2dbb0cd6cb55d29e7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."winston"."0.8.0" =
+    self.by-version."winston"."0.8.0";
+  by-version."winston"."0.8.0" = self.buildNodePackage {
+    name = "winston-0.8.0";
+    version = "0.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/winston/-/winston-0.8.0.tgz";
+      name = "winston-0.8.0.tgz";
+      sha1 = "61d0830fa699706212206b0a2b5ca69a93043668";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
+      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."wordwrap"."~0.0.2" =
+    self.by-version."wordwrap"."0.0.3";
+  by-version."wordwrap"."0.0.3" = self.buildNodePackage {
+    name = "wordwrap-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
+      name = "wordwrap-0.0.3.tgz";
+      sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+}
diff --git a/pkgs/servers/etcd/default.nix b/pkgs/servers/etcd/default.nix
deleted file mode 100644
index 89ea70d46c53..000000000000
--- a/pkgs/servers/etcd/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, goPackages, fetchFromGitHub }:
-
-with goPackages;
-
-buildGoPackage rec {
-  version = "2.0.0";
-  name = "etcd-${version}";
-  goPackagePath = "github.com/coreos/etcd";
-  src = fetchFromGitHub {
-    owner = "coreos";
-    repo = "etcd";
-    rev = "v${version}";
-    sha256 = "1s3jilzlqyh2i81pv79cgap6dfj7qrfrwcv4w9lic5ivznz413vc";
-  };
-
-  subPackages = [ "./" ];
-
-  meta = with lib; {
-    description = "A highly-available key value store for shared configuration and service discovery";
-    homepage = http://coreos.com/using-coreos/etcd/;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ cstrahan ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/felix/default.nix b/pkgs/servers/felix/default.nix
index c1114232ea8f..17a50506fa92 100644
--- a/pkgs/servers/felix/default.nix
+++ b/pkgs/servers/felix/default.nix
@@ -13,10 +13,10 @@ stdenv.mkDerivation {
     mkdir -p $out
     cp -av * $out
   '';
-  meta = {
+  meta = with stdenv.lib; {
     description = "An OSGi gateway";
     homepage = http://felix.apache.org;
-    license = "ASF";
-    maintainers = [ stdenv.lib.maintainers.sander ];
+    license = licenses.asl20;
+    maintainers = [ maintainers.sander ];
   };
 }
diff --git a/pkgs/servers/ftp/vsftpd/CVE-2015-1419.patch b/pkgs/servers/ftp/vsftpd/CVE-2015-1419.patch
new file mode 100644
index 000000000000..0a6144395116
--- /dev/null
+++ b/pkgs/servers/ftp/vsftpd/CVE-2015-1419.patch
@@ -0,0 +1,104 @@
+Description: CVE-2015-1419: config option deny_file is not handled correctly
+Author: Marcus Meissner <meissner@suse.com>
+Origin: https://bugzilla.novell.com/show_bug.cgi?id=CVE-2015-1419
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776922
+Last-Update: 2015-02-24
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/ls.c
+===================================================================
+--- trunk.orig/ls.c
++++ trunk/ls.c
+@@ -7,6 +7,7 @@
+  * Would you believe, code to handle directory listing.
+  */
+ 
++#include <stdlib.h>
+ #include "ls.h"
+ #include "access.h"
+ #include "defs.h"
+@@ -243,11 +244,42 @@ vsf_filename_passes_filter(const struct
+   struct mystr temp_str = INIT_MYSTR;
+   struct mystr brace_list_str = INIT_MYSTR;
+   struct mystr new_filter_str = INIT_MYSTR;
++  struct mystr normalize_filename_str = INIT_MYSTR;
++  const char *normname;
++  const char *path;
+   int ret = 0;
+   char last_token = 0;
+   int must_match_at_current_pos = 1;
++
+   str_copy(&filter_remain_str, p_filter_str);
+-  str_copy(&name_remain_str, p_filename_str);
++
++  /* normalize filepath */
++  path = str_strdup(p_filename_str);
++  normname = realpath(path, NULL);
++  if (normname == NULL)
++     goto out;
++  str_alloc_text(&normalize_filename_str, normname);
++
++  if (!str_isempty (&filter_remain_str) && !str_isempty(&normalize_filename_str)) {
++    if (str_get_char_at(p_filter_str, 0) == '/') {
++      if (str_get_char_at(&normalize_filename_str, 0) != '/') {
++        str_getcwd (&name_remain_str);
++
++        if (str_getlen(&name_remain_str) > 1) /* cwd != root dir */
++          str_append_char (&name_remain_str, '/');
++
++        str_append_str (&name_remain_str, &normalize_filename_str);
++      }
++      else
++       str_copy (&name_remain_str, &normalize_filename_str);
++    } else {
++      if (str_get_char_at(p_filter_str, 0) != '{')
++        str_basename (&name_remain_str, &normalize_filename_str);
++      else
++        str_copy (&name_remain_str, &normalize_filename_str);
++    }
++  } else
++    str_copy(&name_remain_str, &normalize_filename_str);
+ 
+   while (!str_isempty(&filter_remain_str) && *iters < VSFTP_MATCHITERS_MAX)
+   {
+@@ -379,6 +411,9 @@ vsf_filename_passes_filter(const struct
+     ret = 0;
+   }
+ out:
++  free((char*) normname);
++  free((char*) path);
++  str_free(&normalize_filename_str);
+   str_free(&filter_remain_str);
+   str_free(&name_remain_str);
+   str_free(&temp_str);
+Index: trunk/str.c
+===================================================================
+--- trunk.orig/str.c
++++ trunk/str.c
+@@ -723,3 +723,14 @@ str_replace_unprintable(struct mystr* p_
+   }
+ }
+ 
++void
++str_basename (struct mystr* d_str, const struct mystr* path)
++{
++  static struct mystr tmp;
++
++  str_copy (&tmp, path);
++  str_split_char_reverse(&tmp, d_str, '/');
++
++  if (str_isempty(d_str))
++   str_copy (d_str, path);
++}
+Index: trunk/str.h
+===================================================================
+--- trunk.orig/str.h
++++ trunk/str.h
+@@ -101,6 +101,7 @@ void str_replace_unprintable(struct myst
+ int str_atoi(const struct mystr* p_str);
+ filesize_t str_a_to_filesize_t(const struct mystr* p_str);
+ unsigned int str_octal_to_uint(const struct mystr* p_str);
++void str_basename (struct mystr* d_str, const struct mystr* path);
+ 
+ /* PURPOSE: Extract a line of text (delimited by \n or EOF) from a string
+  * buffer, starting at character position 'p_pos'. The extracted line will
diff --git a/pkgs/servers/ftp/vsftpd/default.nix b/pkgs/servers/ftp/vsftpd/default.nix
index 3b9b32898e2f..17c41a9a4d46 100644
--- a/pkgs/servers/ftp/vsftpd/default.nix
+++ b/pkgs/servers/ftp/vsftpd/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl, openssl, sslEnable ? false, libcap, pam }:
 
 stdenv.mkDerivation rec {
-  name = "vsftpd-3.0.2";
+  name = "vsftpd-3.0.3";
 
   src = fetchurl {
     url = "https://security.appspot.com/downloads/${name}.tar.gz";
-    sha256 = "0mjy345wszskz1vnk83360c1y37arwgap3gwz8hy13sjqpig0imy";
+    sha256 = "1xsyjn68k3fgm2incpb3lz2nikffl9by2safp994i272wvv2nkcx";
   };
 
+  patches = [ ./CVE-2015-1419.patch ];
+
   preConfigure = stdenv.lib.optionalString sslEnable ''
     echo "Will enable SSL"
     sed -i "/VSF_BUILD_SSL/s/^#undef/#define/" builddefs.h
diff --git a/pkgs/servers/gpm/default.nix b/pkgs/servers/gpm/default.nix
index 011b0b8ff497..a9fac485f905 100644
--- a/pkgs/servers/gpm/default.nix
+++ b/pkgs/servers/gpm/default.nix
@@ -1,4 +1,8 @@
-{ stdenv, fetchurl, automake, autoconf, libtool, flex, bison, ncurses, texinfo }:
+{ stdenv, fetchurl, automake, autoconf, libtool, flex, bison, texinfo
+
+# Optional Dependencies
+, ncurses ? null
+}:
 
 stdenv.mkDerivation rec {
   name = "gpm-1.20.7";
@@ -8,31 +12,29 @@ stdenv.mkDerivation rec {
     sha256 = "13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh";
   };
 
-  buildInputs = [ automake autoconf libtool flex bison ncurses texinfo ];
+  nativeBuildInputs = [ automake autoconf libtool flex bison texinfo ];
+  buildInputs = [ ncurses ];
 
   preConfigure = ''
     ./autogen.sh
-    sed -e 's/[$](MKDIR)/mkdir -p /' -i doc/Makefile.in
   '';
 
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
+    (if ncurses == null then "--without-curses" else "--with-curses")
   ];
 
-  # Its configure script does not allow --disable-static
-  # Disabling this, we make cross-builds easier, because having
-  # cross-built static libraries we either have to disable stripping
-  # or fixing the gpm users, because there -lgpm will fail.
+  # Provide libgpm.so for compatability
   postInstall = ''
-    rm -f $out/lib/*.a
-    ln -s $out/lib/libgpm.so.2 $out/lib/libgpm.so
+    ln -sv $out/lib/libgpm.so.2 $out/lib/libgpm.so
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.nico.schottelius.org/software/gpm/;
     description = "A daemon that provides mouse support on the Linux console";
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ eelco wkennington ];
   };
 }
diff --git a/pkgs/servers/hbase/default.nix b/pkgs/servers/hbase/default.nix
index de5be18713ed..408022f650f4 100644
--- a/pkgs/servers/hbase/default.nix
+++ b/pkgs/servers/hbase/default.nix
@@ -1,10 +1,13 @@
 { stdenv, fetchurl, jre, makeWrapper }:
-stdenv.mkDerivation {
-  name = "hbase-0.98.8";
+stdenv.mkDerivation rec {
+  name = "hbase-${version}";
+  version = "0.98.13";
+
   src = fetchurl {
-    url = http://mirror.gopotato.co.uk/apache/hbase/stable/hbase-0.98.8-hadoop2-bin.tar.gz;
-    sha256 = "0nvxaqpw8v2hg6mn2p2zxj3y6r4dj4xzxmp8rfmv6m6algn5apv6";
+    url = "mirror://apache/hbase/${version}/hbase-${version}-hadoop2-bin.tar.gz";
+    sha256 = "1av81nnnwivxf5ha6x9qrr2afl5sbyskl07prv0rdac954xmgg8n";
   };
+
   buildInputs = [ makeWrapper ];
   installPhase = ''
     mkdir -p $out
diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix
index 5cd0a5a4e84c..515446bc9b9e 100644
--- a/pkgs/servers/http/apache-httpd/2.2.nix
+++ b/pkgs/servers/http/apache-httpd/2.2.nix
@@ -12,12 +12,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 assert mpm == "prefork" || mpm == "worker" || mpm == "event";
 
 stdenv.mkDerivation rec {
-  version = "2.2.29";
+  version = "2.2.31";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha1 = "1d6a8fbc1391d358cc6fe430edc16222b97258d5";
+    sha256 = "1b165zi7jrrlz5wmyy3b34lcs3dl4g0dymfb0qxwdnimylcrsbzk";
   };
 
   outputs = [ "dev" "out" "doc" ];
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index cb550652b785..29f8a9621c9e 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -14,12 +14,12 @@ assert sslSupport -> aprutil.sslSupport && openssl != null;
 assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 
 stdenv.mkDerivation rec {
-  version = "2.4.12";
+  version = "2.4.16";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "1r7a63ka41vlswrqbb21vall6sc7svwgd497kb6dh8a6zvnkjvdd";
+    sha256 = "0hrpy6gjwma0kba7p7m61vwh82qcnkf08123lrwpg257m93hnrmc";
   };
 
   buildInputs = [perl] ++
diff --git a/pkgs/servers/http/apache-modules/mod_python/default.nix b/pkgs/servers/http/apache-modules/mod_python/default.nix
index 08f5d7456840..d156576b21a8 100644
--- a/pkgs/servers/http/apache-modules/mod_python/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_python/default.nix
@@ -10,6 +10,12 @@ stdenv.mkDerivation rec {
 
   patches = [ ./install.patch ];
 
+  postPatch = ''
+    substituteInPlace dist/version.sh \
+        --replace 'GIT=`git describe --always`' "" \
+        --replace '-$GIT' ""
+  '';
+
   preInstall = ''
     installFlags="LIBEXECDIR=$out/modules $installFlags"
     mkdir -p $out/modules $out/bin
diff --git a/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix b/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix
index 0e908acd74b3..90d0fb899c31 100644
--- a/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix
+++ b/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, apacheHttpd, jdk }:
 
 stdenv.mkDerivation rec {
-  name = "tomcat-connectors-1.2.40";
+  name = "tomcat-connectors-1.2.41-dev-1613051";
 
   src = fetchurl {
-    url = "http://www.apache.si/tomcat/tomcat-connectors/jk/${name}-src.tar.gz";
-    sha256 = "0pbh6s19ba5k2kahiiqgx8lz8v4fjllzn0w6hjd08x7z9my38pl9";
+    url = "http://people.apache.org/~rjung/mod_jk-dev/${name}-src.tar.gz";
+    sha256 = "11khipjpy3y84j1pp7yyx76y64jccvyhh3klwzqxylff49vjc2fc";
   };
 
   configureFlags = "--with-apxs=${apacheHttpd}/bin/apxs --with-java-home=${jdk}";
diff --git a/pkgs/servers/http/jboss/default.nix b/pkgs/servers/http/jboss/default.nix
index 86d371898872..d0d336ad08e6 100644
--- a/pkgs/servers/http/jboss/default.nix
+++ b/pkgs/servers/http/jboss/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, jdk, lib }:
+{ stdenv, fetchurl, unzip, jdk }:
 
 stdenv.mkDerivation {
   name = "jboss-as-7.1.1.Final";
@@ -16,10 +16,10 @@ stdenv.mkDerivation {
     find $out/bin -name \*.sh -print0 | xargs -0 sed -i -e '/#!\/bin\/sh/aJAVA_HOME=${jdk}'
   '';
   
-  meta = {
-    homepage = "http://www.jboss.org/";
+  meta = with stdenv.lib; {
+    homepage = http://www.jboss.org/;
     description = "Open Source J2EE application server";
-    license = "GPL/LGPL";
-    maintainers = [ lib.maintainers.sander ];
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.sander ];
   };
 }
diff --git a/pkgs/servers/http/jetty/9.2.nix b/pkgs/servers/http/jetty/9.2.nix
index 41afc9b40af8..7bef32f3db2a 100644
--- a/pkgs/servers/http/jetty/9.2.nix
+++ b/pkgs/servers/http/jetty/9.2.nix
@@ -4,9 +4,9 @@ stdenv.mkDerivation rec {
   name = "jetty-9.2.5";
 
   src = fetchurl {
-    url = "http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.2.5.v20141112.tar.gz&r=1";
-    name = "jetty-distribution-9.2.5.v20141112.tar.gz";
-    sha256 = "1azqhvvqm9il5n07vms5vv27vr3qhmsy44nmqcgsaggq7p37swf1";
+    url = "http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.2.11.v20150529.tar.gz&r=1";
+    name = "jetty-distribution-9.2.11.v20150529.tar.gz";
+    sha256 = "1d9s9l64b1l3x6vkx8qwgzfqwm55iq5g9xjjm2h2akf494yx1mrd";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
@@ -21,8 +21,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.eclipse.org/jetty/;
 
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
-
     platforms = stdenv.lib.platforms.all;
 
     license = [ stdenv.lib.licenses.asl20 stdenv.lib.licenses.epl10 ];
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index f691f362bb24..78b6e4cc7eee 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation {
-  name = "jetty-5.1.4";
+  name = "jetty-6.1.4";
 
   builder = ./bin-builder.sh;
   buildInputs = [unzip];
 
   src = fetchurl {
-    url = mirror://sourceforge/jetty/jetty-5.1.4.zip;
-    sha256 = "1lzvsrlybrf3zzzv4hi2v82qzpkfkib3xbwwlya8c08gf0360mrk";
+    url = mirror://sourceforge/jetty/jetty-6.1.4.zip;
+    sha256 = "061cx442g5a5szzms9zhnfmr4aipmqyy9r8m5r84gr79gz9z6dv0";
   };
 }
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 056f9202df48..60848516155d 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -7,11 +7,11 @@ assert enableMagnet -> lua5_1 != null;
 assert enableMysql -> mysql != null;
 
 stdenv.mkDerivation rec {
-  name = "lighttpd-1.4.35";
+  name = "lighttpd-1.4.37";
 
   src = fetchurl {
     url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz";
-    sha256 = "18rh7xyx69xbwl20znnjma1dq5fay0ygjjvpn3gaa7dxrir9nghi";
+    sha256 = "1gbri5avg1jv2g585wk0jp53mf9jjdz2py9774mxm8bwarh6ykl0";
   };
 
   buildInputs = [ pkgconfig pcre libxml2 zlib attr bzip2 which file openssl ]
diff --git a/pkgs/servers/http/micro-httpd/default.nix b/pkgs/servers/http/micro-httpd/default.nix
new file mode 100644
index 000000000000..ba7c69ef7dbf
--- /dev/null
+++ b/pkgs/servers/http/micro-httpd/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "micro-httpd-20140814";
+
+  src = fetchurl {
+    url   = "http://acme.com/software/micro_httpd/micro_httpd_14Aug2014.tar.gz";
+    sha256 = "0mlm24bi31s0s8w55i0sysv2nc1n2x4cfp6dm47slz49h2fz24rk";
+  };
+
+  preBuild = ''
+    makeFlagsArray=(BINDIR="$out/bin" MANDIR="$out/share/man/man8")
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man8
+  '';
+
+  meta = with stdenv.lib; {
+    homepage    = "http://acme.com/software/micro_httpd/";
+    description = "a really small HTTP server";
+    license     = licenses.bsd2;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ copumpkin ];
+  };
+}
+
diff --git a/pkgs/servers/http/mini-httpd/default.nix b/pkgs/servers/http/mini-httpd/default.nix
index 3a1cf6870692..a03ac8287521 100644
--- a/pkgs/servers/http/mini-httpd/default.nix
+++ b/pkgs/servers/http/mini-httpd/default.nix
@@ -12,6 +12,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # Fixes compat with boost 1.59
+  # Please attempt removing when updating
+  CPPFLAGS = "-DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED";
+
   meta = {
     homepage = "http://mini-httpd.nongnu.org/";
     description = "a minimalistic high-performance web server";
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index fe500bf34628..54f4e1599b8c 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -1,13 +1,16 @@
 { stdenv, fetchurl, fetchFromGitHub, openssl, zlib, pcre, libxml2, libxslt, expat
 , gd, geoip, luajit
+, curl, apr, aprutil, apacheHttpd, yajl, libcap, modsecurity_standalone
 , rtmp ? false
 , fullWebDAV ? false
 , syslog ? false
 , moreheaders ? false
 , echo ? false
-, ngx_lua ? false
+, modsecurity ? false
+, ngx_lua ? modsecurity || false
 , set_misc ? false
 , fluent ? false
+, extraModules ? []
 }:
 
 with stdenv.lib;
@@ -47,6 +50,8 @@ let
     sha256 = "01wkqhk8mk8jgmzi7jbzmg5kamffx3lmhj5yfwryvnvs6xqs74wn";
   };
 
+  modsecurity-ext = modsecurity_standalone.nginx;
+
   echo-ext = fetchFromGitHub {
     owner = "openresty";
     repo = "echo-nginx-module";
@@ -57,8 +62,8 @@ let
   lua-ext = fetchFromGitHub {
     owner = "openresty";
     repo = "lua-nginx-module";
-    rev = "v0.9.15";
-    sha256 = "0kicfs0gyfb5fhjmrwr6p09c5x6g0jwsh0wg5bsp3p209rnbq94q";
+    rev = "v0.9.16";
+    sha256 = "0dvdam228jhsrayb22ishljdkgib08bakh8ygn84sq0c2xbidzlp";
   };
 
   set-misc-ext = fetchFromGitHub {
@@ -92,7 +97,8 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ openssl zlib pcre libxml2 libxslt gd geoip
     ] ++ optional fullWebDAV expat
-      ++ optional ngx_lua luajit;
+      ++ optional ngx_lua luajit
+      ++ optionals modsecurity [ curl apr aprutil apacheHttpd yajl ];
 
   LUAJIT_LIB = if ngx_lua then "${luajit}/lib" else "";
   LUAJIT_INC = if ngx_lua then "${luajit}/include/luajit-2.0" else "";
@@ -102,9 +108,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-select_module"
     "--with-poll_module"
-    "--with-aio_module"
     "--with-threads"
-    "--with-file-aio"
     "--with-http_ssl_module"
     "--with-http_spdy_module"
     "--with-http_realip_module"
@@ -133,12 +137,17 @@ stdenv.mkDerivation rec {
     ++ optional echo "--add-module=${echo-ext}"
     ++ optional ngx_lua "--add-module=${develkit-ext} --add-module=${lua-ext}"
     ++ optional set_misc "--add-module=${set-misc-ext}"
-    ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio"
-    ++ optional fluent "--add-module=${fluentd}";
+    ++ optionals (elem stdenv.system (with platforms; linux ++ freebsd))
+        [ "--with-file-aio" "--with-aio_module" ]
+    ++ optional fluent "--add-module=${fluentd}"
+    ++ optional modsecurity "--add-module=${modsecurity-ext}/nginx/modsecurity"
+    ++ (map (m: "--add-module=${m}") extraModules);
 
 
   additionalFlags = optionalString stdenv.isDarwin "-Wno-error=deprecated-declarations -Wno-error=conditional-uninitialized";
 
+  NIX_CFLAGS_COMPILE = optionalString modsecurity "-I${aprutil}/include/apr-1 -I${apacheHttpd}/include -I${apr}/include/apr-1 -I${yajl}/include";
+
   preConfigure = ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags"
   '';
diff --git a/pkgs/servers/http/nginx/unstable.nix b/pkgs/servers/http/nginx/unstable.nix
index b47b67792b82..e71adba3e572 100644
--- a/pkgs/servers/http/nginx/unstable.nix
+++ b/pkgs/servers/http/nginx/unstable.nix
@@ -5,15 +5,16 @@
 , syslog ? false
 , moreheaders ? false
 , echo ? false
-, ngx_lua ? false }:
+, ngx_lua ? false
+, withStream ? false }:
 
 with stdenv.lib;
 
 let
-  version = "1.7.11";
+  version = "1.9.4";
   mainSrc = fetchurl {
     url = "http://nginx.org/download/nginx-${version}.tar.gz";
-    sha256 = "15cnlrhiqklqfzwfspkp0i6g04zdhc092dh593yqnqqf450dgnfs";
+    sha256 = "1a1bixw2a4s5c3qzw3583s4a4y6i0sdzhihhlbab5rkyfh1hr6s7";
   };
 
   rtmp-ext = fetchFromGitHub {
@@ -61,8 +62,8 @@ let
   lua-ext = fetchFromGitHub {
     owner = "openresty";
     repo = "lua-nginx-module";
-    rev = "v0.9.12";
-    sha256 = "0r07q1n3nvi7m3l8zk7nfk0z9kjhqknav61ys9lshh2ylsmz1lf4";
+    rev = "v0.9.16";
+    sha256 = "0dvdam228jhsrayb22ishljdkgib08bakh8ygn84sq0c2xbidzlp";
   };
 
 in
@@ -109,6 +110,7 @@ stdenv.mkDerivation rec {
     ++ optional moreheaders "--add-module=${moreheaders-ext}"
     ++ optional echo "--add-module=${echo-ext}"
     ++ optional ngx_lua "--add-module=${develkit-ext} --add-module=${lua-ext}"
+    ++ optional withStream "--with-stream"
     ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio";
 
 
diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix
index 5c3a5a3e56f5..aac626282905 100644
--- a/pkgs/servers/http/openresty/default.nix
+++ b/pkgs/servers/http/openresty/default.nix
@@ -7,11 +7,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "openresty-${version}";
-  version = "1.7.10.1";
+  version = "1.9.3.1";
 
   src = fetchurl {
     url = "http://openresty.org/download/ngx_openresty-${version}.tar.gz";
-    sha256 = "0yg6pkagkkga6ly6fgmfcf557r2b4m75gyn6a7p9qcamb4zdgl2g";
+    sha256 = "1fw8yxjndf5gsk44l4bsixm270fxv7f5cdiwzq9ps6j3hhgx5kyv";
   };
 
   buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip perl ];
diff --git a/pkgs/servers/http/tomcat/6.0.nix b/pkgs/servers/http/tomcat/6.0.nix
index 19f20cc8823c..71f1d62f4d80 100644
--- a/pkgs/servers/http/tomcat/6.0.nix
+++ b/pkgs/servers/http/tomcat/6.0.nix
@@ -1,6 +1,6 @@
 import ./recent.nix 
   {
     versionMajor = "6";
-    versionMinor = "0.39";
-    sha256 = "19qix6affhc252n03smjf482drg3nxd27shni1gvhphgj3zfmgfy";
+    versionMinor = "0.44";
+    sha256 = "0942f0ss6w9k23xg94nir2dbbkqrqp5k628jflk51ikm5qr95dxa";
   }
diff --git a/pkgs/servers/http/tomcat/7.0.nix b/pkgs/servers/http/tomcat/7.0.nix
index 87bc57eb2b65..221feb9c30eb 100644
--- a/pkgs/servers/http/tomcat/7.0.nix
+++ b/pkgs/servers/http/tomcat/7.0.nix
@@ -1,6 +1,6 @@
 import ./recent.nix 
   {
     versionMajor = "7";
-    versionMinor = "0.55";
-    sha256 = "c20934fda63bc7311e2d8e067d67f886890c8be72280425c5f6f8fdd7a376c15";
+    versionMinor = "0.62";
+    sha256 = "0v8zvyd4h85ynnday58x0ppplw4flxyjsrmrpg78rrv3w49fm1x7";
   }
diff --git a/pkgs/servers/http/tomcat/8.0.nix b/pkgs/servers/http/tomcat/8.0.nix
index 63b8d2bbc94e..a6da1198c9aa 100644
--- a/pkgs/servers/http/tomcat/8.0.nix
+++ b/pkgs/servers/http/tomcat/8.0.nix
@@ -1,6 +1,6 @@
 import ./recent.nix 
   {
     versionMajor = "8";
-    versionMinor = "0.9";
-    sha256 = "5ea3c8260088ee4fd223a532a4b0c23a10e549c34705e2f190279a1a7f1f83d9";
+    versionMinor = "0.23";
+    sha256 = "0f0s35iqs1zpifya0qvdrk55r77jr074sc0zk5cjivxaxnhik2y9";
   }
diff --git a/pkgs/servers/http/yaws/default.nix b/pkgs/servers/http/yaws/default.nix
index 8d160fc958cc..871b3524f424 100644
--- a/pkgs/servers/http/yaws/default.nix
+++ b/pkgs/servers/http/yaws/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yaws-${version}";
-  version = "1.99";
+  version = "2.0";
 
   src = fetchurl {
     url = "http://yaws.hyber.org/download/${name}.tar.gz";
-    sha256 = "057ymg84ji4pfi3xai6kis3mk8zks2ynbiam0x68cb4cb1yfzwcl";
+    sha256 = "1gwk44a07n7yvg900yrlfc6qpvjl64k2h2hddd1jaaay8lgpcch6";
   };
 
   # The tarball includes a symlink yaws -> yaws-1.95, which seems to be
diff --git a/pkgs/servers/irc/charybdis/default.nix b/pkgs/servers/irc/charybdis/default.nix
new file mode 100644
index 000000000000..a38a25c8a5cb
--- /dev/null
+++ b/pkgs/servers/irc/charybdis/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchgit, bison, flex, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "charybdis-3.5.0-rc1";
+
+  src = fetchgit {
+    url = "https://github.com/atheme/charybdis.git";
+    rev = "43a9b61c427cd0f3fa2c192890b8a48d9ea6fb7f";
+    sha256 = "ae2c8a72e6a29c901f9b51759b542ee12c4ec918050a2d9d65e5635077a0fcef";
+  };
+
+  patches = [
+     ./remove-setenv.patch
+  ];
+
+  configureFlags = [
+    "--enable-epoll"
+    "--enable-ipv6"
+    "--enable-openssl=${openssl}"
+    "--with-program-prefix=charybdis-"
+  ];
+
+  buildInputs = [ bison flex openssl ];
+
+  meta = {
+    description = "An extremely scalable ircd with some cooperation with the ratbox and ircu guys";
+    homepage    = https://github.com/atheme/charybdis;
+    license     = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.lassulus ];
+    platforms   = stdenv.lib.platforms.linux;
+  };
+
+
+}
diff --git a/pkgs/servers/irc/charybdis/remove-setenv.patch b/pkgs/servers/irc/charybdis/remove-setenv.patch
new file mode 100644
index 000000000000..c53c1ff294e0
--- /dev/null
+++ b/pkgs/servers/irc/charybdis/remove-setenv.patch
@@ -0,0 +1,12 @@
+diff --git a/src/bandbi.c b/src/bandbi.c
+index 03dd907..3698e85 100644
+--- a/src/bandbi.c
++++ b/src/bandbi.c
+@@ -82,7 +82,6 @@ start_bandb(void)
+ 	const char *suffix = "";
+ #endif
+ 
+-	rb_setenv("BANDB_DBPATH", PKGLOCALSTATEDIR "/ban.db", 1);
+ 	if(bandb_path == NULL)
+ 	{
+ 		rb_snprintf(fullpath, sizeof(fullpath), "%s/bandb%s", PKGLIBEXECDIR, suffix);
diff --git a/pkgs/servers/irc/ngircd/default.nix b/pkgs/servers/irc/ngircd/default.nix
index 50bc86e805e0..ebc7e7c3128e 100644
--- a/pkgs/servers/irc/ngircd/default.nix
+++ b/pkgs/servers/irc/ngircd/default.nix
@@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
     description = "Next Generation IRC Daemon";
     homepage    = http://ngircd.barton.de;
     license     = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
     platforms   = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/servers/kippo/default.nix b/pkgs/servers/kippo/default.nix
index cadf6e716917..30d3fc3ab180 100644
--- a/pkgs/servers/kippo/default.nix
+++ b/pkgs/servers/kippo/default.nix
@@ -51,15 +51,15 @@ stdenv.mkDerivation rec {
         mv $out/src/utils/* $out/bin
         '';
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = https://code.google.com/p/kippo;
       description = "SSH Honeypot";
       longDescription = ''
         Default port is 2222. Recommend using something like this for port redirection to default SSH port:
         networking.firewall.extraCommands = '''
         iptables -t nat -A PREROUTING -i IN_IFACE -p tcp --dport 22 -j REDIRECT --to-port 2222''' '';
-      license = stdenv.lib.licenses.bsd3;
-      platforms = pkgs.stdenv.lib.platforms.linux;
-      maintainers = pkgs.stdenv.lib.maintainers.tomberek;
+      license = licenses.bsd3;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ tomberek ];
     };
 }
diff --git a/pkgs/servers/mail/dovecot/2.2.x.nix b/pkgs/servers/mail/dovecot/2.2.x.nix
index a774777709fb..be671b7f0e7b 100644
--- a/pkgs/servers/mail/dovecot/2.2.x.nix
+++ b/pkgs/servers/mail/dovecot/2.2.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, systemd, openssl, pam, bzip2, zlib, openldap
-, inotifyTools, clucene_core_2, sqlite }:
+, inotify-tools, clucene_core_2, sqlite }:
 
 stdenv.mkDerivation rec {
   name = "dovecot-2.2.16";
 
   buildInputs = [perl openssl bzip2 zlib openldap clucene_core_2 sqlite]
-    ++ stdenv.lib.optionals (stdenv.isLinux) [ systemd pam inotifyTools ];
+    ++ stdenv.lib.optionals (stdenv.isLinux) [ systemd pam inotify-tools ];
 
   src = fetchurl {
     url = "http://dovecot.org/releases/2.2/${name}.tar.gz";
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index bd179490c18b..3997370154e4 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -1,9 +1,9 @@
-{stdenv, fetchurl, openssl, pam, bzip2, zlib, inotifyTools, openldap}:
+{stdenv, fetchurl, openssl, pam, bzip2, zlib, inotify-tools, openldap}:
 
 stdenv.mkDerivation rec {
   name = "dovecot-2.1.17";
 
-  buildInputs = [openssl bzip2 zlib openldap] ++ stdenv.lib.optionals stdenv.isLinux [pam inotifyTools];
+  buildInputs = [openssl bzip2 zlib openldap] ++ stdenv.lib.optionals stdenv.isLinux [pam inotify-tools];
 
   src = fetchurl {
     url = "http://dovecot.org/releases/2.1/${name}.tar.gz";
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index 3dd0463b604f..6f2b65fd9b7d 100644
--- a/pkgs/servers/mail/exim/default.nix
+++ b/pkgs/servers/mail/exim/default.nix
@@ -1,11 +1,11 @@
 { coreutils, fetchurl, db, openssl, pcre, perl, pkgconfig, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "exim-4.85";
+  name = "exim-4.86";
 
   src = fetchurl {
     url = "http://mirror.switch.ch/ftp/mirror/exim/exim/exim4/${name}.tar.bz2";
-    sha256 = "195a3ll5ck9viazf9pvgcyc0sziln5g0ggmlm6ax002lphmiy88k";
+    sha256 = "0mn4bxih9slrmll5262ayhf41ji43pjf1rv0y6xpy6x55v7g5k7i";
   };
 
   buildInputs = [ coreutils db openssl pcre perl pkgconfig ];
@@ -54,8 +54,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = "http://exim.org/";
-    description = "A mail transfer agent (MTA) for hosts that are running Unix or Unix-like operating systems";
+    homepage = http://exim.org/;
+    description = "A mail transfer agent (MTA)";
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.tv ];
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
index b796e12e9f4a..a95a5d81ce95 100644
--- a/pkgs/servers/mail/opensmtpd/default.nix
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, autoconf, automake, libtool, bison
-, libasr, libevent, zlib, openssl, db, pam
+, libasr, libevent, zlib, openssl, db, pam, cacert
 }:
 
 stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     "--with-sock-dir=/run"
     "--with-privsep-user=smtpd"
     "--with-queue-user=smtpq"
-    "--with-ca-file=/etc/ssl/certs/ca-bundle.crt"
+    "--with-ca-file=/etc/ssl/certs/ca-certificates.crt"
   ];
 
   installFlags = [
diff --git a/pkgs/servers/mail/postfix/2.11.nix b/pkgs/servers/mail/postfix/2.11.nix
index 817f559cbd52..bfd10fb591b2 100644
--- a/pkgs/servers/mail/postfix/2.11.nix
+++ b/pkgs/servers/mail/postfix/2.11.nix
@@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
 
   name = "postfix-${version}";
 
-  version = "2.11.4";
+  version = "2.11.5";
 
   src = fetchurl {
     url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
-    sha256 = "07h3rdfgs449hb49rxcx4iapib0l0zchnhscgn4h00wcnlflq5gl";
+    sha256 = "11riz8ggaa09pi8d6xv2807qp7yjn918mrylfvkfwmvcdlgwck0a";
   };
 
   patches = [ ./postfix-2.11.0.patch ];
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index ea69d036f958..e46a76a9b0c0 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -32,6 +32,7 @@ buildPerlPackage rec {
   doCheck = false;
 
   postInstall = ''
+    mkdir -p $out/share/spamassassin
     mv "rules/"* $out/share/spamassassin/
 
     for n in "$out/bin/"*; do
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 74033be8cf86..9d110d9c1461 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -10,13 +10,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [cyrus_sasl libevent];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A distributed memory object caching system";
     repositories.git = https://github.com/memcached/memcached.git;
     homepage = http://memcached.org/;
-    license = "bsd";
-    maintainers = [ stdenv.lib.maintainers.coconnor ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.coconnor ];
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
-
diff --git a/pkgs/servers/meteor/default.nix b/pkgs/servers/meteor/default.nix
new file mode 100644
index 000000000000..5e13b4520c9b
--- /dev/null
+++ b/pkgs/servers/meteor/default.nix
@@ -0,0 +1,93 @@
+{ stdenv, lib, fetchurl, zlib, patchelf }:
+
+let
+  bootstrap = fetchurl {
+    url = "https://d3sqy0vbqsdhku.cloudfront.net/packages-bootstrap/1.2.0.1/meteor-bootstrap-os.linux.x86_64.tar.gz";
+    sha256 = "0jc516qyig7f5a8ns4y6d9031f0ww2sd90n837kz6x97nin7655s";
+  };
+in
+
+stdenv.mkDerivation rec {
+  name = "meteor-${version}";
+  version = "1.2.0.1";
+
+  dontStrip = true;
+
+  unpackPhase = ''
+    tar xf ${bootstrap}
+    sourceRoot=.meteor
+  '';
+
+  installPhase = ''
+    mkdir $out
+
+    cp -r packages $out
+    chmod -R +w $out/packages
+
+    cp -r package-metadata $out
+    chmod -R +w $out/package-metadata
+
+    devBundle=$(find $out/packages/meteor-tool -name dev_bundle)
+    ln -s $devBundle $out/dev_bundle
+
+    toolsDir=$(dirname $(find $out/packages -print | grep "meteor-tool/.*/tools/index.js$"))
+    ln -s $toolsDir $out/tools
+
+    # Patch Meteor to dynamically fixup shebangs and ELF metadata where
+    # necessary.
+    pushd $out
+    patch -p1 < ${./main.patch}
+    popd
+    substituteInPlace $out/tools/cli/main.js \
+      --replace "@INTERPRETER@" "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --replace "@RPATH@" "${stdenv.cc.cc}/lib:${zlib}/lib" \
+      --replace "@PATCHELF@" "${patchelf}/bin/patchelf"
+
+    # Patch node.
+    node=$devBundle/bin/node
+    patchelf \
+      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      --set-rpath "$(patchelf --print-rpath $node):${stdenv.cc.cc}/lib" \
+      $node
+
+    # Patch mongo.
+    for p in $devBundle/mongodb/bin/mongo{,d}; do
+      patchelf \
+        --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+        --set-rpath "$(patchelf --print-rpath $p):${stdenv.cc.cc}/lib:${zlib}/lib" \
+        $p
+    done
+
+    # Patch node dlls.
+    for p in $(find $out/packages -name '*.node'); do
+      patchelf \
+        --set-rpath "$(patchelf --print-rpath $p):${stdenv.cc.cc}/lib" \
+        $p
+    done
+
+    # Meteor needs an initial package-metadata in $HOME/.meteor,
+    # otherwise it fails spectacularly.
+    mkdir -p $out/bin
+    cat << EOF > $out/bin/meteor
+    #!${stdenv.shell}
+
+    if [[ ! -f \$HOME/.meteor/package-metadata/v2.0.1/packages.data.db ]]; then
+      mkdir -p \$HOME/.meteor/package-metadata/v2.0.1
+      cp $out/package-metadata/v2.0.1/packages.data.db "\$HOME/.meteor/package-metadata/v2.0.1"
+      chown "\$(whoami)" "\$HOME/.meteor/package-metadata/v2.0.1/packages.data.db"
+      chmod +w "\$HOME/.meteor/package-metadata/v2.0.1/packages.data.db"
+    fi
+
+    $node \''${TOOL_NODE_FLAGS} $out/tools/index.js "\$@"
+    EOF
+    chmod +x $out/bin/meteor
+  '';
+
+  meta = with lib; {
+    description = "Complete open source platform for building web and mobile apps in pure JavaScript";
+    homepage = "http://www.meteor.com";
+    license = licenses.mit;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/servers/meteor/main.patch b/pkgs/servers/meteor/main.patch
new file mode 100644
index 000000000000..b5834bf62922
--- /dev/null
+++ b/pkgs/servers/meteor/main.patch
@@ -0,0 +1,49 @@
+diff --git a/tools/cli/main.js b/tools/cli/main.js
+index 84f94bc..4fbda17 100644
+--- a/tools/cli/main.js
++++ b/tools/cli/main.js
+@@ -484,6 +484,44 @@ var springboard = function (rel, options) {
+     process.exit(ret.wait());
+   }
+ 
++  // BEGIN HACK
++  // patch shebang:
++  var fs = require('fs');
++  var path = require("path")
++  var srcOld = fs.readFileSync(executable, 'utf8');
++  srcNew = srcOld.replace(/^#!\/bin\/bash/, '#!/bin/sh');
++  if (srcOld !== srcNew) {
++    fs.writeFileSync(executable, srcNew, 'utf8');
++  }
++  // patch elfs:
++  var dir = path.dirname(executable);
++  var interpreter = "@INTERPRETER@";
++  var rpath = "@RPATH@";
++  function spawnSync(/*...*/) {
++    var args = Array.prototype.slice.call(arguments);
++    var proc = require("child_process").spawn.apply(null, args);
++    var future = new Future();
++    proc.on('close', function (code) {
++      future.return();
++    });
++    return future.wait();
++  }
++  function patchelf(/*...*/) {
++    var pathParts = Array.prototype.slice.call(arguments);
++    var p = path.join.apply(null, [dir, "dev_bundle"].concat(pathParts));
++    spawnSync('@PATCHELF@', [
++      "--set-interpreter",
++      interpreter,
++      "--set-rpath",
++      rpath,
++      p
++    ], {stdio: 'inherit'});
++  }
++  patchelf("bin", "node");
++  patchelf("mongodb", "bin", "mongo");
++  patchelf("mongodb", "bin", "mongod");
++  // END HACK
++
+   // Now exec; we're not coming back.
+   require('kexec')(executable, newArgv);
+   throw Error('exec failed?');
diff --git a/pkgs/servers/misc/subsonic/default.nix b/pkgs/servers/misc/subsonic/default.nix
new file mode 100644
index 000000000000..4e7ed6712da9
--- /dev/null
+++ b/pkgs/servers/misc/subsonic/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, jre }:
+
+let version = "5.2.1"; in
+
+stdenv.mkDerivation rec {
+  name = "subsonic-${version}";
+  inherit version;
+
+  src = fetchurl {
+    url = "mirror://sourceforge/subsonic/subsonic-${version}-standalone.tar.gz";
+    sha256 = "523fa8357c961c1ae742a15f0ceaabdd41fcba9137c29d244957922af90ee791";
+  };
+
+  inherit jre;
+
+  # Create temporary directory to extract tarball into to satisfy Nix's need
+  # for a directory to be created in the unpack phase.
+  unpackPhase = ''
+    mkdir ${name}
+    tar -C ${name} -xzf $src
+  '';
+  installPhase = ''
+    mkdir $out
+    cp -r ${name}/* $out
+  '';
+
+  meta = {
+    homepage = http://subsonic.org;
+    description = "Personal media streamer";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ telotortium ];
+  };
+
+  phases = ["unpackPhase" "installPhase"];
+}
diff --git a/pkgs/servers/misc/taskserver/default.nix b/pkgs/servers/misc/taskserver/default.nix
index 0fdcf5f2f3b5..3d34bb8e11f2 100644
--- a/pkgs/servers/misc/taskserver/default.nix
+++ b/pkgs/servers/misc/taskserver/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "taskserver-${version}";
-  version = "1.0.0";
+  version = "1.1.0";
 
   enableParallelBuilding = true;
 
   src = fetchurl {
     url = "http://www.taskwarrior.org/download/taskd-${version}.tar.gz";
-    sha256 = "162ef1eec48f8145870ef0dbe0121b78a6da99815bc18af77de07fbb0abe02d0";
+    sha256 = "1d110q9vw8g5syzihxymik7hd27z1592wkpz55kya6lphzk8i13v";
   };
 
   nativeBuildInputs = [ cmake libuuid gnutls ];
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     homepage = http://taskwarrior.org;
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];
   };
 }
diff --git a/pkgs/servers/monitoring/bosun/default.nix b/pkgs/servers/monitoring/bosun/default.nix
deleted file mode 100644
index 4ab9148118cd..000000000000
--- a/pkgs/servers/monitoring/bosun/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, fetchFromGitHub, goPackages }:
-
-with goPackages;
-
-buildGoPackage rec {
-  rev = "20150409220449";
-  name = "bosun-${rev}";
-  goPackagePath = "bosun.org";
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "bosun-monitor";
-    repo = "bosun";
-    sha256 = "02bvq9hx2h4pgjclv09nm0al8ybvq0syhyhn5cvw0wgnn9bwn5mb";
-  };
-  subPackages = [ "cmd/bosun" ];
-
-  meta = with lib; {
-    description = "Time series alerting framework";
-    longDescription = ''
-      An advanced, open-source monitoring and alerting system by Stack Exchange.
-    '';
-    homepage = http://bosun.org;
-    license = licenses.mit;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/monitoring/bosun/scollector.nix b/pkgs/servers/monitoring/bosun/scollector.nix
deleted file mode 100644
index 9f432f7f8c1c..000000000000
--- a/pkgs/servers/monitoring/bosun/scollector.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, fetchFromGitHub, goPackages }:
-
-with goPackages;
-
-buildGoPackage rec {
-  rev = "20150409220449";
-  name = "bosun-${rev}";
-  goPackagePath = "bosun.org";
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "bosun-monitor";
-    repo = "bosun";
-    sha256 = "02bvq9hx2h4pgjclv09nm0al8ybvq0syhyhn5cvw0wgnn9bwn5mb";
-  };
-  subPackages = [ "cmd/scollector" ];
-
-  meta = with lib; {
-    description = "Collect system information and store it in OpenTSDB or Bosun";
-    homepage = http://bosun.org/scollector;
-    license = licenses.mit;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/servers/monitoring/newrelic-sysmond/default.nix b/pkgs/servers/monitoring/newrelic-sysmond/default.nix
index 777cfe805bf6..a300d3514ee2 100644
--- a/pkgs/servers/monitoring/newrelic-sysmond/default.nix
+++ b/pkgs/servers/monitoring/newrelic-sysmond/default.nix
@@ -24,7 +24,5 @@ stdenv.mkDerivation rec {
     description = "System-wide monitoring for newrelic";
 
     license = stdenv.lib.licenses.unfree;
-
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/alertmanager/default.nix b/pkgs/servers/monitoring/prometheus/alertmanager/default.nix
deleted file mode 100644
index 4ef870bfcf93..000000000000
--- a/pkgs/servers/monitoring/prometheus/alertmanager/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, lib, goPackages, fetchFromGitHub, protobuf, vim }:
-
-with goPackages;
-
-buildGoPackage rec {
-  name = "prometheus-alertmanager-${version}";
-  version = "0.1.0";
-  goPackagePath = "github.com/prometheus/alertmanager";
-
-  src = fetchFromGitHub {
-    owner = "prometheus";
-    repo = "alertmanager";
-    rev = "942cd35dea6dc406b106d7a57ffe7adbb3b978a5";
-    sha256 = "1c14vgn9s0dn322ss8fs5b47blw1g8cxy9w4yjn0f7x2sdwplx1i";
-  };
-
-  buildInputs = [
-    goPackages.glog
-    goPackages.protobuf
-    goPackages.fsnotify
-    goPackages.httprouter
-    goPackages.prometheus.client_golang
-    goPackages.pushover
-    protobuf
-    vim
-  ];
-
-  buildFlagsArray = ''
-    -ldflags=
-        -X main.buildVersion ${version}
-        -X main.buildBranch master
-        -X main.buildUser nix@nixpkgs
-        -X main.buildDate 20150101-00:00:00
-        -X main.goVersion ${lib.getVersion go}
-  '';
-
-  preBuild = ''
-  (
-    cd "go/src/$goPackagePath"
-    protoc --proto_path=./config \
-           --go_out=./config/generated/ \
-           ./config/config.proto
-    cd web
-    ${stdenv.shell} blob/embed-static.sh static templates \
-      | gofmt > blob/files.go
-  )
-  '';
-
-  meta = with lib; {
-    description = "Alerting dispather for the Prometheus monitoring system";
-    homepage = "https://github.com/prometheus/alertmanager";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ benley ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/monitoring/prometheus/cli/default.nix b/pkgs/servers/monitoring/prometheus/cli/default.nix
deleted file mode 100644
index f1f5ef9975c5..000000000000
--- a/pkgs/servers/monitoring/prometheus/cli/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, lib, goPackages, fetchFromGitHub }:
-
-goPackages.buildGoPackage rec {
-  name = "prometheus-cli-0.2.0";
-  goPackagePath = "github.com/prometheus/prometheus_cli";
-  src = fetchFromGitHub {
-    owner = "prometheus";
-    repo = "prometheus_cli";
-    rev = "b36c21d2301cf686bff81953573a29a6d5a0a883";
-    sha256 = "190dlc6fyrfgxab4xj3gaz4jwx33jhzg57d8h36xjx56gbvp7iyk";
-  };
-
-  buildInputs = [
-    goPackages.prometheus.client_model
-    goPackages.prometheus.client_golang
-  ];
-
-  meta = with lib; {
-    description = "Command line tool for querying the Prometheus HTTP API";
-    homepage = https://github.com/prometheus/prometheus_cli;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ benley ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
deleted file mode 100644
index 6e181c6ec9e4..000000000000
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, lib, goPackages, fetchFromGitHub, protobuf, vim }:
-
-with goPackages;
-
-buildGoPackage rec {
-   name = "prometheus-${version}";
-   version = "0.12.0";
-   goPackagePath = "github.com/prometheus/prometheus";
-   rev = "55dcb55498b43bafe94915a4de7907d6d66b4427";
-
-   src = fetchFromGitHub {
-     inherit rev;
-     owner = "prometheus";
-     repo = "prometheus";
-     sha256 = "17bbdk9axr91m2947ddbnzqwaap2vrzsbknbrlpdsmlsjhc8h7cb";
-   };
-
-   buildInputs = [
-     dns glog goleveldb prometheus.client_golang
-     goPackages.protobuf
-     protobuf  # the non-golang package, for protoc
-     vim  # for xxd, used in embed-static.sh
-   ];
-
-   # Metadata that gets embedded into the binary
-   buildFlagsArray = ''
-     -ldflags=
-         -X main.buildVersion ${version}
-         -X main.buildRevision ${builtins.substring 0 6 rev}
-         -X main.buildBranch master
-         -X main.buildUser nix@nixpkgs
-         -X main.buildDate 20150101-00:00:00
-         -X main.goVersion ${lib.getVersion go}
-   '';
-
-   preBuild = ''
-   (
-     cd "go/src/$goPackagePath"
-     protoc --proto_path=./config \
-            --go_out=./config/generated/ \
-            ./config/config.proto
-
-     cd web
-     ${stdenv.shell} ../utility/embed-static.sh static templates \
-       | gofmt > blob/files.go
-   )
-   '';
-
-   meta = with lib; {
-     description = "Service monitoring system and time series database";
-     homepage = http://prometheus.github.io;
-     license = licenses.asl20;
-     maintainers = with maintainers; [ benley ];
-     platforms = platforms.unix;
-   };
-}
diff --git a/pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix b/pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix
deleted file mode 100644
index 63c421cd8a28..000000000000
--- a/pkgs/servers/monitoring/prometheus/haproxy_exporter/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, lib, goPackages, fetchFromGitHub, }:
-
-goPackages.buildGoPackage rec {
-  name = "prometheus-haproxy-exporter-0.4.0";
-  goPackagePath = "github.com/prometheus/haproxy_exporter";
-
-  src = fetchFromGitHub {
-    owner = "prometheus";
-    repo = "haproxy_exporter";
-    rev = "6ee6d1df3e68ed73df37c9794332b2594e4da45d";
-    sha256 = "0lbwv6jsdfjd9ihiky3lq7d5rkxqjh7xfaziw8i3w34a38japlpr";
-  };
-
-  buildInputs = [ goPackages.prometheus.client_golang ];
-
-  meta = with lib; {
-    description = "HAProxy Exporter for the Prometheus monitoring system";
-    homepage = https://github.com/prometheus/haproxy_exporter;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ benley ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix b/pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix
deleted file mode 100644
index e816f346e53b..000000000000
--- a/pkgs/servers/monitoring/prometheus/mesos_exporter/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, lib, goPackages, fetchFromGitHub }:
-
-goPackages.buildGoPackage rec {
-  name = "prometheus-mesos-exporter-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "a4a6638d6db6b5137e130cd4903b30dd82b78e9a";
-  goPackagePath = "github.com/prometheus/mesos_exporter";
-
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "prometheus";
-    repo = "mesos_exporter";
-    sha256 = "1h4yxfcr8l9i2m1s5ygk3slhxdrs4mvmpn3sq8m5s205abvp891q";
-  };
-
-  buildInputs = [ goPackages.mesos-stats ];
-
-  meta = with lib; {
-    description = "Export Mesos metrics to Prometheus";
-    homepage = https://github.com/prometheus/mesos_exporter;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ benley ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/monitoring/prometheus/node_exporter/default.nix b/pkgs/servers/monitoring/prometheus/node_exporter/default.nix
deleted file mode 100644
index 97169a0e298b..000000000000
--- a/pkgs/servers/monitoring/prometheus/node_exporter/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, lib, goPackages, fetchFromGitHub }:
-
-with goPackages;
-
-buildGoPackage rec {
-  name = "prometheus-node-exporter-0.8.0";
-  goPackagePath = "github.com/prometheus/node_exporter";
-
-  src = fetchFromGitHub {
-    owner = "prometheus";
-    repo = "node_exporter";
-    rev = "aaf01e52e25883671fd67234b415df7abd0e4eac";
-    sha256 = "0j1qvgsc2hcv50l9lyfivkzsyjkjp3w1yyqvd1gzfybk7hi59dya";
-  };
-
-  buildInputs = [
-    glog
-    go-runit
-    ntp
-    prometheus.client_golang
-    prometheus.client_model
-    protobuf
-  ];
-
-  meta = with lib; {
-    description = "Prometheus exporter for machine metrics";
-    homepage = https://github.com/prometheus/node_exporter;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ benley ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/monitoring/prometheus/pushgateway/default.nix b/pkgs/servers/monitoring/prometheus/pushgateway/default.nix
deleted file mode 100644
index db66e963208e..000000000000
--- a/pkgs/servers/monitoring/prometheus/pushgateway/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, lib, goPackages, fetchFromGitHub }:
-
-with goPackages;
-
-buildGoPackage rec {
-  name = "prometheus-pushgateway-${version}";
-  version = "0.1.0";
-  goPackagePath = "github.com/prometheus/pushgateway";
-  rev = "3f1d42dade342ddb88381607358bae61a0a6b6c7";
-
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "prometheus";
-    repo = "pushgateway";
-    sha256 = "1wqxbl9rlnxszp9ylvdbx6f5lyj2z0if3x099fnjahbqmz8yhnf4";
-  };
-
-  buildInputs = [
-    go-bindata
-    protobuf
-    httprouter
-    golang_protobuf_extensions
-    prometheus.client_golang
-  ];
-
-  buildFlagsArray = ''
-    -ldflags=
-        -X main.buildVersion ${version}
-        -X main.buildRev ${rev}
-        -X main.buildBranch master
-        -X main.buildUser nix@nixpkgs
-        -X main.buildDate 20150101-00:00:00
-        -X main.goVersion ${lib.getVersion go}
-  '';
-
-  preBuild = ''
-  (
-    cd "go/src/$goPackagePath"
-    go-bindata ./resources/
-  )
-  '';
-
-  meta = with lib; {
-    description =
-      "Allows ephemeral and batch jobs to expose metrics to Prometheus";
-    homepage = https://github.com/prometheus/pushgateway;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ benley ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix b/pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix
deleted file mode 100644
index da15952f0f37..000000000000
--- a/pkgs/servers/monitoring/prometheus/statsd_bridge/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, lib, goPackages, fetchFromGitHub }:
-
-goPackages.buildGoPackage rec {
-  name = "prometheus-statsd-bridge-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "9715b183150c7bed8a10affb23d33fb55c597180";
-  goPackagePath = "github.com/prometheus/statsd_bridge";
-
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "prometheus";
-    repo = "statsd_bridge";
-    sha256 = "119024xb08qjwbhplpl5d94bjdfhn92w4ffn4kxr7aviri1gynfz";
-  };
-
-  buildInputs = with goPackages; [
-    fsnotify
-    prometheus.client_golang
-  ];
-
-  meta = with lib; {
-    description = "Receives StatsD-style metrics and exports them to Prometheus";
-    homepage = https://github.com/prometheus/statsd_bridge;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ benley ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/monitoring/riemann-dash/Gemfile b/pkgs/servers/monitoring/riemann-dash/Gemfile
index 496302e76435..6b770b708185 100644
--- a/pkgs/servers/monitoring/riemann-dash/Gemfile
+++ b/pkgs/servers/monitoring/riemann-dash/Gemfile
@@ -1,3 +1,3 @@
 source 'https://rubygems.org'
 
-gem "riemann-dash", "0.2.9"
+gem "riemann-dash", "0.2.11"
diff --git a/pkgs/servers/monitoring/riemann-dash/Gemfile.lock b/pkgs/servers/monitoring/riemann-dash/Gemfile.lock
index cd0ace470e20..a5445b953c47 100644
--- a/pkgs/servers/monitoring/riemann-dash/Gemfile.lock
+++ b/pkgs/servers/monitoring/riemann-dash/Gemfile.lock
@@ -3,25 +3,25 @@ GEM
   specs:
     erubis (2.7.0)
     multi_json (1.3.6)
-    rack (1.5.2)
+    rack (1.6.1)
     rack-protection (1.5.3)
       rack
-    riemann-dash (0.2.9)
+    riemann-dash (0.2.11)
       erubis (>= 2.7.0)
       multi_json (= 1.3.6)
       sass (>= 3.1.14)
       sinatra (~> 1.4.5)
       webrick (~> 1.3.1)
-    sass (3.4.8)
-    sinatra (1.4.5)
+    sass (3.4.14)
+    sinatra (1.4.6)
       rack (~> 1.4)
       rack-protection (~> 1.4)
-      tilt (~> 1.3, >= 1.3.4)
-    tilt (1.4.1)
+      tilt (>= 1.3, < 3)
+    tilt (2.0.1)
     webrick (1.3.1)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  riemann-dash (= 0.2.9)
+  riemann-dash (= 0.2.11)
diff --git a/pkgs/servers/monitoring/riemann-dash/gemset.nix b/pkgs/servers/monitoring/riemann-dash/gemset.nix
index f2e80e9aca43..b98fd452f1af 100644
--- a/pkgs/servers/monitoring/riemann-dash/gemset.nix
+++ b/pkgs/servers/monitoring/riemann-dash/gemset.nix
@@ -1,26 +1,26 @@
 {
-  erubis = {
+  "erubis" = {
     version = "2.7.0";
     source = {
       type = "gem";
       sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
     };
   };
-  multi_json = {
+  "multi_json" = {
     version = "1.3.6";
     source = {
       type = "gem";
       sha256 = "0q2zjfvd2ibds9g9nzf2p1b47fc1wqliwfywv5pw85w15lmy91yr";
     };
   };
-  rack = {
-    version = "1.5.2";
+  "rack" = {
+    version = "1.6.1";
     source = {
       type = "gem";
-      sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6";
+      sha256 = "0f73v6phkwczl1sfv0wgdwsnlsg364bhialbnfkg2dnxhh57l0gl";
     };
   };
-  rack-protection = {
+  "rack-protection" = {
     version = "1.5.3";
     source = {
       type = "gem";
@@ -30,11 +30,11 @@
       "rack"
     ];
   };
-  riemann-dash = {
-    version = "0.2.9";
+  "riemann-dash" = {
+    version = "0.2.11";
     source = {
       type = "gem";
-      sha256 = "0ws5wmjbv8w9lcr3i2mdinj2qm91p6c85k6c067i67cf0p90jxq3";
+      sha256 = "1vzb75hf1xy7ssil7fp9z7z51vh79ba22x56ific7f1kcb21lzk7";
     };
     dependencies = [
       "erubis"
@@ -44,18 +44,18 @@
       "webrick"
     ];
   };
-  sass = {
-    version = "3.4.8";
+  "sass" = {
+    version = "3.4.14";
     source = {
       type = "gem";
-      sha256 = "1ianyj2figwk314h10fkzpjql2xxi5l4njv1h0w8iyzjda85rqlp";
+      sha256 = "0x2mg6pid87s4ddvv6xnxfzwgy72pjmkm461pav92ngqnngx2ggk";
     };
   };
-  sinatra = {
-    version = "1.4.5";
+  "sinatra" = {
+    version = "1.4.6";
     source = {
       type = "gem";
-      sha256 = "0qyna3wzlnvsz69d21lxcm3ixq7db08mi08l0a88011qi4qq701s";
+      sha256 = "1hhmwqc81ram7lfwwziv0z70jh92sj1m7h7s9fr0cn2xq8mmn8l7";
     };
     dependencies = [
       "rack"
@@ -63,18 +63,18 @@
       "tilt"
     ];
   };
-  tilt = {
-    version = "1.4.1";
+  "tilt" = {
+    version = "2.0.1";
     source = {
       type = "gem";
-      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
+      sha256 = "1qc1k2r6whnb006m10751dyz3168cq72vj8mgp5m2hpys8n6xp3k";
     };
   };
-  webrick = {
+  "webrick" = {
     version = "1.3.1";
     source = {
       type = "gem";
       sha256 = "0s42mxihcl2bx0h9q0v2syl70qndydfkl39a06h9il17p895ya8g";
     };
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/servers/monitoring/riemann/default.nix b/pkgs/servers/monitoring/riemann/default.nix
index f8cd73605ca9..132275a56e09 100644
--- a/pkgs/servers/monitoring/riemann/default.nix
+++ b/pkgs/servers/monitoring/riemann/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "riemann-${version}";
-  version = "0.2.8";
+  version = "0.2.9";
 
   src = fetchurl {
     url = "http://aphyr.com/riemann/${name}.tar.bz2";
-    sha256 = "1p2pdkxy2xc5zlj6kadf4z8l0f0r4bvdgipqf52193l7rdm6dfzm";
+    sha256 = "10zz92sg9ak8g7xsfc05p4kic6hzwj7nqpkjgsd8f7f3slvfjqw3";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
diff --git a/pkgs/servers/monitoring/sensu/default.nix b/pkgs/servers/monitoring/sensu/default.nix
index 38e59a39f381..2bb81d833372 100644
--- a/pkgs/servers/monitoring/sensu/default.nix
+++ b/pkgs/servers/monitoring/sensu/default.nix
@@ -11,7 +11,7 @@
     meta = with lib; {
       description = "A monitoring framework that aims to be simple, malleable, and scalable";
       homepage    = http://sensuapp.org/;
-      license     = with licenses; mit;
+      license     = licenses.mit;
       maintainers = with maintainers; [ theuni ];
       platforms   = platforms.unix;
     };
diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix
index 9ce027409fdf..0aa32a66f0a5 100644
--- a/pkgs/servers/monitoring/zabbix/2.0.nix
+++ b/pkgs/servers/monitoring/zabbix/2.0.nix
@@ -78,13 +78,13 @@ in
 
     configureFlags = "--enable-agent";
 
-    meta = {
+    meta = with stdenv.lib; {
       inherit branch;
       description = "An enterprise-class open source distributed monitoring solution (client-side agent)";
       homepage = http://www.zabbix.com/;
-      license = "GPL";
-      maintainers = [ stdenv.lib.maintainers.eelco ];
-      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+      license = licenses.gpl2;
+      maintainers = [ maintainers.eelco ];
+      platforms = platforms.linux ++ platforms.darwin;
     };
   };
 
diff --git a/pkgs/servers/monitoring/zabbix/2.2.nix b/pkgs/servers/monitoring/zabbix/2.2.nix
index 1e8d03ec2b66..139786ba59d0 100644
--- a/pkgs/servers/monitoring/zabbix/2.2.nix
+++ b/pkgs/servers/monitoring/zabbix/2.2.nix
@@ -90,13 +90,13 @@ in
 
     configureFlags = "--enable-agent";
 
-    meta = {
+    meta = with stdenv.lib; {
       inherit branch;
       description = "An enterprise-class open source distributed monitoring solution (client-side agent)";
       homepage = http://www.zabbix.com/;
-      license = "GPL";
-      maintainers = [ stdenv.lib.maintainers.eelco ];
-      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+      license = licenses.gpl2;
+      maintainers = [ maintainers.eelco ];
+      platforms = platforms.linux ++ platforms.darwin;
     };
   };
 
diff --git a/pkgs/servers/monitoring/zabbix/default.nix b/pkgs/servers/monitoring/zabbix/default.nix
index 5d8541ab870e..0aa74599c3a4 100644
--- a/pkgs/servers/monitoring/zabbix/default.nix
+++ b/pkgs/servers/monitoring/zabbix/default.nix
@@ -57,12 +57,12 @@ in
 
     configureFlags = "--enable-agent";
 
-    meta = {
+    meta = with stdenv.lib; {
       description = "An enterprise-class open source distributed monitoring solution (client-side agent)";
       homepage = http://www.zabbix.com/;
-      license = "GPL";
-      maintainers = [ stdenv.lib.maintainers.eelco ];
-      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+      license = licenses.gpl2;
+      maintainers = [ maintainers.eelco ];
+      platforms = platforms.linux ++ platforms.darwin;
     };
   };
 
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 36b78388980e..c7380b023067 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -17,8 +17,8 @@
 , mmsSupport ? true, libmms
 , mpg123Support ? true, mpg123
 , aacSupport ? true, faad2
-, pulseaudioSupport ? true, pulseaudio
-, jackSupport ? true, jack2
+, pulseaudioSupport ? true, libpulseaudio
+, jackSupport ? true, libjack2
 , gmeSupport ? true, game-music-emu
 , icuSupport ? true, icu
 , clientSupport ? false, mpd_clientlib
@@ -60,8 +60,8 @@ in stdenv.mkDerivation rec {
     ++ opt mpg123Support mpg123
     ++ opt aacSupport faad2
     ++ opt zipSupport zziplib
-    ++ opt pulseaudioSupport pulseaudio
-    ++ opt jackSupport jack2
+    ++ opt pulseaudioSupport libpulseaudio
+    ++ opt jackSupport libjack2
     ++ opt gmeSupport game-music-emu
     ++ opt icuSupport icu
     ++ opt clientSupport mpd_clientlib
diff --git a/pkgs/servers/neard/default.nix b/pkgs/servers/neard/default.nix
new file mode 100644
index 000000000000..995ffc41c60e
--- /dev/null
+++ b/pkgs/servers/neard/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchgit, autoreconfHook, pkgconfig, systemd, glib, dbus, libnl, pythonPackages }:
+
+stdenv.mkDerivation rec {
+  name = "neard-0.15-post-git-20510929";
+
+  src = fetchgit {
+    url    = "https://git.kernel.org/pub/scm/network/nfc/neard.git";
+    sha256 = "08327b536ad8460a08bdceeec48c561e75ca56e5e0ee034c40d02cd1545906c0";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig systemd glib dbus libnl pythonPackages.python pythonPackages.wrapPython ];
+  pythonPath = [ pythonPackages.pygobject pythonPackages.dbus pythonPackages.pygtk ];
+
+  configureFlags = [ "--disable-debug" "--enable-tools" "--enable-ese" "--with-systemdsystemunitdir=$out/lib/systemd/system" ];
+
+  postInstall = ''
+    install -m 0755 tools/snep-send $out/bin/
+
+    install -D -m644 src/neard.service $out/lib/systemd/system/neard.service
+    install -D -m644 src/main.conf $out/etc/neard/main.conf
+
+    # INFO: the config option "--enable-test" would copy the apps to $out/lib/neard/test/ instead
+    install -d $out/lib/neard
+    install -m 0755 test/* $out/lib/neard/
+    wrapPythonProgramsIn $out/lib/neard "$out $pythonPath"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Near Field Communication manager";
+    homepage    = https://01.org/linux-nfc;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ tstrobel ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/nosql/apache-jena/binary.nix b/pkgs/servers/nosql/apache-jena/binary.nix
index 8c4db178e78a..9b4e19b32708 100644
--- a/pkgs/servers/nosql/apache-jena/binary.nix
+++ b/pkgs/servers/nosql/apache-jena/binary.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="apache-jena";
-    version = "2.13.0";
+    version = "3.0.0";
     name="${baseName}-${version}";
     url="http://archive.apache.org/dist/jena/binaries/apache-jena-${version}.tar.gz";
-    sha256 = "0fb5f2rv7rgi60r4b80r1wzap1rngmajv378mdkcyhm7bj4ba31d";
+    sha256 = "1pqg27m295v7v456pidb0fq5120blkc466pdzksqxqcjrwivq4kb";
   };
   buildInputs = [
     makeWrapper
diff --git a/pkgs/servers/nosql/arangodb/default.nix b/pkgs/servers/nosql/arangodb/default.nix
new file mode 100644
index 000000000000..4ff12f630c9b
--- /dev/null
+++ b/pkgs/servers/nosql/arangodb/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, openssl, zlib, python, gyp, bash, go, readline }:
+
+stdenv.mkDerivation rec {
+  version = "2.5.3";
+  name    = "arangodb-${version}";
+
+  src = fetchFromGitHub {
+    repo = "arangodb";
+    owner = "arangodb";
+    rev = "67d995aa22ea341129398326fa10c5f6c14e94e9";
+    sha256 = "1v07fghf2jd2mvkfqhag0xblf6sxw7kx9kmhs2xpyrpns58lirvc";
+  };
+
+  buildInputs = [
+    openssl zlib python gyp go readline
+  ];
+
+  configureFlagsArray = [ "--with-openssl-lib=${openssl}/lib" ];
+
+  patchPhase = ''
+    substituteInPlace 3rdParty/V8-3.31.74.1/build/gyp/gyp --replace /bin/bash ${bash}/bin/bash
+    substituteInPlace 3rdParty/etcd/build --replace /bin/bash ${bash}/bin/bash
+    '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/arangodb/arangodb";
+    description = "A native multi-model database with flexible data models for documents, graphs, and key-values";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.flosse ];
+  };
+}
diff --git a/pkgs/servers/nosql/cassandra/1.2.nix b/pkgs/servers/nosql/cassandra/1.2.nix
new file mode 100644
index 000000000000..1507787ae003
--- /dev/null
+++ b/pkgs/servers/nosql/cassandra/1.2.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, fetchurl
+, jre
+, python
+, makeWrapper
+, gawk
+, bash
+, getopt
+, procps
+}:
+
+let
+
+  version = "1.2.19";
+  sha256 = "0zkq3ggpk8ra2siar43vmrn6lmvn902p1g2lrgb46ak1vii6w30w";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "cassandra-${version}";
+
+  src = fetchurl {
+    inherit sha256;
+    url = "mirror://apache/cassandra/${version}/apache-${name}-bin.tar.gz";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir $out
+    mv * $out
+
+    for cmd in cassandra nodetool sstablekeys sstableloader sstableupgrade
+      do wrapProgram $out/bin/$cmd \
+        --set JAVA_HOME ${jre} \
+        --prefix PATH : ${bash}/bin \
+        --prefix PATH : ${getopt}/bin \
+        --prefix PATH : ${gawk}/bin \
+        --prefix PATH : ${procps}/bin
+    done
+
+    wrapProgram $out/bin/cqlsh --prefix PATH : ${python}/bin
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://cassandra.apache.org/;
+    description = "A massively scalable open source NoSQL database";
+    platforms = with platforms; all;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bcarrell ];
+  };
+}
diff --git a/pkgs/servers/nosql/cassandra/2.0.nix b/pkgs/servers/nosql/cassandra/2.0.nix
index defb4f657d6c..d1c76c83a7ee 100644
--- a/pkgs/servers/nosql/cassandra/2.0.nix
+++ b/pkgs/servers/nosql/cassandra/2.0.nix
@@ -6,12 +6,13 @@
 , gawk
 , bash
 , getopt
+, procps
 }:
 
 let
 
-  version = "2.0.14";
-  sha256 = "06vsv141dk5i5z47nh1glkqpscjl5fgynbhaxb4yjab9lskwv5jk";
+  version = "2.0.16";
+  sha256 = "1fpvgmakmxy1lnygccpc32q53pa36bwy0lqdvb6hsifkxymdw8y5";
 
 in
 
@@ -20,10 +21,10 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     inherit sha256;
-    url = "http://apache.cs.utah.edu/cassandra/${version}/apache-${name}-bin.tar.gz";
+    url = "mirror://apache/cassandra/${version}/apache-${name}-bin.tar.gz";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir $out
@@ -34,7 +35,8 @@ stdenv.mkDerivation rec {
         --set JAVA_HOME ${jre} \
         --prefix PATH : ${bash}/bin \
         --prefix PATH : ${getopt}/bin \
-        --prefix PATH : ${gawk}/bin
+        --prefix PATH : ${gawk}/bin \
+        --prefix PATH : ${procps}/bin
     done
 
     wrapProgram $out/bin/cqlsh --prefix PATH : ${python}/bin
@@ -44,7 +46,7 @@ stdenv.mkDerivation rec {
     homepage = http://cassandra.apache.org/;
     description = "A massively scalable open source NoSQL database";
     platforms = with platforms; all;
-    license = with licenses; asl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ nckx rushmorem ];
   };
 }
diff --git a/pkgs/servers/nosql/cassandra/2.1.nix b/pkgs/servers/nosql/cassandra/2.1.nix
index d62e8aa450c4..36905b5675a0 100644
--- a/pkgs/servers/nosql/cassandra/2.1.nix
+++ b/pkgs/servers/nosql/cassandra/2.1.nix
@@ -6,12 +6,13 @@
 , gawk
 , bash
 , getopt
+, procps
 }:
 
 let
 
-  version = "2.1.4";
-  sha256 = "1wdp1hcp541bwja0h5kb0ff2yy74mlhkr93chrlz2199lynynpgv";
+  version = "2.1.9";
+  sha256 = "10nwh7kx4k0kkfvl3sf22v3x58q37b81lkr6s6gvzkq67f6mjcvs";
 
 in
 
@@ -20,10 +21,10 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     inherit sha256;
-    url = "http://apache.cs.utah.edu/cassandra/${version}/apache-${name}-bin.tar.gz";
+    url = "mirror://apache/cassandra/${version}/apache-${name}-bin.tar.gz";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir $out
@@ -34,7 +35,8 @@ stdenv.mkDerivation rec {
         --set JAVA_HOME ${jre} \
         --prefix PATH : ${bash}/bin \
         --prefix PATH : ${getopt}/bin \
-        --prefix PATH : ${gawk}/bin
+        --prefix PATH : ${gawk}/bin \
+        --prefix PATH : ${procps}/bin
     done
 
     wrapProgram $out/bin/cqlsh --prefix PATH : ${python}/bin
@@ -44,7 +46,7 @@ stdenv.mkDerivation rec {
     homepage = http://cassandra.apache.org/;
     description = "A massively scalable open source NoSQL database";
     platforms = with platforms; all;
-    license = with licenses; asl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ nckx rushmorem ];
   };
 }
diff --git a/pkgs/servers/nosql/eventstore/default.nix b/pkgs/servers/nosql/eventstore/default.nix
new file mode 100644
index 000000000000..9cb5dd41c1c3
--- /dev/null
+++ b/pkgs/servers/nosql/eventstore/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchgit, fetchpatch, git, mono, v8, icu }:
+
+# There are some similarities with the pinta derivation. We should
+# have a helper to make it easy to package these Mono apps.
+
+stdenv.mkDerivation rec {
+  name = "EventStore-${version}";
+  version = "3.0.3";
+  src = fetchgit {
+    url = "https://github.com/EventStore/EventStore.git";
+    rev = "a1382252dd1ed0554ddb04015cdb2cbc1b0a65c1";
+    sha256 = "07ir6jlli2q1yvsnyw8r8dfril6h1wmfj98yf7a6k81585v2mc6g";
+    leaveDotGit = true;
+  };
+
+  patches = [
+    # see: https://github.com/EventStore/EventStore/issues/461
+    (fetchpatch {
+      url = https://github.com/EventStore/EventStore/commit/9a0987f19935178df143a3cf876becaa1b11ffae.patch;
+      sha256 = "04qw0rb1pypa8dqvj94j2mwkc1y6b40zrpkn1d3zfci3k8cam79y";
+    })
+  ];
+
+  buildPhase = ''
+    ln -s ${v8}/lib/libv8.so src/libs/libv8.so
+    ln -s ${icu}/lib/libicui18n.so src/libs/libicui18n.so
+    ln -s ${icu}/lib/libicuuc.so src/libs/libicuuc.so
+
+    patchShebangs build.sh
+    ./build.sh js1
+    ./build.sh quick ${version}
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,lib/eventstore/clusternode}
+    cp -r bin/clusternode/* $out/lib/eventstore/clusternode/
+    cat > $out/bin/clusternode << EOF
+    #!/bin/sh
+    exec ${mono}/bin/mono $out/lib/eventstore/clusternode/EventStore.ClusterNode.exe "\$@"
+    EOF
+    chmod +x $out/bin/clusternode
+  '';
+
+  buildInputs = [ git v8 mono ];
+
+  dontStrip = true;
+
+  meta = {
+    homepage = https://geteventstore.com/;
+    description = "Event sourcing database with processing logic in JavaScript";
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/servers/nosql/hyperdex/busybee.nix b/pkgs/servers/nosql/hyperdex/busybee.nix
index 19482db6f5a6..9fdbbf064b05 100644
--- a/pkgs/servers/nosql/hyperdex/busybee.nix
+++ b/pkgs/servers/nosql/hyperdex/busybee.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   preConfigure = "autoreconf -i";
 
   meta = with stdenv.lib; {
-    description = "BusyBee is a high-performance messaging layer.";
+    description = "A high-performance messaging layer";
     homepage = https://github.com/rescrv/busybee;
     license = licenses.bsd3;
   };
diff --git a/pkgs/servers/nosql/hyperdex/default.nix b/pkgs/servers/nosql/hyperdex/default.nix
index 44cc0752088a..659081281ef0 100644
--- a/pkgs/servers/nosql/hyperdex/default.nix
+++ b/pkgs/servers/nosql/hyperdex/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, unzip, autoconf, automake, libtool,
-  python, sodium, pkgconfig, popt, glog, xz, json_c, gperf, yacc,
+  python, libsodium, pkgconfig, popt, glog, xz, json_c, gperf, yacc,
   flex, pandoc, help2man, autoconf-archive, callPackage }:
 
 assert stdenv.isLinux;
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   preConfigure = "autoreconf -fi";
 
   meta = with stdenv.lib; {
-    description = "HyperDex is a scalable, searchable key-value store";
+    description = "A scalable, searchable key-value store";
     homepage = http://hyperdex.org;
     license = licenses.bsd3;
   };
diff --git a/pkgs/servers/nosql/hyperdex/libmacaroons.nix b/pkgs/servers/nosql/hyperdex/libmacaroons.nix
index 2d709c5bbd1d..5d91a82a8ec6 100644
--- a/pkgs/servers/nosql/hyperdex/libmacaroons.nix
+++ b/pkgs/servers/nosql/hyperdex/libmacaroons.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, unzip, autoconf, automake, libtool, 
-  pkgconfig, sodium, python }:
+  pkgconfig, libsodium, python }:
 stdenv.mkDerivation rec {
   name = "libmacaroons-${version}";
   version = "HEAD";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     url = "https://github.com/rescrv/libmacaroons/archive/6febf3ce6c4c77a46d24b40ed29b03ffbfb175a7.zip";
     sha256 = "0b4qgim87398chvc3qhxfqv2l1cyl65rhyknln8lk0gq9y00p1ik";
   };
-  buildInputs = [ unzip autoconf automake libtool python sodium pkgconfig ];
+  buildInputs = [ unzip autoconf automake libtool python libsodium pkgconfig ];
   preConfigure = "autoreconf -i";
   
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/nosql/hyperdex/replicant.nix b/pkgs/servers/nosql/hyperdex/replicant.nix
index c064aa419cde..69146b586723 100644
--- a/pkgs/servers/nosql/hyperdex/replicant.nix
+++ b/pkgs/servers/nosql/hyperdex/replicant.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   preConfigure = "autoreconf -i";
   
   meta = with stdenv.lib; {
-    description = "A system for maintaining replicated state machines.";
+    description = "A system for maintaining replicated state machines";
     homepage = https://github.com/rescrv/Replicant;
     license = licenses.bsd3;
   };
diff --git a/pkgs/servers/nosql/influxdb/backup.nix b/pkgs/servers/nosql/influxdb/backup.nix
deleted file mode 100644
index 0713f064ca58..000000000000
--- a/pkgs/servers/nosql/influxdb/backup.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, goPackages, fetchgit }:
-
-with goPackages;
-
-buildGoPackage rec {
-  rev = "4556edbffa914a8c17fa1fa1564962a33c6c7596";
-  name = "influxdb-backup-${lib.strings.substring 0 7 rev}";
-  goPackagePath = "github.com/eckardt/influxdb-backup";
-  src = fetchgit {
-    inherit rev;
-    url = https://github.com/eckardt/influxdb-backup.git;
-    sha256 = "2928063e6dfe4be7b69c8e72e4d6a5fc557f0c75e9625fadf607d59b8e80e34b";
-  };
-
-  subPackages = [ "influxdb-dump" "influxdb-restore" ];
-
-  buildInputs = [ eckardt.influxdb-go ];
-
-  meta = with lib; {
-    description = "Backup and Restore for InfluxDB";
-    homepage = https://github.com/eckardt/influxdb-backup;
-    maintainers = with maintainers; [ offline ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix
index ef08dd3747fd..09465edbd292 100644
--- a/pkgs/servers/nosql/mongodb/default.nix
+++ b/pkgs/servers/nosql/mongodb/default.nix
@@ -4,7 +4,7 @@
 
 with stdenv.lib;
 
-let version = "3.0.2";
+let version = "3.0.6";
     system-libraries = [
       "pcre"
       "wiredtiger"
@@ -17,16 +17,21 @@ let version = "3.0.2";
     ] ++ optionals stdenv.isLinux [ "tcmalloc" ];
     buildInputs = [
       sasl boost gperftools pcre snappy
-      zlib libyamlcpp sasl openssl libpcap wiredtiger
-    ];
+      zlib libyamlcpp sasl openssl libpcap
+    ] ++ optional stdenv.is64bit wiredtiger;
 
     other-args = concatStringsSep " " ([
+      # these are opt-in, lol
+      "--cc-use-shell-environment"
+      "--cxx-use-shell-environment"
+
       "--c++11=on"
       "--ssl"
       #"--rocksdb" # Don't have this packaged yet
-      "--wiredtiger=on"
+      "--wiredtiger=${if stdenv.is64bit then "on" else "off"}"
       "--js-engine=v8-3.25"
       "--use-sasl-client"
+      "--disable-warnings-as-errors"
       "--variant-dir=nixos" # Needed so we don't produce argument lists that are too long for gcc / ld
       "--extrapath=${concatStringsSep "," buildInputs}"
     ] ++ map (lib: "--use-system-${lib}") system-libraries);
@@ -36,7 +41,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz";
-    sha256 = "16c3cr7l8ddziavmxrg2aq9bp1knnscy57xx5zsvz6yv7hh24181";
+    sha256 = "0bc2khi36ck0y7dhppvjp8wy479hzyw34qs0965qj4gd2va6p7v0";
   };
 
   nativeBuildInputs = [ scons ];
@@ -46,6 +51,13 @@ in stdenv.mkDerivation rec {
     # fix environment variable reading
     substituteInPlace SConstruct \
         --replace "env = Environment(" "env = Environment(ENV = os.environ,"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+
+    substituteInPlace src/third_party/s2/s1angle.cc --replace drem remainder
+    substituteInPlace src/third_party/s2/s1interval.cc --replace drem remainder
+    substituteInPlace src/third_party/s2/s2cap.cc --replace drem remainder
+    substituteInPlace src/third_party/s2/s2latlng.cc --replace drem remainder
+    substituteInPlace src/third_party/s2/s2latlngrect.cc --replace drem remainder
   '';
 
   buildPhase = ''
diff --git a/pkgs/servers/nosql/redis/3.0.nix b/pkgs/servers/nosql/redis/3.0.nix
deleted file mode 100644
index 049639ad684f..000000000000
--- a/pkgs/servers/nosql/redis/3.0.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  version = "3.0.0-rc3";
-  name = "redis-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/antirez/redis/archive/${version}.tar.gz";
-    sha256 = "1695fa532eafc14c95f45add5d8a71d07e0e87b5c8f06c29dfa06313322d27b7";
-  };
-
-  makeFlags = "PREFIX=$(out)";
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://redis.io;
-    description = "An open source, advanced key-value store";
-    license = stdenv.lib.licenses.bsd3;
-    platforms = platforms.unix;
-    maintainers = [ maintainers.berdario ];
-  };
-}
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 833a17246fc9..6da7ec11e7c6 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "redis-2.8.19";
+  version = "3.0.2";
+  name = "redis-${version}";
 
   src = fetchurl {
     url = "http://download.redis.io/releases/${name}.tar.gz";
-    sha256 = "29bb08abfc3d392b2f0c3e7f48ec46dd09ab1023f9a5575fc2a93546f4ca5145";
+    sha256 = "93e422c0d584623601f89b956045be158889ebe594478a2c24e1bf218495633f";
   };
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
index 79343b044836..55f77ce0b5dd 100644
--- a/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchurl, which, protobuf, gperftools
-, boost, zlib, curl, python, m4, icu, jemalloc }:
+{ stdenv, fetchurl, which, m4, python
+, protobuf, boost, zlib, curl, openssl, icu, jemalloc
+}:
 
 stdenv.mkDerivation rec {
   name = "rethinkdb-${version}";
-  version = "2.0.0-1";
+  version = "2.1.3";
 
   src = fetchurl {
     url = "http://download.rethinkdb.com/dist/${name}.tgz";
-    sha256 = "0fbxs6gmlmgkbfrmi0f4xyr3vqwylr6i7fa4p68y12qy6kv7q9pc";
+    sha256 = "03w9fq3wcvwy04b3x6zb3hvwar7b9jfbpq77rmxdlgh5w64vvgwd";
   };
 
   preConfigure = ''
@@ -15,23 +16,28 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
-  configureFlags = "--lib-path ${gperftools}/lib --lib-path ${jemalloc}/lib";
+  configureFlags = [
+    "--with-jemalloc"
+    "--lib-path=${jemalloc}/lib"
+  ];
 
-  buildInputs = [ protobuf boost zlib curl icu jemalloc ];
+  buildInputs = [ protobuf boost zlib curl openssl icu jemalloc ];
 
   nativeBuildInputs = [ which m4 python ];
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "An open-source distributed database built with love";
     longDescription = ''
-      RethinkDB is built to store JSON documents, and scale to multiple machines with very little
-      effort. It has a pleasant query language that supports really useful queries like table joins
-      and group by, and is easy to setup and learn.
+      RethinkDB is built to store JSON documents, and scale to
+      multiple machines with very little effort. It has a pleasant
+      query language that supports really useful queries like table
+      joins and group by, and is easy to setup and learn.
     '';
-    homepage = http://www.rethinkdb.com;
-    license = stdenv.lib.licenses.agpl3;
-
-    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
-    platforms = stdenv.lib.platforms.all;
+    homepage    = http://www.rethinkdb.com;
+    license     = stdenv.lib.licenses.agpl3;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice bluescreen303 ];
   };
 }
diff --git a/pkgs/servers/nosql/riak/2.1.1.nix b/pkgs/servers/nosql/riak/2.1.1.nix
new file mode 100644
index 000000000000..c62cea180be7
--- /dev/null
+++ b/pkgs/servers/nosql/riak/2.1.1.nix
@@ -0,0 +1,94 @@
+{ stdenv, lib, fetchurl, unzip, erlangR16, which, pam, coreutils }:
+
+let
+  solrName = "solr-4.7.0-yz-1.tgz";
+  yokozunaJarName = "yokozuna-2.jar";
+  yzMonitorJarName = "yz_monitor-1.jar";
+
+  srcs = {
+    riak = fetchurl {
+      url = "http://s3.amazonaws.com/downloads.basho.com/riak/2.1/2.1.1/riak-2.1.1.tar.gz";
+      sha256 = "1bm5j3zknz82mkyh5zgaap73awflh4mkibdvdz164235mdxlwhdm";
+    };
+    solr = fetchurl {
+      url = "http://s3.amazonaws.com/files.basho.com/solr/${solrName}";
+      sha256 = "0brml3lb3xk26rmi05rrzpxrw92alfi9gi7p7537ny9lqg3808qp";
+    };
+    yokozunaJar = fetchurl {
+      url = "http://s3.amazonaws.com/files.basho.com/yokozuna/${yokozunaJarName}";
+      sha256 = "0xzfy181qxv27pc4f5xd0szn8vls5743273awr5rwv3608gkspj2";
+    };
+    yzMonitorJar = fetchurl {
+      url = "http://s3.amazonaws.com/files.basho.com/yokozuna/${yzMonitorJarName}";
+      sha256 = "0kb97d1a43vw759j1h5qwbhx455pidn2pi7sfxijqic37h81ri1m";
+    };
+  };
+in
+
+stdenv.mkDerivation rec {
+  name = "riak-2.1.1";
+
+  buildInputs = [
+    which unzip erlangR16 pam
+  ];
+
+  src = srcs.riak;
+
+  postPatch = ''
+    sed -i deps/node_package/priv/base/env.sh \
+      -e 's@{{platform_data_dir}}@''${RIAK_DATA_DIR:-/var/db/riak}@' \
+      -e 's@^RUNNER_SCRIPT_DIR=.*@RUNNER_SCRIPT_DIR='$out'/bin@' \
+      -e 's@^RUNNER_BASE_DIR=.*@RUNNER_BASE_DIR='$out'@' \
+      -e 's@^RUNNER_ETC_DIR=.*@RUNNER_ETC_DIR=''${RIAK_ETC_DIR:-/etc/riak}@' \
+      -e 's@^RUNNER_LOG_DIR=.*@RUNNER_LOG_DIR=''${RIAK_LOG_DIR:-/var/log}@'
+  '';
+
+  preBuild = ''
+    mkdir solr-pkg
+    cp ${srcs.solr} solr-pkg/${solrName}
+    export SOLR_PKG_DIR=$(readlink -f solr-pkg)
+
+    mkdir -p deps/yokozuna/priv/java_lib
+    cp ${srcs.yokozunaJar} deps/yokozuna/priv/java_lib/${yokozunaJarName}
+
+    mkdir -p deps/yokozuna/priv/solr/lib/ext
+    cp ${srcs.yzMonitorJar} deps/yokozuna/priv/solr/lib/ext/${yzMonitorJarName}
+
+    patchShebangs .
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    make locked-deps
+    make rel
+
+    runHook postBuild
+  '';
+
+  doCheck = false;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir $out
+    mv rel/riak/etc rel/riak/riak-etc
+    mkdir -p rel/riak/etc
+    mv rel/riak/riak-etc rel/riak/etc/riak
+    mv rel/riak/* $out
+
+    for prog in $out/bin/*; do
+      substituteInPlace $prog \
+        --replace '. "`cd \`dirname $0\` && /bin/pwd`/../lib/env.sh"' \
+                  ". $out/lib/env.sh"
+    done
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    maintainers = with maintainers; [ cstrahan ];
+    description = "Dynamo inspired NoSQL DB by Basho";
+    platforms   = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/servers/nsq/default.nix b/pkgs/servers/nsq/default.nix
deleted file mode 100644
index a7b77b8802a0..000000000000
--- a/pkgs/servers/nsq/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, goPackages, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
-
-with goPackages;
-
-buildGoPackage rec {
-  version = "0.2.28";
-  name = "nsq-${version}";
-  goPackagePath = "github.com/bitly/nsq";
-  src = fetchFromGitHub {
-    owner = "bitly";
-    repo = "nsq";
-    rev = "v${version}";
-    sha256 = "0drmf1j5w3q4l6f7xjy3y7d7cl50gcx0qwci6mahxsyaaclx60yx";
-  };
-
-  subPackages = [ "nsqadmin" ] ++
-                map (x: "apps/"+x) [ "nsq_pubsub" "nsq_stat" "nsq_tail"
-                                     "nsq_to_file" "nsq_to_http" "nsq_to_nsq"
-                                     "nsqd" "nsqlookupd" ];
-
-  buildInputs = [ go-nsq go-options toml perks go-hostpool ];
-
-  dontInstallSrc = true;
-
-  meta = with lib; {
-    description = "A realtime distributed messaging platform";
-    homepage = http://nsq.io/;
-    license = licenses.mit;
-    maintainers = with maintainers; [ cstrahan ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/openafs-client/I5558c64760e4cad2bd3dc648067d81020afc69b6.patch b/pkgs/servers/openafs-client/I5558c64760e4cad2bd3dc648067d81020afc69b6.patch
deleted file mode 100644
index d8f922aba374..000000000000
--- a/pkgs/servers/openafs-client/I5558c64760e4cad2bd3dc648067d81020afc69b6.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From: Marc Dionne <marc.dionne@your-file-system.com>
-Date: Thu, 25 Sep 2014 10:52:12 +0000 (-0300)
-Subject: Linux 3.17: Deal with d_splice_alias errors
-X-Git-Url: http://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=af7f1d59135526ea584a4403b6400106dc92a992;hp=880401913d6190054bb0511093606a206b16326c
-
-Linux 3.17: Deal with d_splice_alias errors
-
-In 3.17 the logic in d_splice_alias has changed.  Of interest to
-us is the fact that it will now return an EIO error if it finds
-an existing connected directory for the dentry, where it would
-previously have added a new alias for it.  As a result the end
-user can get EIO errors when accessing any file in a volume
-if the volume was first accessed through a different path (ex:
-RO path vs RW path).
-
-This commit just restores the old behaviour, adding the directory
-alias manually in the error case, which is what older versions
-of d_splice_alias used to do.
-
-Change-Id: I5558c64760e4cad2bd3dc648067d81020afc69b6
----
-
-diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
-index e03187f..0cdd9e0 100644
---- a/src/afs/LINUX/osi_vnodeops.c
-+++ b/src/afs/LINUX/osi_vnodeops.c
-@@ -1593,9 +1593,18 @@ afs_linux_lookup(struct inode *dip, struct dentry *dp)
-     /* It's ok for the file to not be found. That's noted by the caller by
-      * seeing that the dp->d_inode field is NULL.
-      */
--    if (!code || code == ENOENT)
--	return newdp;
--    else 
-+    if (!code || code == ENOENT) {
-+	/*
-+	 * d_splice_alias can return an error (EIO) if there is an existing
-+	 * connected directory alias for this dentry.
-+	 */
-+	if (!IS_ERR(newdp))
-+	    return newdp;
-+	else {
-+	    d_add(dp, ip);
-+	    return NULL;
-+	}
-+    } else
- 	return ERR_PTR(afs_convert_code(code));
- }
- 
diff --git a/pkgs/servers/openafs-client/If1fd9d27f795dee4b5aa2152dd09e0540d643a69.patch b/pkgs/servers/openafs-client/If1fd9d27f795dee4b5aa2152dd09e0540d643a69.patch
deleted file mode 100644
index f8844915f85c..000000000000
--- a/pkgs/servers/openafs-client/If1fd9d27f795dee4b5aa2152dd09e0540d643a69.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 880401913d6190054bb0511093606a206b16326c Mon Sep 17 00:00:00 2001
-From: Marc Dionne <marc.dionne@your-file-system.com>
-Date: Tue, 9 Sep 2014 10:39:55 -0300
-Subject: [PATCH] Linux 3.17: No more typedef for ctl_table
-
-The typedef has been removed so we need to use the structure
-directly.
-
-Note that the API for register_sysctl_table has also changed
-with 3.17, but it reverted back to a form that existed
-before and the configure tests handle it correctly.
-
-Change-Id: If1fd9d27f795dee4b5aa2152dd09e0540d643a69
----
- src/afs/LINUX/osi_sysctl.c |    4 ++--
- src/cf/linux-test4.m4      |    2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/afs/LINUX/osi_sysctl.c b/src/afs/LINUX/osi_sysctl.c
-index a8f7fac..834e8ad 100644
---- a/src/afs/LINUX/osi_sysctl.c
-+++ b/src/afs/LINUX/osi_sysctl.c
-@@ -34,7 +34,7 @@ extern afs_int32 afs_pct2;
- #ifdef CONFIG_SYSCTL
- static struct ctl_table_header *afs_sysctl = NULL;
- 
--static ctl_table afs_sysctl_table[] = {
-+static struct ctl_table afs_sysctl_table[] = {
-     {
- #if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
- #if defined(CTL_UNNUMBERED)
-@@ -234,7 +234,7 @@ static ctl_table afs_sysctl_table[] = {
-     {0}
- };
- 
--static ctl_table fs_sysctl_table[] = {
-+static struct ctl_table fs_sysctl_table[] = {
-     {
- #if defined(STRUCT_CTL_TABLE_HAS_CTL_NAME)
- #if defined(CTL_UNNUMBERED)
-diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4
-index dad91d9..228b491 100644
---- a/src/cf/linux-test4.m4
-+++ b/src/cf/linux-test4.m4
-@@ -395,7 +395,7 @@ AC_DEFUN([LINUX_REGISTER_SYSCTL_TABLE_NOFLAG], [
-   AC_CHECK_LINUX_BUILD([whether register_sysctl_table has an insert_at_head argument],
- 		       [ac_cv_linux_register_sysctl_table_noflag],
- 		       [#include <linux/sysctl.h>],
--		       [ctl_table *t; register_sysctl_table (t);],
-+		       [struct ctl_table *t; register_sysctl_table (t);],
- 		       [REGISTER_SYSCTL_TABLE_NOFLAG],
- 		       [define if register_sysctl_table has no insert_at head flag],
- 		       [])
--- 
-1.7.1
diff --git a/pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch b/pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch
deleted file mode 100644
index b95cfb4c620b..000000000000
--- a/pkgs/servers/openafs-client/ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From e284db57f94c8f97ed1c95dcd0bd9518d86c050c Mon Sep 17 00:00:00 2001
-From: Marc Dionne <marc.dionne@your-file-system.com>
-Date: Wed, 18 Jun 2014 08:53:48 -0400
-Subject: [PATCH] Linux 3.16: Switch to iter_file_splice_write
-
-Users of generic_file_splice_write need to switch to
-using iter_file_splice_write.
-
-Change-Id: If4801d27e030e1cb986f483cf437a2cfa7398eb3
-Reviewed-on: http://gerrit.openafs.org/11302
-Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
-Tested-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
-Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
-Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
----
- acinclude.m4                 |    3 +++
- src/afs/LINUX/osi_vnodeops.c |    4 ++++
- 2 files changed, 7 insertions(+), 0 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index ae8f1ed..9e39d90 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -958,6 +958,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
- 		 AC_CHECK_LINUX_FUNC([inode_setattr],
- 				     [#include <linux/fs.h>],
- 				     [inode_setattr(NULL, NULL);])
-+		 AC_CHECK_LINUX_FUNC([iter_file_splice_write],
-+				     [#include <linux/fs.h>],
-+				     [iter_file_splice_write(NULL,NULL,NULL,0,0);])
- 		 AC_CHECK_LINUX_FUNC([kernel_setsockopt],
- 				     [#include <linux/net.h>],
- 				     [kernel_setsockopt(NULL, 0, 0, NULL, 0);])
-diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
-index 6f4000b..2685915 100644
---- a/src/afs/LINUX/osi_vnodeops.c
-+++ b/src/afs/LINUX/osi_vnodeops.c
-@@ -827,7 +827,11 @@ struct file_operations afs_file_fops = {
-   .sendfile =   generic_file_sendfile,
- #endif
- #if defined(STRUCT_FILE_OPERATIONS_HAS_SPLICE)
-+# if defined(HAVE_LINUX_ITER_FILE_SPLICE_WRITE)
-+  .splice_write = iter_file_splice_write,
-+# else
-   .splice_write = generic_file_splice_write,
-+# endif
-   .splice_read = generic_file_splice_read,
- #endif
-   .release =	afs_linux_release,
--- 
-1.7.1
diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
index f2c1a072bfcd..cfeafed0da20 100644
--- a/pkgs/servers/openafs-client/default.nix
+++ b/pkgs/servers/openafs-client/default.nix
@@ -1,23 +1,25 @@
-{ stdenv, fetchurl, which, autoconf, automake, flex, yacc,
+{ stdenv, fetchurl, fetchgit, which, autoconf, automake, flex, yacc,
   kernel, glibc, ncurses, perl, kerberos }:
 
-assert stdenv.isLinux;
-assert builtins.substring 0 4 kernel.version != "3.18";
-
+let
+  version = if stdenv.lib.versionAtLeast kernel.version "4.2"
+    then "1.6.14-1-602130"
+    else "1.6.14";
+in
 stdenv.mkDerivation {
-  name = "openafs-1.6.9-${kernel.version}";
-
-  src = fetchurl {
-    url = http://www.openafs.org/dl/openafs/1.6.9/openafs-1.6.9-src.tar.bz2;
-    sha256 = "1isgw7znp10w0mr3sicnjzbc12bd1gdwfqqr667w6p3syyhs6bkv";
-  };
-
-  patches = [
-   ./f3c0f74186f4a323ffc5f125d961fe384d396cac.patch
-   ./ae86b07f827d6f3e2032a412f5f6cb3951a27d2d.patch
-   ./I5558c64760e4cad2bd3dc648067d81020afc69b6.patch
-   ./If1fd9d27f795dee4b5aa2152dd09e0540d643a69.patch
-  ];
+  name = "openafs-${version}-${kernel.version}";
+
+  src = if version == "1.6.14-1-602130"
+    # 1.6.14 + patches to run on linux 4.2 that will get into 1.6.15
+    then fetchgit {
+      url = "git://git.openafs.org/openafs.git";
+      rev = "feab09080ec050b3026eff966352b058e2c2295b";
+      sha256 = "03j71c7y487jbjmm6ydr1hw38pf43j2dz153xknndf4x4v21nnp2";
+    }
+    else fetchurl {
+      url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
+      sha256 = "3e62c798a7f982c4f88d85d32e46bee6a47848d207b1e318fe661ce44ae4e01f";
+    };
 
   buildInputs = [ autoconf automake flex yacc ncurses perl which ];
 
@@ -34,14 +36,14 @@ stdenv.mkDerivation {
 
     ./regen.sh
 
-    ${stdenv.lib.optionalString (kerberos != null) ''
-      export KRB5_CONFIG=${kerberos}/bin/krb5-config"
-    ''}
+    ${stdenv.lib.optionalString (kerberos != null)
+      "export KRB5_CONFIG=${kerberos}/bin/krb5-config"}
 
     configureFlagsArray=(
       "--with-linux-kernel-build=$TMP/linux"
       ${stdenv.lib.optionalString (kerberos != null) "--with-krb5"}
       "--sysconfdir=/etc/static"
+      "--disable-linux-d_splice-alias-extra-iput"
     )
   '';
 
diff --git a/pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch b/pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch
deleted file mode 100644
index e197ee4a34c8..000000000000
--- a/pkgs/servers/openafs-client/f3c0f74186f4a323ffc5f125d961fe384d396cac.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From: Marc Dionne <marc.dionne@your-file-system.com>
-Date: Wed, 18 Jun 2014 13:06:39 +0000 (-0400)
-Subject: Linux 3.16: Convert to new write_iter/read_iter ops
-X-Git-Tag: openafs-stable-1_6_10pre1~76
-X-Git-Url: http://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=f3c0f74186f4a323ffc5f125d961fe384d396cac
-
-Linux 3.16: Convert to new write_iter/read_iter ops
-
-Change read/write operations to the new write_iter/read_iter
-operations.
-
-Reviewed-on: http://gerrit.openafs.org/11303
-Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
-Tested-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
-Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
-Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
-(cherry picked from commit a303bb257ed9e790d8c14644779e9508167887b6)
-
-Change-Id: I3f66104be067698a4724ed78537765cf26d4aa10
-Reviewed-on: http://gerrit.openafs.org/11309
-Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
-Tested-by: BuildBot <buildbot@rampaginggeek.com>
-Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
----
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 83a1a8c..13d70db 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -836,6 +836,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
- 		 AC_CHECK_LINUX_STRUCT([inode], [i_security], [fs.h])
- 		 AC_CHECK_LINUX_STRUCT([file_operations], [flock], [fs.h])
- 		 AC_CHECK_LINUX_STRUCT([file_operations], [iterate], [fs.h])
-+		 AC_CHECK_LINUX_STRUCT([file_operations], [read_iter], [fs.h])
- 		 AC_CHECK_LINUX_STRUCT([file_operations], [sendfile], [fs.h])
- 		 AC_CHECK_LINUX_STRUCT([file_system_type], [mount], [fs.h])
- 		 AC_CHECK_LINUX_STRUCT([inode_operations], [truncate], [fs.h])
-diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c
-index 441cce7..818debe 100644
---- a/src/afs/LINUX/osi_vnodeops.c
-+++ b/src/afs/LINUX/osi_vnodeops.c
-@@ -99,8 +99,11 @@ afs_linux_VerifyVCache(struct vcache *avc, cred_t **retcred) {
-     return afs_convert_code(code);
- }
- 
--#ifdef HAVE_LINUX_GENERIC_FILE_AIO_READ
--# ifdef LINUX_HAS_NONVECTOR_AIO
-+#if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER) || defined(HAVE_LINUX_GENERIC_FILE_AIO_READ)
-+# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
-+static ssize_t
-+afs_linux_read_iter(struct kiocb *iocb, struct iov_iter *iter)
-+# elif defined(LINUX_HAS_NONVECTOR_AIO)
- static ssize_t
- afs_linux_aio_read(struct kiocb *iocb, char __user *buf, size_t bufsize,
-                    loff_t pos)
-@@ -113,6 +116,11 @@ afs_linux_aio_read(struct kiocb *iocb, const struct iovec *buf,
-     struct file *fp = iocb->ki_filp;
-     ssize_t code = 0;
-     struct vcache *vcp = VTOAFS(fp->f_dentry->d_inode);
-+# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
-+    loff_t pos = iocb->ki_pos;
-+    unsigned long bufsize = iter->nr_segs;
-+# endif
-+
- 
-     AFS_GLOCK();
-     afs_Trace4(afs_iclSetp, CM_TRACE_AIOREADOP, ICL_TYPE_POINTER, vcp,
-@@ -125,7 +133,11 @@ afs_linux_aio_read(struct kiocb *iocb, const struct iovec *buf,
- 	 * so we optimise by not using it */
- 	osi_FlushPages(vcp, NULL);	/* ensure stale pages are gone */
- 	AFS_GUNLOCK();
-+# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
-+	code = generic_file_read_iter(iocb, iter);
-+# else
- 	code = generic_file_aio_read(iocb, buf, bufsize, pos);
-+# endif
- 	AFS_GLOCK();
-     }
- 
-@@ -170,8 +182,11 @@ afs_linux_read(struct file *fp, char *buf, size_t count, loff_t * offp)
-  * also take care of re-positioning the pointer if file is open in append
-  * mode. Call fake open/close to ensure we do writes of core dumps.
-  */
--#ifdef HAVE_LINUX_GENERIC_FILE_AIO_READ
--# ifdef LINUX_HAS_NONVECTOR_AIO
-+#if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER) || defined(HAVE_LINUX_GENERIC_FILE_AIO_READ)
-+# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
-+static ssize_t
-+afs_linux_write_iter(struct kiocb *iocb, struct iov_iter *iter)
-+# elif defined(LINUX_HAS_NONVECTOR_AIO)
- static ssize_t
- afs_linux_aio_write(struct kiocb *iocb, const char __user *buf, size_t bufsize,
-                     loff_t pos)
-@@ -184,6 +199,10 @@ afs_linux_aio_write(struct kiocb *iocb, const struct iovec *buf,
-     ssize_t code = 0;
-     struct vcache *vcp = VTOAFS(iocb->ki_filp->f_dentry->d_inode);
-     cred_t *credp;
-+# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
-+    loff_t pos = iocb->ki_pos;
-+    unsigned long bufsize = iter->nr_segs;
-+# endif
- 
-     AFS_GLOCK();
- 
-@@ -199,7 +218,11 @@ afs_linux_aio_write(struct kiocb *iocb, const struct iovec *buf,
-     ReleaseWriteLock(&vcp->lock);
-     if (code == 0) {
- 	    AFS_GUNLOCK();
-+# if defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
-+	    code = generic_file_write_iter(iocb, iter);
-+# else
- 	    code = generic_file_aio_write(iocb, buf, bufsize, pos);
-+# endif
- 	    AFS_GLOCK();
-     }
- 
-@@ -788,7 +811,12 @@ struct file_operations afs_dir_fops = {
- };
- 
- struct file_operations afs_file_fops = {
--#ifdef HAVE_LINUX_GENERIC_FILE_AIO_READ
-+#ifdef STRUCT_FILE_OPERATIONS_HAS_READ_ITER
-+  .read_iter =	afs_linux_read_iter,
-+  .write_iter =	afs_linux_write_iter,
-+  .read =	new_sync_read,
-+  .write =	new_sync_write,
-+#elif defined(HAVE_LINUX_GENERIC_FILE_AIO_READ)
-   .aio_read =	afs_linux_aio_read,
-   .aio_write =	afs_linux_aio_write,
-   .read =	do_sync_read,
diff --git a/pkgs/servers/openpts/bugs.patch b/pkgs/servers/openpts/bugs.patch
new file mode 100644
index 000000000000..d818bafbc9f3
--- /dev/null
+++ b/pkgs/servers/openpts/bugs.patch
@@ -0,0 +1,12 @@
+diff -urNp openpts-0.2.6-cvs-patched/src/fsm.c openpts-0.2.6-current/src/fsm.c
+--- openpts-0.2.6-cvs-patched/src/fsm.c	2012-01-05 03:49:15.000000000 -0500
++++ openpts-0.2.6-current/src/fsm.c	2012-01-09 12:11:17.338706205 -0500
+@@ -934,7 +934,7 @@ char *getEventString(OPENPTS_PCR_EVENT_W
+     /* event */
+     event = eventWrapper->event;
+     if (event != NULL) {
+-        // len = snprintf(buf, size, "PCR[%d],TYPE=%d", (int)event->ulPcrIndex, event->eventType);
++        snprintf(buf, size, "PCR[%d],TYPE=%d", (int)event->ulPcrIndex, event->eventType);
+     } else {
+         LOG(LOG_ERR, "NULL event\n");  // TODO(munetoh)
+         xfree(buf);
diff --git a/pkgs/servers/openpts/default.nix b/pkgs/servers/openpts/default.nix
new file mode 100644
index 000000000000..7d82af72b554
--- /dev/null
+++ b/pkgs/servers/openpts/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, autoconf, automake, pkgconfig, libtool, trousers, openssl, libxml2, libuuid, gettext, perl }:
+
+stdenv.mkDerivation rec {
+  name = "openpts-${version}";
+  version = "0.2.6";
+
+  src = fetchurl {
+    url = "http://jaist.dl.osdn.jp/openpts/54410/openpts-${version}.tar.gz";
+    sha256 = "1b5phshl49fxr5y3g5zz75gm0n4cw8i7n29x5f1a95xkwrjpazi0";
+  };
+
+  # patches from https://apps.fedoraproject.org/packages/openpts/sources/patches/
+  patches = [ ./bugs.patch ./zlib.patch ./tboot.patch ./ptsc.patch ];
+
+  buildInputs = [ autoconf automake pkgconfig libtool trousers openssl libxml2 libuuid gettext ];
+
+  preConfigure = ''
+    substituteInPlace include/Makefile.am --replace "./cvs2msg.pl" "${perl}/bin/perl cvs2msg.pl";
+    $SHELL bootstrap.sh
+    '';
+
+  configureFlags = [ "--with-tss" "--with-aru" "--with-tboot" "--enable-tnc" "--with-aide" ];
+
+  NIX_CFLAGS_COMPILE = "-I${trousers}/include/trousers -I${trousers}/include/tss";
+
+  preInstall = ''
+    mkdir -p $out
+    mkdir -p $out/etc
+    cp -p dist/ptsc.conf.in $out/etc/ptsc.conf
+    cp -p dist/ptsv.conf.in $out/etc/ptsv.conf
+    mkdir -p $out/share/openpts/models
+    cp -p models/*.uml $out/share/openpts/models/
+
+    mkdir -p $out/share/openpts/tpm_emulator
+    cp dist/tpm_emulator/README.rhel $out/share/openpts/tpm_emulator/README
+    cp dist/tpm_emulator/binary_bios_measurements $out/share/openpts/tpm_emulator/
+    cp dist/tpm_emulator/tcsd $out/share/openpts/tpm_emulator/
+
+    mkdir -p $out/share/openpts/tboot
+    cp dist/tboot/README.fedora15 $out/share/openpts/tboot/README
+    cp dist/tboot/ptsc.conf.fedora15 $out/share/openpts/tboot/ptsc.conf
+    cp dist/tboot/tcsd.conf.fedora15 $out/share/openpts/tboot/tcsd.conf
+    cp dist/tboot/tcsd.fedora15 $out/share/openpts/tboot/tcsd
+    '';
+
+  meta = {
+    description = "TCG Platform Trust Service (PTS)";
+    homepage = "ttp://sourceforge.jp/projects/openpts";
+    license = stdenv.lib.licenses.cpl10;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ tstrobel ];
+  };
+}
diff --git a/pkgs/servers/openpts/ptsc.patch b/pkgs/servers/openpts/ptsc.patch
new file mode 100644
index 000000000000..b6fcde740744
--- /dev/null
+++ b/pkgs/servers/openpts/ptsc.patch
@@ -0,0 +1,28 @@
+diff -urNp openpts-0.2.6-patched/src/ptsc.c openpts-0.2.6-current/src/ptsc.c
+--- openpts-0.2.6-patched/src/ptsc.c	2012-08-21 15:57:07.733841433 -0400
++++ openpts-0.2.6-current/src/ptsc.c	2012-08-21 16:13:26.479732504 -0400
+@@ -457,7 +457,10 @@ void ptsc_lock(void) {
+             exit(1);
+         }
+         oldgrp = getegid();
+-        setegid(grp.gr_gid);
++        if(setegid(grp.gr_gid) != 0){
++		LOG(LOG_ERR, "setegid fail");
++		exit(1);
++	}
+     }
+ 
+     oldmask = umask(0);
+@@ -467,7 +470,10 @@ void ptsc_lock(void) {
+     }
+     if (grpent) {
+         chmod(LOCK_DIR, 02775);
+-        setegid(oldgrp);
++	if(setegid(oldgrp) != 0){
++		LOG(LOG_ERR, "setegid fail");
++		exit(1);
++        }
+     }
+     fd = open(LOCK_FILE, O_RDWR | O_CREAT | O_TRUNC, 0660);
+     if (fd < 0) {
+
diff --git a/pkgs/servers/openpts/tboot.patch b/pkgs/servers/openpts/tboot.patch
new file mode 100644
index 000000000000..6ecee5839202
--- /dev/null
+++ b/pkgs/servers/openpts/tboot.patch
@@ -0,0 +1,21 @@
+diff -urNp openpts-0.2.6-patched/src/tboot2iml.c openpts-0.2.6-current/src/tboot2iml.c
+--- openpts-0.2.6-patched/src/tboot2iml.c	2012-07-23 16:30:12.381361421 -0400
++++ openpts-0.2.6-current/src/tboot2iml.c	2012-07-23 17:25:59.053945778 -0400
+@@ -531,7 +531,7 @@ int sinit_acm_hash(char *filename, int s
+ 
+ 
+ int sha1sum_unzip(char *filename, int *filesize, BYTE *digest) {
+-    FILE *fp;
++    gzFile fp;
+     char buf[2048];
+     SHA_CTX sha_ctx;
+     int len;
+@@ -541,7 +541,7 @@ int sha1sum_unzip(char *filename, int *f
+ 
+     /* open */
+     fp = gzopen(filename, "rb");
+-    if (fp == NULL) {
++    if (fp == Z_NULL) {
+         LOG(LOG_ERR, "File %s does not exist\n", filename);
+         return 0;
+     }
diff --git a/pkgs/servers/openpts/zlib.patch b/pkgs/servers/openpts/zlib.patch
new file mode 100644
index 000000000000..7fa3fce10fe9
--- /dev/null
+++ b/pkgs/servers/openpts/zlib.patch
@@ -0,0 +1,12 @@
+diff -urNp openpts-0.2.6-cvs-patched/src/Makefile.am openpts-0.2.6-current/src/Makefile.am
+--- openpts-0.2.6-cvs-patched/src/Makefile.am	2012-01-05 03:49:15.000000000 -0500
++++ openpts-0.2.6-current/src/Makefile.am	2012-01-09 14:12:02.507361732 -0500
+@@ -30,7 +30,7 @@ localedir = $(datadir)/locale
+ 
+ 
+ AM_CPPFLAGS = -I$(top_srcdir)/include $(LIBXML2_CFLAGS) $(TSS_CFLAGS) -I../include -DLOCALEDIR=\"$(localedir)\"
+-AM_LDFLAGS = $(LIBXML2_LIBS) $(LIBCRYPTO_LIBS) $(TSS_LIBS) -lopenpts
++AM_LDFLAGS = $(LIBXML2_LIBS) $(LIBCRYPTO_LIBS) $(TSS_LIBS) -lz -lopenpts
+ # $(LIBINTL) -lopenpts
+ 
+ if HAVE_LIBUUID
diff --git a/pkgs/servers/openxpki/default.nix b/pkgs/servers/openxpki/default.nix
new file mode 100644
index 000000000000..dd1ed7c473b7
--- /dev/null
+++ b/pkgs/servers/openxpki/default.nix
@@ -0,0 +1,77 @@
+{ stdenv, buildPerlPackage, fetchgit, perl, openssl, perlPackages, gettext, python34Packages
+# TODO: Remove extra dependencies once it is clear that they are NOT needed somewhere.
+, extraDependencies1 ? false, extraDependencies2 ? false, extraDependencies3 ? false }:
+
+buildPerlPackage {
+  name = "openxpki-git20150807";
+
+  src = fetchgit {
+    url = "https://github.com/openxpki/openxpki";
+    rev = "5cb76c553b6b1a81ede380857700628a7521f6e3";
+    sha256 = "7c93bdce7a205c58b08c91c249e566e885ed08f9d43cc2ac652c705c1f7e4490";
+  };
+
+  buildInputs = [ perl openssl gettext python34Packages.sphinx ];
+  propagatedBuildInputs = with perlPackages;
+    [ # dependencies from Makefile.PL
+      libintlperl ConfigVersioned LWP TestSimple ClassAccessorChained IOSocketSSL ClassStd
+      CGISession ConfigStd ConfigMerge Connector CryptCBC CryptOpenSSLAES CryptPKCS10
+      DBDMock DataPassword DataSerializer DateTimeFormatDateParse IOPrompt
+      IPCShareLite JSON Log4Perl LWPProtocolconnect LWPProtocolhttps MailRFC822Address
+      Moose NetAddrIP NetDNS NetIP NetLDAP NetHTTP NetServer NetSSLeay ParamsValidate PathClass
+      ProcProcessTable ProcSafeExec RegexpCommon SOAPLite Switch SysSigAction TemplateToolkit
+      TestPod TestPodCoverage TextCSV_XS TimeHiRes Workflow XMLFilterXInclude XMLParser
+      XMLSAX XMLSAXWriter XMLSimple XMLValidatorSchema ]
+    ++ stdenv.lib.optionals extraDependencies1
+    [ # dependencies from parsing through core/server
+      ClassAccessor Carp PathTools DataDumper DateTime DateTimeFormatStrptime DBI DigestMD5
+      DigestSHA Encode ExceptionClass Exporter FilePath FileTemp Filter GetoptLong HTMLParser
+      ScalarListUtils MathBigInt Memoize MIMEBase64 NetSMTP PodUsage RTClientREST Socket
+      Storable XSLoader ]
+    ++ stdenv.lib.optionals extraDependencies2
+    [ # dependencies taken from Debian
+      MooseXTypesPathClass DataStreamBulk MooseXStrictConstructor NamespaceAutoclean GitPurePerl
+      ConfigGitLike DevelStackTrace TreeDAGNode ClassObservable ClassFactory TimeDate ConfigAny
+      CGIFast ClassISA YAML YAMLLibYAML AuthenSASL TextCSV FileFindRulePerl IODigest ]
+    ++ stdenv.lib.optionals extraDependencies3
+    [ # dependencies taken from http://search.cpan.org/~alech/Bundle-OpenXPKI-0.06/lib/Bundle/OpenXPKI.pm
+      AttributeHandlers AttributeParamsValidate AutoLoader BC CGI CPAN CacheCache ClassClassgenclassgen
+      ClassContainer ClassDataInheritable ClassSingleton ConvertASN1 DBDSQLite DBIxHTMLViewLATEST
+      DBFile DataPage DataSpreadPagination DateTimeLocale DateTimeTimeZone DevelPPPort DevelSelfStubber
+      DevelSymdump Digest DigestSHA1 Env Error ExtUtilsCommand ExtUtilsConstant ExtUtilsInstall
+      ExtUtilsMakeMaker FileCheckTree FilterSimple GoferTransporthttp HTMLMason HTMLTagset
+      HTTPServerSimpleMason I18NCollate IO IPCSysV LocaleCodes LocaleMaketext LogDispatch MathBigRat
+      MathComplex MathRound ModuleBuild ModuleBuildDeprecated NetPing PerlIOviaQuotedPrint PodChecker
+      PodCoverage PodEscapes PodLaTeX PodParser PodPerldoc PodPlainer PodSimple Safe SearchDict SelfLoader
+      SubUplevel SysSyslog TemplatePluginAutoformat TermANSIColor TermCap TermReadKey Test TestException
+      TestHTTPServerSimple TestHarness TestHarnessStraps TextAbbrev TextBalanced TextIconv TextSoundex
+      TextTabsWrap ThreadQueue ThreadSemaphore TieFile TieRefHash TimeLocal URI UnicodeCollate
+      UnicodeNormalize WWWMechanize Want XMLFilterBufferText XMLNamespaceSupport autodie base bignum if_
+      lib libapreq2 libnet podlators threads threadsshared version ];
+
+  preConfigure = ''
+    export OPENSSL_PREFIX=${openssl}
+    substituteInPlace tools/vergen --replace "#!/usr/bin/perl" "#!${perl}/bin/perl"
+    cp ${./vergen_revision_state} .vergen_revision_state
+    cd core/server
+    '';
+
+  postInstall = ''
+    mkdir -p $out/share/openxpki
+    cp -r ../htdocs_source $out/share/openxpki/.
+    cp -r ../../config $out/share/openxpki/.
+    cp -r ../../qatest $out/share/openxpki/.
+    (cd ../i18n; make scan; make; make install PREFIX=$out)
+    (cd ../../clients/perl/OpenXPKI-Client-Enrollment; perl Makefile.PL PREFIX=$out; make; make install PREFIX=$out)
+    (cd ../../doc; make html man; cp _build/man/* $out/share/man/man1/.; mkdir -p $out/share/openxpki/doc; cp -r _build/{html,doctrees} $out/share/openxpki/doc/.)
+    '';
+
+  doCheck = false;
+
+  meta = {
+    homepage = "http://www.openxpki.org";
+    description = "Enterprise-grade PKI/Trustcenter software";
+    license = stdenv.lib.licenses.asl20;
+    maintainers = with stdenv.lib.maintainers; [ tstrobel ];
+  };
+}
diff --git a/pkgs/servers/openxpki/vergen_revision_state b/pkgs/servers/openxpki/vergen_revision_state
new file mode 100644
index 000000000000..9a5d7b531de4
--- /dev/null
+++ b/pkgs/servers/openxpki/vergen_revision_state
@@ -0,0 +1,12 @@
+$revision_info = {
+                   'git-tag' => 'v0.33.0',
+                   'git-tags' => 'v0.33.0',
+                   'git-branch' => 'master',
+                   'git-description-root' => undef,
+                   'git-description' => 'v0.33.0',
+                   'revision' => '1591',
+                   'last-changed-revision' => '1591',
+                   'git-abbreviated-commit-hash' => '5cb76c5',
+                   'git-commit-hash' => '5cb76c553b6b1a81ede380857700628a7521f6e3',
+                   'git-commit-date' => 'Tue, 4 Aug 2015 12:47:29 +0200'
+                 };
diff --git a/pkgs/servers/owncloud/default.nix b/pkgs/servers/owncloud/default.nix
index ef01a3976bcc..449eee556c1c 100644
--- a/pkgs/servers/owncloud/default.nix
+++ b/pkgs/servers/owncloud/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 stdenv.mkDerivation rec {
   name= "owncloud-${version}";
-  version = "7.0.4";
+  version = "7.0.5";
 
   src = fetchurl {
     url = "https://download.owncloud.org/community/${name}.tar.bz2";
-    sha256 = "0djgqdyxkrh1wc4sn21fmdjr09dkmnjm3gs6lbkp6yn5fpbzhybi";
+    sha256 = "1j21b7ljvbhni9l0b1cpzlhsjy36scyas1l1j222mqdg2srfsi9y";
   };
 
   installPhase =
diff --git a/pkgs/servers/p910nd/default.nix b/pkgs/servers/p910nd/default.nix
new file mode 100644
index 000000000000..ea5214c7bb44
--- /dev/null
+++ b/pkgs/servers/p910nd/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl }:
+
+let
+  version = "0.97";
+  name = "p910nd-${version}";
+in stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    sha256 = "0vy2qf386dif1nqznmy3j953mq7c4lk6j2hgyzkbmfi4msiq1jaa";
+    url = "mirror://sourceforge/p910nd/${name}.tar.bz2";
+  };
+
+  postPatch = ''
+    sed -e "s|/usr||g" -i Makefile
+  '';
+
+  makeFlags = "DESTDIR=$(out) BINDIR=/bin";
+
+  postInstall = ''
+    # Match the man page:
+    mv $out/etc/init.d/p910nd{,.sh}
+
+    # The legacy init script is useful only (and even then...) as an example:
+    mkdir -p $out/share/doc/examples
+    mv $out/etc $out/share/doc/examples
+  '';
+
+  meta = with stdenv.lib; {
+    inherit version;
+    description = "Small printer daemon passing jobs directly to the printer";
+    longDescription = ''
+      p910nd is a small printer daemon intended for diskless platforms that
+      does not spool to disk but passes the job directly to the printer.
+      Normally a lpr daemon on a spooling host connects to it with a TCP
+      connection on port 910n (where n=0, 1, or 2 for lp0, 1 and 2
+      respectively). p910nd is particularly useful for diskless platforms.
+      Common Unix Printing System (CUPS) supports this protocol, it's called
+      the AppSocket protocol and has the scheme socket://. LPRng also supports
+      this protocol and the syntax is lp=remotehost%9100 in /etc/printcap.
+    '';
+    homepage = http://p910nd.sourceforge.net/;
+    downloadPage = http://sourceforge.net/projects/p910nd/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+}
diff --git a/pkgs/servers/plex/default.nix b/pkgs/servers/plex/default.nix
index 62334de1b567..c0bfd42ce680 100644
--- a/pkgs/servers/plex/default.nix
+++ b/pkgs/servers/plex/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
       patchelf --set-rpath "$out/usr/lib/plexmediaserver" "$out/usr/lib/plexmediaserver/$bin"
     done
 
-    find $out/usr/lib/plexmediaserver/Resources -type f -a -perm +0100 \
+    find $out/usr/lib/plexmediaserver/Resources -type f -a -perm -0100 \
         -print -exec patchelf --set-interpreter "${glibc}/lib/ld-linux-x86-64.so.2" '{}' \;
 
 
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 78e18b6cef94..d1888e1928a9 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -1,93 +1,68 @@
-{ stdenv, fetchurl, pkgconfig, intltool, automake, autoconf, libtool
-, json_c, libsndfile, gettext, check
-
-# Optional Dependencies
-, xlibs ? null, libcap ? null, valgrind ? null, oss ? null, coreaudio ? null
-, alsaLib ? null, esound ? null, glib ? null, gtk3 ? null, gconf ? null
-, avahi ? null, libjack2 ? null, libasyncns ? null, lirc ? null, dbus ? null
-, sbc ? null, bluez5 ? null, udev ? null, openssl ? null, fftw ? null
-, speexdsp ? null, systemd ? null, webrtc-audio-processing ? null
+{ lib, stdenv, fetchurl, pkgconfig, intltool, autoreconfHook
+, json_c, libsndfile, libtool
+, xorg, libcap, alsaLib, glib
+, avahi, libjack2, libasyncns, lirc, dbus
+, sbc, bluez5, udev, openssl, fftwFloat
+, speexdsp, systemd, webrtc-audio-processing, gconf ? null
 
 # Database selection
 , tdb ? null, gdbm ? null
 
-# Extra options
-, prefix ? ""
+, x11Support ? false
+
+, useSystemd ? true
+
+, # Whether to support the JACK sound system as a backend.
+  jackaudioSupport ? false
+
+, # Whether to build the OSS wrapper ("padsp").
+  ossWrapper ? true
+
+, airtunesSupport ? false
+
+, gconfSupport ? false
+
+, bluetoothSupport ? false
+
+, remoteControlSupport ? false
+
+, zeroconfSupport ? false
+
+, # Whether to build only the library.
+  libOnly ? false
 }:
 
-let
-  mkFlag = trueStr: falseStr: cond: name: val:
-    if cond == null then null else
-      "--${if cond != false then trueStr else falseStr}${name}${if val != null && cond != false then "=${val}" else ""}";
-  mkEnable = mkFlag "enable-" "disable-";
-  mkWith = mkFlag "with-" "without-";
-  mkOther = mkFlag "" "" true;
-
-  shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (x: x == stdenv.system) pkg.meta.platforms then pkg else null;
-
-  libOnly = prefix == "lib";
-
-  hasXlibs = xlibs != null;
-
-  optLibcap = shouldUsePkg libcap.out;
-  optLibcapDev = shouldUsePkg libcap.dev;
-  hasCaps = optLibcap != null || stdenv.isFreeBSD; # Built-in on FreeBSD
-
-  optOss = if libOnly then null else shouldUsePkg oss;
-  hasOss = optOss != null || stdenv.isFreeBSD; # Built-in on FreeBSD
-
-  optCoreaudio = if libOnly then null else shouldUsePkg coreaudio;
-  optAlsaLib = if libOnly then null else shouldUsePkg alsaLib;
-  optEsound = if libOnly then null else shouldUsePkg esound;
-  optGlib = if libOnly then null else shouldUsePkg glib;
-  optGtk3 = if libOnly || hasXlibs then null else shouldUsePkg gtk3;
-  optGconf = if libOnly then null else shouldUsePkg gconf;
-  optAvahi = if libOnly then null else shouldUsePkg avahi;
-  optLibjack2 = if libOnly then null else shouldUsePkg libjack2;
-  optLibasyncns = shouldUsePkg libasyncns;
-  optLirc = if libOnly then null else shouldUsePkg lirc;
-  optDbus = shouldUsePkg dbus;
-  optSbc = if libOnly then null else shouldUsePkg sbc;
-  optBluez5 = if optDbus == null || optSbc == null then null
-    else shouldUsePkg bluez5;
-  optUdev = if libOnly then null else shouldUsePkg udev;
-  optOpenssl = if libOnly then null else shouldUsePkg openssl;
-  optFftw = shouldUsePkg fftw;
-  optSpeexdsp = shouldUsePkg speexdsp;
-  optSystemd = shouldUsePkg systemd;
-  optWebrtc-audio-processing = if libOnly then null else shouldUsePkg webrtc-audio-processing;
-  hasWebrtc = if libOnly then null else optWebrtc-audio-processing != null;
-
-  # Pick a database to use
-  databaseName = if tdb != null then "tdb" else
-    if gdbm != null then "gdbm" else "simple";
-  database = {
-    tdb = tdb;
-    gdbm = gdbm;
-    simple = null;
-  }.${databaseName};
-in
 stdenv.mkDerivation rec {
-  name = "${prefix}pulseaudio-${version}";
-  version = "6.0";
+  name = "${if libOnly then "lib" else ""}pulseaudio-${version}";
+  version = "7.0";
 
   src = fetchurl {
     url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${version}.tar.xz";
-    sha256 = "1xpnfxa0d8pgf6b4qdgnkcvrvdxbbbjd5ync19h0f5hbp3h401mm";
+    sha256 = "1yp8x8z4wigrzik131kjdyhn7hznazvbkbp2zz1vy9l9gqvy26na";
   };
 
   patches = [ ./caps-fix.patch ];
 
-  nativeBuildInputs = [ pkgconfig intltool automake autoconf libtool ];
-  buildInputs = [
-    json_c libsndfile gettext check database
-
-    optLibcap optLibcapDev valgrind optOss optCoreaudio optAlsaLib optEsound optGlib
-    optGtk3 optGconf optAvahi optLibjack2 optLibasyncns optLirc optDbus optUdev
-    optOpenssl optFftw optSpeexdsp optSystemd optWebrtc-audio-processing
-  ] ++ stdenv.lib.optionals hasXlibs (with xlibs; [
-      libX11 libxcb libICE libSM libXtst xextproto libXi
-    ]) ++ stdenv.lib.optionals (optBluez5 != null) [ optBluez5 optSbc ];
+  nativeBuildInputs = [ pkgconfig intltool autoreconfHook ];
+
+  propagatedBuildInputs =
+    lib.optionals stdenv.isLinux [ libcap ];
+
+  buildInputs =
+    [ json_c libsndfile speexdsp fftwFloat ]
+    ++ lib.optionals stdenv.isLinux [ glib dbus.libs ]
+    ++ lib.optionals (!libOnly) (
+      [ libasyncns webrtc-audio-processing ]
+      ++ lib.optional jackaudioSupport libjack2
+      ++ lib.optionals x11Support [ xorg.xlibsWrapper xorg.libXtst xorg.libXi ]
+      ++ lib.optional useSystemd systemd
+      ++ lib.optionals stdenv.isLinux [ alsaLib udev ]
+      ++ lib.optional airtunesSupport openssl
+      ++ lib.optional gconfSupport gconf
+      ++ lib.optionals bluetoothSupport [ bluez5 sbc ]
+      ++ lib.optional remoteControlSupport lirc
+      ++ lib.optional zeroconfSupport  avahi
+    );
 
   preConfigure = ''
     # Performs and autoreconf
@@ -99,61 +74,25 @@ stdenv.mkDerivation rec {
     sed -i "src/Makefile.in" \
         -e "s|udevrulesdir[[:blank:]]*=.*$|udevrulesdir = $out/lib/udev/rules.d|g"
 
-   # don't install proximity-helper as root and setuid
-   sed -i "src/Makefile.in" \
-       -e "s|chown root|true |" \
-       -e "s|chmod r+s |true |"
+    # don't install proximity-helper as root and setuid
+    sed -i "src/Makefile.in" \
+        -e "s|chown root|true |" \
+        -e "s|chmod r+s |true |"
   '';
 
-  configureFlags = [
-    (mkOther                          "localstatedir"              "/var")
-    (mkOther                          "sysconfdir"                 "/etc")
-    (mkEnable false                   "atomic-arm-memory-barrier"  null)         # TODO: Enable on armv8
-    (mkEnable false                   "neon-opt"                   null)         # TODO: Enable on armv8
-    (mkEnable hasXlibs                "x11"                        null)
-    (mkWith   hasCaps                 "caps"                       optLibcap)
-    (mkEnable true                    "tests"                      null)
-    (mkEnable false                   "samplerate"                 null)         # Deprecated
-    (mkWith   true                    "database"                   databaseName)
-    (mkEnable hasOss                  "oss-output"                 null)
-    (mkEnable hasOss                  "oss-wrapper"                null)
-    (mkEnable (optCoreaudio != null)  "coreaudio-output"           null)
-    (mkEnable (optAlsaLib != null)    "alsa"                       null)
-    (mkEnable (optEsound != null)     "esound"                     null)
-    (mkEnable false                   "solaris"                    null)
-    (mkEnable false                   "waveout"                    null)         # Windows Only
-    (mkEnable (optGlib != null)       "glib2"                      null)
-    (mkEnable (optGtk3 != null)       "gtk3"                       null)
-    (mkEnable (optGconf != null)      "gconf"                      null)
-    (mkEnable (optAvahi != null)      "avahi"                      null)
-    (mkEnable (optLibjack2 != null)   "jack"                       null)
-    (mkEnable (optLibasyncns != null) "asyncns"                    null)
-    (mkEnable false                   "tcpwrap"                    null)
-    (mkEnable (optLirc != null)       "lirc"                       null)
-    (mkEnable (optDbus != null)       "dbus"                       null)
-    (mkEnable false                   "bluez4"                     null)
-    (mkEnable (optBluez5 != null)     "bluez5"                     null)
-    (mkEnable (optBluez5 != null)     "bluez5-ofono-headset"       null)
-    (mkEnable (optBluez5 != null)     "bluez5-native-headset"      null)
-    (mkEnable (optUdev != null)       "udev"                       null)
-    (mkEnable false                   "hal-compat"                 null)
-    (mkEnable true                    "ipv6"                       null)
-    (mkEnable (optOpenssl != null)    "openssl"                    null)
-    (mkWith   (optFftw != null)       "fftw"                       null)
-    (mkWith   (optSpeexdsp != null)   "speex"                      null)
-    (mkEnable false                   "xen"                        null)
-    (mkEnable false                   "gcov"                       null)
-    (mkEnable (optSystemd != null)    "systemd-daemon"             null)
-    (mkEnable (optSystemd != null)    "systemd-login"              null)
-    (mkEnable (optSystemd != null)    "systemd-journal"            null)
-    (mkEnable true                    "manpages"                   null)
-    (mkEnable hasWebrtc               "webrtc-aec"                 null)
-    (mkEnable true                    "adrian-aec"                 null)
-    (mkWith   true                    "system-user"                "pulseaudio")
-    (mkWith   true                    "system-group"               "pulseaudio")
-    (mkWith   true                    "access-group"               "audio")
-    "--with-systemduserunitdir=\${out}/lib/systemd/user"
-  ] ++ stdenv.lib.optional stdenv.isDarwin "--with-mac-sysroot=/";
+  configureFlags =
+    [ "--disable-solaris"
+      "--disable-jack"
+      "--disable-oss-output"
+    ] ++ lib.optional (!ossWrapper) "--disable-oss-wrapper" ++
+    [ "--localstatedir=/var"
+      "--sysconfdir=/etc"
+      "--with-access-group=audio"
+      "--with-bash-completion-dir=\${out}/share/bash-completions/completions"
+    ]
+    ++ lib.optional (jackaudioSupport && !libOnly) "--enable-jack"
+    ++ lib.optional stdenv.isDarwin "--with-mac-sysroot=/"
+    ++ lib.optional (stdenv.isLinux && useSystemd) "--with-systemduserunitdir=\${out}/lib/systemd/user";
 
   enableParallelBuilding = true;
 
@@ -162,26 +101,24 @@ stdenv.mkDerivation rec {
   # the alternative is to copy the files from /usr/include to src, but there are
   # probably a large number of files that would need to be copied (I stopped
   # after the seventh)
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin
-    "-I/usr/include";
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I/usr/include";
 
-  installFlags = [
-    "sysconfdir=$(out)/etc"
-    "pulseconfdir=$(out)/etc/pulse"
-  ];
+  installFlags =
+    [ "sysconfdir=$(out)/etc"
+      "pulseconfdir=$(out)/etc/pulse"
+    ];
 
-  postInstall = stdenv.lib.optionalString libOnly ''
+  postInstall = lib.optionalString libOnly ''
     rm -rf $out/{bin,share,etc,lib/{pulse-*,systemd}}
+    sed 's|-lltdl|-L${libtool}/lib -lltdl|' -i $out/lib/libpulsecore-${version}.la
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "Sound server for POSIX and Win32 systems";
     homepage    = http://www.pulseaudio.org/;
-    # Note: Practically, the server is under the GPL due to the
-    # dependency on `libsamplerate'.  See `LICENSE' for details.
-    licenses    = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ lovek323 wkennington ];
-    platforms   = platforms.unix;
+    licenses    = lib.licenses.lgpl2Plus;
+    maintainers = with lib.maintainers; [ lovek323 wkennington ];
+    platforms   = lib.platforms.unix;
 
     longDescription = ''
       PulseAudio is a sound server for POSIX and Win32 systems.  A
diff --git a/pkgs/servers/restund/default.nix b/pkgs/servers/restund/default.nix
index 705a4ba43e7f..8a831f7ff697 100644
--- a/pkgs/servers/restund/default.nix
+++ b/pkgs/servers/restund/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.creytiv.com/restund.html";
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
-    license = with stdenv.lib.licenses; bsd3;
+    license = stdenv.lib.licenses.bsd3;
     inherit version;
     downloadPage = "http://www.creytiv.com/pub/";
     updateWalker = true;
diff --git a/pkgs/servers/rippled/default.nix b/pkgs/servers/rippled/default.nix
index 6a09d683f8d1..99a6879ab925 100644
--- a/pkgs/servers/rippled/default.nix
+++ b/pkgs/servers/rippled/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "rippled-${version}";
-  version = "0.27.4";
+  version = "0.28.1";
 
   src = fetchFromGitHub {
     owner = "ripple";
     repo = "rippled";
     rev = version;
-    sha256 = "13xg2baqcf2h1ww2yk371r27726iq8xb4brsj9rqv692aviblqs3";
+    sha256 = "0wh8dwdg0gp7smcx40cpqanl2m2hihmx3irqh692svakbl3df3vz";
   };
 
   postPatch = ''
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ scons pkgconfig openssl protobuf boost zlib ];
 
-  buildPhase = "scons build/rippled";
+  buildPhase = "scons";
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/servers/rippled/package.nix b/pkgs/servers/rippled/package.nix
index fd318c979fee..6f5bb1d3a71f 100644
--- a/pkgs/servers/rippled/package.nix
+++ b/pkgs/servers/rippled/package.nix
@@ -1,20 +1,226 @@
 { self, fetchurl, fetchgit ? null, lib }:
 
 {
+  by-spec."abbrev"."1" =
+    self.by-version."abbrev"."1.0.5";
+  by-version."abbrev"."1.0.5" = self.buildNodePackage {
+    name = "abbrev-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz";
+      name = "abbrev-1.0.5.tgz";
+      sha1 = "5d8257bd9ebe435e698b2fa431afde4fe7b10b03";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."abbrev"."1.0.x" =
+    self.by-version."abbrev"."1.0.5";
   by-spec."accepts"."~1.2.5" =
-    self.by-version."accepts"."1.2.5";
-  by-version."accepts"."1.2.5" = self.buildNodePackage {
-    name = "accepts-1.2.5";
-    version = "1.2.5";
+    self.by-version."accepts"."1.2.7";
+  by-version."accepts"."1.2.7" = self.buildNodePackage {
+    name = "accepts-1.2.7";
+    version = "1.2.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/accepts/-/accepts-1.2.7.tgz";
+      name = "accepts-1.2.7.tgz";
+      sha1 = "efea24e36e0b5b93d001a7598ac441c32ef56003";
+    };
+    deps = {
+      "mime-types-2.0.11" = self.by-version."mime-types"."2.0.11";
+      "negotiator-0.5.3" = self.by-version."negotiator"."0.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."accepts"."~1.2.7" =
+    self.by-version."accepts"."1.2.7";
+  by-spec."amdefine".">=0.0.4" =
+    self.by-version."amdefine"."0.1.0";
+  by-version."amdefine"."0.1.0" = self.buildNodePackage {
+    name = "amdefine-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz";
+      name = "amdefine-0.1.0.tgz";
+      sha1 = "3ca9735cf1dde0edf7a4bf6641709c8024f9b227";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi"."^0.3.0" =
+    self.by-version."ansi"."0.3.0";
+  by-version."ansi"."0.3.0" = self.buildNodePackage {
+    name = "ansi-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz";
+      name = "ansi-0.3.0.tgz";
+      sha1 = "74b2f1f187c8553c7f95015bcb76009fb43d38e0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi"."~0.3.0" =
+    self.by-version."ansi"."0.3.0";
+  by-spec."ansi-regex"."^0.2.0" =
+    self.by-version."ansi-regex"."0.2.1";
+  by-version."ansi-regex"."0.2.1" = self.buildNodePackage {
+    name = "ansi-regex-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz";
+      name = "ansi-regex-0.2.1.tgz";
+      sha1 = "0d8e946967a3d8143f93e24e298525fc1b2235f9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi-regex"."^0.2.1" =
+    self.by-version."ansi-regex"."0.2.1";
+  by-spec."ansi-regex"."^1.0.0" =
+    self.by-version."ansi-regex"."1.1.1";
+  by-version."ansi-regex"."1.1.1" = self.buildNodePackage {
+    name = "ansi-regex-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz";
+      name = "ansi-regex-1.1.1.tgz";
+      sha1 = "41c847194646375e6a1a5d10c3ca054ef9fc980d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi-regex"."^1.1.0" =
+    self.by-version."ansi-regex"."1.1.1";
+  by-spec."ansi-styles"."^1.1.0" =
+    self.by-version."ansi-styles"."1.1.0";
+  by-version."ansi-styles"."1.1.0" = self.buildNodePackage {
+    name = "ansi-styles-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz";
+      name = "ansi-styles-1.1.0.tgz";
+      sha1 = "eaecbf66cd706882760b2f4691582b8f55d7a7de";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi-styles"."^2.0.1" =
+    self.by-version."ansi-styles"."2.0.1";
+  by-version."ansi-styles"."2.0.1" = self.buildNodePackage {
+    name = "ansi-styles-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz";
+      name = "ansi-styles-2.0.1.tgz";
+      sha1 = "b033f57f93e2d28adeb8bc11138fa13da0fd20a3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."are-we-there-yet"."~1.0.0" =
+    self.by-version."are-we-there-yet"."1.0.4";
+  by-version."are-we-there-yet"."1.0.4" = self.buildNodePackage {
+    name = "are-we-there-yet-1.0.4";
+    version = "1.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz";
+      name = "are-we-there-yet-1.0.4.tgz";
+      sha1 = "527fe389f7bcba90806106b99244eaa07e886f85";
+    };
+    deps = {
+      "delegates-0.1.0" = self.by-version."delegates"."0.1.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."argparse"."~ 0.1.11" =
+    self.by-version."argparse"."0.1.16";
+  by-version."argparse"."0.1.16" = self.buildNodePackage {
+    name = "argparse-0.1.16";
+    version = "0.1.16";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/accepts/-/accepts-1.2.5.tgz";
-      name = "accepts-1.2.5.tgz";
-      sha1 = "bb07dc52c141ae562611a836ff433bcec8871ce9";
+      url = "http://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz";
+      name = "argparse-0.1.16.tgz";
+      sha1 = "cfd01e0fbba3d6caed049fbd758d40f65196f57c";
     };
     deps = {
-      "mime-types-2.0.10" = self.by-version."mime-types"."2.0.10";
-      "negotiator-0.5.1" = self.by-version."negotiator"."0.5.1";
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+      "underscore.string-2.4.0" = self.by-version."underscore.string"."2.4.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."argparse"."~1.0.2" =
+    self.by-version."argparse"."1.0.2";
+  by-version."argparse"."1.0.2" = self.buildNodePackage {
+    name = "argparse-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/argparse/-/argparse-1.0.2.tgz";
+      name = "argparse-1.0.2.tgz";
+      sha1 = "bcfae39059656d1973d0b9e6a1a74154b5a9a136";
+    };
+    deps = {
+      "lodash-3.8.0" = self.by-version."lodash"."3.8.0";
+      "sprintf-js-1.0.2" = self.by-version."sprintf-js"."1.0.2";
     };
     optionalDependencies = {
     };
@@ -41,6 +247,47 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."assert-diff"."^0.0.4" =
+    self.by-version."assert-diff"."0.0.4";
+  by-version."assert-diff"."0.0.4" = self.buildNodePackage {
+    name = "assert-diff-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/assert-diff/-/assert-diff-0.0.4.tgz";
+      name = "assert-diff-0.0.4.tgz";
+      sha1 = "bf181c1575d5ad7c73df8076a689f4ae19951608";
+    };
+    deps = {
+      "assert-plus-0.1.4" = self.by-version."assert-plus"."0.1.4";
+      "json-diff-0.3.1" = self.by-version."json-diff"."0.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "assert-diff" = self.by-version."assert-diff"."0.0.4";
+  by-spec."assert-plus"."0.1.4" =
+    self.by-version."assert-plus"."0.1.4";
+  by-version."assert-plus"."0.1.4" = self.buildNodePackage {
+    name = "assert-plus-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.4.tgz";
+      name = "assert-plus-0.1.4.tgz";
+      sha1 = "283eff8b140ecd768529fbf3730a4c09ebec61f7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."assert-plus"."^0.1.5" =
     self.by-version."assert-plus"."0.1.5";
   by-version."assert-plus"."0.1.5" = self.buildNodePackage {
@@ -60,16 +307,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."async"."0.2.x" =
-    self.by-version."async"."0.2.10";
-  by-version."async"."0.2.10" = self.buildNodePackage {
-    name = "async-0.2.10";
-    version = "0.2.10";
+  by-spec."assertion-error"."1.0.0" =
+    self.by-version."assertion-error"."1.0.0";
+  by-version."assertion-error"."1.0.0" = self.buildNodePackage {
+    name = "assertion-error-1.0.0";
+    version = "1.0.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
-      name = "async-0.2.10.tgz";
-      sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+      url = "http://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz";
+      name = "assertion-error-1.0.0.tgz";
+      sha1 = "c7f85438fdd466bc7ca16ab90c81513797a5d23b";
     };
     deps = {
     };
@@ -79,14 +326,26 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."async"."^0.2.10" =
-    self.by-version."async"."0.2.10";
-  by-spec."async"."~0.2.7" =
-    self.by-version."async"."0.2.10";
-  by-spec."async"."~0.2.9" =
-    self.by-version."async"."0.2.10";
-  "async" = self.by-version."async"."0.2.10";
-  by-spec."async"."~0.9.0" =
+  by-spec."async"."0.2.9" =
+    self.by-version."async"."0.2.9";
+  by-version."async"."0.2.9" = self.buildNodePackage {
+    name = "async-0.2.9";
+    version = "0.2.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
+      name = "async-0.2.9.tgz";
+      sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."async"."0.9.x" =
     self.by-version."async"."0.9.0";
   by-version."async"."0.9.0" = self.buildNodePackage {
     name = "async-0.9.0";
@@ -105,16 +364,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."aws-sign"."~0.2.0" =
-    self.by-version."aws-sign"."0.2.0";
-  by-version."aws-sign"."0.2.0" = self.buildNodePackage {
-    name = "aws-sign-0.2.0";
-    version = "0.2.0";
+  by-spec."async"."^0.2.9" =
+    self.by-version."async"."0.2.10";
+  by-version."async"."0.2.10" = self.buildNodePackage {
+    name = "async-0.2.10";
+    version = "0.2.10";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz";
-      name = "aws-sign-0.2.0.tgz";
-      sha1 = "c55013856c8194ec854a0cbec90aab5a04ce3ac5";
+      url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
+      name = "async-0.2.10.tgz";
+      sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
     };
     deps = {
     };
@@ -124,6 +383,13 @@
     os = [ ];
     cpu = [ ];
   };
+  "async" = self.by-version."async"."0.2.10";
+  by-spec."async"."~0.2.6" =
+    self.by-version."async"."0.2.10";
+  by-spec."async"."~0.2.9" =
+    self.by-version."async"."0.2.10";
+  by-spec."async"."~0.9.0" =
+    self.by-version."async"."0.9.0";
   by-spec."aws-sign2"."~0.5.0" =
     self.by-version."aws-sign2"."0.5.0";
   by-version."aws-sign2"."0.5.0" = self.buildNodePackage {
@@ -143,16 +409,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."base64-url"."1.2.1" =
-    self.by-version."base64-url"."1.2.1";
-  by-version."base64-url"."1.2.1" = self.buildNodePackage {
-    name = "base64-url-1.2.1";
-    version = "1.2.1";
+  by-spec."balanced-match"."^0.2.0" =
+    self.by-version."balanced-match"."0.2.0";
+  by-version."balanced-match"."0.2.0" = self.buildNodePackage {
+    name = "balanced-match-0.2.0";
+    version = "0.2.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz";
-      name = "base64-url-1.2.1.tgz";
-      sha1 = "199fd661702a0e7b7dcae6e0698bb089c52f6d78";
+      url = "http://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz";
+      name = "balanced-match-0.2.0.tgz";
+      sha1 = "38f6730c03aab6d5edbb52bd934885e756d71674";
     };
     deps = {
     };
@@ -162,16 +428,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."basic-auth"."1.0.0" =
-    self.by-version."basic-auth"."1.0.0";
-  by-version."basic-auth"."1.0.0" = self.buildNodePackage {
-    name = "basic-auth-1.0.0";
-    version = "1.0.0";
+  by-spec."basic-auth"."~1.0.1" =
+    self.by-version."basic-auth"."1.0.1";
+  by-version."basic-auth"."1.0.1" = self.buildNodePackage {
+    name = "basic-auth-1.0.1";
+    version = "1.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz";
-      name = "basic-auth-1.0.0.tgz";
-      sha1 = "111b2d9ff8e4e6d136b8c84ea5e096cb87351637";
+      url = "http://registry.npmjs.org/basic-auth/-/basic-auth-1.0.1.tgz";
+      name = "basic-auth-1.0.1.tgz";
+      sha1 = "4bae1dbfbf0aec4dc5dc47a8d3675b50140f3bf8";
     };
     deps = {
     };
@@ -181,16 +447,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."basic-auth-connect"."1.0.0" =
-    self.by-version."basic-auth-connect"."1.0.0";
-  by-version."basic-auth-connect"."1.0.0" = self.buildNodePackage {
-    name = "basic-auth-connect-1.0.0";
-    version = "1.0.0";
+  by-spec."bignumber.js"."^1.4.0" =
+    self.by-version."bignumber.js"."1.5.0";
+  by-version."bignumber.js"."1.5.0" = self.buildNodePackage {
+    name = "bignumber.js-1.5.0";
+    version = "1.5.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz";
-      name = "basic-auth-connect-1.0.0.tgz";
-      sha1 = "fdb0b43962ca7b40456a7c2bb48fe173da2d2122";
+      url = "http://registry.npmjs.org/bignumber.js/-/bignumber.js-1.5.0.tgz";
+      name = "bignumber.js-1.5.0.tgz";
+      sha1 = "ff41453ac7b19ee15cda7977e179ff1b0d11956d";
     };
     deps = {
     };
@@ -200,16 +466,17 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."batch"."0.5.2" =
-    self.by-version."batch"."0.5.2";
-  by-version."batch"."0.5.2" = self.buildNodePackage {
-    name = "batch-0.5.2";
-    version = "0.5.2";
+  "bignumber.js" = self.by-version."bignumber.js"."1.5.0";
+  by-spec."bignumber.js"."^2.0.3" =
+    self.by-version."bignumber.js"."2.0.7";
+  by-version."bignumber.js"."2.0.7" = self.buildNodePackage {
+    name = "bignumber.js-2.0.7";
+    version = "2.0.7";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/batch/-/batch-0.5.2.tgz";
-      name = "batch-0.5.2.tgz";
-      sha1 = "546543dbe32118c83c7c7ca33a1f5c5d5ea963e9";
+      url = "http://registry.npmjs.org/bignumber.js/-/bignumber.js-2.0.7.tgz";
+      name = "bignumber.js-2.0.7.tgz";
+      sha1 = "86eb0707cf6a5110909d23e6ea7434c14f500f1c";
     };
     deps = {
     };
@@ -219,16 +486,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."bignumber.js"."^2.0.0" =
-    self.by-version."bignumber.js"."2.0.3";
-  by-version."bignumber.js"."2.0.3" = self.buildNodePackage {
-    name = "bignumber.js-2.0.3";
-    version = "2.0.3";
+  by-spec."bignumber.js"."~1.4.0" =
+    self.by-version."bignumber.js"."1.4.1";
+  by-version."bignumber.js"."1.4.1" = self.buildNodePackage {
+    name = "bignumber.js-1.4.1";
+    version = "1.4.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/bignumber.js/-/bignumber.js-2.0.3.tgz";
-      name = "bignumber.js-2.0.3.tgz";
-      sha1 = "1328f1d618f4bfe23587af73577a5a1e4f3cf105";
+      url = "http://registry.npmjs.org/bignumber.js/-/bignumber.js-1.4.1.tgz";
+      name = "bignumber.js-1.4.1.tgz";
+      sha1 = "3d19ac321f8db4ba07aace23ebd4ac976fae6bfa";
     };
     deps = {
     };
@@ -277,27 +544,19 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."body-parser"."~1.12.2" =
-    self.by-version."body-parser"."1.12.2";
-  by-version."body-parser"."1.12.2" = self.buildNodePackage {
-    name = "body-parser-1.12.2";
-    version = "1.12.2";
+  by-spec."block-stream"."*" =
+    self.by-version."block-stream"."0.0.7";
+  by-version."block-stream"."0.0.7" = self.buildNodePackage {
+    name = "block-stream-0.0.7";
+    version = "0.0.7";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/body-parser/-/body-parser-1.12.2.tgz";
-      name = "body-parser-1.12.2.tgz";
-      sha1 = "698368fb4dfc57a05bff1ddb1bebeba3bd2c0e87";
+      url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
+      name = "block-stream-0.0.7.tgz";
+      sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
     };
     deps = {
-      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
-      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
-      "debug-2.1.3" = self.by-version."debug"."2.1.3";
-      "depd-1.0.0" = self.by-version."depd"."1.0.0";
-      "iconv-lite-0.4.7" = self.by-version."iconv-lite"."0.4.7";
-      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
-      "qs-2.4.1" = self.by-version."qs"."2.4.1";
-      "raw-body-1.3.3" = self.by-version."raw-body"."1.3.3";
-      "type-is-1.6.1" = self.by-version."type-is"."1.6.1";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
     };
     optionalDependencies = {
     };
@@ -305,19 +564,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."boom"."0.3.x" =
-    self.by-version."boom"."0.3.8";
-  by-version."boom"."0.3.8" = self.buildNodePackage {
-    name = "boom-0.3.8";
-    version = "0.3.8";
+  by-spec."bluebird"."^2.0.0" =
+    self.by-version."bluebird"."2.9.25";
+  by-version."bluebird"."2.9.25" = self.buildNodePackage {
+    name = "bluebird-2.9.25";
+    version = "2.9.25";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/boom/-/boom-0.3.8.tgz";
-      name = "boom-0.3.8.tgz";
-      sha1 = "c8cdb041435912741628c044ecc732d1d17c09ea";
+      url = "http://registry.npmjs.org/bluebird/-/bluebird-2.9.25.tgz";
+      name = "bluebird-2.9.25.tgz";
+      sha1 = "6e36bd04064d9534c07160b9f7f26c5a738fe16a";
     };
     deps = {
-      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
     };
     optionalDependencies = {
     };
@@ -325,6 +583,40 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."bluebird"."^2.3.4" =
+    self.by-version."bluebird"."2.9.25";
+  "bluebird" = self.by-version."bluebird"."2.9.25";
+  by-spec."bluebird"."^2.9.25" =
+    self.by-version."bluebird"."2.9.25";
+  by-spec."body-parser"."^1.7.0" =
+    self.by-version."body-parser"."1.12.4";
+  by-version."body-parser"."1.12.4" = self.buildNodePackage {
+    name = "body-parser-1.12.4";
+    version = "1.12.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/body-parser/-/body-parser-1.12.4.tgz";
+      name = "body-parser-1.12.4.tgz";
+      sha1 = "090700c4ba28862a8520ef378395fdee5f61c229";
+    };
+    deps = {
+      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
+      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "depd-1.0.1" = self.by-version."depd"."1.0.1";
+      "iconv-lite-0.4.8" = self.by-version."iconv-lite"."0.4.8";
+      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
+      "qs-2.4.2" = self.by-version."qs"."2.4.2";
+      "raw-body-2.0.1" = self.by-version."raw-body"."2.0.1";
+      "type-is-1.6.2" = self.by-version."type-is"."1.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "body-parser" = self.by-version."body-parser"."1.12.4";
   by-spec."boom"."0.4.x" =
     self.by-version."boom"."0.4.2";
   by-version."boom"."0.4.2" = self.buildNodePackage {
@@ -346,18 +638,18 @@
     cpu = [ ];
   };
   by-spec."boom"."2.x.x" =
-    self.by-version."boom"."2.6.1";
-  by-version."boom"."2.6.1" = self.buildNodePackage {
-    name = "boom-2.6.1";
-    version = "2.6.1";
+    self.by-version."boom"."2.7.1";
+  by-version."boom"."2.7.1" = self.buildNodePackage {
+    name = "boom-2.7.1";
+    version = "2.7.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/boom/-/boom-2.6.1.tgz";
-      name = "boom-2.6.1.tgz";
-      sha1 = "4dc8ef9b6dfad9c43bbbfbe71fa4c21419f22753";
+      url = "http://registry.npmjs.org/boom/-/boom-2.7.1.tgz";
+      name = "boom-2.7.1.tgz";
+      sha1 = "fb165c348d337977c61d4363c21e9e1abf526705";
     };
     deps = {
-      "hoek-2.11.1" = self.by-version."hoek"."2.11.1";
+      "hoek-2.13.0" = self.by-version."hoek"."2.13.0";
     };
     optionalDependencies = {
     };
@@ -365,18 +657,20 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."browser-request"."~0.3.0" =
-    self.by-version."browser-request"."0.3.3";
-  by-version."browser-request"."0.3.3" = self.buildNodePackage {
-    name = "browser-request-0.3.3";
-    version = "0.3.3";
+  by-spec."brace-expansion"."^1.0.0" =
+    self.by-version."brace-expansion"."1.1.0";
+  by-version."brace-expansion"."1.1.0" = self.buildNodePackage {
+    name = "brace-expansion-1.1.0";
+    version = "1.1.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz";
-      name = "browser-request-0.3.3.tgz";
-      sha1 = "9ece5b5aca89a29932242e18bf933def9876cc17";
+      url = "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz";
+      name = "brace-expansion-1.1.0.tgz";
+      sha1 = "c9b7d03c03f37bc704be100e522b40db8f6cfcd9";
     };
     deps = {
+      "balanced-match-0.2.0" = self.by-version."balanced-match"."0.2.0";
+      "concat-map-0.0.1" = self.by-version."concat-map"."0.0.1";
     };
     optionalDependencies = {
     };
@@ -424,16 +718,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."caseless"."~0.6.0" =
-    self.by-version."caseless"."0.6.0";
-  by-version."caseless"."0.6.0" = self.buildNodePackage {
-    name = "caseless-0.6.0";
-    version = "0.6.0";
+  by-spec."bytes"."2.0.1" =
+    self.by-version."bytes"."2.0.1";
+  by-version."bytes"."2.0.1" = self.buildNodePackage {
+    name = "bytes-2.0.1";
+    version = "2.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz";
-      name = "caseless-0.6.0.tgz";
-      sha1 = "8167c1ab8397fb5bb95f96d28e5a81c50f247ac4";
+      url = "http://registry.npmjs.org/bytes/-/bytes-2.0.1.tgz";
+      name = "bytes-2.0.1.tgz";
+      sha1 = "673743059be43d929f9c225dd7363ee0f8b15d97";
     };
     deps = {
     };
@@ -462,18 +756,20 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."clone"."~0.1.11" =
-    self.by-version."clone"."0.1.19";
-  by-version."clone"."0.1.19" = self.buildNodePackage {
-    name = "clone-0.1.19";
-    version = "0.1.19";
+  by-spec."chai".">=1.9.2 <3" =
+    self.by-version."chai"."2.3.0";
+  by-version."chai"."2.3.0" = self.buildNodePackage {
+    name = "chai-2.3.0";
+    version = "2.3.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/clone/-/clone-0.1.19.tgz";
-      name = "clone-0.1.19.tgz";
-      sha1 = "613fb68639b26a494ac53253e15b1a6bd88ada85";
+      url = "http://registry.npmjs.org/chai/-/chai-2.3.0.tgz";
+      name = "chai-2.3.0.tgz";
+      sha1 = "8a2f6a34748da801090fd73287b2aa739a4e909a";
     };
     deps = {
+      "assertion-error-1.0.0" = self.by-version."assertion-error"."1.0.0";
+      "deep-eql-0.1.3" = self.by-version."deep-eql"."0.1.3";
     };
     optionalDependencies = {
     };
@@ -481,17 +777,106 @@
     os = [ ];
     cpu = [ ];
   };
-  "clone" = self.by-version."clone"."0.1.19";
-  by-spec."colors"."0.6.x" =
-    self.by-version."colors"."0.6.2";
-  by-version."colors"."0.6.2" = self.buildNodePackage {
-    name = "colors-0.6.2";
-    version = "0.6.2";
+  by-spec."chai"."^1.10.0" =
+    self.by-version."chai"."1.10.0";
+  by-version."chai"."1.10.0" = self.buildNodePackage {
+    name = "chai-1.10.0";
+    version = "1.10.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
-      name = "colors-0.6.2.tgz";
-      sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+      url = "http://registry.npmjs.org/chai/-/chai-1.10.0.tgz";
+      name = "chai-1.10.0.tgz";
+      sha1 = "e4031cc87654461a75943e5a35ab46eaf39c1eb9";
+    };
+    deps = {
+      "assertion-error-1.0.0" = self.by-version."assertion-error"."1.0.0";
+      "deep-eql-0.1.3" = self.by-version."deep-eql"."0.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "chai" = self.by-version."chai"."1.10.0";
+  by-spec."chalk"."^1.0.0" =
+    self.by-version."chalk"."1.0.0";
+  by-version."chalk"."1.0.0" = self.buildNodePackage {
+    name = "chalk-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chalk/-/chalk-1.0.0.tgz";
+      name = "chalk-1.0.0.tgz";
+      sha1 = "b3cf4ed0ff5397c99c75b8f679db2f52831f96dc";
+    };
+    deps = {
+      "ansi-styles-2.0.1" = self.by-version."ansi-styles"."2.0.1";
+      "escape-string-regexp-1.0.3" = self.by-version."escape-string-regexp"."1.0.3";
+      "has-ansi-1.0.3" = self.by-version."has-ansi"."1.0.3";
+      "strip-ansi-2.0.1" = self.by-version."strip-ansi"."2.0.1";
+      "supports-color-1.3.1" = self.by-version."supports-color"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."chalk"."~0.5.1" =
+    self.by-version."chalk"."0.5.1";
+  by-version."chalk"."0.5.1" = self.buildNodePackage {
+    name = "chalk-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz";
+      name = "chalk-0.5.1.tgz";
+      sha1 = "663b3a648b68b55d04690d49167aa837858f2174";
+    };
+    deps = {
+      "ansi-styles-1.1.0" = self.by-version."ansi-styles"."1.1.0";
+      "escape-string-regexp-1.0.3" = self.by-version."escape-string-regexp"."1.0.3";
+      "has-ansi-0.1.0" = self.by-version."has-ansi"."0.1.0";
+      "strip-ansi-0.3.0" = self.by-version."strip-ansi"."0.3.0";
+      "supports-color-0.2.0" = self.by-version."supports-color"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cli-color"."~0.1.6" =
+    self.by-version."cli-color"."0.1.7";
+  by-version."cli-color"."0.1.7" = self.buildNodePackage {
+    name = "cli-color-0.1.7";
+    version = "0.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cli-color/-/cli-color-0.1.7.tgz";
+      name = "cli-color-0.1.7.tgz";
+      sha1 = "adc3200fa471cc211b0da7f566b71e98b9d67347";
+    };
+    deps = {
+      "es5-ext-0.8.2" = self.by-version."es5-ext"."0.8.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."colors"."1.0.x" =
+    self.by-version."colors"."1.0.3";
+  by-version."colors"."1.0.3" = self.buildNodePackage {
+    name = "colors-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/colors/-/colors-1.0.3.tgz";
+      name = "colors-1.0.3.tgz";
+      sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
     };
     deps = {
     };
@@ -523,16 +908,76 @@
   };
   by-spec."combined-stream"."~0.0.5" =
     self.by-version."combined-stream"."0.0.7";
-  by-spec."commander"."2.6.0" =
-    self.by-version."commander"."2.6.0";
-  by-version."commander"."2.6.0" = self.buildNodePackage {
-    name = "commander-2.6.0";
-    version = "2.6.0";
+  by-spec."commander"."0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-version."commander"."0.6.1" = self.buildNodePackage {
+    name = "commander-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+      name = "commander-0.6.1.tgz";
+      sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."commander"."2.3.0" =
+    self.by-version."commander"."2.3.0";
+  by-version."commander"."2.3.0" = self.buildNodePackage {
+    name = "commander-2.3.0";
+    version = "2.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-2.3.0.tgz";
+      name = "commander-2.3.0.tgz";
+      sha1 = "fd430e889832ec353b9acd1de217c11cb3eef873";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."commander"."^2.2.0" =
+    self.by-version."commander"."2.8.1";
+  by-version."commander"."2.8.1" = self.buildNodePackage {
+    name = "commander-2.8.1";
+    version = "2.8.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/commander/-/commander-2.6.0.tgz";
-      name = "commander-2.6.0.tgz";
-      sha1 = "9df7e52fb2a0cb0fb89058ee80c3104225f37e1d";
+      url = "http://registry.npmjs.org/commander/-/commander-2.8.1.tgz";
+      name = "commander-2.8.1.tgz";
+      sha1 = "06be367febfda0c330aa1e2a072d3dc9762425d4";
+    };
+    deps = {
+      "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."commander"."^2.8.1" =
+    self.by-version."commander"."2.8.1";
+  by-spec."commander"."~2.1.0" =
+    self.by-version."commander"."2.1.0";
+  by-version."commander"."2.1.0" = self.buildNodePackage {
+    name = "commander-2.1.0";
+    version = "2.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
+      name = "commander-2.1.0.tgz";
+      sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
     };
     deps = {
     };
@@ -573,7 +1018,7 @@
       sha1 = "d0474a6ba6590a43d39c2ce9a6cfbb6479be76a5";
     };
     deps = {
-      "mime-db-1.8.0" = self.by-version."mime-db"."1.8.0";
+      "mime-db-1.9.1" = self.by-version."mime-db"."1.9.1";
     };
     optionalDependencies = {
     };
@@ -581,22 +1026,22 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."compression"."~1.4.3" =
-    self.by-version."compression"."1.4.3";
-  by-version."compression"."1.4.3" = self.buildNodePackage {
-    name = "compression-1.4.3";
-    version = "1.4.3";
+  by-spec."compression"."^1.3.0" =
+    self.by-version."compression"."1.4.4";
+  by-version."compression"."1.4.4" = self.buildNodePackage {
+    name = "compression-1.4.4";
+    version = "1.4.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/compression/-/compression-1.4.3.tgz";
-      name = "compression-1.4.3.tgz";
-      sha1 = "7161bc0441df629273e5c31dd631b8e41e886b4d";
+      url = "http://registry.npmjs.org/compression/-/compression-1.4.4.tgz";
+      name = "compression-1.4.4.tgz";
+      sha1 = "2f9994ca476e4d9ba5fdc67ac929942837d0b6a4";
     };
     deps = {
-      "accepts-1.2.5" = self.by-version."accepts"."1.2.5";
+      "accepts-1.2.7" = self.by-version."accepts"."1.2.7";
       "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
       "compressible-2.0.2" = self.by-version."compressible"."2.0.2";
-      "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
       "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
       "vary-1.0.0" = self.by-version."vary"."1.0.0";
     };
@@ -606,72 +1051,19 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."connect"."2.29.1" =
-    self.by-version."connect"."2.29.1";
-  by-version."connect"."2.29.1" = self.buildNodePackage {
-    name = "connect-2.29.1";
-    version = "2.29.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/connect/-/connect-2.29.1.tgz";
-      name = "connect-2.29.1.tgz";
-      sha1 = "e0456742d25ed232b573ce156883dd4e6f208538";
-    };
-    deps = {
-      "basic-auth-connect-1.0.0" = self.by-version."basic-auth-connect"."1.0.0";
-      "body-parser-1.12.2" = self.by-version."body-parser"."1.12.2";
-      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
-      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
-      "cookie-parser-1.3.4" = self.by-version."cookie-parser"."1.3.4";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "compression-1.4.3" = self.by-version."compression"."1.4.3";
-      "connect-timeout-1.6.1" = self.by-version."connect-timeout"."1.6.1";
-      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
-      "csurf-1.7.0" = self.by-version."csurf"."1.7.0";
-      "debug-2.1.3" = self.by-version."debug"."2.1.3";
-      "depd-1.0.0" = self.by-version."depd"."1.0.0";
-      "errorhandler-1.3.5" = self.by-version."errorhandler"."1.3.5";
-      "express-session-1.10.4" = self.by-version."express-session"."1.10.4";
-      "finalhandler-0.3.4" = self.by-version."finalhandler"."0.3.4";
-      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-      "method-override-2.3.2" = self.by-version."method-override"."2.3.2";
-      "morgan-1.5.2" = self.by-version."morgan"."1.5.2";
-      "multiparty-3.3.2" = self.by-version."multiparty"."3.3.2";
-      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
-      "qs-2.4.1" = self.by-version."qs"."2.4.1";
-      "response-time-2.3.0" = self.by-version."response-time"."2.3.0";
-      "serve-favicon-2.2.0" = self.by-version."serve-favicon"."2.2.0";
-      "serve-index-1.6.3" = self.by-version."serve-index"."1.6.3";
-      "serve-static-1.9.2" = self.by-version."serve-static"."1.9.2";
-      "type-is-1.6.1" = self.by-version."type-is"."1.6.1";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-      "vhost-3.0.0" = self.by-version."vhost"."3.0.0";
-      "pause-0.0.1" = self.by-version."pause"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect-timeout"."~1.6.1" =
-    self.by-version."connect-timeout"."1.6.1";
-  by-version."connect-timeout"."1.6.1" = self.buildNodePackage {
-    name = "connect-timeout-1.6.1";
-    version = "1.6.1";
+  "compression" = self.by-version."compression"."1.4.4";
+  by-spec."concat-map"."0.0.1" =
+    self.by-version."concat-map"."0.0.1";
+  by-version."concat-map"."0.0.1" = self.buildNodePackage {
+    name = "concat-map-0.0.1";
+    version = "0.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.1.tgz";
-      name = "connect-timeout-1.6.1.tgz";
-      sha1 = "1de3a2b853734820a232080b95742494ba4cd067";
+      url = "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+      name = "concat-map-0.0.1.tgz";
+      sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
     };
     deps = {
-      "debug-2.1.3" = self.by-version."debug"."2.1.3";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-      "ms-0.7.0" = self.by-version."ms"."0.7.0";
-      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
     };
     optionalDependencies = {
     };
@@ -736,46 +1128,6 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."cookie-jar"."~0.2.0" =
-    self.by-version."cookie-jar"."0.2.0";
-  by-version."cookie-jar"."0.2.0" = self.buildNodePackage {
-    name = "cookie-jar-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz";
-      name = "cookie-jar-0.2.0.tgz";
-      sha1 = "64ecc06ac978db795e4b5290cbe48ba3781400fa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-parser"."~1.3.4" =
-    self.by-version."cookie-parser"."1.3.4";
-  by-version."cookie-parser"."1.3.4" = self.buildNodePackage {
-    name = "cookie-parser-1.3.4";
-    version = "1.3.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.4.tgz";
-      name = "cookie-parser-1.3.4.tgz";
-      sha1 = "193035a5be97117a21709b3aa737f6132717bda6";
-    };
-    deps = {
-      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
   by-spec."cookie-signature"."1.0.6" =
     self.by-version."cookie-signature"."1.0.6";
   by-version."cookie-signature"."1.0.6" = self.buildNodePackage {
@@ -795,16 +1147,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."cookiejar"."2.0.1" =
-    self.by-version."cookiejar"."2.0.1";
-  by-version."cookiejar"."2.0.1" = self.buildNodePackage {
-    name = "cookiejar-2.0.1";
-    version = "2.0.1";
+  by-spec."cookiejar"."1.3.2" =
+    self.by-version."cookiejar"."1.3.2";
+  by-version."cookiejar"."1.3.2" = self.buildNodePackage {
+    name = "cookiejar-1.3.2";
+    version = "1.3.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/cookiejar/-/cookiejar-2.0.1.tgz";
-      name = "cookiejar-2.0.1.tgz";
-      sha1 = "3d12752f6adf68a892f332433492bd5812bb668f";
+      url = "http://registry.npmjs.org/cookiejar/-/cookiejar-1.3.2.tgz";
+      name = "cookiejar-1.3.2.tgz";
+      sha1 = "61d3229e2da20c859032233502958a9b7df58249";
     };
     deps = {
     };
@@ -833,21 +1185,22 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."couch-compile"."^1.0.1" =
-    self.by-version."couch-compile"."1.2.0";
-  by-version."couch-compile"."1.2.0" = self.buildNodePackage {
-    name = "couch-compile-1.2.0";
-    version = "1.2.0";
+  by-spec."coveralls"."^2.10.0" =
+    self.by-version."coveralls"."2.11.2";
+  by-version."coveralls"."2.11.2" = self.buildNodePackage {
+    name = "coveralls-2.11.2";
+    version = "2.11.2";
     bin = true;
     src = fetchurl {
-      url = "http://registry.npmjs.org/couch-compile/-/couch-compile-1.2.0.tgz";
-      name = "couch-compile-1.2.0.tgz";
-      sha1 = "c4f7396f3dea38516b4e51d3edc3196de4f2d69c";
+      url = "http://registry.npmjs.org/coveralls/-/coveralls-2.11.2.tgz";
+      name = "coveralls-2.11.2.tgz";
+      sha1 = "d4d982016cb2f9da89d77ab204d86a8537e6a12d";
     };
     deps = {
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "js-yaml-3.0.1" = self.by-version."js-yaml"."3.0.1";
+      "lcov-parse-0.0.6" = self.by-version."lcov-parse"."0.0.6";
+      "log-driver-1.2.4" = self.by-version."log-driver"."1.2.4";
+      "request-2.40.0" = self.by-version."request"."2.40.0";
     };
     optionalDependencies = {
     };
@@ -855,7 +1208,7 @@
     os = [ ];
     cpu = [ ];
   };
-  "couch-compile" = self.by-version."couch-compile"."1.2.0";
+  "coveralls" = self.by-version."coveralls"."2.11.2";
   by-spec."crc"."3.2.1" =
     self.by-version."crc"."3.2.1";
   by-version."crc"."3.2.1" = self.buildNodePackage {
@@ -875,45 +1228,6 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."cron-parser"."~0.3.0" =
-    self.by-version."cron-parser"."0.3.6";
-  by-version."cron-parser"."0.3.6" = self.buildNodePackage {
-    name = "cron-parser-0.3.6";
-    version = "0.3.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cron-parser/-/cron-parser-0.3.6.tgz";
-      name = "cron-parser-0.3.6.tgz";
-      sha1 = "1e4734ebd5fa054f5766693c52468b17df9681c9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cryptiles"."0.1.x" =
-    self.by-version."cryptiles"."0.1.3";
-  by-version."cryptiles"."0.1.3" = self.buildNodePackage {
-    name = "cryptiles-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz";
-      name = "cryptiles-0.1.3.tgz";
-      sha1 = "1a556734f06d24ba34862ae9cb9e709a3afbff1c";
-    };
-    deps = {
-      "boom-0.3.8" = self.by-version."boom"."0.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
   by-spec."cryptiles"."0.2.x" =
     self.by-version."cryptiles"."0.2.2";
   by-version."cryptiles"."0.2.2" = self.buildNodePackage {
@@ -946,53 +1260,7 @@
       sha1 = "09ea1775b9e1c7de7e60a99d42ab6f08ce1a1285";
     };
     deps = {
-      "boom-2.6.1" = self.by-version."boom"."2.6.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."csrf"."~2.0.6" =
-    self.by-version."csrf"."2.0.6";
-  by-version."csrf"."2.0.6" = self.buildNodePackage {
-    name = "csrf-2.0.6";
-    version = "2.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/csrf/-/csrf-2.0.6.tgz";
-      name = "csrf-2.0.6.tgz";
-      sha1 = "a90a9d88fc7411423cb0c5c13e901a8cc588132e";
-    };
-    deps = {
-      "base64-url-1.2.1" = self.by-version."base64-url"."1.2.1";
-      "rndm-1.1.0" = self.by-version."rndm"."1.1.0";
-      "scmp-1.0.0" = self.by-version."scmp"."1.0.0";
-      "uid-safe-1.1.0" = self.by-version."uid-safe"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."csurf"."~1.7.0" =
-    self.by-version."csurf"."1.7.0";
-  by-version."csurf"."1.7.0" = self.buildNodePackage {
-    name = "csurf-1.7.0";
-    version = "1.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/csurf/-/csurf-1.7.0.tgz";
-      name = "csurf-1.7.0.tgz";
-      sha1 = "f24dc53753fccbdce0505f2abc5b57167b65ff18";
-    };
-    deps = {
-      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "csrf-2.0.6" = self.by-version."csrf"."2.0.6";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
+      "boom-2.7.1" = self.by-version."boom"."2.7.1";
     };
     optionalDependencies = {
     };
@@ -1038,18 +1306,19 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."debug"."~0.7.2" =
-    self.by-version."debug"."0.7.4";
-  by-version."debug"."0.7.4" = self.buildNodePackage {
-    name = "debug-0.7.4";
-    version = "0.7.4";
+  by-spec."debug"."2.0.0" =
+    self.by-version."debug"."2.0.0";
+  by-version."debug"."2.0.0" = self.buildNodePackage {
+    name = "debug-2.0.0";
+    version = "2.0.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
-      name = "debug-0.7.4.tgz";
-      sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
+      url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
+      name = "debug-2.0.0.tgz";
+      sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
     };
     deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
     };
     optionalDependencies = {
     };
@@ -1057,19 +1326,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."debug"."~1.0.1" =
-    self.by-version."debug"."1.0.4";
-  by-version."debug"."1.0.4" = self.buildNodePackage {
-    name = "debug-1.0.4";
-    version = "1.0.4";
+  by-spec."debug"."~0.7.2" =
+    self.by-version."debug"."0.7.4";
+  by-version."debug"."0.7.4" = self.buildNodePackage {
+    name = "debug-0.7.4";
+    version = "0.7.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
-      name = "debug-1.0.4.tgz";
-      sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+      url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
+      name = "debug-0.7.4.tgz";
+      sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
     };
     deps = {
-      "ms-0.6.2" = self.by-version."ms"."0.6.2";
     };
     optionalDependencies = {
     };
@@ -1097,16 +1365,56 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."deep-diff"."^0.1.4" =
-    self.by-version."deep-diff"."0.1.7";
-  by-version."deep-diff"."0.1.7" = self.buildNodePackage {
-    name = "deep-diff-0.1.7";
-    version = "0.1.7";
+  by-spec."debug"."~2.2.0" =
+    self.by-version."debug"."2.2.0";
+  by-version."debug"."2.2.0" = self.buildNodePackage {
+    name = "debug-2.2.0";
+    version = "2.2.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/deep-diff/-/deep-diff-0.1.7.tgz";
-      name = "deep-diff-0.1.7.tgz";
-      sha1 = "d36da978b64429c268116cea941f490e7949cd3d";
+      url = "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
+      name = "debug-2.2.0.tgz";
+      sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
+    };
+    deps = {
+      "ms-0.7.1" = self.by-version."ms"."0.7.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."deep-eql"."0.1.3" =
+    self.by-version."deep-eql"."0.1.3";
+  by-version."deep-eql"."0.1.3" = self.buildNodePackage {
+    name = "deep-eql-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz";
+      name = "deep-eql-0.1.3.tgz";
+      sha1 = "ef558acab8de25206cd713906d74e56930eb69f2";
+    };
+    deps = {
+      "type-detect-0.1.1" = self.by-version."type-detect"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."deep-extend"."~0.2.5" =
+    self.by-version."deep-extend"."0.2.11";
+  by-version."deep-extend"."0.2.11" = self.buildNodePackage {
+    name = "deep-extend-0.2.11";
+    version = "0.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz";
+      name = "deep-extend-0.2.11.tgz";
+      sha1 = "7a16ba69729132340506170494bc83f7076fe08f";
     };
     deps = {
     };
@@ -1116,7 +1424,6 @@
     os = [ ];
     cpu = [ ];
   };
-  "deep-diff" = self.by-version."deep-diff"."0.1.7";
   by-spec."delayed-stream"."0.0.5" =
     self.by-version."delayed-stream"."0.0.5";
   by-version."delayed-stream"."0.0.5" = self.buildNodePackage {
@@ -1136,16 +1443,35 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."delegates"."^0.1.0" =
+    self.by-version."delegates"."0.1.0";
+  by-version."delegates"."0.1.0" = self.buildNodePackage {
+    name = "delegates-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz";
+      name = "delegates-0.1.0.tgz";
+      sha1 = "b4b57be11a1653517a04b27f0949bdc327dfe390";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."depd"."~1.0.0" =
-    self.by-version."depd"."1.0.0";
-  by-version."depd"."1.0.0" = self.buildNodePackage {
-    name = "depd-1.0.0";
-    version = "1.0.0";
+    self.by-version."depd"."1.0.1";
+  by-version."depd"."1.0.1" = self.buildNodePackage {
+    name = "depd-1.0.1";
+    version = "1.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/depd/-/depd-1.0.0.tgz";
-      name = "depd-1.0.0.tgz";
-      sha1 = "2fda0d00e98aae2845d4991ab1bf1f2a199073d5";
+      url = "http://registry.npmjs.org/depd/-/depd-1.0.1.tgz";
+      name = "depd-1.0.1.tgz";
+      sha1 = "80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa";
     };
     deps = {
     };
@@ -1155,6 +1481,8 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."depd"."~1.0.1" =
+    self.by-version."depd"."1.0.1";
   by-spec."destroy"."1.0.3" =
     self.by-version."destroy"."1.0.3";
   by-version."destroy"."1.0.3" = self.buildNodePackage {
@@ -1174,16 +1502,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."ee-first"."1.1.0" =
-    self.by-version."ee-first"."1.1.0";
-  by-version."ee-first"."1.1.0" = self.buildNodePackage {
-    name = "ee-first-1.1.0";
-    version = "1.1.0";
+  by-spec."diff"."1.0.8" =
+    self.by-version."diff"."1.0.8";
+  by-version."diff"."1.0.8" = self.buildNodePackage {
+    name = "diff-1.0.8";
+    version = "1.0.8";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz";
-      name = "ee-first-1.1.0.tgz";
-      sha1 = "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4";
+      url = "http://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
+      name = "diff-1.0.8.tgz";
+      sha1 = "343276308ec991b7bc82267ed55bc1411f971666";
     };
     deps = {
     };
@@ -1193,20 +1521,19 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."errorhandler"."~1.3.5" =
-    self.by-version."errorhandler"."1.3.5";
-  by-version."errorhandler"."1.3.5" = self.buildNodePackage {
-    name = "errorhandler-1.3.5";
-    version = "1.3.5";
+  by-spec."difflib"."~0.2.1" =
+    self.by-version."difflib"."0.2.4";
+  by-version."difflib"."0.2.4" = self.buildNodePackage {
+    name = "difflib-0.2.4";
+    version = "0.2.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.3.5.tgz";
-      name = "errorhandler-1.3.5.tgz";
-      sha1 = "4ef655dd2c30e1fc1bf9c24805fa34ba20d4f69a";
+      url = "http://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz";
+      name = "difflib-0.2.4.tgz";
+      sha1 = "b5e30361a6db023176d562892db85940a718f47e";
     };
     deps = {
-      "accepts-1.2.5" = self.by-version."accepts"."1.2.5";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "heap-0.2.6" = self.by-version."heap"."0.2.6";
     };
     optionalDependencies = {
     };
@@ -1214,16 +1541,55 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."errs"."~0.3.0" =
-    self.by-version."errs"."0.3.2";
-  by-version."errs"."0.3.2" = self.buildNodePackage {
-    name = "errs-0.3.2";
-    version = "0.3.2";
+  by-spec."dreamopt"."~0.6.0" =
+    self.by-version."dreamopt"."0.6.0";
+  by-version."dreamopt"."0.6.0" = self.buildNodePackage {
+    name = "dreamopt-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dreamopt/-/dreamopt-0.6.0.tgz";
+      name = "dreamopt-0.6.0.tgz";
+      sha1 = "d813ccdac8d39d8ad526775514a13dda664d6b4b";
+    };
+    deps = {
+      "wordwrap-1.0.0" = self.by-version."wordwrap"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ee-first"."1.1.0" =
+    self.by-version."ee-first"."1.1.0";
+  by-version."ee-first"."1.1.0" = self.buildNodePackage {
+    name = "ee-first-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz";
+      name = "ee-first-1.1.0.tgz";
+      sha1 = "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."es5-ext"."0.8.x" =
+    self.by-version."es5-ext"."0.8.2";
+  by-version."es5-ext"."0.8.2" = self.buildNodePackage {
+    name = "es5-ext-0.8.2";
+    version = "0.8.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/errs/-/errs-0.3.2.tgz";
-      name = "errs-0.3.2.tgz";
-      sha1 = "798099b2dbd37ca2bc749e538a7c1307d0b50499";
+      url = "http://registry.npmjs.org/es5-ext/-/es5-ext-0.8.2.tgz";
+      name = "es5-ext-0.8.2.tgz";
+      sha1 = "aba8d9e1943a895ac96837a62a39b3f55ecd94ab";
     };
     deps = {
     };
@@ -1252,6 +1618,183 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."escape-string-regexp"."1.0.2" =
+    self.by-version."escape-string-regexp"."1.0.2";
+  by-version."escape-string-regexp"."1.0.2" = self.buildNodePackage {
+    name = "escape-string-regexp-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz";
+      name = "escape-string-regexp-1.0.2.tgz";
+      sha1 = "4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escape-string-regexp"."^1.0.0" =
+    self.by-version."escape-string-regexp"."1.0.3";
+  by-version."escape-string-regexp"."1.0.3" = self.buildNodePackage {
+    name = "escape-string-regexp-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz";
+      name = "escape-string-regexp-1.0.3.tgz";
+      sha1 = "9e2d8b25bc2555c3336723750e03f099c2735bb5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escape-string-regexp"."^1.0.2" =
+    self.by-version."escape-string-regexp"."1.0.3";
+  by-spec."escodegen"."1.3.x" =
+    self.by-version."escodegen"."1.3.3";
+  by-version."escodegen"."1.3.3" = self.buildNodePackage {
+    name = "escodegen-1.3.3";
+    version = "1.3.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz";
+      name = "escodegen-1.3.3.tgz";
+      sha1 = "f024016f5a88e046fd12005055e939802e6c5f23";
+    };
+    deps = {
+      "esutils-1.0.0" = self.by-version."esutils"."1.0.0";
+      "estraverse-1.5.1" = self.by-version."estraverse"."1.5.1";
+      "esprima-1.1.1" = self.by-version."esprima"."1.1.1";
+    };
+    optionalDependencies = {
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima"."1.2.x" =
+    self.by-version."esprima"."1.2.5";
+  by-version."esprima"."1.2.5" = self.buildNodePackage {
+    name = "esprima-1.2.5";
+    version = "1.2.5";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz";
+      name = "esprima-1.2.5.tgz";
+      sha1 = "0993502feaf668138325756f30f9a51feeec11e9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima"."~ 1.0.2" =
+    self.by-version."esprima"."1.0.4";
+  by-version."esprima"."1.0.4" = self.buildNodePackage {
+    name = "esprima-1.0.4";
+    version = "1.0.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
+      name = "esprima-1.0.4.tgz";
+      sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima"."~1.1.1" =
+    self.by-version."esprima"."1.1.1";
+  by-version."esprima"."1.1.1" = self.buildNodePackage {
+    name = "esprima-1.1.1";
+    version = "1.1.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz";
+      name = "esprima-1.1.1.tgz";
+      sha1 = "5b6f1547f4d102e670e140c509be6771d6aeb549";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esprima"."~2.2.0" =
+    self.by-version."esprima"."2.2.0";
+  by-version."esprima"."2.2.0" = self.buildNodePackage {
+    name = "esprima-2.2.0";
+    version = "2.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima/-/esprima-2.2.0.tgz";
+      name = "esprima-2.2.0.tgz";
+      sha1 = "4292c1d68e4173d815fa2290dc7afc96d81fcd83";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."estraverse"."~1.5.0" =
+    self.by-version."estraverse"."1.5.1";
+  by-version."estraverse"."1.5.1" = self.buildNodePackage {
+    name = "estraverse-1.5.1";
+    version = "1.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz";
+      name = "estraverse-1.5.1.tgz";
+      sha1 = "867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."esutils"."~1.0.0" =
+    self.by-version."esutils"."1.0.0";
+  by-version."esutils"."1.0.0" = self.buildNodePackage {
+    name = "esutils-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz";
+      name = "esutils-1.0.0.tgz";
+      sha1 = "8151d358e20c8acc7fb745e7472c0025fe496570";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."etag"."~1.5.1" =
     self.by-version."etag"."1.5.1";
   by-version."etag"."1.5.1" = self.buildNodePackage {
@@ -1272,39 +1815,42 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."express"."^3.4.8" =
-    self.by-version."express"."3.20.2";
-  by-version."express"."3.20.2" = self.buildNodePackage {
-    name = "express-3.20.2";
-    version = "3.20.2";
-    bin = true;
+  by-spec."express"."^4.8.7" =
+    self.by-version."express"."4.12.3";
+  by-version."express"."4.12.3" = self.buildNodePackage {
+    name = "express-4.12.3";
+    version = "4.12.3";
+    bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/express/-/express-3.20.2.tgz";
-      name = "express-3.20.2.tgz";
-      sha1 = "c604027746e60f3da0a4b43063375d21c3235858";
+      url = "http://registry.npmjs.org/express/-/express-4.12.3.tgz";
+      name = "express-4.12.3.tgz";
+      sha1 = "6b9d94aec5ae03270d86d390c277a8c5a5ad0ee2";
     };
     deps = {
-      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
-      "connect-2.29.1" = self.by-version."connect"."2.29.1";
+      "accepts-1.2.7" = self.by-version."accepts"."1.2.7";
       "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
       "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
-      "commander-2.6.0" = self.by-version."commander"."2.6.0";
       "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
       "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
       "debug-2.1.3" = self.by-version."debug"."2.1.3";
-      "depd-1.0.0" = self.by-version."depd"."1.0.0";
+      "depd-1.0.1" = self.by-version."depd"."1.0.1";
       "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
       "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "finalhandler-0.3.4" = self.by-version."finalhandler"."0.3.4";
       "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
       "merge-descriptors-1.0.0" = self.by-version."merge-descriptors"."1.0.0";
       "methods-1.1.1" = self.by-version."methods"."1.1.1";
-      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
       "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
-      "proxy-addr-1.0.7" = self.by-version."proxy-addr"."1.0.7";
+      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
+      "proxy-addr-1.0.8" = self.by-version."proxy-addr"."1.0.8";
+      "qs-2.4.1" = self.by-version."qs"."2.4.1";
       "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
       "send-0.12.2" = self.by-version."send"."0.12.2";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+      "serve-static-1.9.2" = self.by-version."serve-static"."1.9.2";
+      "type-is-1.6.2" = self.by-version."type-is"."1.6.2";
       "vary-1.0.0" = self.by-version."vary"."1.0.0";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
     };
     optionalDependencies = {
     };
@@ -1312,28 +1858,19 @@
     os = [ ];
     cpu = [ ];
   };
-  "express" = self.by-version."express"."3.20.2";
-  by-spec."express-session"."~1.10.4" =
-    self.by-version."express-session"."1.10.4";
-  by-version."express-session"."1.10.4" = self.buildNodePackage {
-    name = "express-session-1.10.4";
-    version = "1.10.4";
+  "express" = self.by-version."express"."4.12.3";
+  by-spec."extend"."~1.2.1" =
+    self.by-version."extend"."1.2.1";
+  by-version."extend"."1.2.1" = self.buildNodePackage {
+    name = "extend-1.2.1";
+    version = "1.2.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/express-session/-/express-session-1.10.4.tgz";
-      name = "express-session-1.10.4.tgz";
-      sha1 = "04e1d92e00593893e1f76569eb3ad63113daf94c";
+      url = "http://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
+      name = "extend-1.2.1.tgz";
+      sha1 = "a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c";
     };
     deps = {
-      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "crc-3.2.1" = self.by-version."crc"."3.2.1";
-      "debug-2.1.3" = self.by-version."debug"."2.1.3";
-      "depd-1.0.0" = self.by-version."depd"."1.0.0";
-      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
-      "uid-safe-1.1.0" = self.by-version."uid-safe"."1.1.0";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
     };
     optionalDependencies = {
     };
@@ -1341,16 +1878,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."extend"."~1.2.1" =
-    self.by-version."extend"."1.2.1";
-  by-version."extend"."1.2.1" = self.buildNodePackage {
-    name = "extend-1.2.1";
-    version = "1.2.1";
+  by-spec."extend"."~1.3.0" =
+    self.by-version."extend"."1.3.0";
+  by-version."extend"."1.3.0" = self.buildNodePackage {
+    name = "extend-1.3.0";
+    version = "1.3.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
-      name = "extend-1.2.1.tgz";
-      sha1 = "a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c";
+      url = "http://registry.npmjs.org/extend/-/extend-1.3.0.tgz";
+      name = "extend-1.3.0.tgz";
+      sha1 = "d1516fb0ff5624d2ebf9123ea1dac5a1994004f8";
     };
     deps = {
     };
@@ -1379,6 +1916,27 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."fileset"."0.1.x" =
+    self.by-version."fileset"."0.1.5";
+  by-version."fileset"."0.1.5" = self.buildNodePackage {
+    name = "fileset-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz";
+      name = "fileset-0.1.5.tgz";
+      sha1 = "acc423bfaf92843385c66bf75822264d11b7bd94";
+    };
+    deps = {
+      "minimatch-0.4.0" = self.by-version."minimatch"."0.4.0";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."finalhandler"."0.3.4" =
     self.by-version."finalhandler"."0.3.4";
   by-version."finalhandler"."0.3.4" = self.buildNodePackage {
@@ -1393,7 +1951,7 @@
     deps = {
       "debug-2.1.3" = self.by-version."debug"."2.1.3";
       "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
+      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
     };
     optionalDependencies = {
     };
@@ -1401,21 +1959,20 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."follow"."~0.11.2" =
-    self.by-version."follow"."0.11.4";
-  by-version."follow"."0.11.4" = self.buildNodePackage {
-    name = "follow-0.11.4";
-    version = "0.11.4";
-    bin = true;
+  by-spec."findup-sync"."~0.1.2" =
+    self.by-version."findup-sync"."0.1.3";
+  by-version."findup-sync"."0.1.3" = self.buildNodePackage {
+    name = "findup-sync-0.1.3";
+    version = "0.1.3";
+    bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/follow/-/follow-0.11.4.tgz";
-      name = "follow-0.11.4.tgz";
-      sha1 = "87e9a50d443f921d05704ebac412a14ab9d9232f";
+      url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz";
+      name = "findup-sync-0.1.3.tgz";
+      sha1 = "7f3e7a97b82392c653bf06589bd85190e93c3683";
     };
     deps = {
-      "request-2.53.0" = self.by-version."request"."2.53.0";
-      "browser-request-0.3.3" = self.by-version."browser-request"."0.3.3";
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
     };
     optionalDependencies = {
     };
@@ -1423,16 +1980,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."forever-agent"."~0.2.0" =
-    self.by-version."forever-agent"."0.2.0";
-  by-version."forever-agent"."0.2.0" = self.buildNodePackage {
-    name = "forever-agent-0.2.0";
-    version = "0.2.0";
+  by-spec."flagged-respawn"."~0.3.0" =
+    self.by-version."flagged-respawn"."0.3.1";
+  by-version."flagged-respawn"."0.3.1" = self.buildNodePackage {
+    name = "flagged-respawn-0.3.1";
+    version = "0.3.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz";
-      name = "forever-agent-0.2.0.tgz";
-      sha1 = "e1c25c7ad44e09c38f233876c76fcc24ff843b1f";
+      url = "http://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.1.tgz";
+      name = "flagged-respawn-0.3.1.tgz";
+      sha1 = "397700925df6e12452202a71e89d89545fbbbe9d";
     };
     deps = {
     };
@@ -1461,21 +2018,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."form-data"."0.1.3" =
-    self.by-version."form-data"."0.1.3";
-  by-version."form-data"."0.1.3" = self.buildNodePackage {
-    name = "form-data-0.1.3";
-    version = "0.1.3";
+  by-spec."forever-agent"."~0.6.0" =
+    self.by-version."forever-agent"."0.6.1";
+  by-version."forever-agent"."0.6.1" = self.buildNodePackage {
+    name = "forever-agent-0.6.1";
+    version = "0.6.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz";
-      name = "form-data-0.1.3.tgz";
-      sha1 = "4ee4346e6eb5362e8344a02075bd8dbd8c7373ea";
+      url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+      name = "forever-agent-0.6.1.tgz";
+      sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
     };
     deps = {
-      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "async-0.9.0" = self.by-version."async"."0.9.0";
     };
     optionalDependencies = {
     };
@@ -1483,16 +2037,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."form-data"."~0.0.3" =
-    self.by-version."form-data"."0.0.10";
-  by-version."form-data"."0.0.10" = self.buildNodePackage {
-    name = "form-data-0.0.10";
-    version = "0.0.10";
+  by-spec."form-data"."0.1.2" =
+    self.by-version."form-data"."0.1.2";
+  by-version."form-data"."0.1.2" = self.buildNodePackage {
+    name = "form-data-0.1.2";
+    version = "0.1.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz";
-      name = "form-data-0.0.10.tgz";
-      sha1 = "db345a5378d86aeeb1ed5d553b869ac192d2f5ed";
+      url = "http://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz";
+      name = "form-data-0.1.2.tgz";
+      sha1 = "1143c21357911a78dd7913b189b4bab5d5d57445";
     };
     deps = {
       "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
@@ -1541,7 +2095,47 @@
     deps = {
       "async-0.9.0" = self.by-version."async"."0.9.0";
       "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
-      "mime-types-2.0.10" = self.by-version."mime-types"."2.0.10";
+      "mime-types-2.0.11" = self.by-version."mime-types"."2.0.11";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."formatio"."1.1.1" =
+    self.by-version."formatio"."1.1.1";
+  by-version."formatio"."1.1.1" = self.buildNodePackage {
+    name = "formatio-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz";
+      name = "formatio-1.1.1.tgz";
+      sha1 = "5ed3ccd636551097383465d996199100e86161e9";
+    };
+    deps = {
+      "samsam-1.1.2" = self.by-version."samsam"."1.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."formatio"."~1.0" =
+    self.by-version."formatio"."1.0.2";
+  by-version."formatio"."1.0.2" = self.buildNodePackage {
+    name = "formatio-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/formatio/-/formatio-1.0.2.tgz";
+      name = "formatio-1.0.2.tgz";
+      sha1 = "e7991ca144ff7d8cff07bb9ac86a9b79c6ba47ef";
+    };
+    deps = {
+      "samsam-1.1.2" = self.by-version."samsam"."1.1.2";
     };
     optionalDependencies = {
     };
@@ -1606,7 +2200,202 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."glob"."^3.2.11" =
+  by-spec."fstream"."^1.0.2" =
+    self.by-version."fstream"."1.0.6";
+  by-version."fstream"."1.0.6" = self.buildNodePackage {
+    name = "fstream-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fstream/-/fstream-1.0.6.tgz";
+      name = "fstream-1.0.6.tgz";
+      sha1 = "817e50312fb4ed90da865c8eb5ecd1d1d7aed0ec";
+    };
+    deps = {
+      "graceful-fs-3.0.6" = self.by-version."graceful-fs"."3.0.6";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
+      "rimraf-2.3.3" = self.by-version."rimraf"."2.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fstream"."~0.1.17" =
+    self.by-version."fstream"."0.1.31";
+  by-version."fstream"."0.1.31" = self.buildNodePackage {
+    name = "fstream-0.1.31";
+    version = "0.1.31";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
+      name = "fstream-0.1.31.tgz";
+      sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
+    };
+    deps = {
+      "graceful-fs-3.0.6" = self.by-version."graceful-fs"."3.0.6";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
+      "rimraf-2.3.3" = self.by-version."rimraf"."2.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fstream"."~0.1.22" =
+    self.by-version."fstream"."0.1.31";
+  by-spec."fstream"."~0.1.28" =
+    self.by-version."fstream"."0.1.31";
+  by-spec."fstream-ignore"."0.0.7" =
+    self.by-version."fstream-ignore"."0.0.7";
+  by-version."fstream-ignore"."0.0.7" = self.buildNodePackage {
+    name = "fstream-ignore-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz";
+      name = "fstream-ignore-0.0.7.tgz";
+      sha1 = "eea3033f0c3728139de7b57ab1b0d6d89c353c63";
+    };
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."gauge"."~1.2.0" =
+    self.by-version."gauge"."1.2.0";
+  by-version."gauge"."1.2.0" = self.buildNodePackage {
+    name = "gauge-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gauge/-/gauge-1.2.0.tgz";
+      name = "gauge-1.2.0.tgz";
+      sha1 = "3094ab1285633f799814388fc8f2de67b4c012c5";
+    };
+    deps = {
+      "ansi-0.3.0" = self.by-version."ansi"."0.3.0";
+      "has-unicode-1.0.0" = self.by-version."has-unicode"."1.0.0";
+      "lodash.pad-3.1.0" = self.by-version."lodash.pad"."3.1.0";
+      "lodash.padleft-3.1.1" = self.by-version."lodash.padleft"."3.1.1";
+      "lodash.padright-3.1.1" = self.by-version."lodash.padright"."3.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."generate-function"."^2.0.0" =
+    self.by-version."generate-function"."2.0.0";
+  by-version."generate-function"."2.0.0" = self.buildNodePackage {
+    name = "generate-function-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
+      name = "generate-function-2.0.0.tgz";
+      sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."generate-object-property"."^1.1.0" =
+    self.by-version."generate-object-property"."1.1.1";
+  by-version."generate-object-property"."1.1.1" = self.buildNodePackage {
+    name = "generate-object-property-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/generate-object-property/-/generate-object-property-1.1.1.tgz";
+      name = "generate-object-property-1.1.1.tgz";
+      sha1 = "8fda6b4cb69b34a189a6cebee7c4c268af47cc93";
+    };
+    deps = {
+      "is-property-1.0.2" = self.by-version."is-property"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."generic-pool-redux"."~0.1.0" =
+    self.by-version."generic-pool-redux"."0.1.0";
+  by-version."generic-pool-redux"."0.1.0" = self.buildNodePackage {
+    name = "generic-pool-redux-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/generic-pool-redux/-/generic-pool-redux-0.1.0.tgz";
+      name = "generic-pool-redux-0.1.0.tgz";
+      sha1 = "326c2594e17fba4d4f0622cfe09acc3c84cb3a82";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."get-stdin"."^4.0.1" =
+    self.by-version."get-stdin"."4.0.1";
+  by-version."get-stdin"."4.0.1" = self.buildNodePackage {
+    name = "get-stdin-4.0.1";
+    version = "4.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";
+      name = "get-stdin-4.0.1.tgz";
+      sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."glob"."3.2.3" =
+    self.by-version."glob"."3.2.3";
+  by-version."glob"."3.2.3" = self.buildNodePackage {
+    name = "glob-3.2.3";
+    version = "3.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz";
+      name = "glob-3.2.3.tgz";
+      sha1 = "e313eeb249c7affaa5c475286b0e115b59839467";
+    };
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."glob"."3.x" =
     self.by-version."glob"."3.2.11";
   by-version."glob"."3.2.11" = self.buildNodePackage {
     name = "glob-3.2.11";
@@ -1627,6 +2416,232 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."glob"."^4.4.2" =
+    self.by-version."glob"."4.5.3";
+  by-version."glob"."4.5.3" = self.buildNodePackage {
+    name = "glob-4.5.3";
+    version = "4.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-4.5.3.tgz";
+      name = "glob-4.5.3.tgz";
+      sha1 = "c6cb73d3226c1efef04de3c56d012f03377ee15f";
+    };
+    deps = {
+      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-2.0.7" = self.by-version."minimatch"."2.0.7";
+      "once-1.3.2" = self.by-version."once"."1.3.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."glob"."~3.2.9" =
+    self.by-version."glob"."3.2.11";
+  by-spec."graceful-fs"."1.2" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-version."graceful-fs"."1.2.3" = self.buildNodePackage {
+    name = "graceful-fs-1.2.3";
+    version = "1.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
+      name = "graceful-fs-1.2.3.tgz";
+      sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."graceful-fs"."3" =
+    self.by-version."graceful-fs"."3.0.6";
+  by-version."graceful-fs"."3.0.6" = self.buildNodePackage {
+    name = "graceful-fs-3.0.6";
+    version = "3.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.6.tgz";
+      name = "graceful-fs-3.0.6.tgz";
+      sha1 = "dce3a18351cb94cdc82e688b2e3dd2842d1b09bb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."graceful-fs"."~2.0.0" =
+    self.by-version."graceful-fs"."2.0.3";
+  by-version."graceful-fs"."2.0.3" = self.buildNodePackage {
+    name = "graceful-fs-2.0.3";
+    version = "2.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
+      name = "graceful-fs-2.0.3.tgz";
+      sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."graceful-fs"."~3.0.2" =
+    self.by-version."graceful-fs"."3.0.6";
+  by-spec."graceful-readlink".">= 1.0.0" =
+    self.by-version."graceful-readlink"."1.0.1";
+  by-version."graceful-readlink"."1.0.1" = self.buildNodePackage {
+    name = "graceful-readlink-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+      name = "graceful-readlink-1.0.1.tgz";
+      sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."growl"."1.8.1" =
+    self.by-version."growl"."1.8.1";
+  by-version."growl"."1.8.1" = self.buildNodePackage {
+    name = "growl-1.8.1";
+    version = "1.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/growl/-/growl-1.8.1.tgz";
+      name = "growl-1.8.1.tgz";
+      sha1 = "4b2dec8d907e93db336624dcec0183502f8c9428";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."handlebars"."1.3.x" =
+    self.by-version."handlebars"."1.3.0";
+  by-version."handlebars"."1.3.0" = self.buildNodePackage {
+    name = "handlebars-1.3.0";
+    version = "1.3.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/handlebars/-/handlebars-1.3.0.tgz";
+      name = "handlebars-1.3.0.tgz";
+      sha1 = "9e9b130a93e389491322d975cf3ec1818c37ce34";
+    };
+    deps = {
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+    };
+    optionalDependencies = {
+      "uglify-js-2.3.6" = self.by-version."uglify-js"."2.3.6";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."har-validator"."^1.4.0" =
+    self.by-version."har-validator"."1.7.0";
+  by-version."har-validator"."1.7.0" = self.buildNodePackage {
+    name = "har-validator-1.7.0";
+    version = "1.7.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/har-validator/-/har-validator-1.7.0.tgz";
+      name = "har-validator-1.7.0.tgz";
+      sha1 = "563f8c58edca6410e2e408b0e540161da580dc46";
+    };
+    deps = {
+      "bluebird-2.9.25" = self.by-version."bluebird"."2.9.25";
+      "chalk-1.0.0" = self.by-version."chalk"."1.0.0";
+      "commander-2.8.1" = self.by-version."commander"."2.8.1";
+      "is-my-json-valid-2.11.0" = self.by-version."is-my-json-valid"."2.11.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-ansi"."^0.1.0" =
+    self.by-version."has-ansi"."0.1.0";
+  by-version."has-ansi"."0.1.0" = self.buildNodePackage {
+    name = "has-ansi-0.1.0";
+    version = "0.1.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz";
+      name = "has-ansi-0.1.0.tgz";
+      sha1 = "84f265aae8c0e6a88a12d7022894b7568894c62e";
+    };
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-ansi"."^1.0.3" =
+    self.by-version."has-ansi"."1.0.3";
+  by-version."has-ansi"."1.0.3" = self.buildNodePackage {
+    name = "has-ansi-1.0.3";
+    version = "1.0.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-ansi/-/has-ansi-1.0.3.tgz";
+      name = "has-ansi-1.0.3.tgz";
+      sha1 = "c0b5b1615d9e382b0ff67169d967b425e48ca538";
+    };
+    deps = {
+      "ansi-regex-1.1.1" = self.by-version."ansi-regex"."1.1.1";
+      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-unicode"."^1.0.0" =
+    self.by-version."has-unicode"."1.0.0";
+  by-version."has-unicode"."1.0.0" = self.buildNodePackage {
+    name = "has-unicode-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz";
+      name = "has-unicode-1.0.0.tgz";
+      sha1 = "bac5c44e064c2ffc3b8fcbd8c71afe08f9afc8cc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."hawk"."1.1.1" =
     self.by-version."hawk"."1.1.1";
   by-version."hawk"."1.1.1" = self.buildNodePackage {
@@ -1650,29 +2665,6 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."hawk"."~0.10.2" =
-    self.by-version."hawk"."0.10.2";
-  by-version."hawk"."0.10.2" = self.buildNodePackage {
-    name = "hawk-0.10.2";
-    version = "0.10.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
-      name = "hawk-0.10.2.tgz";
-      sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
-    };
-    deps = {
-      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
-      "boom-0.3.8" = self.by-version."boom"."0.3.8";
-      "cryptiles-0.1.3" = self.by-version."cryptiles"."0.1.3";
-      "sntp-0.1.4" = self.by-version."sntp"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
   by-spec."hawk"."~2.3.0" =
     self.by-version."hawk"."2.3.1";
   by-version."hawk"."2.3.1" = self.buildNodePackage {
@@ -1685,8 +2677,8 @@
       sha1 = "1e731ce39447fa1d0f6d707f7bceebec0fd1ec1f";
     };
     deps = {
-      "hoek-2.11.1" = self.by-version."hoek"."2.11.1";
-      "boom-2.6.1" = self.by-version."boom"."2.6.1";
+      "hoek-2.13.0" = self.by-version."hoek"."2.13.0";
+      "boom-2.7.1" = self.by-version."boom"."2.7.1";
       "cryptiles-2.0.4" = self.by-version."cryptiles"."2.0.4";
       "sntp-1.0.9" = self.by-version."sntp"."1.0.9";
     };
@@ -1696,16 +2688,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."hoek"."0.7.x" =
-    self.by-version."hoek"."0.7.6";
-  by-version."hoek"."0.7.6" = self.buildNodePackage {
-    name = "hoek-0.7.6";
-    version = "0.7.6";
+  by-spec."heap".">= 0.2.0" =
+    self.by-version."heap"."0.2.6";
+  by-version."heap"."0.2.6" = self.buildNodePackage {
+    name = "heap-0.2.6";
+    version = "0.2.6";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz";
-      name = "hoek-0.7.6.tgz";
-      sha1 = "60fbd904557541cd2b8795abf308a1b3770e155a";
+      url = "http://registry.npmjs.org/heap/-/heap-0.2.6.tgz";
+      name = "heap-0.2.6.tgz";
+      sha1 = "087e1f10b046932fc8594dd9e6d378afc9d1e5ac";
     };
     deps = {
     };
@@ -1735,15 +2727,15 @@
     cpu = [ ];
   };
   by-spec."hoek"."2.x.x" =
-    self.by-version."hoek"."2.11.1";
-  by-version."hoek"."2.11.1" = self.buildNodePackage {
-    name = "hoek-2.11.1";
-    version = "2.11.1";
+    self.by-version."hoek"."2.13.0";
+  by-version."hoek"."2.13.0" = self.buildNodePackage {
+    name = "hoek-2.13.0";
+    version = "2.13.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/hoek/-/hoek-2.11.1.tgz";
-      name = "hoek-2.11.1.tgz";
-      sha1 = "3839a8b72f86aade3312100afaf80648af155b38";
+      url = "http://registry.npmjs.org/hoek/-/hoek-2.13.0.tgz";
+      name = "hoek-2.13.0.tgz";
+      sha1 = "cc86b5c1c344b41a7271be449e232fac8d6f450c";
     };
     deps = {
     };
@@ -1753,27 +2745,6 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."http-errors"."~1.3.1" =
-    self.by-version."http-errors"."1.3.1";
-  by-version."http-errors"."1.3.1" = self.buildNodePackage {
-    name = "http-errors-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz";
-      name = "http-errors-1.3.1.tgz";
-      sha1 = "197e22cdebd4198585e8694ef6786197b91ed942";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "statuses-1.2.1" = self.by-version."statuses"."1.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
   by-spec."http-signature"."~0.10.0" =
     self.by-version."http-signature"."0.10.1";
   by-version."http-signature"."0.10.1" = self.buildNodePackage {
@@ -1796,18 +2767,39 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."iconv-lite"."0.4.7" =
-    self.by-version."iconv-lite"."0.4.7";
-  by-version."iconv-lite"."0.4.7" = self.buildNodePackage {
-    name = "iconv-lite-0.4.7";
-    version = "0.4.7";
+  by-spec."iconv-lite"."0.4.8" =
+    self.by-version."iconv-lite"."0.4.8";
+  by-version."iconv-lite"."0.4.8" = self.buildNodePackage {
+    name = "iconv-lite-0.4.8";
+    version = "0.4.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.8.tgz";
+      name = "iconv-lite-0.4.8.tgz";
+      sha1 = "c6019a7595f2cefca702eab694a010bcd9298d20";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inflight"."^1.0.4" =
+    self.by-version."inflight"."1.0.4";
+  by-version."inflight"."1.0.4" = self.buildNodePackage {
+    name = "inflight-1.0.4";
+    version = "1.0.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.7.tgz";
-      name = "iconv-lite-0.4.7.tgz";
-      sha1 = "89d32fec821bf8597f44609b4bc09bed5c209a23";
+      url = "http://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz";
+      name = "inflight-1.0.4.tgz";
+      sha1 = "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a";
     };
     deps = {
+      "once-1.3.2" = self.by-version."once"."1.3.2";
+      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
     };
     optionalDependencies = {
     };
@@ -1834,18 +2826,104 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."inherits"."2.0.1" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."inherits"."~2.0.0" =
+    self.by-version."inherits"."2.0.1";
   by-spec."inherits"."~2.0.1" =
     self.by-version."inherits"."2.0.1";
-  by-spec."ipaddr.js"."0.1.9" =
-    self.by-version."ipaddr.js"."0.1.9";
-  by-version."ipaddr.js"."0.1.9" = self.buildNodePackage {
-    name = "ipaddr.js-0.1.9";
-    version = "0.1.9";
+  by-spec."ini"."1.x.x" =
+    self.by-version."ini"."1.3.3";
+  by-version."ini"."1.3.3" = self.buildNodePackage {
+    name = "ini-1.3.3";
+    version = "1.3.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.9.tgz";
-      name = "ipaddr.js-0.1.9.tgz";
-      sha1 = "a9c78ccc12dc9010f296ab9aef2f61f432d69efa";
+      url = "http://registry.npmjs.org/ini/-/ini-1.3.3.tgz";
+      name = "ini-1.3.3.tgz";
+      sha1 = "c07e34aef1de06aff21d413b458e52b21533a11e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ini"."~1.3.0" =
+    self.by-version."ini"."1.3.3";
+  by-spec."interpret"."^0.3.2" =
+    self.by-version."interpret"."0.3.10";
+  by-version."interpret"."0.3.10" = self.buildNodePackage {
+    name = "interpret-0.3.10";
+    version = "0.3.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/interpret/-/interpret-0.3.10.tgz";
+      name = "interpret-0.3.10.tgz";
+      sha1 = "088c25de731c6c5b112a90f0071cfaf459e5a7bb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ipaddr.js"."1.0.1" =
+    self.by-version."ipaddr.js"."1.0.1";
+  by-version."ipaddr.js"."1.0.1" = self.buildNodePackage {
+    name = "ipaddr.js-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.1.tgz";
+      name = "ipaddr.js-1.0.1.tgz";
+      sha1 = "5f38801dc73e0400fc7076386f6ed5215fbd8f95";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-my-json-valid"."^2.10.1" =
+    self.by-version."is-my-json-valid"."2.11.0";
+  by-version."is-my-json-valid"."2.11.0" = self.buildNodePackage {
+    name = "is-my-json-valid-2.11.0";
+    version = "2.11.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.11.0.tgz";
+      name = "is-my-json-valid-2.11.0.tgz";
+      sha1 = "11f130d52c6c0b2ee132a72feb8e3e4c61a2c54f";
+    };
+    deps = {
+      "generate-function-2.0.0" = self.by-version."generate-function"."2.0.0";
+      "generate-object-property-1.1.1" = self.by-version."generate-object-property"."1.1.1";
+      "jsonpointer-1.1.0" = self.by-version."jsonpointer"."1.1.0";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-property"."^1.0.0" =
+    self.by-version."is-property"."1.0.2";
+  by-version."is-property"."1.0.2" = self.buildNodePackage {
+    name = "is-property-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
+      name = "is-property-1.0.2.tgz";
+      sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
     };
     deps = {
     };
@@ -1874,7 +2952,7 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."isstream"."~0.1.1" =
+  by-spec."isstream"."0.1.x" =
     self.by-version."isstream"."0.1.2";
   by-version."isstream"."0.1.2" = self.buildNodePackage {
     name = "isstream-0.1.2";
@@ -1893,18 +2971,159 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."json-stringify-safe"."~3.0.0" =
-    self.by-version."json-stringify-safe"."3.0.0";
-  by-version."json-stringify-safe"."3.0.0" = self.buildNodePackage {
-    name = "json-stringify-safe-3.0.0";
-    version = "3.0.0";
+  by-spec."isstream"."~0.1.1" =
+    self.by-version."isstream"."0.1.2";
+  by-spec."istanbul"."^0.2.10" =
+    self.by-version."istanbul"."0.2.16";
+  by-version."istanbul"."0.2.16" = self.buildNodePackage {
+    name = "istanbul-0.2.16";
+    version = "0.2.16";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/istanbul/-/istanbul-0.2.16.tgz";
+      name = "istanbul-0.2.16.tgz";
+      sha1 = "870545a0d4f4b4ce161039e9e805a98c2c700bd9";
+    };
+    deps = {
+      "esprima-1.2.5" = self.by-version."esprima"."1.2.5";
+      "escodegen-1.3.3" = self.by-version."escodegen"."1.3.3";
+      "handlebars-1.3.0" = self.by-version."handlebars"."1.3.0";
+      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "fileset-0.1.5" = self.by-version."fileset"."0.1.5";
+      "which-1.0.9" = self.by-version."which"."1.0.9";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
+      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
+      "resolve-0.7.4" = self.by-version."resolve"."0.7.4";
+      "js-yaml-3.3.1" = self.by-version."js-yaml"."3.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "istanbul" = self.by-version."istanbul"."0.2.16";
+  by-spec."jade"."0.26.3" =
+    self.by-version."jade"."0.26.3";
+  by-version."jade"."0.26.3" = self.buildNodePackage {
+    name = "jade-0.26.3";
+    version = "0.26.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
+      name = "jade-0.26.3.tgz";
+      sha1 = "8f10d7977d8d79f2f6ff862a81b0513ccb25686c";
+    };
+    deps = {
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jayschema"."^0.3.1" =
+    self.by-version."jayschema"."0.3.1";
+  by-version."jayschema"."0.3.1" = self.buildNodePackage {
+    name = "jayschema-0.3.1";
+    version = "0.3.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jayschema/-/jayschema-0.3.1.tgz";
+      name = "jayschema-0.3.1.tgz";
+      sha1 = "76f4769f9b172ef7d5dcde4875b49cb736179b58";
+    };
+    deps = {
+      "when-3.4.6" = self.by-version."when"."3.4.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "jayschema" = self.by-version."jayschema"."0.3.1";
+  by-spec."jayschema-error-messages"."^1.0.2" =
+    self.by-version."jayschema-error-messages"."1.0.3";
+  by-version."jayschema-error-messages"."1.0.3" = self.buildNodePackage {
+    name = "jayschema-error-messages-1.0.3";
+    version = "1.0.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz";
-      name = "json-stringify-safe-3.0.0.tgz";
-      sha1 = "9db7b0e530c7f289c5e8c8432af191c2ff75a5b3";
+      url = "http://registry.npmjs.org/jayschema-error-messages/-/jayschema-error-messages-1.0.3.tgz";
+      name = "jayschema-error-messages-1.0.3.tgz";
+      sha1 = "8bac6e52ae89d406fbe1a7db4ae44debfd289066";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "jayschema-error-messages" = self.by-version."jayschema-error-messages"."1.0.3";
+  by-spec."js-yaml"."3.0.1" =
+    self.by-version."js-yaml"."3.0.1";
+  by-version."js-yaml"."3.0.1" = self.buildNodePackage {
+    name = "js-yaml-3.0.1";
+    version = "3.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.1.tgz";
+      name = "js-yaml-3.0.1.tgz";
+      sha1 = "76405fea5bce30fc8f405d48c6dca7f0a32c6afe";
+    };
+    deps = {
+      "argparse-0.1.16" = self.by-version."argparse"."0.1.16";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."js-yaml"."3.x" =
+    self.by-version."js-yaml"."3.3.1";
+  by-version."js-yaml"."3.3.1" = self.buildNodePackage {
+    name = "js-yaml-3.3.1";
+    version = "3.3.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.3.1.tgz";
+      name = "js-yaml-3.3.1.tgz";
+      sha1 = "ca1acd3423ec275d12140a7bab51db015ba0b3c0";
+    };
+    deps = {
+      "argparse-1.0.2" = self.by-version."argparse"."1.0.2";
+      "esprima-2.2.0" = self.by-version."esprima"."2.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."json-diff"."0.3.1" =
+    self.by-version."json-diff"."0.3.1";
+  by-version."json-diff"."0.3.1" = self.buildNodePackage {
+    name = "json-diff-0.3.1";
+    version = "0.3.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json-diff/-/json-diff-0.3.1.tgz";
+      name = "json-diff-0.3.1.tgz";
+      sha1 = "6dbc3ae2d25e075a7fd71bcd9874458666fb681b";
     };
     deps = {
+      "dreamopt-0.6.0" = self.by-version."dreamopt"."0.6.0";
+      "difflib-0.2.4" = self.by-version."difflib"."0.2.4";
+      "cli-color-0.1.7" = self.by-version."cli-color"."0.1.7";
     };
     optionalDependencies = {
     };
@@ -1931,16 +3150,136 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."jsonpointer"."^1.1.0" =
+    self.by-version."jsonpointer"."1.1.0";
+  by-version."jsonpointer"."1.1.0" = self.buildNodePackage {
+    name = "jsonpointer-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsonpointer/-/jsonpointer-1.1.0.tgz";
+      name = "jsonpointer-1.1.0.tgz";
+      sha1 = "c3c72efaed3b97154163dc01dd349e1cfe0f80fc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."knex"."^0.7.6" =
+    self.by-version."knex"."0.7.6";
+  by-version."knex"."0.7.6" = self.buildNodePackage {
+    name = "knex-0.7.6";
+    version = "0.7.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/knex/-/knex-0.7.6.tgz";
+      name = "knex-0.7.6.tgz";
+      sha1 = "325d18174b0625658ff0d35aaf1cd9e631696992";
+    };
+    deps = {
+      "bluebird-2.9.25" = self.by-version."bluebird"."2.9.25";
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "commander-2.8.1" = self.by-version."commander"."2.8.1";
+      "generic-pool-redux-0.1.0" = self.by-version."generic-pool-redux"."0.1.0";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "interpret-0.3.10" = self.by-version."interpret"."0.3.10";
+      "liftoff-0.13.6" = self.by-version."liftoff"."0.13.6";
+      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
+      "minimist-1.1.1" = self.by-version."minimist"."1.1.1";
+      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "tildify-1.0.0" = self.by-version."tildify"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "knex" = self.by-version."knex"."0.7.6";
+  by-spec."lcov-parse"."0.0.6" =
+    self.by-version."lcov-parse"."0.0.6";
+  by-version."lcov-parse"."0.0.6" = self.buildNodePackage {
+    name = "lcov-parse-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.6.tgz";
+      name = "lcov-parse-0.0.6.tgz";
+      sha1 = "819e5da8bf0791f9d3f39eea5ed1868187f11175";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."liftoff"."~0.13.2" =
+    self.by-version."liftoff"."0.13.6";
+  by-version."liftoff"."0.13.6" = self.buildNodePackage {
+    name = "liftoff-0.13.6";
+    version = "0.13.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/liftoff/-/liftoff-0.13.6.tgz";
+      name = "liftoff-0.13.6.tgz";
+      sha1 = "600e8966b92d1e0150eab5b577652569f4c7d1d8";
+    };
+    deps = {
+      "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
+      "resolve-1.0.0" = self.by-version."resolve"."1.0.0";
+      "minimist-1.1.1" = self.by-version."minimist"."1.1.1";
+      "extend-1.3.0" = self.by-version."extend"."1.3.0";
+      "flagged-respawn-0.3.1" = self.by-version."flagged-respawn"."0.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash".">= 3.2.0 < 4.0.0" =
+    self.by-version."lodash"."3.8.0";
+  by-version."lodash"."3.8.0" = self.buildNodePackage {
+    name = "lodash-3.8.0";
+    version = "3.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-3.8.0.tgz";
+      name = "lodash-3.8.0.tgz";
+      sha1 = "376eb98bdcd9382a9365c33c4cb8250de1325b91";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."lodash"."^3.1.0" =
-    self.by-version."lodash"."3.5.0";
-  by-version."lodash"."3.5.0" = self.buildNodePackage {
-    name = "lodash-3.5.0";
-    version = "3.5.0";
+    self.by-version."lodash"."3.8.0";
+  by-spec."lodash"."^3.6" =
+    self.by-version."lodash"."3.8.0";
+  "lodash" = self.by-version."lodash"."3.8.0";
+  by-spec."lodash"."^3.6.0" =
+    self.by-version."lodash"."3.8.0";
+  by-spec."lodash"."~2.4.0" =
+    self.by-version."lodash"."2.4.2";
+  by-version."lodash"."2.4.2" = self.buildNodePackage {
+    name = "lodash-2.4.2";
+    version = "2.4.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/lodash/-/lodash-3.5.0.tgz";
-      name = "lodash-3.5.0.tgz";
-      sha1 = "19bb3f4d51278f0b8c818ed145c74ecf9fe40e6d";
+      url = "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz";
+      name = "lodash-2.4.2.tgz";
+      sha1 = "fadd834b9683073da179b3eae6d9c0d15053f73e";
     };
     deps = {
     };
@@ -1950,16 +3289,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."lodash"."~1.3.1" =
-    self.by-version."lodash"."1.3.1";
-  by-version."lodash"."1.3.1" = self.buildNodePackage {
-    name = "lodash-1.3.1";
-    version = "1.3.1";
+  by-spec."lodash"."~2.4.1" =
+    self.by-version."lodash"."2.4.2";
+  by-spec."lodash._basetostring"."^3.0.0" =
+    self.by-version."lodash._basetostring"."3.0.0";
+  by-version."lodash._basetostring"."3.0.0" = self.buildNodePackage {
+    name = "lodash._basetostring-3.0.0";
+    version = "3.0.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz";
-      name = "lodash-1.3.1.tgz";
-      sha1 = "a4663b53686b895ff074e2ba504dfb76a8e2b770";
+      url = "http://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.0.tgz";
+      name = "lodash._basetostring-3.0.0.tgz";
+      sha1 = "75a9a4aaaa2b2a8761111ff5431e7d83c1daf0e2";
     };
     deps = {
     };
@@ -1969,17 +3310,138 @@
     os = [ ];
     cpu = [ ];
   };
-  "lodash" = self.by-version."lodash"."1.3.1";
-  by-spec."long-timeout"."~0.0.1" =
-    self.by-version."long-timeout"."0.0.2";
-  by-version."long-timeout"."0.0.2" = self.buildNodePackage {
-    name = "long-timeout-0.0.2";
-    version = "0.0.2";
+  by-spec."lodash._createpadding"."^3.0.0" =
+    self.by-version."lodash._createpadding"."3.6.0";
+  by-version."lodash._createpadding"."3.6.0" = self.buildNodePackage {
+    name = "lodash._createpadding-3.6.0";
+    version = "3.6.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/long-timeout/-/long-timeout-0.0.2.tgz";
-      name = "long-timeout-0.0.2.tgz";
-      sha1 = "f36449ba89629d13a7a2b2523a4db9dd66e3ff68";
+      url = "http://registry.npmjs.org/lodash._createpadding/-/lodash._createpadding-3.6.0.tgz";
+      name = "lodash._createpadding-3.6.0.tgz";
+      sha1 = "c466850dd1a05e6bfec54fd0cf0db28b68332d5e";
+    };
+    deps = {
+      "lodash.repeat-3.0.0" = self.by-version."lodash.repeat"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.pad"."^3.0.0" =
+    self.by-version."lodash.pad"."3.1.0";
+  by-version."lodash.pad"."3.1.0" = self.buildNodePackage {
+    name = "lodash.pad-3.1.0";
+    version = "3.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.0.tgz";
+      name = "lodash.pad-3.1.0.tgz";
+      sha1 = "9f18b1f3749a95e197b5ff2ae752ea9851ada965";
+    };
+    deps = {
+      "lodash._basetostring-3.0.0" = self.by-version."lodash._basetostring"."3.0.0";
+      "lodash._createpadding-3.6.0" = self.by-version."lodash._createpadding"."3.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.padleft"."^3.0.0" =
+    self.by-version."lodash.padleft"."3.1.1";
+  by-version."lodash.padleft"."3.1.1" = self.buildNodePackage {
+    name = "lodash.padleft-3.1.1";
+    version = "3.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.1.tgz";
+      name = "lodash.padleft-3.1.1.tgz";
+      sha1 = "150151f1e0245edba15d50af2d71f1d5cff46530";
+    };
+    deps = {
+      "lodash._basetostring-3.0.0" = self.by-version."lodash._basetostring"."3.0.0";
+      "lodash._createpadding-3.6.0" = self.by-version."lodash._createpadding"."3.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.padright"."^3.0.0" =
+    self.by-version."lodash.padright"."3.1.1";
+  by-version."lodash.padright"."3.1.1" = self.buildNodePackage {
+    name = "lodash.padright-3.1.1";
+    version = "3.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.1.tgz";
+      name = "lodash.padright-3.1.1.tgz";
+      sha1 = "79f7770baaa39738c040aeb5465e8d88f2aacec0";
+    };
+    deps = {
+      "lodash._basetostring-3.0.0" = self.by-version."lodash._basetostring"."3.0.0";
+      "lodash._createpadding-3.6.0" = self.by-version."lodash._createpadding"."3.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash.repeat"."^3.0.0" =
+    self.by-version."lodash.repeat"."3.0.0";
+  by-version."lodash.repeat"."3.0.0" = self.buildNodePackage {
+    name = "lodash.repeat-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.repeat/-/lodash.repeat-3.0.0.tgz";
+      name = "lodash.repeat-3.0.0.tgz";
+      sha1 = "c340f4136c99dc5b2e397b3fd50cffbd172a94b0";
+    };
+    deps = {
+      "lodash._basetostring-3.0.0" = self.by-version."lodash._basetostring"."3.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."log-driver"."1.2.4" =
+    self.by-version."log-driver"."1.2.4";
+  by-version."log-driver"."1.2.4" = self.buildNodePackage {
+    name = "log-driver-1.2.4";
+    version = "1.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/log-driver/-/log-driver-1.2.4.tgz";
+      name = "log-driver-1.2.4.tgz";
+      sha1 = "2d62d7faef45d8a71341961a04b0761eca99cfa3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lolex"."1.1.0" =
+    self.by-version."lolex"."1.1.0";
+  by-version."lolex"."1.1.0" = self.buildNodePackage {
+    name = "lolex-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lolex/-/lolex-1.1.0.tgz";
+      name = "lolex-1.1.0.tgz";
+      sha1 = "5dbbbc850395e7523c74b3586f7fbd2626d25b1b";
     };
     deps = {
     };
@@ -1990,15 +3452,15 @@
     cpu = [ ];
   };
   by-spec."lru-cache"."2" =
-    self.by-version."lru-cache"."2.5.0";
-  by-version."lru-cache"."2.5.0" = self.buildNodePackage {
-    name = "lru-cache-2.5.0";
-    version = "2.5.0";
+    self.by-version."lru-cache"."2.6.2";
+  by-version."lru-cache"."2.6.2" = self.buildNodePackage {
+    name = "lru-cache-2.6.2";
+    version = "2.6.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz";
-      name = "lru-cache-2.5.0.tgz";
-      sha1 = "d82388ae9c960becbea0c73bb9eb79b6c6ce9aeb";
+      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.6.2.tgz";
+      name = "lru-cache-2.6.2.tgz";
+      sha1 = "77741638c6dc972e503dbe41dcb6bfdfba499a38";
     };
     deps = {
     };
@@ -2009,7 +3471,24 @@
     cpu = [ ];
   };
   by-spec."lru-cache"."~2.5.0" =
-    self.by-version."lru-cache"."2.5.0";
+    self.by-version."lru-cache"."2.5.2";
+  by-version."lru-cache"."2.5.2" = self.buildNodePackage {
+    name = "lru-cache-2.5.2";
+    version = "2.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.2.tgz";
+      name = "lru-cache-2.5.2.tgz";
+      sha1 = "1fddad938aae1263ce138680be1b3f591c0ab41c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."media-typer"."0.3.0" =
     self.by-version."media-typer"."0.3.0";
   by-version."media-typer"."0.3.0" = self.buildNodePackage {
@@ -2048,22 +3527,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."method-override"."~2.3.2" =
-    self.by-version."method-override"."2.3.2";
-  by-version."method-override"."2.3.2" = self.buildNodePackage {
-    name = "method-override-2.3.2";
-    version = "2.3.2";
+  by-spec."methods"."0.0.1" =
+    self.by-version."methods"."0.0.1";
+  by-version."methods"."0.0.1" = self.buildNodePackage {
+    name = "methods-0.0.1";
+    version = "0.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/method-override/-/method-override-2.3.2.tgz";
-      name = "method-override-2.3.2.tgz";
-      sha1 = "f2433fb27b6c087efb8812628727fb8cfd93a793";
+      url = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
+      name = "methods-0.0.1.tgz";
+      sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
     };
     deps = {
-      "debug-2.1.3" = self.by-version."debug"."2.1.3";
-      "methods-1.1.1" = self.by-version."methods"."1.1.1";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
-      "vary-1.0.0" = self.by-version."vary"."1.0.0";
     };
     optionalDependencies = {
     };
@@ -2071,16 +3546,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."methods"."1.0.1" =
-    self.by-version."methods"."1.0.1";
-  by-version."methods"."1.0.1" = self.buildNodePackage {
-    name = "methods-1.0.1";
-    version = "1.0.1";
+  by-spec."methods"."1.0.0" =
+    self.by-version."methods"."1.0.0";
+  by-version."methods"."1.0.0" = self.buildNodePackage {
+    name = "methods-1.0.0";
+    version = "1.0.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/methods/-/methods-1.0.1.tgz";
-      name = "methods-1.0.1.tgz";
-      sha1 = "75bc91943dffd7da037cf3eeb0ed73a0037cd14b";
+      url = "http://registry.npmjs.org/methods/-/methods-1.0.0.tgz";
+      name = "methods-1.0.0.tgz";
+      sha1 = "9a73d86375dfcef26ef61ca3e4b8a2e2538a80e3";
     };
     deps = {
     };
@@ -2109,16 +3584,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."mime"."1.2.11" =
-    self.by-version."mime"."1.2.11";
-  by-version."mime"."1.2.11" = self.buildNodePackage {
-    name = "mime-1.2.11";
-    version = "1.2.11";
+  by-spec."mime"."1.2.5" =
+    self.by-version."mime"."1.2.5";
+  by-version."mime"."1.2.5" = self.buildNodePackage {
+    name = "mime-1.2.5";
+    version = "1.2.5";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-      name = "mime-1.2.11.tgz";
-      sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+      url = "http://registry.npmjs.org/mime/-/mime-1.2.5.tgz";
+      name = "mime-1.2.5.tgz";
+      sha1 = "9eed073022a8bf5e16c8566c6867b8832bfbfa13";
     };
     deps = {
     };
@@ -2147,24 +3622,35 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."mime"."^1.2.11" =
-    self.by-version."mime"."1.3.4";
   by-spec."mime"."~1.2.11" =
     self.by-version."mime"."1.2.11";
-  by-spec."mime"."~1.2.2" =
-    self.by-version."mime"."1.2.11";
-  by-spec."mime"."~1.2.7" =
-    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = self.buildNodePackage {
+    name = "mime-1.2.11";
+    version = "1.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+      name = "mime-1.2.11.tgz";
+      sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."mime-db".">= 1.1.2 < 2" =
-    self.by-version."mime-db"."1.8.0";
-  by-version."mime-db"."1.8.0" = self.buildNodePackage {
-    name = "mime-db-1.8.0";
-    version = "1.8.0";
+    self.by-version."mime-db"."1.9.1";
+  by-version."mime-db"."1.9.1" = self.buildNodePackage {
+    name = "mime-db-1.9.1";
+    version = "1.9.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.8.0.tgz";
-      name = "mime-db-1.8.0.tgz";
-      sha1 = "82a9b385f22b0f5954dec4d445faba0722c4ad25";
+      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.9.1.tgz";
+      name = "mime-db-1.9.1.tgz";
+      sha1 = "1431049a71791482c29f37bafc8ea2cb3a6dd3e8";
     };
     deps = {
     };
@@ -2174,8 +3660,8 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."mime-db"."~1.8.0" =
-    self.by-version."mime-db"."1.8.0";
+  by-spec."mime-db"."~1.9.1" =
+    self.by-version."mime-db"."1.9.1";
   by-spec."mime-types"."~1.0.1" =
     self.by-version."mime-types"."1.0.2";
   by-version."mime-types"."1.0.2" = self.buildNodePackage {
@@ -2196,18 +3682,18 @@
     cpu = [ ];
   };
   by-spec."mime-types"."~2.0.1" =
-    self.by-version."mime-types"."2.0.10";
-  by-version."mime-types"."2.0.10" = self.buildNodePackage {
-    name = "mime-types-2.0.10";
-    version = "2.0.10";
+    self.by-version."mime-types"."2.0.11";
+  by-version."mime-types"."2.0.11" = self.buildNodePackage {
+    name = "mime-types-2.0.11";
+    version = "2.0.11";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.10.tgz";
-      name = "mime-types-2.0.10.tgz";
-      sha1 = "eacd81bb73cab2a77447549a078d4f2018c67b4d";
+      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.11.tgz";
+      name = "mime-types-2.0.11.tgz";
+      sha1 = "bf3449042799d877c815c29929d1e74760e72007";
     };
     deps = {
-      "mime-db-1.8.0" = self.by-version."mime-db"."1.8.0";
+      "mime-db-1.9.1" = self.by-version."mime-db"."1.9.1";
     };
     optionalDependencies = {
     };
@@ -2215,10 +3701,10 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."mime-types"."~2.0.10" =
-    self.by-version."mime-types"."2.0.10";
+  by-spec."mime-types"."~2.0.11" =
+    self.by-version."mime-types"."2.0.11";
   by-spec."mime-types"."~2.0.3" =
-    self.by-version."mime-types"."2.0.10";
+    self.by-version."mime-types"."2.0.11";
   by-spec."minimatch"."0.3" =
     self.by-version."minimatch"."0.3.0";
   by-version."minimatch"."0.3.0" = self.buildNodePackage {
@@ -2231,7 +3717,7 @@
       sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
     };
     deps = {
-      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
+      "lru-cache-2.6.2" = self.by-version."lru-cache"."2.6.2";
       "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
     };
     optionalDependencies = {
@@ -2240,6 +3726,70 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."minimatch"."0.x" =
+    self.by-version."minimatch"."0.4.0";
+  by-version."minimatch"."0.4.0" = self.buildNodePackage {
+    name = "minimatch-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-0.4.0.tgz";
+      name = "minimatch-0.4.0.tgz";
+      sha1 = "bd2c7d060d2c8c8fd7cde7f1f2ed2d5b270fdb1b";
+    };
+    deps = {
+      "lru-cache-2.6.2" = self.by-version."lru-cache"."2.6.2";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimatch"."^2.0.1" =
+    self.by-version."minimatch"."2.0.7";
+  by-version."minimatch"."2.0.7" = self.buildNodePackage {
+    name = "minimatch-2.0.7";
+    version = "2.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-2.0.7.tgz";
+      name = "minimatch-2.0.7.tgz";
+      sha1 = "d23652ab10e663e7d914602e920e21f9f66492be";
+    };
+    deps = {
+      "brace-expansion-1.1.0" = self.by-version."brace-expansion"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimatch"."~0.2.0" =
+    self.by-version."minimatch"."0.2.14";
+  by-version."minimatch"."0.2.14" = self.buildNodePackage {
+    name = "minimatch-0.2.14";
+    version = "0.2.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
+      name = "minimatch-0.2.14.tgz";
+      sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
+    };
+    deps = {
+      "lru-cache-2.6.2" = self.by-version."lru-cache"."2.6.2";
+      "sigmund-1.0.0" = self.by-version."sigmund"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimatch"."~0.2.11" =
+    self.by-version."minimatch"."0.2.14";
   by-spec."minimist"."0.0.8" =
     self.by-version."minimist"."0.0.8";
   by-version."minimist"."0.0.8" = self.buildNodePackage {
@@ -2259,19 +3809,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."mkdirp"."0.5.0" =
-    self.by-version."mkdirp"."0.5.0";
-  by-version."mkdirp"."0.5.0" = self.buildNodePackage {
-    name = "mkdirp-0.5.0";
-    version = "0.5.0";
-    bin = true;
+  by-spec."minimist"."~0.0.1" =
+    self.by-version."minimist"."0.0.10";
+  by-version."minimist"."0.0.10" = self.buildNodePackage {
+    name = "minimist-0.0.10";
+    version = "0.0.10";
+    bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
-      name = "mkdirp-0.5.0.tgz";
-      sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
+      url = "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
+      name = "minimist-0.0.10.tgz";
+      sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
     };
     deps = {
-      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
     };
     optionalDependencies = {
     };
@@ -2279,16 +3828,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."mkdirp"."~0.3.5" =
-    self.by-version."mkdirp"."0.3.5";
-  by-version."mkdirp"."0.3.5" = self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    version = "0.3.5";
+  by-spec."minimist"."~0.0.7" =
+    self.by-version."minimist"."0.0.10";
+  by-spec."minimist"."~1.1.0" =
+    self.by-version."minimist"."1.1.1";
+  by-version."minimist"."1.1.1" = self.buildNodePackage {
+    name = "minimist-1.1.1";
+    version = "1.1.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-      name = "mkdirp-0.3.5.tgz";
-      sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+      url = "http://registry.npmjs.org/minimist/-/minimist-1.1.1.tgz";
+      name = "minimist-1.1.1.tgz";
+      sha1 = "1bc2bc71658cdca5712475684363615b0b4f695b";
     };
     deps = {
     };
@@ -2298,18 +3849,94 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."moment"."~2.1.0" =
-    self.by-version."moment"."2.1.0";
-  by-version."moment"."2.1.0" = self.buildNodePackage {
-    name = "moment-2.1.0";
-    version = "2.1.0";
+  by-spec."mkdirp"."0.3.0" =
+    self.by-version."mkdirp"."0.3.0";
+  by-version."mkdirp"."0.3.0" = self.buildNodePackage {
+    name = "mkdirp-0.3.0";
+    version = "0.3.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
-      name = "moment-2.1.0.tgz";
-      sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
+      name = "mkdirp-0.3.0.tgz";
+      sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mkdirp"."0.5" =
+    self.by-version."mkdirp"."0.5.1";
+  by-version."mkdirp"."0.5.1" = self.buildNodePackage {
+    name = "mkdirp-0.5.1";
+    version = "0.5.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+      name = "mkdirp-0.5.1.tgz";
+      sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+    };
+    deps = {
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mkdirp"."0.5.0" =
+    self.by-version."mkdirp"."0.5.0";
+  by-version."mkdirp"."0.5.0" = self.buildNodePackage {
+    name = "mkdirp-0.5.0";
+    version = "0.5.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
+      name = "mkdirp-0.5.0.tgz";
+      sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
+    };
+    deps = {
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mkdirp"."0.5.x" =
+    self.by-version."mkdirp"."0.5.1";
+  by-spec."mkdirp".">=0.5 0" =
+    self.by-version."mkdirp"."0.5.1";
+  by-spec."mkdirp"."^0.5.0" =
+    self.by-version."mkdirp"."0.5.1";
+  by-spec."mkdirp"."~0.5.0" =
+    self.by-version."mkdirp"."0.5.1";
+  by-spec."mocha"."^2.1.0" =
+    self.by-version."mocha"."2.2.4";
+  by-version."mocha"."2.2.4" = self.buildNodePackage {
+    name = "mocha-2.2.4";
+    version = "2.2.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mocha/-/mocha-2.2.4.tgz";
+      name = "mocha-2.2.4.tgz";
+      sha1 = "192b0edc0e17e56613bc66e5fc7e81c00413a98d";
     };
     deps = {
+      "commander-2.3.0" = self.by-version."commander"."2.3.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+      "escape-string-regexp-1.0.2" = self.by-version."escape-string-regexp"."1.0.2";
+      "glob-3.2.3" = self.by-version."glob"."3.2.3";
+      "growl-1.8.1" = self.by-version."growl"."1.8.1";
+      "jade-0.26.3" = self.by-version."jade"."0.26.3";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+      "supports-color-1.2.1" = self.by-version."supports-color"."1.2.1";
     };
     optionalDependencies = {
     };
@@ -2317,23 +3944,23 @@
     os = [ ];
     cpu = [ ];
   };
-  "moment" = self.by-version."moment"."2.1.0";
-  by-spec."morgan"."~1.5.2" =
-    self.by-version."morgan"."1.5.2";
-  by-version."morgan"."1.5.2" = self.buildNodePackage {
-    name = "morgan-1.5.2";
-    version = "1.5.2";
+  "mocha" = self.by-version."mocha"."2.2.4";
+  by-spec."morgan"."^1.3.0" =
+    self.by-version."morgan"."1.5.3";
+  by-version."morgan"."1.5.3" = self.buildNodePackage {
+    name = "morgan-1.5.3";
+    version = "1.5.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/morgan/-/morgan-1.5.2.tgz";
-      name = "morgan-1.5.2.tgz";
-      sha1 = "34c1a0e7c2d5ad3ed78f0ef3257b8ac7c35d7cff";
+      url = "http://registry.npmjs.org/morgan/-/morgan-1.5.3.tgz";
+      name = "morgan-1.5.3.tgz";
+      sha1 = "8adb4e72f9e5c5436e5d93f42910835f79da9fdf";
     };
     deps = {
-      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
-      "debug-2.1.3" = self.by-version."debug"."2.1.3";
-      "depd-1.0.0" = self.by-version."depd"."1.0.0";
-      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
+      "basic-auth-1.0.1" = self.by-version."basic-auth"."1.0.1";
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "depd-1.0.1" = self.by-version."depd"."1.0.1";
+      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
     };
     optionalDependencies = {
     };
@@ -2341,6 +3968,7 @@
     os = [ ];
     cpu = [ ];
   };
+  "morgan" = self.by-version."morgan"."1.5.3";
   by-spec."ms"."0.6.2" =
     self.by-version."ms"."0.6.2";
   by-version."ms"."0.6.2" = self.buildNodePackage {
@@ -2379,20 +4007,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."multiparty"."3.3.2" =
-    self.by-version."multiparty"."3.3.2";
-  by-version."multiparty"."3.3.2" = self.buildNodePackage {
-    name = "multiparty-3.3.2";
-    version = "3.3.2";
+  by-spec."ms"."0.7.1" =
+    self.by-version."ms"."0.7.1";
+  by-version."ms"."0.7.1" = self.buildNodePackage {
+    name = "ms-0.7.1";
+    version = "0.7.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz";
-      name = "multiparty-3.3.2.tgz";
-      sha1 = "35de6804dc19643e5249f3d3e3bdc6c8ce301d3f";
+      url = "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
+      name = "ms-0.7.1.tgz";
+      sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
     };
     deps = {
-      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
-      "stream-counter-0.2.0" = self.by-version."stream-counter"."0.2.0";
     };
     optionalDependencies = {
     };
@@ -2419,24 +4045,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."nan"."~1.6.2" =
-    self.by-version."nan"."1.6.2";
-  by-spec."nano"."^5.8.0" =
-    self.by-version."nano"."5.12.2";
-  by-version."nano"."5.12.2" = self.buildNodePackage {
-    name = "nano-5.12.2";
-    version = "5.12.2";
+  by-spec."nan"."~1.0.0" =
+    self.by-version."nan"."1.0.0";
+  by-version."nan"."1.0.0" = self.buildNodePackage {
+    name = "nan-1.0.0";
+    version = "1.0.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/nano/-/nano-5.12.2.tgz";
-      name = "nano-5.12.2.tgz";
-      sha1 = "b51c9c5e4045c4a71fe3bf6a1f46f0ac2426a17c";
+      url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
+      name = "nan-1.0.0.tgz";
+      sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
     };
     deps = {
-      "request-2.42.0" = self.by-version."request"."2.42.0";
-      "follow-0.11.4" = self.by-version."follow"."0.11.4";
-      "errs-0.3.2" = self.by-version."errs"."0.3.2";
-      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
     };
     optionalDependencies = {
     };
@@ -2444,17 +4064,16 @@
     os = [ ];
     cpu = [ ];
   };
-  "nano" = self.by-version."nano"."5.12.2";
-  by-spec."native-or-bluebird"."~1.1.2" =
-    self.by-version."native-or-bluebird"."1.1.2";
-  by-version."native-or-bluebird"."1.1.2" = self.buildNodePackage {
-    name = "native-or-bluebird-1.1.2";
-    version = "1.1.2";
+  by-spec."nan"."~1.8.4" =
+    self.by-version."nan"."1.8.4";
+  by-version."nan"."1.8.4" = self.buildNodePackage {
+    name = "nan-1.8.4";
+    version = "1.8.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.1.2.tgz";
-      name = "native-or-bluebird-1.1.2.tgz";
-      sha1 = "3921e110232d1eb790f3dac61bb370531c7d356e";
+      url = "http://registry.npmjs.org/nan/-/nan-1.8.4.tgz";
+      name = "nan-1.8.4.tgz";
+      sha1 = "3c76b5382eab33e44b758d2813ca9d92e9342f34";
     };
     deps = {
     };
@@ -2464,18 +4083,21 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."negotiator"."0.5.1" =
-    self.by-version."negotiator"."0.5.1";
-  by-version."negotiator"."0.5.1" = self.buildNodePackage {
-    name = "negotiator-0.5.1";
-    version = "0.5.1";
+  by-spec."nconf"."^0.6.9" =
+    self.by-version."nconf"."0.6.9";
+  by-version."nconf"."0.6.9" = self.buildNodePackage {
+    name = "nconf-0.6.9";
+    version = "0.6.9";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.5.1.tgz";
-      name = "negotiator-0.5.1.tgz";
-      sha1 = "498f661c522470153c6086ac83019cb3eb66f61c";
+      url = "http://registry.npmjs.org/nconf/-/nconf-0.6.9.tgz";
+      name = "nconf-0.6.9.tgz";
+      sha1 = "9570ef15ed6f9ae6b2b3c8d5e71b66d3193cd661";
     };
     deps = {
+      "async-0.2.9" = self.by-version."async"."0.2.9";
+      "ini-1.3.3" = self.by-version."ini"."1.3.3";
+      "optimist-0.6.0" = self.by-version."optimist"."0.6.0";
     };
     optionalDependencies = {
     };
@@ -2483,41 +4105,19 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."node-dogstatsd"."0.0.5" =
-    self.by-version."node-dogstatsd"."0.0.5";
-  by-version."node-dogstatsd"."0.0.5" = self.buildNodePackage {
-    name = "node-dogstatsd-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/node-dogstatsd/-/node-dogstatsd-0.0.5.tgz";
-      name = "node-dogstatsd-0.0.5.tgz";
-      sha1 = "5b1bc12e7c2f1cab65c6081f43cee27eb359316e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ "linux" "darwin" "freebsd" ];
-    cpu = [ ];
-  };
-  "node-dogstatsd" = self.by-version."node-dogstatsd"."0.0.5";
-  by-spec."node-persist"."0.0.2" =
-    self.by-version."node-persist"."0.0.2";
-  by-version."node-persist"."0.0.2" = self.buildNodePackage {
-    name = "node-persist-0.0.2";
-    version = "0.0.2";
+  "nconf" = self.by-version."nconf"."0.6.9";
+  by-spec."negotiator"."0.5.3" =
+    self.by-version."negotiator"."0.5.3";
+  by-version."negotiator"."0.5.3" = self.buildNodePackage {
+    name = "negotiator-0.5.3";
+    version = "0.5.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/node-persist/-/node-persist-0.0.2.tgz";
-      name = "node-persist-0.0.2.tgz";
-      sha1 = "a4999e81d5f3f605df267abf314b7f03b8e6823b";
+      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz";
+      name = "negotiator-0.5.3.tgz";
+      sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8";
     };
     deps = {
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
-      "sugar-1.3.9" = self.by-version."sugar"."1.3.9";
     };
     optionalDependencies = {
     };
@@ -2525,21 +4125,27 @@
     os = [ ];
     cpu = [ ];
   };
-  "node-persist" = self.by-version."node-persist"."0.0.2";
-  by-spec."node-schedule"."^0.1.13" =
-    self.by-version."node-schedule"."0.1.16";
-  by-version."node-schedule"."0.1.16" = self.buildNodePackage {
-    name = "node-schedule-0.1.16";
-    version = "0.1.16";
-    bin = false;
+  by-spec."node-pre-gyp"."~0.6.7" =
+    self.by-version."node-pre-gyp"."0.6.7";
+  by-version."node-pre-gyp"."0.6.7" = self.buildNodePackage {
+    name = "node-pre-gyp-0.6.7";
+    version = "0.6.7";
+    bin = true;
     src = fetchurl {
-      url = "http://registry.npmjs.org/node-schedule/-/node-schedule-0.1.16.tgz";
-      name = "node-schedule-0.1.16.tgz";
-      sha1 = "1bbc74bd03141b9bb8c1135978d3b63995ddbf94";
+      url = "http://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.7.tgz";
+      name = "node-pre-gyp-0.6.7.tgz";
+      sha1 = "4c3ee4ac2934b0b27fead6bc76391c0dccf38ea8";
     };
     deps = {
-      "cron-parser-0.3.6" = self.by-version."cron-parser"."0.3.6";
-      "long-timeout-0.0.2" = self.by-version."long-timeout"."0.0.2";
+      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
+      "npmlog-1.2.0" = self.by-version."npmlog"."1.2.0";
+      "request-2.55.0" = self.by-version."request"."2.55.0";
+      "semver-4.3.4" = self.by-version."semver"."4.3.4";
+      "tar-2.1.1" = self.by-version."tar"."2.1.1";
+      "tar-pack-2.0.0" = self.by-version."tar-pack"."2.0.0";
+      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
+      "rc-1.0.1" = self.by-version."rc"."1.0.1";
+      "rimraf-2.3.3" = self.by-version."rimraf"."2.3.3";
     };
     optionalDependencies = {
     };
@@ -2547,17 +4153,16 @@
     os = [ ];
     cpu = [ ];
   };
-  "node-schedule" = self.by-version."node-schedule"."0.1.16";
-  by-spec."node-statsd"."^0.1.0" =
-    self.by-version."node-statsd"."0.1.1";
-  by-version."node-statsd"."0.1.1" = self.buildNodePackage {
-    name = "node-statsd-0.1.1";
-    version = "0.1.1";
-    bin = false;
+  by-spec."node-uuid"."^1.4.1" =
+    self.by-version."node-uuid"."1.4.3";
+  by-version."node-uuid"."1.4.3" = self.buildNodePackage {
+    name = "node-uuid-1.4.3";
+    version = "1.4.3";
+    bin = true;
     src = fetchurl {
-      url = "http://registry.npmjs.org/node-statsd/-/node-statsd-0.1.1.tgz";
-      name = "node-statsd-0.1.1.tgz";
-      sha1 = "27a59348763d0af7a037ac2a031fef3f051013d3";
+      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz";
+      name = "node-uuid-1.4.3.tgz";
+      sha1 = "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9";
     };
     deps = {
     };
@@ -2567,19 +4172,22 @@
     os = [ ];
     cpu = [ ];
   };
-  "node-statsd" = self.by-version."node-statsd"."0.1.1";
+  "node-uuid" = self.by-version."node-uuid"."1.4.3";
   by-spec."node-uuid"."~1.4.0" =
     self.by-version."node-uuid"."1.4.3";
-  by-version."node-uuid"."1.4.3" = self.buildNodePackage {
-    name = "node-uuid-1.4.3";
-    version = "1.4.3";
+  by-spec."nopt"."3.x" =
+    self.by-version."nopt"."3.0.1";
+  by-version."nopt"."3.0.1" = self.buildNodePackage {
+    name = "nopt-3.0.1";
+    version = "3.0.1";
     bin = true;
     src = fetchurl {
-      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz";
-      name = "node-uuid-1.4.3.tgz";
-      sha1 = "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9";
+      url = "http://registry.npmjs.org/nopt/-/nopt-3.0.1.tgz";
+      name = "nopt-3.0.1.tgz";
+      sha1 = "bce5c42446a3291f47622a370abbf158fbbacbfd";
     };
     deps = {
+      "abbrev-1.0.5" = self.by-version."abbrev"."1.0.5";
     };
     optionalDependencies = {
     };
@@ -2587,18 +4195,23 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."oauth-sign"."~0.2.0" =
-    self.by-version."oauth-sign"."0.2.0";
-  by-version."oauth-sign"."0.2.0" = self.buildNodePackage {
-    name = "oauth-sign-0.2.0";
-    version = "0.2.0";
+  by-spec."nopt"."~3.0.1" =
+    self.by-version."nopt"."3.0.1";
+  by-spec."npmlog"."~1.2.0" =
+    self.by-version."npmlog"."1.2.0";
+  by-version."npmlog"."1.2.0" = self.buildNodePackage {
+    name = "npmlog-1.2.0";
+    version = "1.2.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz";
-      name = "oauth-sign-0.2.0.tgz";
-      sha1 = "a0e6a1715daed062f322b622b7fe5afd1035b6e2";
+      url = "http://registry.npmjs.org/npmlog/-/npmlog-1.2.0.tgz";
+      name = "npmlog-1.2.0.tgz";
+      sha1 = "b512f18ae8696a0192ada78ba00c06dbbd91bafb";
     };
     deps = {
+      "ansi-0.3.0" = self.by-version."ansi"."0.3.0";
+      "are-we-there-yet-1.0.4" = self.by-version."are-we-there-yet"."1.0.4";
+      "gauge-1.2.0" = self.by-version."gauge"."1.2.0";
     };
     optionalDependencies = {
     };
@@ -2606,16 +4219,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."oauth-sign"."~0.4.0" =
-    self.by-version."oauth-sign"."0.4.0";
-  by-version."oauth-sign"."0.4.0" = self.buildNodePackage {
-    name = "oauth-sign-0.4.0";
-    version = "0.4.0";
+  by-spec."oauth-sign"."~0.3.0" =
+    self.by-version."oauth-sign"."0.3.0";
+  by-version."oauth-sign"."0.3.0" = self.buildNodePackage {
+    name = "oauth-sign-0.3.0";
+    version = "0.3.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz";
-      name = "oauth-sign-0.4.0.tgz";
-      sha1 = "f22956f31ea7151a821e5f2fb32c113cad8b9f69";
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+      name = "oauth-sign-0.3.0.tgz";
+      sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
     };
     deps = {
     };
@@ -2645,15 +4258,15 @@
     cpu = [ ];
   };
   by-spec."on-finished"."~2.2.0" =
-    self.by-version."on-finished"."2.2.0";
-  by-version."on-finished"."2.2.0" = self.buildNodePackage {
-    name = "on-finished-2.2.0";
-    version = "2.2.0";
+    self.by-version."on-finished"."2.2.1";
+  by-version."on-finished"."2.2.1" = self.buildNodePackage {
+    name = "on-finished-2.2.1";
+    version = "2.2.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/on-finished/-/on-finished-2.2.0.tgz";
-      name = "on-finished-2.2.0.tgz";
-      sha1 = "e6ba6a09a3482d6b7969bc3da92c86f0a967605e";
+      url = "http://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz";
+      name = "on-finished-2.2.1.tgz";
+      sha1 = "5c85c1cc36299f78029653f667f27b6b99ebc029";
     };
     deps = {
       "ee-first-1.1.0" = self.by-version."ee-first"."1.1.0";
@@ -2664,6 +4277,8 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."on-finished"."~2.2.1" =
+    self.by-version."on-finished"."2.2.1";
   by-spec."on-headers"."~1.0.0" =
     self.by-version."on-headers"."1.0.0";
   by-version."on-headers"."1.0.0" = self.buildNodePackage {
@@ -2683,18 +4298,19 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."options".">=0.0.5" =
-    self.by-version."options"."0.0.6";
-  by-version."options"."0.0.6" = self.buildNodePackage {
-    name = "options-0.0.6";
-    version = "0.0.6";
+  by-spec."once"."^1.3.0" =
+    self.by-version."once"."1.3.2";
+  by-version."once"."1.3.2" = self.buildNodePackage {
+    name = "once-1.3.2";
+    version = "1.3.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz";
-      name = "options-0.0.6.tgz";
-      sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
+      url = "http://registry.npmjs.org/once/-/once-1.3.2.tgz";
+      name = "once-1.3.2.tgz";
+      sha1 = "d8feeca93b039ec1dcdee7741c92bdac5e28081b";
     };
     deps = {
+      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
     };
     optionalDependencies = {
     };
@@ -2702,16 +4318,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."parseurl"."~1.3.0" =
-    self.by-version."parseurl"."1.3.0";
-  by-version."parseurl"."1.3.0" = self.buildNodePackage {
-    name = "parseurl-1.3.0";
-    version = "1.3.0";
+  by-spec."once"."~1.1.1" =
+    self.by-version."once"."1.1.1";
+  by-version."once"."1.1.1" = self.buildNodePackage {
+    name = "once-1.1.1";
+    version = "1.1.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
-      name = "parseurl-1.3.0.tgz";
-      sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
+      url = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
+      name = "once-1.1.1.tgz";
+      sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
     };
     deps = {
     };
@@ -2721,18 +4337,20 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."pause"."0.0.1" =
-    self.by-version."pause"."0.0.1";
-  by-version."pause"."0.0.1" = self.buildNodePackage {
-    name = "pause-0.0.1";
-    version = "0.0.1";
+  by-spec."optimist"."0.6.0" =
+    self.by-version."optimist"."0.6.0";
+  by-version."optimist"."0.6.0" = self.buildNodePackage {
+    name = "optimist-0.6.0";
+    version = "0.6.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
-      name = "pause-0.0.1.tgz";
-      sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+      url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
+      name = "optimist-0.6.0.tgz";
+      sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
     };
     deps = {
+      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
     };
     optionalDependencies = {
     };
@@ -2740,18 +4358,19 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."pkginfo"."0.3.x" =
-    self.by-version."pkginfo"."0.3.0";
-  by-version."pkginfo"."0.3.0" = self.buildNodePackage {
-    name = "pkginfo-0.3.0";
-    version = "0.3.0";
+  by-spec."optimist"."~0.3" =
+    self.by-version."optimist"."0.3.7";
+  by-version."optimist"."0.3.7" = self.buildNodePackage {
+    name = "optimist-0.3.7";
+    version = "0.3.7";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
-      name = "pkginfo-0.3.0.tgz";
-      sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+      url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
+      name = "optimist-0.3.7.tgz";
+      sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
     };
     deps = {
+      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
     };
     optionalDependencies = {
     };
@@ -2759,19 +4378,20 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."posix"."^2.0.0" =
-    self.by-version."posix"."2.0.0";
-  by-version."posix"."2.0.0" = self.buildNodePackage {
-    name = "posix-2.0.0";
-    version = "2.0.0";
+  by-spec."optimist"."~0.3.5" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."options".">=0.0.5" =
+    self.by-version."options"."0.0.6";
+  by-version."options"."0.0.6" = self.buildNodePackage {
+    name = "options-0.0.6";
+    version = "0.0.6";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/posix/-/posix-2.0.0.tgz";
-      name = "posix-2.0.0.tgz";
-      sha1 = "90fd0ec73968d805c890b61ae6cc95ae5803a87d";
+      url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz";
+      name = "options-0.0.6.tgz";
+      sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
     };
     deps = {
-      "nan-1.6.2" = self.by-version."nan"."1.6.2";
     };
     optionalDependencies = {
     };
@@ -2779,21 +4399,18 @@
     os = [ ];
     cpu = [ ];
   };
-  "posix" = self.by-version."posix"."2.0.0";
-  by-spec."proxy-addr"."~1.0.7" =
-    self.by-version."proxy-addr"."1.0.7";
-  by-version."proxy-addr"."1.0.7" = self.buildNodePackage {
-    name = "proxy-addr-1.0.7";
-    version = "1.0.7";
+  by-spec."parseurl"."~1.3.0" =
+    self.by-version."parseurl"."1.3.0";
+  by-version."parseurl"."1.3.0" = self.buildNodePackage {
+    name = "parseurl-1.3.0";
+    version = "1.3.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.7.tgz";
-      name = "proxy-addr-1.0.7.tgz";
-      sha1 = "6e2655aa9c56b014f09734a7e6d558cc77751939";
+      url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
+      name = "parseurl-1.3.0.tgz";
+      sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
     };
     deps = {
-      "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
-      "ipaddr.js-0.1.9" = self.by-version."ipaddr.js"."0.1.9";
     };
     optionalDependencies = {
     };
@@ -2801,16 +4418,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."punycode".">=0.2.0" =
-    self.by-version."punycode"."1.3.2";
-  by-version."punycode"."1.3.2" = self.buildNodePackage {
-    name = "punycode-1.3.2";
-    version = "1.3.2";
+  by-spec."path-to-regexp"."0.1.3" =
+    self.by-version."path-to-regexp"."0.1.3";
+  by-version."path-to-regexp"."0.1.3" = self.buildNodePackage {
+    name = "path-to-regexp-0.1.3";
+    version = "0.1.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
-      name = "punycode-1.3.2.tgz";
-      sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
+      name = "path-to-regexp-0.1.3.tgz";
+      sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
     };
     deps = {
     };
@@ -2820,16 +4437,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."q"."~1.0.0" =
-    self.by-version."q"."1.0.1";
-  by-version."q"."1.0.1" = self.buildNodePackage {
-    name = "q-1.0.1";
-    version = "1.0.1";
+  by-spec."pkginfo"."0.3.x" =
+    self.by-version."pkginfo"."0.3.0";
+  by-version."pkginfo"."0.3.0" = self.buildNodePackage {
+    name = "pkginfo-0.3.0";
+    version = "0.3.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/q/-/q-1.0.1.tgz";
-      name = "q-1.0.1.tgz";
-      sha1 = "11872aeedee89268110b10a718448ffb10112a14";
+      url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
+      name = "pkginfo-0.3.0.tgz";
+      sha1 = "726411401039fe9b009eea86614295d5f3a54276";
     };
     deps = {
     };
@@ -2839,7 +4456,27 @@
     os = [ ];
     cpu = [ ];
   };
-  "q" = self.by-version."q"."1.0.1";
+  by-spec."proxy-addr"."~1.0.7" =
+    self.by-version."proxy-addr"."1.0.8";
+  by-version."proxy-addr"."1.0.8" = self.buildNodePackage {
+    name = "proxy-addr-1.0.8";
+    version = "1.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.8.tgz";
+      name = "proxy-addr-1.0.8.tgz";
+      sha1 = "db54ec878bcc1053d57646609219b3715678bafe";
+    };
+    deps = {
+      "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
+      "ipaddr.js-1.0.1" = self.by-version."ipaddr.js"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."qs"."0.6.6" =
     self.by-version."qs"."0.6.6";
   by-version."qs"."0.6.6" = self.buildNodePackage {
@@ -2878,35 +4515,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."qs"."~0.5.4" =
-    self.by-version."qs"."0.5.6";
-  by-version."qs"."0.5.6" = self.buildNodePackage {
-    name = "qs-0.5.6";
-    version = "0.5.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
-      name = "qs-0.5.6.tgz";
-      sha1 = "31b1ad058567651c526921506b9a8793911a0384";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."~1.2.0" =
-    self.by-version."qs"."1.2.2";
-  by-version."qs"."1.2.2" = self.buildNodePackage {
-    name = "qs-1.2.2";
-    version = "1.2.2";
+  by-spec."qs"."2.4.2" =
+    self.by-version."qs"."2.4.2";
+  by-version."qs"."2.4.2" = self.buildNodePackage {
+    name = "qs-2.4.2";
+    version = "2.4.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/qs/-/qs-1.2.2.tgz";
-      name = "qs-1.2.2.tgz";
-      sha1 = "19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88";
+      url = "http://registry.npmjs.org/qs/-/qs-2.4.2.tgz";
+      name = "qs-2.4.2.tgz";
+      sha1 = "f7ce788e5777df0b5010da7f7c4e73ba32470f5a";
     };
     deps = {
     };
@@ -2916,16 +4534,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."qs"."~2.3.1" =
-    self.by-version."qs"."2.3.3";
-  by-version."qs"."2.3.3" = self.buildNodePackage {
-    name = "qs-2.3.3";
-    version = "2.3.3";
+  by-spec."qs"."~1.0.0" =
+    self.by-version."qs"."1.0.2";
+  by-version."qs"."1.0.2" = self.buildNodePackage {
+    name = "qs-1.0.2";
+    version = "1.0.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/qs/-/qs-2.3.3.tgz";
-      name = "qs-2.3.3.tgz";
-      sha1 = "e9e85adbe75da0bbe4c8e0476a086290f863b404";
+      url = "http://registry.npmjs.org/qs/-/qs-1.0.2.tgz";
+      name = "qs-1.0.2.tgz";
+      sha1 = "50a93e2b5af6691c31bcea5dae78ee6ea1903768";
     };
     deps = {
     };
@@ -2935,6 +4553,8 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."qs"."~2.4.0" =
+    self.by-version."qs"."2.4.2";
   by-spec."range-parser"."~1.0.2" =
     self.by-version."range-parser"."1.0.2";
   by-version."range-parser"."1.0.2" = self.buildNodePackage {
@@ -2954,20 +4574,20 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."raw-body"."1.3.3" =
-    self.by-version."raw-body"."1.3.3";
-  by-version."raw-body"."1.3.3" = self.buildNodePackage {
-    name = "raw-body-1.3.3";
-    version = "1.3.3";
+  by-spec."raw-body"."~2.0.1" =
+    self.by-version."raw-body"."2.0.1";
+  by-version."raw-body"."2.0.1" = self.buildNodePackage {
+    name = "raw-body-2.0.1";
+    version = "2.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/raw-body/-/raw-body-1.3.3.tgz";
-      name = "raw-body-1.3.3.tgz";
-      sha1 = "8841af3f64ad50a351dc77f229118b40c28fa58c";
+      url = "http://registry.npmjs.org/raw-body/-/raw-body-2.0.1.tgz";
+      name = "raw-body-2.0.1.tgz";
+      sha1 = "2b70a3ffd1681c0521bae73454e0ccbc785d378e";
     };
     deps = {
-      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
-      "iconv-lite-0.4.7" = self.by-version."iconv-lite"."0.4.7";
+      "bytes-2.0.1" = self.by-version."bytes"."2.0.1";
+      "iconv-lite-0.4.8" = self.by-version."iconv-lite"."0.4.8";
     };
     optionalDependencies = {
     };
@@ -2975,22 +4595,22 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."readable-stream"."1.0.27-1" =
-    self.by-version."readable-stream"."1.0.27-1";
-  by-version."readable-stream"."1.0.27-1" = self.buildNodePackage {
-    name = "readable-stream-1.0.27-1";
-    version = "1.0.27-1";
-    bin = false;
+  by-spec."rc"."~1.0.1" =
+    self.by-version."rc"."1.0.1";
+  by-version."rc"."1.0.1" = self.buildNodePackage {
+    name = "rc-1.0.1";
+    version = "1.0.1";
+    bin = true;
     src = fetchurl {
-      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
-      name = "readable-stream-1.0.27-1.tgz";
-      sha1 = "6b67983c20357cefd07f0165001a16d710d91078";
+      url = "http://registry.npmjs.org/rc/-/rc-1.0.1.tgz";
+      name = "rc-1.0.1.tgz";
+      sha1 = "f919c25e804cb0aa60f6fd92d929fc86b45013e8";
     };
     deps = {
-      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
+      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
+      "strip-json-comments-0.1.3" = self.by-version."strip-json-comments"."0.1.3";
+      "ini-1.3.3" = self.by-version."ini"."1.3.3";
     };
     optionalDependencies = {
     };
@@ -2998,16 +4618,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."readable-stream"."~1.0.26" =
-    self.by-version."readable-stream"."1.0.33";
-  by-version."readable-stream"."1.0.33" = self.buildNodePackage {
-    name = "readable-stream-1.0.33";
-    version = "1.0.33";
+  by-spec."readable-stream"."1.0.27-1" =
+    self.by-version."readable-stream"."1.0.27-1";
+  by-version."readable-stream"."1.0.27-1" = self.buildNodePackage {
+    name = "readable-stream-1.0.27-1";
+    version = "1.0.27-1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz";
-      name = "readable-stream-1.0.33.tgz";
-      sha1 = "3a360dd66c1b1d7fd4705389860eda1d0f61126c";
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
+      name = "readable-stream-1.0.27-1.tgz";
+      sha1 = "6b67983c20357cefd07f0165001a16d710d91078";
     };
     deps = {
       "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
@@ -3021,7 +4641,7 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."readable-stream"."~1.1.8" =
+  by-spec."readable-stream"."^1.1.12" =
     self.by-version."readable-stream"."1.1.13";
   by-version."readable-stream"."1.1.13" = self.buildNodePackage {
     name = "readable-stream-1.1.13";
@@ -3044,20 +4664,24 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."readable-stream"."~1.1.9" =
+  by-spec."readable-stream"."^1.1.13" =
     self.by-version."readable-stream"."1.1.13";
-  by-spec."redis"."^0.10.1" =
-    self.by-version."redis"."0.10.3";
-  by-version."redis"."0.10.3" = self.buildNodePackage {
-    name = "redis-0.10.3";
-    version = "0.10.3";
+  by-spec."readable-stream"."~1.0.2" =
+    self.by-version."readable-stream"."1.0.33";
+  by-version."readable-stream"."1.0.33" = self.buildNodePackage {
+    name = "readable-stream-1.0.33";
+    version = "1.0.33";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/redis/-/redis-0.10.3.tgz";
-      name = "redis-0.10.3.tgz";
-      sha1 = "8927fe2110ee39617bcf3fd37b89d8e123911bb6";
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz";
+      name = "readable-stream-1.0.33.tgz";
+      sha1 = "3a360dd66c1b1d7fd4705389860eda1d0f61126c";
     };
     deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
     };
     optionalDependencies = {
     };
@@ -3065,7 +4689,8 @@
     os = [ ];
     cpu = [ ];
   };
-  "redis" = self.by-version."redis"."0.10.3";
+  by-spec."readable-stream"."~1.0.26" =
+    self.by-version."readable-stream"."1.0.33";
   by-spec."reduce-component"."1.0.1" =
     self.by-version."reduce-component"."1.0.1";
   by-version."reduce-component"."1.0.1" = self.buildNodePackage {
@@ -3085,58 +4710,60 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."request"."2.16.x" =
-    self.by-version."request"."2.16.6";
-  by-version."request"."2.16.6" = self.buildNodePackage {
-    name = "request-2.16.6";
-    version = "2.16.6";
+  by-spec."request"."2.40.0" =
+    self.by-version."request"."2.40.0";
+  by-version."request"."2.40.0" = self.buildNodePackage {
+    name = "request-2.40.0";
+    version = "2.40.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
-      name = "request-2.16.6.tgz";
-      sha1 = "872fe445ae72de266b37879d6ad7dc948fa01cad";
+      url = "http://registry.npmjs.org/request/-/request-2.40.0.tgz";
+      name = "request-2.40.0.tgz";
+      sha1 = "4dd670f696f1e6e842e66b4b5e839301ab9beb67";
     };
     deps = {
-      "form-data-0.0.10" = self.by-version."form-data"."0.0.10";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "hawk-0.10.2" = self.by-version."hawk"."0.10.2";
+      "qs-1.0.2" = self.by-version."qs"."1.0.2";
+      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
       "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
-      "cookie-jar-0.2.0" = self.by-version."cookie-jar"."0.2.0";
-      "aws-sign-0.2.0" = self.by-version."aws-sign"."0.2.0";
-      "oauth-sign-0.2.0" = self.by-version."oauth-sign"."0.2.0";
-      "forever-agent-0.2.0" = self.by-version."forever-agent"."0.2.0";
-      "tunnel-agent-0.2.0" = self.by-version."tunnel-agent"."0.2.0";
-      "json-stringify-safe-3.0.0" = self.by-version."json-stringify-safe"."3.0.0";
-      "qs-0.5.6" = self.by-version."qs"."0.5.6";
     };
     optionalDependencies = {
+      "tough-cookie-1.1.0" = self.by-version."tough-cookie"."1.1.0";
+      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
     };
     peerDependencies = [];
     os = [ ];
     cpu = [ ];
   };
-  by-spec."request"."^2.34.0" =
-    self.by-version."request"."2.53.0";
-  by-version."request"."2.53.0" = self.buildNodePackage {
-    name = "request-2.53.0";
-    version = "2.53.0";
+  by-spec."request"."2.x" =
+    self.by-version."request"."2.55.0";
+  by-version."request"."2.55.0" = self.buildNodePackage {
+    name = "request-2.55.0";
+    version = "2.55.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/request/-/request-2.53.0.tgz";
-      name = "request-2.53.0.tgz";
-      sha1 = "180a3ae92b7b639802e4f9545dd8fcdeb71d760c";
+      url = "http://registry.npmjs.org/request/-/request-2.55.0.tgz";
+      name = "request-2.55.0.tgz";
+      sha1 = "d75c1cdf679d76bb100f9bffe1fe551b5c24e93d";
     };
     deps = {
       "bl-0.9.4" = self.by-version."bl"."0.9.4";
       "caseless-0.9.0" = self.by-version."caseless"."0.9.0";
-      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
       "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
       "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
-      "mime-types-2.0.10" = self.by-version."mime-types"."2.0.10";
+      "mime-types-2.0.11" = self.by-version."mime-types"."2.0.11";
       "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
-      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "qs-2.4.2" = self.by-version."qs"."2.4.2";
       "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
-      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
+      "tough-cookie-1.1.0" = self.by-version."tough-cookie"."1.1.0";
       "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
       "oauth-sign-0.6.0" = self.by-version."oauth-sign"."0.6.0";
       "hawk-2.3.1" = self.by-version."hawk"."2.3.1";
@@ -3144,6 +4771,7 @@
       "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
       "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
       "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
+      "har-validator-1.7.0" = self.by-version."har-validator"."1.7.0";
     };
     optionalDependencies = {
     };
@@ -3151,57 +4779,38 @@
     os = [ ];
     cpu = [ ];
   };
-  "request" = self.by-version."request"."2.53.0";
-  by-spec."request"."^2.44.0" =
-    self.by-version."request"."2.53.0";
-  by-spec."request"."~2.42.0" =
-    self.by-version."request"."2.42.0";
-  by-version."request"."2.42.0" = self.buildNodePackage {
-    name = "request-2.42.0";
-    version = "2.42.0";
-    bin = false;
+  by-spec."require-directory"."^1.2.0" =
+    self.by-version."require-directory"."1.2.0";
+  by-version."require-directory"."1.2.0" = self.buildNodePackage {
+    name = "require-directory-1.2.0";
+    version = "1.2.0";
+    bin = true;
     src = fetchurl {
-      url = "http://registry.npmjs.org/request/-/request-2.42.0.tgz";
-      name = "request-2.42.0.tgz";
-      sha1 = "572bd0148938564040ac7ab148b96423a063304a";
+      url = "http://registry.npmjs.org/require-directory/-/require-directory-1.2.0.tgz";
+      name = "require-directory-1.2.0.tgz";
+      sha1 = "35ff45a82ab73ca6ca35c746c0a17014371e1afd";
     };
     deps = {
-      "bl-0.9.4" = self.by-version."bl"."0.9.4";
-      "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
-      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
-      "qs-1.2.2" = self.by-version."qs"."1.2.2";
-      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
-      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
-      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
-      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
     };
     optionalDependencies = {
-      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
-      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
-      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
-      "oauth-sign-0.4.0" = self.by-version."oauth-sign"."0.4.0";
-      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
     };
     peerDependencies = [];
     os = [ ];
     cpu = [ ];
   };
-  by-spec."response-time"."~2.3.0" =
-    self.by-version."response-time"."2.3.0";
-  by-version."response-time"."2.3.0" = self.buildNodePackage {
-    name = "response-time-2.3.0";
-    version = "2.3.0";
+  "require-directory" = self.by-version."require-directory"."1.2.0";
+  by-spec."resolve"."0.7.x" =
+    self.by-version."resolve"."0.7.4";
+  by-version."resolve"."0.7.4" = self.buildNodePackage {
+    name = "resolve-0.7.4";
+    version = "0.7.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/response-time/-/response-time-2.3.0.tgz";
-      name = "response-time-2.3.0.tgz";
-      sha1 = "27cf2194fa373ef02c04781287416a3138060b68";
+      url = "http://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz";
+      name = "resolve-0.7.4.tgz";
+      sha1 = "395a9ef9e873fbfe12bd14408bd91bb936003d69";
     };
     deps = {
-      "depd-1.0.0" = self.by-version."depd"."1.0.0";
-      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
     };
     optionalDependencies = {
     };
@@ -3209,26 +4818,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."ripple-lib"."0.12.0" =
-    self.by-version."ripple-lib"."0.12.0";
-  by-version."ripple-lib"."0.12.0" = self.buildNodePackage {
-    name = "ripple-lib-0.12.0";
-    version = "0.12.0";
+  by-spec."resolve"."~1.0.0" =
+    self.by-version."resolve"."1.0.0";
+  by-version."resolve"."1.0.0" = self.buildNodePackage {
+    name = "resolve-1.0.0";
+    version = "1.0.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ripple-lib/-/ripple-lib-0.12.0.tgz";
-      name = "ripple-lib-0.12.0.tgz";
-      sha1 = "8bbefa8250bf09e148c4997c27bbca70c7030b55";
+      url = "http://registry.npmjs.org/resolve/-/resolve-1.0.0.tgz";
+      name = "resolve-1.0.0.tgz";
+      sha1 = "2a6e3b314dcd57c6519e8e2282af8687e8de61c6";
     };
     deps = {
-      "async-0.9.0" = self.by-version."async"."0.9.0";
-      "bignumber.js-2.0.3" = self.by-version."bignumber.js"."2.0.3";
-      "extend-1.2.1" = self.by-version."extend"."1.2.1";
-      "lodash-3.5.0" = self.by-version."lodash"."3.5.0";
-      "lru-cache-2.5.0" = self.by-version."lru-cache"."2.5.0";
-      "ripple-wallet-generator-1.0.1" = self.by-version."ripple-wallet-generator"."1.0.1";
-      "ws-0.7.1" = self.by-version."ws"."0.7.1";
-      "superagent-0.18.2" = self.by-version."superagent"."0.18.2";
     };
     optionalDependencies = {
     };
@@ -3236,19 +4837,19 @@
     os = [ ];
     cpu = [ ];
   };
-  "ripple-lib" = self.by-version."ripple-lib"."0.12.0";
-  by-spec."ripple-wallet-generator"."1.0.1" =
-    self.by-version."ripple-wallet-generator"."1.0.1";
-  by-version."ripple-wallet-generator"."1.0.1" = self.buildNodePackage {
-    name = "ripple-wallet-generator-1.0.1";
-    version = "1.0.1";
-    bin = false;
+  by-spec."rimraf"."2" =
+    self.by-version."rimraf"."2.3.3";
+  by-version."rimraf"."2.3.3" = self.buildNodePackage {
+    name = "rimraf-2.3.3";
+    version = "2.3.3";
+    bin = true;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ripple-wallet-generator/-/ripple-wallet-generator-1.0.1.tgz";
-      name = "ripple-wallet-generator-1.0.1.tgz";
-      sha1 = "fd9311c0c620c1bd51808a76a3f2a946293d459a";
+      url = "http://registry.npmjs.org/rimraf/-/rimraf-2.3.3.tgz";
+      name = "rimraf-2.3.3.tgz";
+      sha1 = "d0073d8b3010611e8f3ad377b08e9a3c18b98f06";
     };
     deps = {
+      "glob-4.5.3" = self.by-version."glob"."4.5.3";
     };
     optionalDependencies = {
     };
@@ -3256,18 +4857,46 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."rndm"."~1.1.0" =
-    self.by-version."rndm"."1.1.0";
-  by-version."rndm"."1.1.0" = self.buildNodePackage {
-    name = "rndm-1.1.0";
-    version = "1.1.0";
+  by-spec."rimraf"."~2.2.0" =
+    self.by-version."rimraf"."2.2.8";
+  by-version."rimraf"."2.2.8" = self.buildNodePackage {
+    name = "rimraf-2.2.8";
+    version = "2.2.8";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
+      name = "rimraf-2.2.8.tgz";
+      sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."rimraf"."~2.3.2" =
+    self.by-version."rimraf"."2.3.3";
+  by-spec."ripple-lib"."^0.12.3" =
+    self.by-version."ripple-lib"."0.12.4";
+  by-version."ripple-lib"."0.12.4" = self.buildNodePackage {
+    name = "ripple-lib-0.12.4";
+    version = "0.12.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/rndm/-/rndm-1.1.0.tgz";
-      name = "rndm-1.1.0.tgz";
-      sha1 = "01d1a8f1fb9b471181925b627b9049bf33074574";
+      url = "http://registry.npmjs.org/ripple-lib/-/ripple-lib-0.12.4.tgz";
+      name = "ripple-lib-0.12.4.tgz";
+      sha1 = "97675f9ae92bda1397deaaad70a76955d14f91fd";
     };
     deps = {
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "bignumber.js-2.0.7" = self.by-version."bignumber.js"."2.0.7";
+      "extend-1.2.1" = self.by-version."extend"."1.2.1";
+      "lodash-3.8.0" = self.by-version."lodash"."3.8.0";
+      "lru-cache-2.5.2" = self.by-version."lru-cache"."2.5.2";
+      "ripple-wallet-generator-1.0.3" = self.by-version."ripple-wallet-generator"."1.0.3";
+      "ws-0.7.1" = self.by-version."ws"."0.7.1";
     };
     optionalDependencies = {
     };
@@ -3275,18 +4904,21 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."scmp"."1.0.0" =
-    self.by-version."scmp"."1.0.0";
-  by-version."scmp"."1.0.0" = self.buildNodePackage {
-    name = "scmp-1.0.0";
-    version = "1.0.0";
+  "ripple-lib" = self.by-version."ripple-lib"."0.12.4";
+  by-spec."ripple-lib-transactionparser"."^0.3.2" =
+    self.by-version."ripple-lib-transactionparser"."0.3.2";
+  by-version."ripple-lib-transactionparser"."0.3.2" = self.buildNodePackage {
+    name = "ripple-lib-transactionparser-0.3.2";
+    version = "0.3.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/scmp/-/scmp-1.0.0.tgz";
-      name = "scmp-1.0.0.tgz";
-      sha1 = "a0b272c3fc7292f77115646f00618b0262514e04";
+      url = "http://registry.npmjs.org/ripple-lib-transactionparser/-/ripple-lib-transactionparser-0.3.2.tgz";
+      name = "ripple-lib-transactionparser-0.3.2.tgz";
+      sha1 = "cf85e44f9f623798b68f664244e026956092f874";
     };
     deps = {
+      "bignumber.js-1.4.1" = self.by-version."bignumber.js"."1.4.1";
+      "lodash-3.8.0" = self.by-version."lodash"."3.8.0";
     };
     optionalDependencies = {
     };
@@ -3294,28 +4926,19 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."send"."0.12.2" =
-    self.by-version."send"."0.12.2";
-  by-version."send"."0.12.2" = self.buildNodePackage {
-    name = "send-0.12.2";
-    version = "0.12.2";
+  "ripple-lib-transactionparser" = self.by-version."ripple-lib-transactionparser"."0.3.2";
+  by-spec."ripple-wallet-generator"."^1.0.3" =
+    self.by-version."ripple-wallet-generator"."1.0.3";
+  by-version."ripple-wallet-generator"."1.0.3" = self.buildNodePackage {
+    name = "ripple-wallet-generator-1.0.3";
+    version = "1.0.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/send/-/send-0.12.2.tgz";
-      name = "send-0.12.2.tgz";
-      sha1 = "ba6785e47ab41aa0358b9da401ab22ff0f58eab6";
+      url = "http://registry.npmjs.org/ripple-wallet-generator/-/ripple-wallet-generator-1.0.3.tgz";
+      name = "ripple-wallet-generator-1.0.3.tgz";
+      sha1 = "2a1f0f6e2a39998fcf8fa89a55cb5c999cdb86ca";
     };
     deps = {
-      "debug-2.1.3" = self.by-version."debug"."2.1.3";
-      "depd-1.0.0" = self.by-version."depd"."1.0.0";
-      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "etag-1.5.1" = self.by-version."etag"."1.5.1";
-      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "ms-0.7.0" = self.by-version."ms"."0.7.0";
-      "on-finished-2.2.0" = self.by-version."on-finished"."2.2.0";
-      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
     };
     optionalDependencies = {
     };
@@ -3323,22 +4946,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."serve-favicon"."~2.2.0" =
-    self.by-version."serve-favicon"."2.2.0";
-  by-version."serve-favicon"."2.2.0" = self.buildNodePackage {
-    name = "serve-favicon-2.2.0";
-    version = "2.2.0";
+  by-spec."samsam"."~1.1" =
+    self.by-version."samsam"."1.1.2";
+  by-version."samsam"."1.1.2" = self.buildNodePackage {
+    name = "samsam-1.1.2";
+    version = "1.1.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/serve-favicon/-/serve-favicon-2.2.0.tgz";
-      name = "serve-favicon-2.2.0.tgz";
-      sha1 = "a0c25ee8a652e1a638a67db46269cd52a8705858";
+      url = "http://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz";
+      name = "samsam-1.1.2.tgz";
+      sha1 = "bec11fdc83a9fda063401210e40176c3024d1567";
     };
     deps = {
-      "etag-1.5.1" = self.by-version."etag"."1.5.1";
-      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
-      "ms-0.7.0" = self.by-version."ms"."0.7.0";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
     };
     optionalDependencies = {
     };
@@ -3346,25 +4965,47 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."serve-index"."~1.6.3" =
-    self.by-version."serve-index"."1.6.3";
-  by-version."serve-index"."1.6.3" = self.buildNodePackage {
-    name = "serve-index-1.6.3";
-    version = "1.6.3";
+  by-spec."semver"."~4.3.2" =
+    self.by-version."semver"."4.3.4";
+  by-version."semver"."4.3.4" = self.buildNodePackage {
+    name = "semver-4.3.4";
+    version = "4.3.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver/-/semver-4.3.4.tgz";
+      name = "semver-4.3.4.tgz";
+      sha1 = "bf43a1aae304de040e12a13f84200ca7aeab7589";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."send"."0.12.2" =
+    self.by-version."send"."0.12.2";
+  by-version."send"."0.12.2" = self.buildNodePackage {
+    name = "send-0.12.2";
+    version = "0.12.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/serve-index/-/serve-index-1.6.3.tgz";
-      name = "serve-index-1.6.3.tgz";
-      sha1 = "639056494ea59470a2c9518c28e7f225a342fd79";
+      url = "http://registry.npmjs.org/send/-/send-0.12.2.tgz";
+      name = "send-0.12.2.tgz";
+      sha1 = "ba6785e47ab41aa0358b9da401ab22ff0f58eab6";
     };
     deps = {
-      "accepts-1.2.5" = self.by-version."accepts"."1.2.5";
-      "batch-0.5.2" = self.by-version."batch"."0.5.2";
       "debug-2.1.3" = self.by-version."debug"."2.1.3";
+      "depd-1.0.1" = self.by-version."depd"."1.0.1";
+      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
       "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-      "mime-types-2.0.10" = self.by-version."mime-types"."2.0.10";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "etag-1.5.1" = self.by-version."etag"."1.5.1";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "ms-0.7.0" = self.by-version."ms"."0.7.0";
+      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
     };
     optionalDependencies = {
     };
@@ -3414,19 +5055,21 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."sntp"."0.1.x" =
-    self.by-version."sntp"."0.1.4";
-  by-version."sntp"."0.1.4" = self.buildNodePackage {
-    name = "sntp-0.1.4";
-    version = "0.1.4";
+  by-spec."sinon".">=1.4.0 <2" =
+    self.by-version."sinon"."1.14.1";
+  by-version."sinon"."1.14.1" = self.buildNodePackage {
+    name = "sinon-1.14.1";
+    version = "1.14.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz";
-      name = "sntp-0.1.4.tgz";
-      sha1 = "5ef481b951a7b29affdf4afd7f26838fc1120f84";
+      url = "http://registry.npmjs.org/sinon/-/sinon-1.14.1.tgz";
+      name = "sinon-1.14.1.tgz";
+      sha1 = "d82797841918734507c94b7a73e3f560904578ad";
     };
     deps = {
-      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
+      "formatio-1.1.1" = self.by-version."formatio"."1.1.1";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+      "lolex-1.1.0" = self.by-version."lolex"."1.1.0";
     };
     optionalDependencies = {
     };
@@ -3434,6 +5077,50 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."sinon"."~1.10.0" =
+    self.by-version."sinon"."1.10.3";
+  by-version."sinon"."1.10.3" = self.buildNodePackage {
+    name = "sinon-1.10.3";
+    version = "1.10.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sinon/-/sinon-1.10.3.tgz";
+      name = "sinon-1.10.3.tgz";
+      sha1 = "c063e0e99d8327dc199113aab52eb83a2e9e3c2c";
+    };
+    deps = {
+      "formatio-1.0.2" = self.by-version."formatio"."1.0.2";
+      "util-0.10.3" = self.by-version."util"."0.10.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "sinon" = self.by-version."sinon"."1.10.3";
+  by-spec."sinon-chai"."^2.5.0" =
+    self.by-version."sinon-chai"."2.7.0";
+  by-version."sinon-chai"."2.7.0" = self.buildNodePackage {
+    name = "sinon-chai-2.7.0";
+    version = "2.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sinon-chai/-/sinon-chai-2.7.0.tgz";
+      name = "sinon-chai-2.7.0.tgz";
+      sha1 = "493df3a3d758933fdd3678d011a4f738d5e72540";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."chai"."2.3.0"
+      self.by-version."sinon"."1.14.1"];
+    os = [ ];
+    cpu = [ ];
+  };
+  "sinon-chai" = self.by-version."sinon-chai"."2.7.0";
   by-spec."sntp"."0.2.x" =
     self.by-version."sntp"."0.2.4";
   by-version."sntp"."0.2.4" = self.buildNodePackage {
@@ -3466,7 +5153,7 @@
       sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
     };
     deps = {
-      "hoek-2.11.1" = self.by-version."hoek"."2.11.1";
+      "hoek-2.13.0" = self.by-version."hoek"."2.13.0";
     };
     optionalDependencies = {
     };
@@ -3474,18 +5161,19 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."stack-trace"."0.0.x" =
-    self.by-version."stack-trace"."0.0.9";
-  by-version."stack-trace"."0.0.9" = self.buildNodePackage {
-    name = "stack-trace-0.0.9";
-    version = "0.0.9";
+  by-spec."source-map"."~0.1.33" =
+    self.by-version."source-map"."0.1.43";
+  by-version."source-map"."0.1.43" = self.buildNodePackage {
+    name = "source-map-0.1.43";
+    version = "0.1.43";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
-      name = "stack-trace-0.0.9.tgz";
-      sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
+      url = "http://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";
+      name = "source-map-0.1.43.tgz";
+      sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
     };
     deps = {
+      "amdefine-0.1.0" = self.by-version."amdefine"."0.1.0";
     };
     optionalDependencies = {
     };
@@ -3493,16 +5181,18 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."statuses"."1" =
-    self.by-version."statuses"."1.2.1";
-  by-version."statuses"."1.2.1" = self.buildNodePackage {
-    name = "statuses-1.2.1";
-    version = "1.2.1";
+  by-spec."source-map"."~0.1.7" =
+    self.by-version."source-map"."0.1.43";
+  by-spec."sprintf-js"."~1.0.2" =
+    self.by-version."sprintf-js"."1.0.2";
+  by-version."sprintf-js"."1.0.2" = self.buildNodePackage {
+    name = "sprintf-js-1.0.2";
+    version = "1.0.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz";
-      name = "statuses-1.2.1.tgz";
-      sha1 = "dded45cc18256d51ed40aec142489d5c61026d28";
+      url = "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.2.tgz";
+      name = "sprintf-js-1.0.2.tgz";
+      sha1 = "11e4d84ff32144e35b0bf3a66f8587f38d8f9978";
     };
     deps = {
     };
@@ -3512,19 +5202,40 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."stream-counter"."~0.2.0" =
-    self.by-version."stream-counter"."0.2.0";
-  by-version."stream-counter"."0.2.0" = self.buildNodePackage {
-    name = "stream-counter-0.2.0";
-    version = "0.2.0";
+  by-spec."sqlite3"."^3.0.2" =
+    self.by-version."sqlite3"."3.0.8";
+  by-version."sqlite3"."3.0.8" = self.buildNodePackage {
+    name = "sqlite3-3.0.8";
+    version = "3.0.8";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz";
-      name = "stream-counter-0.2.0.tgz";
-      sha1 = "ded266556319c8b0e222812b9cf3b26fa7d947de";
+      url = "http://registry.npmjs.org/sqlite3/-/sqlite3-3.0.8.tgz";
+      name = "sqlite3-3.0.8.tgz";
+      sha1 = "662d6507426ba2af0cdaf894a1766c8099c0e435";
+    };
+    deps = {
+      "nan-1.8.4" = self.by-version."nan"."1.8.4";
+      "node-pre-gyp-0.6.7" = self.by-version."node-pre-gyp"."0.6.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "sqlite3" = self.by-version."sqlite3"."3.0.8";
+  by-spec."stack-trace"."0.0.x" =
+    self.by-version."stack-trace"."0.0.9";
+  by-version."stack-trace"."0.0.9" = self.buildNodePackage {
+    name = "stack-trace-0.0.9";
+    version = "0.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
+      name = "stack-trace-0.0.9.tgz";
+      sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
     };
     deps = {
-      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
     };
     optionalDependencies = {
     };
@@ -3570,16 +5281,56 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."sugar"."~1.3.8" =
-    self.by-version."sugar"."1.3.9";
-  by-version."sugar"."1.3.9" = self.buildNodePackage {
-    name = "sugar-1.3.9";
-    version = "1.3.9";
-    bin = false;
+  by-spec."strip-ansi"."^0.3.0" =
+    self.by-version."strip-ansi"."0.3.0";
+  by-version."strip-ansi"."0.3.0" = self.buildNodePackage {
+    name = "strip-ansi-0.3.0";
+    version = "0.3.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz";
+      name = "strip-ansi-0.3.0.tgz";
+      sha1 = "25f48ea22ca79187f3174a4db8759347bb126220";
+    };
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."strip-ansi"."^2.0.1" =
+    self.by-version."strip-ansi"."2.0.1";
+  by-version."strip-ansi"."2.0.1" = self.buildNodePackage {
+    name = "strip-ansi-2.0.1";
+    version = "2.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz";
+      name = "strip-ansi-2.0.1.tgz";
+      sha1 = "df62c1aa94ed2f114e1d0f21fd1d50482b79a60e";
+    };
+    deps = {
+      "ansi-regex-1.1.1" = self.by-version."ansi-regex"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."strip-json-comments"."0.1.x" =
+    self.by-version."strip-json-comments"."0.1.3";
+  by-version."strip-json-comments"."0.1.3" = self.buildNodePackage {
+    name = "strip-json-comments-0.1.3";
+    version = "0.1.3";
+    bin = true;
     src = fetchurl {
-      url = "http://registry.npmjs.org/sugar/-/sugar-1.3.9.tgz";
-      name = "sugar-1.3.9.tgz";
-      sha1 = "f879c6c87721252b51fd0b6520412d98d83cb179";
+      url = "http://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz";
+      name = "strip-json-comments-0.1.3.tgz";
+      sha1 = "164c64e370a8a3cc00c9e01b539e569823f0ee54";
     };
     deps = {
     };
@@ -3589,28 +5340,28 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."superagent"."^0.18.0" =
-    self.by-version."superagent"."0.18.2";
-  by-version."superagent"."0.18.2" = self.buildNodePackage {
-    name = "superagent-0.18.2";
-    version = "0.18.2";
+  by-spec."superagent"."0.18.0" =
+    self.by-version."superagent"."0.18.0";
+  by-version."superagent"."0.18.0" = self.buildNodePackage {
+    name = "superagent-0.18.0";
+    version = "0.18.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/superagent/-/superagent-0.18.2.tgz";
-      name = "superagent-0.18.2.tgz";
-      sha1 = "9afc6276a9475f4bdcd535ac6a0685ebc4b560eb";
+      url = "http://registry.npmjs.org/superagent/-/superagent-0.18.0.tgz";
+      name = "superagent-0.18.0.tgz";
+      sha1 = "9d4375a3ae2c4fbd55fd20d5b12a2470d2fc8f62";
     };
     deps = {
       "qs-0.6.6" = self.by-version."qs"."0.6.6";
       "formidable-1.0.14" = self.by-version."formidable"."1.0.14";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "mime-1.2.5" = self.by-version."mime"."1.2.5";
       "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
-      "methods-1.0.1" = self.by-version."methods"."1.0.1";
-      "cookiejar-2.0.1" = self.by-version."cookiejar"."2.0.1";
-      "debug-1.0.4" = self.by-version."debug"."1.0.4";
+      "methods-0.0.1" = self.by-version."methods"."0.0.1";
+      "cookiejar-1.3.2" = self.by-version."cookiejar"."1.3.2";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
       "reduce-component-1.0.1" = self.by-version."reduce-component"."1.0.1";
       "extend-1.2.1" = self.by-version."extend"."1.2.1";
-      "form-data-0.1.3" = self.by-version."form-data"."0.1.3";
+      "form-data-0.1.2" = self.by-version."form-data"."0.1.2";
       "readable-stream-1.0.27-1" = self.by-version."readable-stream"."1.0.27-1";
     };
     optionalDependencies = {
@@ -3619,19 +5370,20 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."tough-cookie".">=0.12.0" =
-    self.by-version."tough-cookie"."0.12.1";
-  by-version."tough-cookie"."0.12.1" = self.buildNodePackage {
-    name = "tough-cookie-0.12.1";
-    version = "0.12.1";
+  by-spec."supertest"."^0.13.0" =
+    self.by-version."supertest"."0.13.0";
+  by-version."supertest"."0.13.0" = self.buildNodePackage {
+    name = "supertest-0.13.0";
+    version = "0.13.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
-      name = "tough-cookie-0.12.1.tgz";
-      sha1 = "8220c7e21abd5b13d96804254bd5a81ebf2c7d62";
+      url = "http://registry.npmjs.org/supertest/-/supertest-0.13.0.tgz";
+      name = "supertest-0.13.0.tgz";
+      sha1 = "4892bafd9beaa9bbcc95fd5a9f04949aef1ce06f";
     };
     deps = {
-      "punycode-1.3.2" = self.by-version."punycode"."1.3.2";
+      "superagent-0.18.0" = self.by-version."superagent"."0.18.0";
+      "methods-1.0.0" = self.by-version."methods"."1.0.0";
     };
     optionalDependencies = {
     };
@@ -3639,16 +5391,185 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."tunnel-agent"."~0.2.0" =
-    self.by-version."tunnel-agent"."0.2.0";
-  by-version."tunnel-agent"."0.2.0" = self.buildNodePackage {
-    name = "tunnel-agent-0.2.0";
+  "supertest" = self.by-version."supertest"."0.13.0";
+  by-spec."supports-color"."^0.2.0" =
+    self.by-version."supports-color"."0.2.0";
+  by-version."supports-color"."0.2.0" = self.buildNodePackage {
+    name = "supports-color-0.2.0";
     version = "0.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz";
+      name = "supports-color-0.2.0.tgz";
+      sha1 = "d92de2694eb3f67323973d7ae3d8b55b4c22190a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."supports-color"."^1.3.0" =
+    self.by-version."supports-color"."1.3.1";
+  by-version."supports-color"."1.3.1" = self.buildNodePackage {
+    name = "supports-color-1.3.1";
+    version = "1.3.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz";
+      name = "supports-color-1.3.1.tgz";
+      sha1 = "15758df09d8ff3b4acc307539fabe27095e1042d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."supports-color"."~1.2.0" =
+    self.by-version."supports-color"."1.2.1";
+  by-version."supports-color"."1.2.1" = self.buildNodePackage {
+    name = "supports-color-1.2.1";
+    version = "1.2.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/supports-color/-/supports-color-1.2.1.tgz";
+      name = "supports-color-1.2.1.tgz";
+      sha1 = "12ee21507086cd98c1058d9ec0f4ac476b7af3b2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tar"."~0.1.17" =
+    self.by-version."tar"."0.1.20";
+  by-version."tar"."0.1.20" = self.buildNodePackage {
+    name = "tar-0.1.20";
+    version = "0.1.20";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz";
-      name = "tunnel-agent-0.2.0.tgz";
-      sha1 = "6853c2afb1b2109e45629e492bde35f459ea69e8";
+      url = "http://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
+      name = "tar-0.1.20.tgz";
+      sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
+    };
+    deps = {
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tar"."~2.1.0" =
+    self.by-version."tar"."2.1.1";
+  by-version."tar"."2.1.1" = self.buildNodePackage {
+    name = "tar-2.1.1";
+    version = "2.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tar/-/tar-2.1.1.tgz";
+      name = "tar-2.1.1.tgz";
+      sha1 = "ac0649e135fa4546e430c7698514e1da2e8a7cc4";
+    };
+    deps = {
+      "block-stream-0.0.7" = self.by-version."block-stream"."0.0.7";
+      "fstream-1.0.6" = self.by-version."fstream"."1.0.6";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tar-pack"."~2.0.0" =
+    self.by-version."tar-pack"."2.0.0";
+  by-version."tar-pack"."2.0.0" = self.buildNodePackage {
+    name = "tar-pack-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tar-pack/-/tar-pack-2.0.0.tgz";
+      name = "tar-pack-2.0.0.tgz";
+      sha1 = "c2c401c02dd366138645e917b3a6baa256a9dcab";
+    };
+    deps = {
+      "uid-number-0.0.3" = self.by-version."uid-number"."0.0.3";
+      "once-1.1.1" = self.by-version."once"."1.1.1";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
+      "tar-0.1.20" = self.by-version."tar"."0.1.20";
+      "fstream-ignore-0.0.7" = self.by-version."fstream-ignore"."0.0.7";
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+    };
+    optionalDependencies = {
+      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tildify"."~1.0.0" =
+    self.by-version."tildify"."1.0.0";
+  by-version."tildify"."1.0.0" = self.buildNodePackage {
+    name = "tildify-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tildify/-/tildify-1.0.0.tgz";
+      name = "tildify-1.0.0.tgz";
+      sha1 = "2a021db5e8fbde0a8f8b4df37adaa8fb1d39d7dd";
+    };
+    deps = {
+      "user-home-1.1.1" = self.by-version."user-home"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tinycolor"."0.x" =
+    self.by-version."tinycolor"."0.0.1";
+  by-version."tinycolor"."0.0.1" = self.buildNodePackage {
+    name = "tinycolor-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
+      name = "tinycolor-0.0.1.tgz";
+      sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tough-cookie".">=0.12.0" =
+    self.by-version."tough-cookie"."1.1.0";
+  by-version."tough-cookie"."1.1.0" = self.buildNodePackage {
+    name = "tough-cookie-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-1.1.0.tgz";
+      name = "tough-cookie-1.1.0.tgz";
+      sha1 = "126d2490e66ae5286b6863debd4a341076915954";
     };
     deps = {
     };
@@ -3677,20 +5598,39 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."type-detect"."0.1.1" =
+    self.by-version."type-detect"."0.1.1";
+  by-version."type-detect"."0.1.1" = self.buildNodePackage {
+    name = "type-detect-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz";
+      name = "type-detect-0.1.1.tgz";
+      sha1 = "0ba5ec2a885640e470ea4e8505971900dac58822";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."type-is"."~1.6.1" =
-    self.by-version."type-is"."1.6.1";
-  by-version."type-is"."1.6.1" = self.buildNodePackage {
-    name = "type-is-1.6.1";
-    version = "1.6.1";
+    self.by-version."type-is"."1.6.2";
+  by-version."type-is"."1.6.2" = self.buildNodePackage {
+    name = "type-is-1.6.2";
+    version = "1.6.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/type-is/-/type-is-1.6.1.tgz";
-      name = "type-is-1.6.1.tgz";
-      sha1 = "49addecb0f6831cbc1d34ba929f0f3a4f21b0f2e";
+      url = "http://registry.npmjs.org/type-is/-/type-is-1.6.2.tgz";
+      name = "type-is-1.6.2.tgz";
+      sha1 = "694e83e5d110417e681cea278227f264ae406e33";
     };
     deps = {
       "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
-      "mime-types-2.0.10" = self.by-version."mime-types"."2.0.10";
+      "mime-types-2.0.11" = self.by-version."mime-types"."2.0.11";
     };
     optionalDependencies = {
     };
@@ -3698,20 +5638,42 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."uid-safe"."1.1.0" =
-    self.by-version."uid-safe"."1.1.0";
-  by-version."uid-safe"."1.1.0" = self.buildNodePackage {
-    name = "uid-safe-1.1.0";
-    version = "1.1.0";
+  by-spec."type-is"."~1.6.2" =
+    self.by-version."type-is"."1.6.2";
+  by-spec."uglify-js"."~2.3" =
+    self.by-version."uglify-js"."2.3.6";
+  by-version."uglify-js"."2.3.6" = self.buildNodePackage {
+    name = "uglify-js-2.3.6";
+    version = "2.3.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
+      name = "uglify-js-2.3.6.tgz";
+      sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uid-number"."0.0.3" =
+    self.by-version."uid-number"."0.0.3";
+  by-version."uid-number"."0.0.3" = self.buildNodePackage {
+    name = "uid-number-0.0.3";
+    version = "0.0.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/uid-safe/-/uid-safe-1.1.0.tgz";
-      name = "uid-safe-1.1.0.tgz";
-      sha1 = "58d6c5dabf8dfbd8d52834839806c03fd6143232";
+      url = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.3.tgz";
+      name = "uid-number-0.0.3.tgz";
+      sha1 = "cefb0fa138d8d8098da71a40a0d04a8327d6e1cc";
     };
     deps = {
-      "base64-url-1.2.1" = self.by-version."base64-url"."1.2.1";
-      "native-or-bluebird-1.1.2" = self.by-version."native-or-bluebird"."1.1.2";
     };
     optionalDependencies = {
     };
@@ -3719,8 +5681,6 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."uid-safe"."~1.1.0" =
-    self.by-version."uid-safe"."1.1.0";
   by-spec."ultron"."1.0.x" =
     self.by-version."ultron"."1.0.1";
   by-version."ultron"."1.0.1" = self.buildNodePackage {
@@ -3740,16 +5700,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."underscore"."~1.4.4" =
-    self.by-version."underscore"."1.4.4";
-  by-version."underscore"."1.4.4" = self.buildNodePackage {
-    name = "underscore-1.4.4";
-    version = "1.4.4";
+  by-spec."underscore"."~1.7.0" =
+    self.by-version."underscore"."1.7.0";
+  by-version."underscore"."1.7.0" = self.buildNodePackage {
+    name = "underscore-1.7.0";
+    version = "1.7.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-      name = "underscore-1.4.4.tgz";
-      sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
+      name = "underscore-1.7.0.tgz";
+      sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
     };
     deps = {
     };
@@ -3759,16 +5719,35 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."underscore"."~1.7.0" =
-    self.by-version."underscore"."1.7.0";
-  by-version."underscore"."1.7.0" = self.buildNodePackage {
-    name = "underscore-1.7.0";
-    version = "1.7.0";
+  by-spec."underscore.string"."~2.4.0" =
+    self.by-version."underscore.string"."2.4.0";
+  by-version."underscore.string"."2.4.0" = self.buildNodePackage {
+    name = "underscore.string-2.4.0";
+    version = "2.4.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
-      name = "underscore-1.7.0.tgz";
-      sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
+      url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz";
+      name = "underscore.string-2.4.0.tgz";
+      sha1 = "8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."user-home"."^1.0.0" =
+    self.by-version."user-home"."1.1.1";
+  by-version."user-home"."1.1.1" = self.buildNodePackage {
+    name = "user-home-1.1.1";
+    version = "1.1.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz";
+      name = "user-home-1.1.1.tgz";
+      sha1 = "2b5be23a32b63a7c9deb8d0f28d485724a3df190";
     };
     deps = {
     };
@@ -3799,6 +5778,26 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."util".">=0.10.3 <1" =
+    self.by-version."util"."0.10.3";
+  by-version."util"."0.10.3" = self.buildNodePackage {
+    name = "util-0.10.3";
+    version = "0.10.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/util/-/util-0.10.3.tgz";
+      name = "util-0.10.3.tgz";
+      sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."utils-merge"."1.0.0" =
     self.by-version."utils-merge"."1.0.0";
   by-version."utils-merge"."1.0.0" = self.buildNodePackage {
@@ -3837,16 +5836,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."vhost"."~3.0.0" =
-    self.by-version."vhost"."3.0.0";
-  by-version."vhost"."3.0.0" = self.buildNodePackage {
-    name = "vhost-3.0.0";
-    version = "3.0.0";
+  by-spec."when"."~3.4.6" =
+    self.by-version."when"."3.4.6";
+  by-version."when"."3.4.6" = self.buildNodePackage {
+    name = "when-3.4.6";
+    version = "3.4.6";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/vhost/-/vhost-3.0.0.tgz";
-      name = "vhost-3.0.0.tgz";
-      sha1 = "2d0ec59a3e012278b65adbe17c1717a5a5023045";
+      url = "http://registry.npmjs.org/when/-/when-3.4.6.tgz";
+      name = "when-3.4.6.tgz";
+      sha1 = "8fbcb7cc1439d2c3a68c431f1516e6dcce9ad28c";
     };
     deps = {
     };
@@ -3856,24 +5855,43 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."winston"."~0.7.2" =
-    self.by-version."winston"."0.7.3";
-  by-version."winston"."0.7.3" = self.buildNodePackage {
-    name = "winston-0.7.3";
-    version = "0.7.3";
+  by-spec."which"."1.0.x" =
+    self.by-version."which"."1.0.9";
+  by-version."which"."1.0.9" = self.buildNodePackage {
+    name = "which-1.0.9";
+    version = "1.0.9";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/which/-/which-1.0.9.tgz";
+      name = "which-1.0.9.tgz";
+      sha1 = "460c1da0f810103d0321a9b633af9e575e64486f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."winston"."^1.0.0" =
+    self.by-version."winston"."1.0.0";
+  by-version."winston"."1.0.0" = self.buildNodePackage {
+    name = "winston-1.0.0";
+    version = "1.0.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/winston/-/winston-0.7.3.tgz";
-      name = "winston-0.7.3.tgz";
-      sha1 = "7ae313ba73fcdc2ecb4aa2f9cd446e8298677266";
+      url = "http://registry.npmjs.org/winston/-/winston-1.0.0.tgz";
+      name = "winston-1.0.0.tgz";
+      sha1 = "30e36e0041fc0a864b0029565719e4dc41d026a4";
     };
     deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "async-0.9.0" = self.by-version."async"."0.9.0";
+      "colors-1.0.3" = self.by-version."colors"."1.0.3";
       "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
       "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
+      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
       "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
-      "request-2.16.6" = self.by-version."request"."2.16.6";
       "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
     };
     optionalDependencies = {
@@ -3882,7 +5900,90 @@
     os = [ ];
     cpu = [ ];
   };
-  "winston" = self.by-version."winston"."0.7.3";
+  "winston" = self.by-version."winston"."1.0.0";
+  by-spec."wordwrap"."0.0.x" =
+    self.by-version."wordwrap"."0.0.3";
+  by-version."wordwrap"."0.0.3" = self.buildNodePackage {
+    name = "wordwrap-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
+      name = "wordwrap-0.0.3.tgz";
+      sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."wordwrap".">=0.0.2" =
+    self.by-version."wordwrap"."1.0.0";
+  by-version."wordwrap"."1.0.0" = self.buildNodePackage {
+    name = "wordwrap-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
+      name = "wordwrap-1.0.0.tgz";
+      sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."wordwrap"."~0.0.2" =
+    self.by-version."wordwrap"."0.0.3";
+  by-spec."wrappy"."1" =
+    self.by-version."wrappy"."1.0.1";
+  by-version."wrappy"."1.0.1" = self.buildNodePackage {
+    name = "wrappy-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz";
+      name = "wrappy-1.0.1.tgz";
+      sha1 = "1e65969965ccbc2db4548c6b84a6f2c5aedd4739";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ws"."^0.4.32" =
+    self.by-version."ws"."0.4.32";
+  by-version."ws"."0.4.32" = self.buildNodePackage {
+    name = "ws-0.4.32";
+    version = "0.4.32";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
+      name = "ws-0.4.32.tgz";
+      sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
+    };
+    deps = {
+      "commander-2.1.0" = self.by-version."commander"."2.1.0";
+      "nan-1.0.0" = self.by-version."nan"."1.0.0";
+      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
+      "options-0.0.6" = self.by-version."options"."0.0.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "ws" = self.by-version."ws"."0.4.32";
   by-spec."ws"."~0.7.1" =
     self.by-version."ws"."0.7.1";
   by-version."ws"."0.7.1" = self.buildNodePackage {
@@ -3906,4 +6007,23 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."xtend"."^4.0.0" =
+    self.by-version."xtend"."4.0.0";
+  by-version."xtend"."4.0.0" = self.buildNodePackage {
+    name = "xtend-4.0.0";
+    version = "4.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz";
+      name = "xtend-4.0.0.tgz";
+      sha1 = "8bc36ff87aedbe7ce9eaf0bca36b2354a743840f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
 }
diff --git a/pkgs/servers/rippled/ripple-rest.nix b/pkgs/servers/rippled/ripple-rest.nix
new file mode 100644
index 000000000000..01fd098c920f
--- /dev/null
+++ b/pkgs/servers/rippled/ripple-rest.nix
@@ -0,0 +1,26 @@
+{ lib, fetchFromGitHub, nodePackages }:
+
+with lib;
+
+let
+  np = nodePackages.override { generated = ./package.nix; self = np; };
+in nodePackages.buildNodePackage rec {
+  name = "ripple-rest-${version}";
+  version = "1.7.0-rc1";
+
+  src = fetchFromGitHub {
+    repo = "ripple-rest";
+    owner = "ripple";
+    rev = version;
+    sha256 = "19ixgrz40iawd927jan0g1ac8w56wxh2vy3n3sa3dn9cmjd4k2r3";
+  };
+
+  deps = (filter (v: nixType v == "derivation") (attrValues np));
+
+  meta = {
+    description = " RESTful API for submitting payments and monitoring accounts on the Ripple Network";
+    homepage = https://github.com/ripple/ripple-rest;
+    maintainers = with maintainers; [ offline ];
+    license = [ licenses.mit ];
+  };
+}
diff --git a/pkgs/servers/rpcbind/default.nix b/pkgs/servers/rpcbind/default.nix
index 854a2ab94b76..6eb8a57cab4f 100644
--- a/pkgs/servers/rpcbind/default.nix
+++ b/pkgs/servers/rpcbind/default.nix
@@ -1,13 +1,13 @@
 { fetchurl, stdenv, pkgconfig, libtirpc
 , useSystemd ? true, systemd }:
 
-let version = "0.2.2";
+let version = "0.2.3";
 in stdenv.mkDerivation rec {
   name = "rpcbind-${version}";
   
   src = fetchurl {
     url = "mirror://sourceforge/rpcbind/${version}/${name}.tar.bz2";
-    sha256 = "0acgl1c07ymnks692b90aq5ldj4h0km7n03kz26wxq6vjv3winqk";
+    sha256 = "0yyjzv4161rqxrgjcijkrawnk55rb96ha0pav48s03l2klx855wq";
   };
 
   patches = [ ./sunrpc.patch ];
@@ -23,6 +23,7 @@ in stdenv.mkDerivation rec {
     description = "ONC RPC portmapper";
     license = licenses.bsd3;
     platforms = platforms.unix;
+    homepage = http://sourceforge.net/projects/rpcbind/;
     maintainers = with maintainers; [ abbradar ];
     longDescription = ''
       Universal addresses to RPC program number mapper.
diff --git a/pkgs/servers/rpcbind/sunrpc.patch b/pkgs/servers/rpcbind/sunrpc.patch
index af9b3b716798..450d33aa1c40 100644
--- a/pkgs/servers/rpcbind/sunrpc.patch
+++ b/pkgs/servers/rpcbind/sunrpc.patch
@@ -3,9 +3,10 @@ http://projects.archlinux.org/svntogit/packages.git/tree/trunk/rpcbind-sunrpc.pa
 Lookup "sunrpc" instead of "rpcbind" in /etc/services, since the former is the
 official IANA name.
 
---- rpcbind-0.1.7/src/rpcbind.c.orig	2008-11-19 14:17:34.000000000 +0100
-+++ rpcbind-0.1.7/src/rpcbind.c	2010-01-07 13:03:37.416632894 +0100
-@@ -114,7 +114,7 @@
+diff -ru3 rpcbind-0.2.3/src/rpcbind.c rpcbind-0.2.3.new/src/rpcbind.c
+--- rpcbind-0.2.3/src/rpcbind.c	2015-04-27 17:07:43.000000000 +0300
++++ rpcbind-0.2.3.new/src/rpcbind.c	2015-05-18 16:29:24.938380694 +0300
+@@ -132,7 +132,7 @@
  char *udp_uaddr;	/* Universal UDP address */
  char *tcp_uaddr;	/* Universal TCP address */
  #endif
@@ -14,14 +15,15 @@ official IANA name.
  static char superuser[] = "superuser";
  
  int main __P((int, char *[]));
---- rpcbind-0.1.7/src/rpcinfo.c~	2010-01-08 16:14:24.592156602 +0000
-+++ rpcbind-0.1.7/src/rpcinfo.c	2010-01-08 16:14:31.578838609 +0000
-@@ -633,7 +633,7 @@
- 	{
- 	  memset (&hints, 0, sizeof hints);
- 	  hints.ai_family = AF_INET;
--	  if ((error = getaddrinfo (host, "rpcbind", &hints, &res)) != 0 &&
-+	  if ((error = getaddrinfo (host, "sunrpc", &hints, &res)) != 0 &&
-               (error = getaddrinfo (host, "portmapper", &hints, &res)) != 0)
- 	    {
- 	      fprintf (stderr, "rpcinfo: %s: %s\n",
+diff -ru3 rpcbind-0.2.3/src/rpcinfo.c rpcbind-0.2.3.new/src/rpcinfo.c
+--- rpcbind-0.2.3/src/rpcinfo.c	2015-04-27 17:07:43.000000000 +0300
++++ rpcbind-0.2.3.new/src/rpcinfo.c	2015-05-18 16:30:14.197025336 +0300
+@@ -1842,7 +1842,7 @@
+ 
+   /* Get the address of the rpcbind */
+   memset (&hints, 0, sizeof hints);
+-  if ((getaddrinfo (host, "rpcbind", &hints, &res) != 0) &&
++  if ((getaddrinfo (host, "sunrpc", &hints, &res) != 0) &&
+       (getaddrinfo (host, "portmapper",&hints, &res) != 0))
+     {
+       rpc_createerr.cf_stat = RPC_N2AXLATEFAILURE;
diff --git a/pkgs/servers/s6/default.nix b/pkgs/servers/s6/default.nix
index 73843b8c114c..5e29c20339cf 100644
--- a/pkgs/servers/s6/default.nix
+++ b/pkgs/servers/s6/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.1.3.0";
+  version = "2.2.1.0";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/s6";
     rev = "refs/tags/v${version}";
-    sha256 = "0dnwkdxqjv5awdgwxci1spcx1s13y5s9wd8ccskwv1rymvpgn8b3";
+    sha256 = "1g8gr3znxj8lyqpwrmgzh47yb64zldrvvvgpp1m4pb37k5k11bj9";
   };
 
   dontDisableStatic = true;
@@ -38,6 +38,7 @@ in stdenv.mkDerivation rec {
     description = "skarnet.org's small & secure supervision software suite";
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.isc;
+    maintainers = with stdenv.lib.maintainers; [ pmahoney ];
   };
 
 }
diff --git a/pkgs/servers/samba/4.x-heimdal-compat.patch b/pkgs/servers/samba/4.x-heimdal-compat.patch
deleted file mode 100644
index 35f01e4001ec..000000000000
--- a/pkgs/servers/samba/4.x-heimdal-compat.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/source4/kdc/kdc.c b/source4/kdc/kdc.c
-index bb476e1..0a407a4 100644
---- a/source4/kdc/kdc.c
-+++ b/source4/kdc/kdc.c
-@@ -967,9 +967,9 @@ static void kdc_task_init(struct task_server *task)
- 	 * The old behavior in the _kdc_get_preferred_key()
- 	 * function is use_strongest_server_key=TRUE.
- 	 */
--	kdc->config->as_use_strongest_session_key = false;
-+	kdc->config->tgt_use_strongest_session_key = false;
-+	kdc->config->svc_use_strongest_session_key = false;
- 	kdc->config->preauth_use_strongest_session_key = false;
--	kdc->config->tgs_use_strongest_session_key = false;
- 	kdc->config->use_strongest_server_key = true;
- 
- 	/* Register hdb-samba4 hooks for use as a keytab */
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 49b81794f044..2e8f8a67fd42 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -1,81 +1,51 @@
-{ stdenv, fetchurl, python, pkgconfig, perl, libxslt, docbook_xsl
+{ lib, stdenv, fetchurl, python, pkgconfig, perl, libxslt, docbook_xsl
 , docbook_xml_dtd_42, docbook_xml_dtd_45, readline, talloc, ntdb, tdb, tevent
-, ldb, popt, iniparser, pythonPackages, libbsd, nss_wrapper, socket_wrapper
-, uid_wrapper, libarchive
-
-# source3/wscript optionals
-, kerberos ? null
-, zlib ? null
-, openldap ? null
-, cups ? null
-, pam ? null
-, avahi ? null
-, acl ? null
-, libaio ? null
-, fam ? null
-, libceph ? null
-, glusterfs ? null
-
-# buildtools/wafsamba/wscript optionals
-, libiconv ? null
-, gettext ? null
-
-# source4/lib/tls/wscript optionals
-, gnutls ? null
-, libgcrypt ? null
-, libgpgerror ? null
-
-# other optionals
-, ncurses ? null
-, libunwind ? null
-, dbus ? null
-, libibverbs ? null
-, librdmacm ? null
-, systemd ? null
+, ldb, popt, iniparser, libbsd, libarchive, libiconv, gettext
+, kerberos, zlib, openldap, cups, pam, avahi, acl, libaio, fam, libceph, glusterfs
+, gnutls, libgcrypt, libgpgerror
+, ncurses, libunwind, libibverbs, librdmacm, systemd
+
+, enableKerberos ? false
+, enableInfiniband ? false
+, enableLDAP ? false
+, enablePrinting ? false
+, enableMDNS ? false
+, enableDomainController ? false
+, enableRegedit ? true
+, enableCephFS ? false
+, enableGlusterFS ? false
 }:
 
-assert kerberos != null -> zlib != null;
-
-let
-  mkFlag = trueStr: falseStr: cond: name: val:
-    if cond == null then null else
-      "--${if cond != false then trueStr else falseStr}${name}${if val != null && cond != false then "=${val}" else ""}";
-  mkEnable = mkFlag "enable-" "disable-";
-  mkWith = mkFlag "with-" "without-";
-  mkOther = mkFlag "" "" true;
+with lib;
 
-  bundledLibs = if kerberos != null && kerberos.implementation == "heimdal" then "NONE" else "com_err";
-  hasGnutls = gnutls != null && libgcrypt != null && libgpgerror != null;
-  isKrb5OrNull = if kerberos != null && kerberos.implementation == "krb5" then true else null;
-  hasInfinibandOrNull = if libibverbs != null && librdmacm != null then true else null;
-in
 stdenv.mkDerivation rec {
-  name = "samba-4.2.1";
+  name = "samba-4.3.0";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
-    sha256 = "1hsakc8h6rs48xr6i55m90pd53hpxcqjjnlwq8i2rp0nq4ws5sip";
+    sha256 = "0qyvmjl8p8fnyhibwivhxxkm67nxxaj4lp35jni9l7gcknrbdnyq";
   };
 
-  patches = [
-    ./4.x-no-persistent-install.patch
-    ./4.x-fix-ctdb-deps.patch
-  ] ++ stdenv.lib.optional (kerberos != null) ./4.x-heimdal-compat.patch;
-
-  buildInputs = [
-    python pkgconfig perl libxslt docbook_xsl docbook_xml_dtd_42
-    docbook_xml_dtd_45 readline talloc ntdb tdb tevent ldb popt iniparser
-    pythonPackages.subunit libbsd nss_wrapper socket_wrapper uid_wrapper
-    libarchive
-
-    kerberos zlib openldap cups pam avahi acl libaio fam libceph glusterfs
-
-    libiconv gettext
-
-    gnutls libgcrypt libgpgerror
-
-    ncurses libunwind dbus libibverbs librdmacm systemd
-  ];
+  patches =
+    [ ./4.x-no-persistent-install.patch
+      ./4.x-fix-ctdb-deps.patch
+    ];
+
+  buildInputs =
+    [ python pkgconfig perl libxslt docbook_xsl docbook_xml_dtd_42 /*
+      docbook_xml_dtd_45 */ readline talloc ntdb tdb tevent ldb popt iniparser
+      libbsd libarchive zlib acl fam libiconv gettext libunwind
+    ]
+    ++ optionals stdenv.isLinux [ libaio pam systemd ]
+    ++ optional enableKerberos kerberos
+    ++ optionals (enableInfiniband && stdenv.isLinux) [ libibverbs librdmacm ]
+    ++ optional enableLDAP openldap
+    ++ optional (enablePrinting && stdenv.isLinux) cups
+    ++ optional enableMDNS avahi
+    ++ optional enableDomainController gnutls
+    ++ optional enableRegedit ncurses
+    ++ optional (enableCephFS && stdenv.isLinux) libceph
+    ++ optional (enableGlusterFS && stdenv.isLinux) glusterfs;
 
   postPatch = ''
     # Removes absolute paths in scripts
@@ -85,73 +55,29 @@ stdenv.mkDerivation rec {
     sed -i "s,\(XML_CATALOG_FILES=\"\),\1$XML_CATALOG_FILES ,g" buildtools/wafsamba/wafsamba.py
   '';
 
-  enableParallelBuilding = true;
-
-  configureFlags = [
-    # source3/wscript options
-    (mkWith   true                 "static-modules"    "NONE")
-    (mkWith   true                 "shared-modules"    "ALL")
-    (mkWith   true                 "winbind"           null)
-    (mkWith   (openldap != null)   "ads"               null)
-    (mkWith   (openldap != null)   "ldap"              null)
-    (mkEnable (cups != null)       "cups"              null)
-    (mkEnable (cups != null)       "iprint"            null)
-    (mkWith   (pam != null)        "pam"               null)
-    (mkWith   (pam != null)        "pam_smbpass"       null)
-    (mkWith   true                 "quotas"            null)
-    (mkWith   true                 "sendfile-support"  null)
-    (mkWith   true                 "utmp"              null)
-    (mkWith   true                 "utmp"              null)
-    (mkEnable true                 "pthreadpool"       null)
-    (mkEnable (avahi != null)      "avahi"             null)
-    (mkWith   true                 "iconv"             null)
-    (mkWith   (acl != null)        "acl-support"       null)
-    (mkWith   true                 "dnsupdate"         null)
-    (mkWith   true                 "syslog"            null)
-    (mkWith   true                 "automount"         null)
-    (mkWith   (libaio != null)     "aio-support"       null)
-    (mkWith   (fam != null)        "fam"               null)
-    (mkWith   (libarchive != null) "libarchive"        null)
-    (mkWith   true                 "cluster-support"   null)
-    (mkWith   (ncurses != null)    "regedit"           null)
-    (mkWith   libceph              "libcephfs"         libceph)
-    (mkEnable (glusterfs != null)  "glusterfs"         null)
-
-    # dynconfig/wscript options
-    (mkEnable true                 "fhs"               null)
-    (mkOther                       "sysconfdir"        "/etc")
-    (mkOther                       "localstatedir"     "/var")
-
-    # buildtools/wafsamba/wscript options
-    (mkOther                       "bundled-libraries" bundledLibs)
-    (mkOther                       "private-libraries" "NONE")
-    (mkOther                       "builtin-libraries" "replace")
-    (mkWith   libiconv             "libiconv"          libiconv)
-    (mkWith   (gettext != null)    "gettext"           gettext)
-
-    # source4/lib/tls/wscript options
-    (mkEnable hasGnutls            "gnutls" null)
+  configureFlags =
+    [ "--with-static-modules=NONE"
+      "--with-shared-modules=ALL"
+      "--enable-fhs"
+      "--sysconfdir=/etc"
+      "--localstatedir=/var"
+      "--bundled-libraries=${if enableKerberos && kerberos != null &&
+        kerberos.implementation == "heimdal" then "NONE" else "com_err"}"
+      "--private-libraries=NONE"
+      "--builtin-libraries=replace"
+    ]
+    ++ optional (enableKerberos && kerberos != null &&
+      kerberos.implementation == "krb5") "--with-system-mitkrb5"
+    ++ optional (!enableDomainController) "--without-ad-dc"
+    ++ optionals (!enableLDAP) [ "--without-ldap" "--without-ads" ];
 
-    # wscript options
-    (mkWith   isKrb5OrNull         "system-mitkrb5"    null)
-    (if hasGnutls then null else "--without-ad-dc")
-
-    # ctdb/wscript
-    (mkEnable hasInfinibandOrNull  "infiniband"        null)
-    (mkEnable null                 "pmda"              null)
-  ];
+  enableParallelBuilding = true;
 
   stripAllList = [ "bin" "sbin" ];
 
-  postInstall = ''
-    # Remove unecessary components
-    rm -r $out/{lib,share}/ctdb-tests
-    rm $out/bin/ctdb_run{_cluster,}_tests
-  '';
-
   postFixup = ''
     export SAMBA_LIBS="$(find $out -type f -name \*.so -exec dirname {} \; | sort | uniq)"
-    read -r -d "" SCRIPT << EOF
+    read -r -d "" SCRIPT << EOF || true
     [ -z "\$SAMBA_LIBS" ] && exit 1;
     BIN='{}';
     OLD_LIBS="\$(patchelf --print-rpath "\$BIN" 2>/dev/null | tr ':' '\n')";
diff --git a/pkgs/servers/search/elasticsearch/default.nix b/pkgs/servers/search/elasticsearch/default.nix
index 635934db23c7..16f010302902 100644
--- a/pkgs/servers/search/elasticsearch/default.nix
+++ b/pkgs/servers/search/elasticsearch/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "elasticsearch-1.4.4";
+  name = "elasticsearch-1.7.2";
 
   src = fetchurl {
-    url = "https://download.elasticsearch.org/elasticsearch/elasticsearch/${name}.tar.gz";
-    sha256 = "11l57r0pnx20v6zy047lw5zgq9r3w95k1smsvrj0clk89r3qs5d3";
+    url = "https://download.elastic.co/elasticsearch/elasticsearch/${name}.tar.gz";
+    sha256 = "1lix4asvx1lbc227gzsrws3xqbcbqaal7v10w60kch0c4xg970bg";
   };
 
   patches = [ ./es-home.patch ];
@@ -36,7 +36,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Open Source, Distributed, RESTful Search Engine";
-    license = stdenv.lib.licenses.asl20;
+    license = licenses.asl20;
     platforms = platforms.unix;
+    maintainers = [ maintainers.offline ];
   };
 }
diff --git a/pkgs/servers/search/elasticsearch/es-home.patch b/pkgs/servers/search/elasticsearch/es-home.patch
index b4ecbb5a7097..2f2018fd69fa 100644
--- a/pkgs/servers/search/elasticsearch/es-home.patch
+++ b/pkgs/servers/search/elasticsearch/es-home.patch
@@ -1,8 +1,7 @@
-diff --git a/bin/elasticsearch b/bin/elasticsearch
-index c7c9263..0fcecf6 100755
---- a/bin/elasticsearch
-+++ b/bin/elasticsearch
-@@ -76,7 +76,10 @@ while [ -h "$SCRIPT" ] ; do
+diff -rupN a/bin/elasticsearch b/bin/elasticsearch
+--- a/bin/elasticsearch	2015-08-05 17:52:05.740819671 +0200
++++ b/bin/elasticsearch	2015-08-05 17:22:34.664657364 +0200
+@@ -83,7 +83,10 @@ while [ -h "$SCRIPT" ] ; do
  done
  
  # determine elasticsearch home
@@ -14,10 +13,9 @@ index c7c9263..0fcecf6 100755
  
  # make ELASTICSEARCH_HOME absolute
  ES_HOME=`cd "$ES_HOME"; pwd`
-diff --git a/bin/plugin b/bin/plugin
-index a8c796a..daf7b99 100755
---- a/bin/plugin
-+++ b/bin/plugin
+diff -rupN a/bin/plugin b/bin/plugin
+--- a/bin/plugin	2015-08-05 17:57:07.903088815 +0200
++++ b/bin/plugin	2015-08-05 17:57:38.979808139 +0200
 @@ -16,7 +16,10 @@ while [ -h "$SCRIPT" ] ; do
  done
  
@@ -30,9 +28,10 @@ index a8c796a..daf7b99 100755
  
  # make ELASTICSEARCH_HOME absolute
  ES_HOME=`cd "$ES_HOME"; pwd`
-@@ -45,4 +48,4 @@ while [ $# -gt 0 ]; do
-   shift
- done
- 
--exec "$JAVA" $JAVA_OPTS $ES_JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_HOME/lib/*" org.elasticsearch.plugins.PluginManager $args
-+exec "$JAVA" $JAVA_OPTS $ES_JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_CLASSPATH/lib/*" org.elasticsearch.plugins.PluginManager $args
+@@ -105,4 +105,4 @@
+
+ export HOSTNAME=`hostname -s`
+
+-eval "$JAVA" $JAVA_OPTS $ES_JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home=\""$ES_HOME"\" $properties -cp \""$ES_HOME/lib/*"\" org.elasticsearch.plugins.PluginManager $args
+\ No newline at end of file
++eval "$JAVA" $JAVA_OPTS $ES_JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_CLASSPATH/lib/*" org.elasticsearch.plugins.PluginManager $args
diff --git a/pkgs/servers/search/elasticsearch/plugins.nix b/pkgs/servers/search/elasticsearch/plugins.nix
index 69941d5c46c5..32b065364a6a 100644
--- a/pkgs/servers/search/elasticsearch/plugins.nix
+++ b/pkgs/servers/search/elasticsearch/plugins.nix
@@ -24,10 +24,10 @@ in {
   elasticsearch_river_jdbc = esPlugin rec {
     name = "elasticsearch-river-jdbc-${version}";
     pluginName = "elasticsearch-river-jdbc";
-    version = "1.3.0.4";
+    version = "1.5.0.5";
     src = fetchurl {
       url = "http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/${version}/${name}-plugin.zip";
-      sha256 = "0272l6cr032iccwwa803shzfjg3505jc48d9qdazrwxjmnlkkzqk";
+      sha256 = "1p75l3vcnb90ar4j3dci2xf8dqnqyy31kc1r075fa2xqlsxgigcp";
     };
     meta = {
       homepage = "https://github.com/jprante/elasticsearch-river-jdbc";
@@ -53,11 +53,11 @@ in {
 
   elasticsearch_http_basic = stdenv.mkDerivation rec {
     name = "elasticsearch-http-basic-${version}";
-    version = "1.3.2";
+    version = "1.5.0";
 
     src = fetchurl {
-      url = "https://github.com/Asquera/elasticsearch-http-basic/releases/download/${version}/${name}.jar";
-      sha256 = "1qq8z0233mzz699zbzjwmx7ghn8k0djgyc5ixr8i5xchfrsrymn2";
+      url = "https://github.com/Asquera/elasticsearch-http-basic/releases/download/v${version}/${name}.jar";
+      sha256 = "0fif6sbn2ich39lrgm039y9d5bxkylx9pvly04wss8rdhspvdskb";
     };
 
     phases = ["installPhase"];
@@ -75,11 +75,11 @@ in {
     name = pname + "-" + version;
     pname = "elasticsearch-river-twitter";
     pluginName = "elasticsearch/" + pname + "/" + version;
-    version = "2.3.0";
+    version = "2.5.0";
 
     src = fetchurl {
       url = "http://download.elasticsearch.org/elasticsearch/${pname}/${name}.zip";
-      sha256 = "1lxxh1r61r15mzqyl0li37kcnn3vvpklnbfyys0kd6a1l82f0qvj";
+      sha256 = "0851yrmyrpp6whyxk34ykcj7b28f90w0nvkrhvl49dwqgr5s4mn4";
     };
 
     meta = {
@@ -94,10 +94,10 @@ in {
   elasticsearch_kopf = esPlugin rec {
     name = "elasticsearch-kopf-${version}";
     pluginName = "elasticsearch-kopf";
-    version = "1.4.7";
+    version = "1.5.7";
     src = fetchurl {
       url = "https://github.com/lmenezes/elasticsearch-kopf/archive/v${version}.zip";
-      sha256 = "17r9mmfjnraswij1glmglljga4i4mfiraivxmai6giwmm2grwlz3";
+      sha256 = "0mq6jmjb4ldi03m431kzr7ly0bf7mdim7s5dx4wplb85gyhscns1";
     };
     meta = {
       homepage = https://github.com/lmenezes/elasticsearch-kopf;
@@ -106,4 +106,18 @@ in {
     };
   };
 
+  search_guard = esPlugin rec {
+    name = "elastic-search-guard-${version}";
+    pluginName = "search-guard";
+    version = "0.5";
+    src = fetchurl {
+      url = "https://github.com/floragunncom/search-guard/releases/download/v${version}/${pluginName}-${version}.zip";
+      sha256 = "1zima4jmq1rrcqxhlrp2xian80vp244d2splby015n5cgqrp39fl";
+    };
+    meta = {
+      homepage = https://github.com/floragunncom/search-guard;
+      description = "Plugin to fetch data from JDBC sources for indexing into Elasticsearch";
+      license = licenses.asl20;
+    };
+  };
 }
diff --git a/pkgs/servers/serfdom/default.nix b/pkgs/servers/serfdom/default.nix
deleted file mode 100644
index 381fe6ddc1e7..000000000000
--- a/pkgs/servers/serfdom/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, goPackages, fetchFromGitHub }:
-
-with goPackages;
-
-buildGoPackage rec {
-  version = "0.6.3";
-  name = "serfdom-${version}";
-  goPackagePath = "github.com/hashicorp/serf";
-
-  src = fetchFromGitHub {
-    owner = "hashicorp";
-    repo = "serf";
-    rev = "v${version}";
-    sha256 = "0ck77ji28bvm4ahzxyyi4sm17c3fxc16k0k5mihl1nlkgdd73m8y";
-  };
-
-  buildInputs = [ cli mapstructure memberlist logutils go-syslog mdns columnize circbuf ];
-
-  dontInstallSrc = true;
-
-  meta = with lib; {
-    description = "A service discovery and orchestration tool that is decentralized, highly available, and fault tolerant";
-    homepage = http://www.serfdom.io/;
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ msackman cstrahan ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/shairport-sync/default.nix b/pkgs/servers/shairport-sync/default.nix
new file mode 100644
index 000000000000..2ee5683a2ca2
--- /dev/null
+++ b/pkgs/servers/shairport-sync/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, openssl, avahi, alsaLib
+, libdaemon, popt, pkgconfig, libconfig, libpulseaudio, soxr }:
+
+stdenv.mkDerivation rec {
+  version = "2.3.6.5";
+  name = "shairport-sync-${version}";
+
+  src = fetchFromGitHub {
+    sha256 = "1337y62pnch27s2gr47miip3na1am24xprlc5a27lbr764nr85s3";
+    rev = version;
+    repo = "shairport-sync";
+    owner = "mikebrady";
+  };
+
+  buildInputs = [
+    autoreconfHook
+    openssl
+    avahi
+    alsaLib
+    libdaemon
+    pkgconfig
+    popt
+    libconfig
+    libpulseaudio
+    soxr
+  ];
+
+  enableParallelBuilding = true;
+
+  configureFlags = ''
+    --with-alsa --with-pipe --with-pulseaudio --with-stdout
+    --with-avahi --with-ssl=openssl --with-soxr
+    --without-configfiles --without-initscript
+  '';
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Airtunes server and emulator with multi-room capabilities";
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/shellinabox/default.nix b/pkgs/servers/shellinabox/default.nix
index 2d827c737d8b..37a546770a0d 100644
--- a/pkgs/servers/shellinabox/default.nix
+++ b/pkgs/servers/shellinabox/default.nix
@@ -1,29 +1,43 @@
-{ stdenv, fetchurl, pam, openssl, openssh, shadow }:
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pam, openssl, openssh, shadow, makeWrapper }:
 
-stdenv.mkDerivation {
-  name = "shellinabox-2.14";
+stdenv.mkDerivation rec {
+  version = "2.16";
+  name = "shellinabox-${version}";
 
-  src = fetchurl {
-    url = "https://shellinabox.googlecode.com/files/shellinabox-2.14.tar.gz";
-    sha1 = "9e01f58c68cb53211b83d0f02e676e0d50deb781";
+  src = fetchFromGitHub {
+    owner = "shellinabox";
+    repo = "shellinabox";
+    rev = "8ac3a4efcf20f7b66d3f1eb1d4f3054aef6e196b";
+    sha256 = "1pp6nk0279d2q7l1cvx8jc73skfjv0s42wxb2m00x0bg9i1fvs5j";
   };
 
-  buildInputs = [pam openssl openssh];
-
   patches = [ ./shellinabox-minus.patch ];
 
-  # Disable GSSAPIAuthentication errors as well as correct hardcoded path. Take /usr/games's place. 
+  buildInputs = [ autoconf automake libtool pam openssl openssh makeWrapper];
+
+  # Disable GSSAPIAuthentication errors. Also, paths in certain source files are
+  # hardcoded. Replace the hardcoded paths with correct paths.
   preConfigure = ''
     substituteInPlace ./shellinabox/service.c --replace "-oGSSAPIAuthentication=no" ""
     substituteInPlace ./shellinabox/launcher.c --replace "/usr/games" "${openssh}/bin"
     substituteInPlace ./shellinabox/service.c --replace "/bin/login" "${shadow}/bin/login"
     substituteInPlace ./shellinabox/launcher.c --replace "/bin/login" "${shadow}/bin/login"
-    '';
-  meta = {
+    substituteInPlace ./libhttp/ssl.c --replace "/usr/bin" "${openssl}/bin"
+    autoreconf -vfi
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/shellinaboxd \
+      --prefix LD_LIBRARY_PATH : ${openssl}/lib
+    mkdir -p $out/lib
+    cp shellinabox/* $out/lib
+  '';
+
+  meta = with stdenv.lib; {
     homepage = https://code.google.com/p/shellinabox;
     description = "Web based AJAX terminal emulator";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [stdenv.lib.maintainers.tomberek];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ tomberek lihop ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/shellinabox/shellinabox-minus.patch b/pkgs/servers/shellinabox/shellinabox-minus.patch
index 2e30bd9c8aa1..d84bdd2eb161 100644
--- a/pkgs/servers/shellinabox/shellinabox-minus.patch
+++ b/pkgs/servers/shellinabox/shellinabox-minus.patch
@@ -1,6 +1,6 @@
-diff -ru shellinabox-2.14/shellinabox/vt100.js shellinabox-2.14.new/shellinabox/vt100.js
---- shellinabox-2.14/shellinabox/vt100.js	2012-04-21 21:30:44.000000000 +0400
-+++ shellinabox-2.14.new/shellinabox/vt100.js	2014-03-27 16:33:31.012344164 +0400
+diff -ru shellinabox-2.14/shellinabox/vt100.jspp shellinabox-2.14.new/shellinabox/vt100.jspp
+--- shellinabox-2.14/shellinabox/vt100.jspp	2012-04-21 21:30:44.000000000 +0400
++++ shellinabox-2.14.new/shellinabox/vt100.jspp	2014-03-27 16:33:31.012344164 +0400
 @@ -2676,6 +2676,7 @@
        switch (key) {
        case  33: /* Page Up      */ this.scrollBack();                   return;
diff --git a/pkgs/servers/shishi/default.nix b/pkgs/servers/shishi/default.nix
index a41915e5be8a..a97e6847a450 100644
--- a/pkgs/servers/shishi/default.nix
+++ b/pkgs/servers/shishi/default.nix
@@ -1,5 +1,25 @@
-{ fetchurl, stdenv, libtasn1, libgcrypt, gnutls }:
+{ stdenv, fetchurl
+, libgcrypt, libgpgerror, libtasn1
 
+# Optional Dependencies
+, pam ? null, libidn ? null, gnutls ? null
+}:
+
+let
+  mkFlag = trueStr: falseStr: cond: name: val:
+    if cond == null then null else
+      "--${if cond != false then trueStr else falseStr}${name}${if val != null && cond != false then "=${val}" else ""}";
+  mkEnable = mkFlag "enable-" "disable-";
+  mkWith = mkFlag "with-" "without-";
+  mkOther = mkFlag "" "" true;
+
+  shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (x: x == stdenv.system) pkg.meta.platforms then pkg else null;
+
+  optPam = shouldUsePkg pam;
+  optLibidn = shouldUsePkg libidn;
+  optGnutls = shouldUsePkg gnutls;
+in
+with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "shishi-1.0.2";
 
@@ -8,30 +28,52 @@ stdenv.mkDerivation rec {
     sha256 = "032qf72cpjdfffq1yq54gz3ahgqf2ijca4vl31sfabmjzq9q370d";
   };
 
-  buildInputs = [ libtasn1 libgcrypt gnutls ] ;
+  # Fixes support for gcrypt 1.6+
+  patches = [ ./gcrypt-fix.patch ];
+
+  buildInputs = [ libgcrypt libgpgerror libtasn1 optPam optLibidn optGnutls ];
+
+  configureFlags = [
+    (mkOther                      "sysconfdir"    "/etc")
+    (mkOther                      "localstatedir" "/var")
+    (mkEnable true                "libgcrypt"     null)
+    (mkEnable (optPam != null)    "pam"           null)
+    (mkEnable true                "ipv6"          null)
+    (mkWith   (optLibidn != null) "stringprep"    null)
+    (mkEnable (optGnutls != null) "starttls"      null)
+    (mkEnable true                "des"           null)
+    (mkEnable true                "3des"          null)
+    (mkEnable true                "aes"           null)
+    (mkEnable true                "md"            null)
+    (mkEnable false               "null"          null)
+    (mkEnable true                "arcfour"       null)
+  ];
 
   NIX_CFLAGS_COMPILE
-    = stdenv.lib.optionalString stdenv.isDarwin "-DBIND_8_COMPAT";
+    = optionalString stdenv.isDarwin "-DBIND_8_COMPAT";
 
   doCheck = true;
 
+  installFlags = [ "sysconfdir=\${out}/etc" ];
+
+  # Fix *.la files
+  postInstall = ''
+    sed -i $out/lib/libshi{sa,shi}.la \
+  '' + optionalString (optLibidn != null) ''
+      -e 's,\(-lidn\),-L${optLibidn}/lib \1,' \
+  '' + optionalString (optGnutls != null) ''
+      -e 's,\(-lgnutls\),-L${optGnutls}/lib \1,' \
+  '' + ''
+      -e 's,\(-lgcrypt\),-L${libgcrypt}/lib \1,' \
+      -e 's,\(-lgpg-error\),-L${libgpgerror}/lib \1,' \
+      -e 's,\(-ltasn1\),-L${libtasn1}/lib \1,'
+  '';
+
   meta = {
-    description = "An implementation of the Kerberos 5 network security system";
     homepage    = http://www.gnu.org/software/shishi/;
-    license     = stdenv.lib.licenses.gpl3Plus;
-    maintainers = with stdenv.lib.maintainers; [ bjg lovek323 ];
-    platforms   = stdenv.lib.platforms.all;
-
-    longDescription =
-      '' GNU Shishi is an implementation of the Kerberos 5 network
-         authentication system, as specified in RFC 4120.  Shishi can be
-         used to authenticate users in distributed systems.
-
-         Shishi contains a library (`libshishi') that can be used by
-         application developers to add support for Kerberos 5.  Shishi
-         contains a command line utility (1shishi') that is used by
-         users to acquire and manage tickets (and more).  The server
-         side, a Key Distribution Center, is implemented by `shishid'.
-      '';
+    description = "An implementation of the Kerberos 5 network security system";
+    license     = licenses.gpl3Plus;
+    maintainers = with maintainers; [ bjg lovek323 wkennington ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/servers/shishi/gcrypt-fix.patch b/pkgs/servers/shishi/gcrypt-fix.patch
new file mode 100644
index 000000000000..ccc37389401b
--- /dev/null
+++ b/pkgs/servers/shishi/gcrypt-fix.patch
@@ -0,0 +1,34 @@
+diff --git a/configure b/configure
+index c9a442b..a596bfe 100755
+--- a/configure
++++ b/configure
+@@ -24491,12 +24491,6 @@ else
+ /* end confdefs.h.  */
+ 
+ #include <gcrypt.h>
+-/* GCRY_MODULE_ID_USER was added in 1.4.4 and gc-libgcrypt.c
+-   will fail on startup if we don't have 1.4.4 or later, so
+-   test for it early. */
+-#if !defined GCRY_MODULE_ID_USER
+-error too old libgcrypt
+-#endif
+ 
+ int
+ main ()
+diff --git a/gl/m4/gc.m4 b/gl/m4/gc.m4
+index b352e33..4bab9f4 100644
+--- a/gl/m4/gc.m4
++++ b/gl/m4/gc.m4
+@@ -12,12 +12,6 @@ AC_DEFUN([gl_GC],
+   if test "$libgcrypt" != no; then
+     AC_LIB_HAVE_LINKFLAGS([gcrypt], [gpg-error], [
+ #include <gcrypt.h>
+-/* GCRY_MODULE_ID_USER was added in 1.4.4 and gc-libgcrypt.c
+-   will fail on startup if we don't have 1.4.4 or later, so
+-   test for it early. */
+-#if !defined GCRY_MODULE_ID_USER
+-error too old libgcrypt
+-#endif
+ ])
+   fi
+ ])
diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix
index 5b6ff15cb10a..efa70875549f 100644
--- a/pkgs/servers/sip/freeswitch/default.nix
+++ b/pkgs/servers/sip/freeswitch/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, ncurses, curl, pkgconfig, gnutls, readline, openssl, perl, libjpeg
-, libzrtpcpp }:
+, libzrtpcpp, gcc48 }:
 
 stdenv.mkDerivation rec {
   name = "freeswitch-1.2.3";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ ncurses curl pkgconfig gnutls readline openssl perl libjpeg
-    libzrtpcpp ];
+    libzrtpcpp gcc48 ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
 
diff --git a/pkgs/servers/sip/sipwitch/default.nix b/pkgs/servers/sip/sipwitch/default.nix
index 14cd91ee1418..8eecfa1e276b 100644
--- a/pkgs/servers/sip/sipwitch/default.nix
+++ b/pkgs/servers/sip/sipwitch/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pkgconfig, ucommon, libosip, libexosip, gnutls, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "sipwitch-1.6.1";
+  name = "sipwitch-1.9.8";
 
   src = fetchurl {
     url = "mirror://gnu/sipwitch/${name}.tar.gz";
-    sha256 = "1sa4fbv8filzcxqx2viyixsq4pwgvkidn6l6g3k62gl8bvdfk7p9";
+    sha256 = "0117c5iid1vrwl7sl3pys2jlinpmx2vfp8wcdwk93m7cc6k9793b";
   };
 
   buildInputs = [ pkgconfig ucommon libosip libexosip gnutls zlib ];
diff --git a/pkgs/servers/softether/4.18.nix b/pkgs/servers/softether/4.18.nix
new file mode 100644
index 000000000000..4b5b67cf85b2
--- /dev/null
+++ b/pkgs/servers/softether/4.18.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl
+, openssl, readline, ncurses, zlib }:
+
+let
+  os = if stdenv.isLinux then "1"
+       else if stdenv.isFreeBSD then "2"
+       else if stdenv.isSunOS then "3"
+       else if stdenv.isDarwin then "4"
+       else if stdenv.isOpenBSD then "5"
+       else "";
+  cpuBits = if stdenv.is64bit then "2" else "1";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "softether-${version}";
+  version = "4.18";
+  build = "9570";
+  compiledDate = "2015.07.26";
+  dataDir = "/var/lib/softether";
+
+  src = fetchurl {
+    url = "http://www.softether-download.com/files/softether/v${version}-${build}-rtm-${compiledDate}-tree/Source_Code/softether-src-v${version}-${build}-rtm.tar.gz";
+    sha256 = "585d61e524d3cad90806cbeb52ebe54b5144359e6c44676e8e7fb5683ffd4574";
+  };
+
+  buildInputs = [ openssl readline ncurses zlib ];
+
+  preConfigure = ''
+      echo "${os}
+      ${cpuBits}
+      " | ./configure
+      rm configure
+  '';
+
+  buildPhase = ''
+      mkdir -p $out/bin
+      sed -i \
+          -e "/INSTALL_BINDIR=/s|/usr/bin|/bin|g" \
+          -e "/_DIR=/s|/usr|${dataDir}|g" \
+          -e "s|\$(INSTALL|$out/\$(INSTALL|g" \
+          -e "/echo/s|echo $out/|echo |g" \
+          Makefile
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An Open-Source Free Cross-platform Multi-protocol VPN Program";
+    homepage = https://www.softether.org/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.rick68 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index e57404916756..e051813b7a01 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "mariadb-${version}";
-  version = "10.0.17";
+  version = "10.0.21";
 
   src = fetchurl {
     url    = "https://downloads.mariadb.org/interstitial/mariadb-${version}/source/mariadb-${version}.tar.gz";
-    sha256 = "04ckq67qgkghh7yzrbzwidk7wn7yjml15gzj2c5p1hs2k7lr9lww";
+    sha256 = "0i9mzbn35f4lj4y1lqzgbavh5xyx18zfn0ks0nqzvppabkhk56jb";
   };
 
   buildInputs = [ cmake ncurses openssl zlib pcre libxml2 boost judy bison libevent ]
@@ -49,11 +49,13 @@ stdenv.mkDerivation rec {
     "-DWITH_PARTITION_STORAGE_ENGINE=1"
     "-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1"
     "-DWITHOUT_FEDERATED_STORAGE_ENGINE=1"
-  ] ++ stdenv.lib.optional stdenv.isDarwin "-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1";
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    "-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1"
+    "-DWITHOUT_TOKUDB=1"
+  ];
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
-
-  enableParallelBuilding = true;
+  # fails to find lex_token.h sometimes
+  enableParallelBuilding = false;
 
   outputs = [ "out" "lib" ];
   setOutputFlags = false;
@@ -105,6 +107,9 @@ stdenv.mkDerivation rec {
     # Make sure to propagate lib for compatability
     mkdir -p $out/nix-support
     echo "$lib" > $out/nix-support/propagated-native-build-inputs
+
+    # Don't install static libraries.
+    rm $lib/lib/libmysqlclient.a $lib/lib/libmysqld.a
   '';
 
   passthru.mysqlVersion = "5.6";
@@ -113,7 +118,7 @@ stdenv.mkDerivation rec {
     description = "An enhanced, drop-in replacement for MySQL";
     homepage    = https://mariadb.org/;
     license     = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ shlevy thoughtpolice wkennington ];
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice wkennington ];
     platforms   = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/servers/sql/monetdb/default.nix b/pkgs/servers/sql/monetdb/default.nix
index 2293e2ab3161..afd2222918eb 100644
--- a/pkgs/servers/sql/monetdb/default.nix
+++ b/pkgs/servers/sql/monetdb/default.nix
@@ -4,7 +4,7 @@ let inherit (composableDerivation) edf; in
 
 composableDerivation.composableDerivation {} {
 
-  name = "monetdb-may-2009";
+  name = "monetdb-2009-05-01";
 
   src = fetchurl {
     url = http://monetdb.cwi.nl/downloads/sources/May2009-SP1/MonetDB-May2009-SuperBall-SP1.tar.bz2;
@@ -34,7 +34,7 @@ composableDerivation.composableDerivation {} {
   '';
 
   meta = { 
-    description = "MonetDB is a open-source database system for high-performance applications in data mining, OLAP, GIS, XML Query, text and multimedia retrieval";
+    description = "A open-source database system for high-performance applications in data mining, OLAP, GIS, XML Query, text and multimedia retrieval";
     homepage = http://monetdb.cwi.nl/;
     license = "MonetDB Public License"; # very similar to Mozilla public license (MPL) Version see 1.1 http://monetdb.cwi.nl/Legal/MonetDBLicense-1.1.html 
   };
diff --git a/pkgs/servers/sql/mysql/5.5.17-cygwin.patch b/pkgs/servers/sql/mysql/5.5.17-cygwin.patch
new file mode 100644
index 000000000000..f5178cd3f390
--- /dev/null
+++ b/pkgs/servers/sql/mysql/5.5.17-cygwin.patch
@@ -0,0 +1,44 @@
+--- mysql-5.5.17/cmake/install_macros.cmake	2011-10-12 07:10:24.000000000 -0500
++++ mysql-5.5.17/cmake/install_macros.cmake	2011-11-07 23:19:35.772837800 -0600
+@@ -230,7 +230,13 @@ FUNCTION(MYSQL_INSTALL_TARGETS)
+   IF(ARG_COMPONENT)
+     SET(COMP COMPONENT ${ARG_COMPONENT})
+   ENDIF()
+-  INSTALL(TARGETS ${TARGETS} DESTINATION ${ARG_DESTINATION} ${COMP})
++  IF(${ARG_DESTINATION} STREQUAL "${INSTALL_LIBDIR}")
++    INSTALL(TARGETS ${TARGETS} LIBRARY DESTINATION ${ARG_DESTINATION}
++                               RUNTIME DESTINATION bin
++                               ARCHIVE DESTINATION ${ARG_DESTINATION} ${COMP})
++  ELSE()
++    INSTALL(TARGETS ${TARGETS} DESTINATION ${ARG_DESTINATION} ${COMP})
++  ENDIF()
+   SET(INSTALL_LOCATION ${ARG_DESTINATION} )
+   INSTALL_DEBUG_SYMBOLS("${TARGETS}")
+   SET(INSTALL_LOCATION)
+--- mysql-5.5.17/libmysql/CMakeLists.txt	2011-10-12 07:10:24.000000000 -0500
++++ mysql-5.5.17/libmysql/CMakeLists.txt	2011-11-08 03:19:31.379219300 -0600
+@@ -214,6 +214,7 @@ IF(NOT DISABLE_SHARED)
+     SET_TARGET_PROPERTIES(mysqlclient PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+     SET_TARGET_PROPERTIES(libmysql PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+ 
++    IF(NOT CYGWIN)
+     # Install links to libmysqlclient.so (client_r)
+     GET_VERSIONED_LIBNAME(
+       "${CMAKE_SHARED_LIBRARY_PREFIX}mysqlclient_r"
+@@ -231,5 +232,6 @@ IF(NOT DISABLE_SHARED)
+         linkname)
+       INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
+     ENDFOREACH()
++    ENDIF(NOT CYGWIN)
+   ENDIF()
+ ENDIF()
+--- mysql-5.5.17/strings/dtoa.c	2011-10-12 07:10:25.000000000 -0500
++++ mysql-5.5.17/strings/dtoa.c	2011-11-07 20:38:05.064690100 -0600
+@@ -36,6 +36,7 @@
+ 
+  ***************************************************************/
+ 
++#define __STRICT_ANSI__
+ #include <my_base.h> /* for EOVERFLOW on Windows */
+ #include <my_global.h>
+ #include <m_string.h>  /* for memcpy and NOT_FIXED_DEC */
diff --git a/pkgs/servers/sql/mysql/5.5.17-export-symbols.patch b/pkgs/servers/sql/mysql/5.5.17-export-symbols.patch
new file mode 100644
index 000000000000..edc93c44dfe3
--- /dev/null
+++ b/pkgs/servers/sql/mysql/5.5.17-export-symbols.patch
@@ -0,0 +1,22 @@
+--- mysql-5.5.17/libmysql/CMakeLists.txt	2011-10-12 07:10:24.000000000 -0500
++++ mysql-5.5.17/libmysql/CMakeLists.txt	2011-11-08 03:19:31.379219300 -0600
+@@ -25,6 +25,11 @@ INCLUDE_DIRECTORIES(
+ ADD_DEFINITIONS(${SSL_DEFINES})
+ 
+ SET(CLIENT_API_FUNCTIONS
++dynstr_free
++dynstr_append_mem
++dynstr_append_os_quoted
++dynstr_realloc
++init_dynamic_string
+ get_tty_password
+ handle_options
+ load_defaults
+@@ -131,6 +136,7 @@ mysql_server_end
+ mysql_set_character_set
+ mysql_get_character_set_info
+ mysql_stmt_next_result
++strfill
+ 
+ CACHE INTERNAL "Functions exported by client API"
+ 
diff --git a/pkgs/servers/sql/mysql/5.5.x.nix b/pkgs/servers/sql/mysql/5.5.x.nix
index d25882b826ee..03a7840677ba 100644
--- a/pkgs/servers/sql/mysql/5.5.x.nix
+++ b/pkgs/servers/sql/mysql/5.5.x.nix
@@ -4,13 +4,18 @@
 
 stdenv.mkDerivation rec {
   name = "mysql-${version}";
-  version = "5.5.42";
+  version = "5.5.45";
 
   src = fetchurl {
-    url = "http://mysql.mirrors.pair.com/Downloads/MySQL-5.5/${name}.tar.gz";
-    sha256 = "0jn7py2wsq78rwi7vfihxs6z3h5hr338b9g46fl3z2g4ddki4yw8";
+    url = "mirror://mysql/MySQL-5.5/${name}.tar.gz";
+    sha256 = "0clkr3r44j8nsgmjzv6r09pb0vjangn5hpyjxgg5ynr674ygskkl";
   };
 
+  patches = if stdenv.isCygwin then [
+    ./5.5.17-cygwin.patch
+    ./5.5.17-export-symbols.patch
+  ] else null;
+
   preConfigure = stdenv.lib.optional stdenv.isDarwin ''
     ln -s /bin/ps $TMPDIR/ps
     export PATH=$PATH:$TMPDIR
diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix
deleted file mode 100644
index d77a539cb5d9..000000000000
--- a/pkgs/servers/sql/postgresql/8.4.x.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, zlib, ncurses, readline, openssl }:
-
-let version = "8.4.22"; in
-
-stdenv.mkDerivation rec {
-  name = "postgresql-${version}";
-
-  src = fetchurl {
-    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "09iqr9sldiq7jz1rdnywp2wv36lxy5m8kch3vpchd1s4fz75c7aw";
-  };
-
-  buildInputs = [ zlib ncurses readline openssl ];
-
-  LC_ALL = "C";
-
-  configureFlags = [ "--with-openssl" ];
-
-  patches = [ ./less-is-more.patch ];
-
-  passthru = { inherit readline; };
-
-  meta = {
-    homepage = http://www.postgresql.org/;
-    description = "A powerful, open source object-relational database system";
-    license = stdenv.lib.licenses.postgresql;
-    maintainers = [ stdenv.lib.maintainers.ocharles ];
-    hydraPlatforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix
deleted file mode 100644
index 340307c01f90..000000000000
--- a/pkgs/servers/sql/postgresql/9.0.x.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchurl, zlib, readline, openssl }:
-
-let version = "9.0.19"; in
-
-stdenv.mkDerivation rec {
-  name = "postgresql-${version}";
-
-  src = fetchurl {
-    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "1h45jdbzdcvprdsi9gija81s3ny46h3faf9f007gza4vm6y15bak";
-  };
-
-  buildInputs = [ zlib readline openssl ];
-
-  LC_ALL = "C";
-
-  configureFlags = [ "--with-openssl" ];
-
-  patches = [ ./less-is-more.patch ];
-
-  passthru = {
-    inherit readline;
-    psqlSchema = "9.0";
-  };
-
-  meta = {
-    homepage = http://www.postgresql.org/;
-    description = "A powerful, open source object-relational database system";
-    license = stdenv.lib.licenses.postgresql;
-    maintainers = [ stdenv.lib.maintainers.ocharles ];
-    hydraPlatforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix
deleted file mode 100644
index 5b0774d6229c..000000000000
--- a/pkgs/servers/sql/postgresql/9.1.x.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, zlib, readline, openssl }:
-
-let version = "9.1.15"; in
-
-stdenv.mkDerivation rec {
-  name = "postgresql-${version}";
-
-  src = fetchurl {
-    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "0pyyw0cy91z9wkqf8qzkwsy8cyjps0s94c9czz6mzhyd2npxxmk7";
-  };
-
-  buildInputs = [ zlib readline openssl ];
-
-  enableParallelBuilding = true;
-
-  LC_ALL = "C";
-
-  configureFlags = [ "--with-openssl" ];
-
-  patches = [ ./less-is-more.patch ];
-
-  postInstall =
-    ''
-      mkdir -p $out/share/man
-      cp -rvd doc/src/sgml/man1 $out/share/man
-    '';
-
-  passthru = {
-    inherit readline;
-    psqlSchema = "9.1";
-  };
-
-  meta = {
-    homepage = http://www.postgresql.org/;
-    description = "A powerful, open source object-relational database system";
-    license = stdenv.lib.licenses.postgresql;
-    maintainers = [ stdenv.lib.maintainers.ocharles ];
-    hydraPlatforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/servers/sql/postgresql/9.2.x.nix b/pkgs/servers/sql/postgresql/9.2.x.nix
deleted file mode 100644
index d09cde5b995f..000000000000
--- a/pkgs/servers/sql/postgresql/9.2.x.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchurl, zlib, readline, openssl }:
-
-let version = "9.2.10"; in
-
-stdenv.mkDerivation rec {
-  name = "postgresql-${version}";
-
-  src = fetchurl {
-    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "1bbkinqzb3c8i0vfzcy2g7djrq0kxz63jgvzda9p0vylxazmnm1m";
-  };
-
-  buildInputs = [ zlib readline openssl ];
-
-  enableParallelBuilding = true;
-
-  makeFlags = [ "world" ];
-
-  configureFlags = [ "--with-openssl" ];
-
-  patches = [ ./disable-resolve_symlinks.patch ./less-is-more.patch ];
-
-  installTargets = [ "install-world" ];
-
-  LC_ALL = "C";
-
-  passthru = {
-    inherit readline;
-    psqlSchema = "9.2";
-  };
-
-  meta = {
-    homepage = http://www.postgresql.org/;
-    description = "A powerful, open source object-relational database system";
-    license = stdenv.lib.licenses.postgresql;
-    maintainers = [ stdenv.lib.maintainers.ocharles ];
-    hydraPlatforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/servers/sql/postgresql/9.3.x.nix b/pkgs/servers/sql/postgresql/9.3.x.nix
deleted file mode 100644
index 6467ce80af1e..000000000000
--- a/pkgs/servers/sql/postgresql/9.3.x.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, zlib, readline, libossp_uuid, openssl}:
-
-with stdenv.lib;
-
-let version = "9.3.6"; in
-
-stdenv.mkDerivation rec {
-  name = "postgresql-${version}";
-
-  src = fetchurl {
-    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "056ass7nnfyv7blv02anv795kgpz77gipdpxggd835cdwrhwns13";
-  };
-
-  buildInputs = [ zlib readline openssl ]
-                ++ optionals (!stdenv.isDarwin) [ libossp_uuid ];
-
-  enableParallelBuilding = true;
-
-  makeFlags = [ "world" ];
-
-  configureFlags = [ "--with-openssl" ]
-                   ++ optional (!stdenv.isDarwin) "--with-ossp-uuid";
-
-  patches = [ ./disable-resolve_symlinks.patch ./less-is-more.patch ];
-
-  installTargets = [ "install-world" ];
-
-  LC_ALL = "C";
-
-  passthru = {
-    inherit readline;
-    psqlSchema = "9.3";
-  };
-
-  meta = {
-    homepage = http://www.postgresql.org/;
-    description = "A powerful, open source object-relational database system";
-    license = stdenv.lib.licenses.postgresql;
-    maintainers = [ stdenv.lib.maintainers.ocharles ];
-    hydraPlatforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/servers/sql/postgresql/9.4.x.nix b/pkgs/servers/sql/postgresql/9.4.x.nix
deleted file mode 100644
index 6649975d7902..000000000000
--- a/pkgs/servers/sql/postgresql/9.4.x.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, zlib, readline, libossp_uuid, openssl }:
-
-with stdenv.lib;
-
-let version = "9.4.1"; in
-
-stdenv.mkDerivation rec {
-  name = "postgresql-${version}";
-
-  src = fetchurl {
-    url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "19n3i14bhmw8dacd2kl3n1wzj362qv3fjmal5vsvi580h9ybgp99";
-  };
-
-  buildInputs = [ zlib readline openssl ]
-                ++ optionals (!stdenv.isDarwin) [ libossp_uuid ];
-
-  enableParallelBuilding = true;
-
-  makeFlags = [ "world" ];
-
-  configureFlags = [ "--with-openssl" ]
-                   ++ optional (!stdenv.isDarwin) "--with-ossp-uuid";
-
-  patches = [ ./disable-resolve_symlinks-94.patch ./less-is-more.patch ];
-
-  installTargets = [ "install-world" ];
-
-  LC_ALL = "C";
-
-  passthru = {
-    inherit readline;
-    psqlSchema = "9.4";
-  };
-
-  meta = {
-    homepage = http://www.postgresql.org/ ;
-    description = "A powerful, open source object-relational database system";
-    license = stdenv.lib.licenses.postgresql;
-    maintainers = with stdenv.lib.maintainers; [ aristid ocharles ];
-    hydraPlatforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
new file mode 100644
index 000000000000..cf4519a82327
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -0,0 +1,91 @@
+{ lib, stdenv, fetchurl, zlib, readline, libossp_uuid, openssl }:
+
+let
+
+  common = { version, sha256, psqlSchema } @ args: stdenv.mkDerivation (rec {
+    name = "postgresql-${version}";
+
+    src = fetchurl {
+      url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
+      inherit sha256;
+    };
+
+    outputs = [ "out" "doc" ];
+
+    buildInputs =
+      [ zlib readline openssl ]
+      ++ lib.optionals (!stdenv.isDarwin) [ libossp_uuid ];
+
+    enableParallelBuilding = true;
+
+    makeFlags = [ "world" ];
+
+    configureFlags =
+      [ "--with-openssl" ]
+      ++ lib.optional (stdenv.isDarwin)  "--with-uuid=e2fs"
+      ++ lib.optional (!stdenv.isDarwin) "--with-ossp-uuid";
+
+    patches =
+      [ (if lib.versionAtLeast version "9.4" then ./disable-resolve_symlinks-94.patch else ./disable-resolve_symlinks.patch)
+        ./less-is-more.patch
+      ];
+
+    installTargets = [ "install-world" ];
+
+    LC_ALL = "C";
+
+    postInstall =
+      ''
+        # Prevent a retained dependency on gcc-wrapper.
+        substituteInPlace $out/lib/pgxs/src/Makefile.global --replace ${stdenv.cc}/bin/ld ld
+      '';
+
+    disallowedReferences = [ stdenv.cc ];
+
+    passthru = {
+      inherit readline psqlSchema;
+    };
+
+    meta = with lib; {
+      homepage = http://www.postgresql.org/;
+      description = "A powerful, open source object-relational database system";
+      license = licenses.postgresql;
+      maintainers = [ maintainers.ocharles ];
+      platforms = platforms.unix;
+      hydraPlatforms = platforms.linux;
+    };
+  });
+
+in {
+
+  postgresql90 = common {
+    version = "9.0.22";
+    psqlSchema = "9.0";
+    sha256 = "19gq6axjhvlr5zlrzwnll1fbrvai4xh0nb1jki6gmmschl6v5m4l";
+  };
+
+  postgresql91 = common {
+    version = "9.1.18";
+    psqlSchema = "9.1";
+    sha256 = "1a44hmcvfaa8j169ladsibmvjakw6maaxqkzz1ab8139cqkda9i7";
+  };
+
+  postgresql92 = common {
+    version = "9.2.13";
+    psqlSchema = "9.2";
+    sha256 = "0i3avdr8mnvn6ldkx0hc4jmclhisb2338hzs0j2m03wck8hddjsx";
+  };
+
+  postgresql93 = common {
+    version = "9.3.9";
+    psqlSchema = "9.3";
+    sha256 = "0j85j69rf54cwz5yhrhk4ca22b82990j5sqb8cr1fl9843nd0fzp";
+  };
+
+  postgresql94 = common {
+    version = "9.4.4";
+    psqlSchema = "9.4";
+    sha256 = "04q07g209y99xzjh88y52qpvz225rxwifv8nzp3bxzfni2bdk3jk";
+  };
+
+}
diff --git a/pkgs/servers/sql/postgresql/jdbc/default.nix b/pkgs/servers/sql/postgresql/jdbc/default.nix
index 61b12164f245..ba5a9ead698f 100644
--- a/pkgs/servers/sql/postgresql/jdbc/default.nix
+++ b/pkgs/servers/sql/postgresql/jdbc/default.nix
@@ -20,9 +20,9 @@ stdenv.mkDerivation rec {
       cp jars/*.jar $out/share/java
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://jdbc.postgresql.org/;
     description = "JDBC driver for PostgreSQL allowing Java programs to connect to a PostgreSQL database";
-    license = "bsd";
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/servers/sql/postgresql/psqlodbc/default.nix b/pkgs/servers/sql/postgresql/psqlodbc/default.nix
index ce57c2141834..72221c0eec01 100644
--- a/pkgs/servers/sql/postgresql/psqlodbc/default.nix
+++ b/pkgs/servers/sql/postgresql/psqlodbc/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--with-iodbc=${libiodbc}";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://psqlodbc.projects.postgresql.org/;
     description = "ODBC driver for PostgreSQL";
-    license = "LGPL";
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/servers/squid/squids.nix b/pkgs/servers/squid/squids.nix
index 587c17a3ceea..35aea7aa1308 100644
--- a/pkgs/servers/squid/squids.nix
+++ b/pkgs/servers/squid/squids.nix
@@ -1,4 +1,6 @@
-args: with args;
+args @ { fetchurl, stdenv, perl, lib, composableDerivation
+, openldap, pam, db, cyrus_sasl, kerberos, libcap, expat, libxml2, libtool
+, openssl, ... }: with args;
 let edf = composableDerivation.edf; in
 rec {
   squid30 = composableDerivation.composableDerivation {} {
@@ -11,7 +13,7 @@ rec {
       sha256 = "3e54ae3ad09870203862f0856c7d0cca16a85f62d5012085009003ee3d5467b4";
     };
 
-    configureFlags = ["--enable-ipv6" "--disable-strict-error-checking"];
+    configureFlags = ["--enable-ipv6" "--disable-strict-error-checking" "--disable-arch-native"];
 
     meta = {
       description = "http-proxy";
diff --git a/pkgs/servers/tvheadend/default.nix b/pkgs/servers/tvheadend/default.nix
new file mode 100644
index 000000000000..c7b4e5153176
--- /dev/null
+++ b/pkgs/servers/tvheadend/default.nix
@@ -0,0 +1,35 @@
+{avahi, dbus, fetchurl, git, gzip, libav, libiconv, openssl, pkgconfig, python
+, stdenv, which, zlib}:
+
+let version = "4.0.4";
+    pkgName = "tvheadend"; in
+
+stdenv.mkDerivation rec {
+  name = "${pkgName}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/tvheadend/tvheadend/archive/v${version}.tar.gz";
+    sha256 = "acc5c852bccb32d6a281f523e78a1cceb4d41987fe015aba3f66e1898b02c168";
+  };
+
+  enableParallelBuilding = true;
+
+  configureFlags = [ "--disable-dvbscan" ];
+
+  buildInputs = [ avahi dbus git gzip libav libiconv openssl pkgconfig python
+    which zlib ];
+
+  preConfigure = "patchShebangs ./configure";
+
+  meta = {
+    description = "TV steaming server";
+    longDescription = ''
+	Tvheadend is a TV streaming server and recorder for Linux, FreeBSD and Android 
+        supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, SAT>IP and HDHomeRun as input sources.
+	Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming.'';
+    homepage = "https://tvheadend.org";
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.simonvandel ];
+  };
+}
diff --git a/pkgs/servers/u9fs/default.nix b/pkgs/servers/u9fs/default.nix
index dc855294fbd3..e60a74eaf89f 100644
--- a/pkgs/servers/u9fs/default.nix
+++ b/pkgs/servers/u9fs/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "u9fs-20110513";
   src = fetchhg {
-    url = https://code.google.com/p/u9fs;
+    url = http://bitbucket.org/plan9-from-bell-labs/u9fs;
     rev = "9474edb23b11";
     sha256 = "0irwyk8vnvx0fmz8lmbdb2jrlvas8imr61jr76a1pkwi9wpf2wv6";
   };
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib;
     { description = "Serve 9P from Unix";
-      homepage = https://code.google.com/p/u9fs;
+      homepage = http://plan9.bell-labs.com/magic/man2html/4/u9fs;
       license = licenses.free;
       maintainers = [ maintainers.emery ];
       platforms = platforms.unix;
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 7b8aa58e3057..5d0e7455d946 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unifi-controller-${version}";
-  version = "3.2.10";
+  version = "4.7.5";
 
   src = fetchurl {
     url = "http://dl.ubnt.com/unifi/${version}/UniFi.unix.zip";
-    sha256 = "0hrb8bbpkz1ijgsqsxhwjx1iq11ircr0pb2n5nr6hna9zxkkkb04";
+    sha256 = "1d5jkpwnz4wvcjr5i73m8i5aah6rkxwd0r9239l90v1ja9lkyk7w";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
index bf168611f386..e7e7502665fb 100644
--- a/pkgs/servers/uwsgi/default.nix
+++ b/pkgs/servers/uwsgi/default.nix
@@ -24,11 +24,11 @@ in
 assert builtins.filter (x: lib.all (y: y.name != x) available) plugins == [];
 
 stdenv.mkDerivation rec {
-  name = "uwsgi-2.0.10";
+  name = "uwsgi-2.0.11.1";
 
   src = fetchurl {
     url = "http://projects.unbit.it/downloads/${name}.tar.gz";
-    sha256 = "12q2sn35vf1ils5043svq8da0czy54k63ziybvl33a9dqbb83cy0";
+    sha256 = "11v2j9n204hlvi1p1wp4r3nn22fqyd1qlbqcfqddi77sih9x79vm";
   };
 
   nativeBuildInputs = [ python3 pkgconfig ];
diff --git a/pkgs/servers/x11/quartz-wm/default.nix b/pkgs/servers/x11/quartz-wm/default.nix
index 8f5885a48565..de30fc2a5840 100644
--- a/pkgs/servers/x11/quartz-wm/default.nix
+++ b/pkgs/servers/x11/quartz-wm/default.nix
@@ -20,6 +20,9 @@ in stdenv.mkDerivation {
     pixman
     pkgconfig
   ];
+  NIX_CFLAGS_COMPILE = "-F/System/Library/Frameworks -I/usr/include";
+  NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin
+    "/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
   meta = with lib; {
     license = licenses.apsl20;
     platforms = platforms.darwin;
diff --git a/pkgs/servers/x11/xorg/builder.sh b/pkgs/servers/x11/xorg/builder.sh
index 733d04e787aa..c9e53f3800d3 100644
--- a/pkgs/servers/x11/xorg/builder.sh
+++ b/pkgs/servers/x11/xorg/builder.sh
@@ -9,8 +9,10 @@ postInstall() {
     if test -n "$origPostInstall"; then eval "$origPostInstall"; fi
 
     local r p requires
-    requires=$(grep "Requires:" ${dev:-$out}/lib/pkgconfig/*.pc | \
+    set +o pipefail
+    requires=$(grep "Requires:" ${!outputDev}/lib/pkgconfig/*.pc | \
         sed "s/Requires://" | sed "s/,/ /g")
+    set -o pipefail
 
     echo "propagating requisites $requires"
 
diff --git a/pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch b/pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch
deleted file mode 100644
index cd87e396d4f0..000000000000
--- a/pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ec6007e6f7772a90713c9c51c64359229961ce27 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
-Date: Sun, 6 Apr 2014 05:32:00 -0700
-Subject: [PATCH] XQuartz: Ensure we wait for the server thread to terminate
-
-AKA: XQuartz 2.7.5 doesn't delete its /tmp/.X$d-lock
-
-http://xquartz.macosforge.org/trac/ticket/823
-
-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
----
- hw/xquartz/X11Controller.m | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
-index 5445c6f..022e832 100644
---- a/hw/xquartz/X11Controller.m
-+++ b/hw/xquartz/X11Controller.m
-@@ -942,9 +942,8 @@ extern char *bundle_id_prefix;
-     /* shutdown the X server, it will exit () for us. */
-     DarwinSendDDXEvent(kXquartzQuit, 0);
- 
--    /* In case it doesn't, exit anyway after a while. */
--    remain = 10000000;
--    while ((remain = usleep(remain)) > 0) ;
-+    /* In case it doesn't, exit anyway after 5s. */
-+    [NSThread sleepForTimeInterval:5.0];
- 
-     exit(1);
- }
--- 
-1.9.1
-
diff --git a/pkgs/servers/x11/xorg/darwin/0001-XQuartz-GLX-Use-__glXEnableExtension-to-build-extens.patch b/pkgs/servers/x11/xorg/darwin/0001-XQuartz-GLX-Use-__glXEnableExtension-to-build-extens.patch
new file mode 100644
index 000000000000..ff297a8df96a
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/0001-XQuartz-GLX-Use-__glXEnableExtension-to-build-extens.patch
@@ -0,0 +1,78 @@
+From fff30cdea46616eb92f4dd9402ebd27fdb55e13b Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Sun, 1 Jun 2014 04:29:19 -0700
+Subject: [PATCH 1/6] XQuartz: GLX: Use __glXEnableExtension to build
+ extensions list
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+(cherry picked from commit 3790001ea29658872aebda00a03170e392b47878)
+---
+ hw/xquartz/GL/indirect.c | 37 +++++++++++++++++++++++++++++++------
+ 1 file changed, 31 insertions(+), 6 deletions(-)
+
+diff --git a/hw/xquartz/GL/indirect.c b/hw/xquartz/GL/indirect.c
+index 19b7d86..4e6ab3d 100644
+--- a/hw/xquartz/GL/indirect.c
++++ b/hw/xquartz/GL/indirect.c
+@@ -52,6 +52,7 @@
+ 
+ #include "visualConfigs.h"
+ #include "dri.h"
++#include "extension_string.h"
+ 
+ #include "darwin.h"
+ #define GLAQUA_DEBUG_MSG(msg, args ...) ASL_LOG(ASL_LEVEL_DEBUG, "GLXAqua", \
+@@ -111,6 +112,10 @@ typedef struct __GLXAquaDrawable __GLXAquaDrawable;
+  */
+ struct __GLXAquaScreen {
+     __GLXscreen base;
++
++    /* Supported GLX extensions */
++    unsigned char glx_enable_bits[__GLX_EXT_BYTES];
++
+     int index;
+     int num_vis;
+ };
+@@ -541,13 +546,33 @@ __glXAquaScreenProbe(ScreenPtr pScreen)
+ 
+     screen->base.GLXmajor = 1;
+     screen->base.GLXminor = 4;
+-    screen->base.GLXextensions = strdup("GLX_SGIX_fbconfig "
+-                                        "GLX_SGIS_multisample "
+-                                        "GLX_ARB_multisample "
+-                                        "GLX_EXT_visual_info "
+-                                        "GLX_EXT_import_context ");
+ 
+-    /*We may be able to add more GLXextensions at a later time. */
++    memset(screen->glx_enable_bits, 0, __GLX_EXT_BYTES);
++
++    __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_visual_info");
++    __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_visual_rating");
++    __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_import_context");
++    __glXEnableExtension(screen->glx_enable_bits, "GLX_OML_swap_method");
++    __glXEnableExtension(screen->glx_enable_bits, "GLX_SGIX_fbconfig");
++
++    __glXEnableExtension(screen->glx_enable_bits, "GLX_SGIS_multisample");
++    __glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_multisample");
++
++    //__glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_create_context");
++    //__glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_create_context_profile");
++
++    // Generate the GLX extensions string (overrides that set by __glXScreenInit())
++    {
++        unsigned int buffer_size =
++            __glXGetExtensionString(screen->glx_enable_bits, NULL);
++        if (buffer_size > 0) {
++            free(screen->base.GLXextensions);
++
++            screen->base.GLXextensions = xnfalloc(buffer_size);
++            __glXGetExtensionString(screen->glx_enable_bits,
++                                    screen->base.GLXextensions);
++        }
++    }
+ 
+     return &screen->base;
+ }
+-- 
+2.3.2 (Apple Git-55)
+
diff --git a/pkgs/servers/x11/xorg/darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch b/pkgs/servers/x11/xorg/darwin/0002-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
index 450801c6f2f9..ed0518da5ce1 100644
--- a/pkgs/servers/x11/xorg/darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
+++ b/pkgs/servers/x11/xorg/darwin/0002-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
@@ -1,7 +1,7 @@
-From d36a301fb3d0f2c7a3d81cbda3fd21d8d36038e5 Mon Sep 17 00:00:00 2001
+From 91971455ee46b1059de75260ef0d1a45170d8b65 Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston <jeremyhu@apple.com>
 Date: Fri, 13 Jan 2012 12:00:57 -0800
-Subject: [PATCH 5000/5004] sdksyms.sh: Use CPPFLAGS, not CFLAGS
+Subject: [PATCH 2/6] sdksyms.sh: Use CPPFLAGS, not CFLAGS
 
 CFLAGS can include flags which are not useful to the preprocessor
 or can even cause it to fail.  This fixes a build issue on darwin
@@ -10,31 +10,32 @@ when building for more than one architecture.
 Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
 Reviewed-by: Keith Packard <keithp@keithp.com>
 ---
- hw/xfree86/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ hw/xfree86/Makefile.am | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
 
 diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
-index c3899b5..4f48b85 100644
+index 27f2cc6..d898c43 100644
 --- a/hw/xfree86/Makefile.am
 +++ b/hw/xfree86/Makefile.am
-@@ -38,7 +38,7 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
+@@ -48,8 +48,7 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
  bin_PROGRAMS = Xorg
  nodist_Xorg_SOURCES = sdksyms.c
  
 -AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
-+AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
- INCLUDES = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
+-AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
++AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
  	-I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac \
- 	-I$(srcdir)/dri -I$(srcdir)/dri2
-@@ -115,7 +115,7 @@ CLEANFILES = sdksyms.c sdksyms.dep
+ 	-I$(srcdir)/dri -I$(srcdir)/dri2 -I$(top_srcdir)/dri3
+ 
+@@ -135,7 +134,7 @@ CLEANFILES = sdksyms.c sdksyms.dep Xorg.sh
  EXTRA_DIST += sdksyms.sh
  
  sdksyms.dep sdksyms.c: sdksyms.sh
--	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(INCLUDES)
-+	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CPPFLAGS) $(AM_CPPFLAGS) $(INCLUDES)
+-	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS)
++	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CPPFLAGS) $(AM_CPPFLAGS)
  
  SDKSYMS_DEP = sdksyms.dep
- include $(SDKSYMS_DEP)
+ -include $(SDKSYMS_DEP)
 -- 
-1.8.4.1
+2.3.2 (Apple Git-55)
 
diff --git a/pkgs/servers/x11/xorg/darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch b/pkgs/servers/x11/xorg/darwin/0003-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
index c9a5f7e0f5bc..395853f940fe 100644
--- a/pkgs/servers/x11/xorg/darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
+++ b/pkgs/servers/x11/xorg/darwin/0003-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
@@ -1,8 +1,8 @@
-From 9ca14507a31338fad40d430445a4a4cb8106bc9b Mon Sep 17 00:00:00 2001
+From fa5c83fe9129c9cd9cde1420a32112ca2f17566c Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston <jeremyhu@apple.com>
 Date: Fri, 30 Apr 2010 13:08:25 -0700
-Subject: [PATCH 5001/5004] Workaround the GC clipping problem in miPaintWindow
- and add some debugging output.
+Subject: [PATCH 3/6] Workaround the GC clipping problem in miPaintWindow and
+ add some debugging output.
 
 Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
 ---
@@ -10,10 +10,10 @@ Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
  1 file changed, 94 insertions(+), 10 deletions(-)
 
 diff --git a/mi/miexpose.c b/mi/miexpose.c
-index 8b7c93f..3e972f7 100644
+index fc4dbc0..5e31b83 100644
 --- a/mi/miexpose.c
 +++ b/mi/miexpose.c
-@@ -489,7 +489,8 @@ void RootlessSetPixmapOfAncestors(WindowPtr pWin);
+@@ -408,7 +408,8 @@ void RootlessSetPixmapOfAncestors(WindowPtr pWin);
  void RootlessStartDrawing(WindowPtr pWin);
  void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn);
  Bool IsFramedWindow(WindowPtr pWin);
@@ -23,7 +23,7 @@ index 8b7c93f..3e972f7 100644
  
  void
  miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
-@@ -518,23 +519,37 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+@@ -437,23 +438,37 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
      Bool solid = TRUE;
      DrawablePtr drawable = &pWin->drawable;
  
@@ -70,7 +70,7 @@ index 8b7c93f..3e972f7 100644
          while (pWin->backgroundState == ParentRelative)
              pWin = pWin->parent;
  
-@@ -559,6 +574,18 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+@@ -478,6 +493,18 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
      else {
          PixmapPtr pixmap;
  
@@ -89,7 +89,7 @@ index 8b7c93f..3e972f7 100644
          tile_x_off = drawable->x;
          tile_y_off = drawable->y;
  
-@@ -567,6 +594,12 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+@@ -486,6 +513,12 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
              return;
          pixmap = (*pScreen->GetWindowPixmap) ((WindowPtr) drawable);
          drawable = &pixmap->drawable;
@@ -102,7 +102,7 @@ index 8b7c93f..3e972f7 100644
  #ifdef COMPOSITE
          draw_x_off = pixmap->screen_x;
          draw_y_off = pixmap->screen_y;
-@@ -629,6 +662,57 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+@@ -548,6 +581,57 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
      ChangeGC(NullClient, pGC, gcmask, gcval);
      ValidateGC(drawable, pGC);
  
@@ -161,5 +161,5 @@ index 8b7c93f..3e972f7 100644
      pbox = RegionRects(prgn);
      for (i = numRects; --i >= 0; pbox++, prect++) {
 -- 
-1.8.4.1
+2.3.2 (Apple Git-55)
 
diff --git a/pkgs/servers/x11/xorg/darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch b/pkgs/servers/x11/xorg/darwin/0004-Use-old-miTrapezoids-and-miTriangles-routines.patch
index f70ddf9e6af8..4027227bb53f 100644
--- a/pkgs/servers/x11/xorg/darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch
+++ b/pkgs/servers/x11/xorg/darwin/0004-Use-old-miTrapezoids-and-miTriangles-routines.patch
@@ -1,7 +1,7 @@
-From bd9fce8b74f5358e4d7e5ce9b5cdd8fd195bb3fd Mon Sep 17 00:00:00 2001
+From b229a04bde765424542eeba17a7e2bc25785a890 Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Sat, 2 Nov 2013 11:00:23 -0700
-Subject: [PATCH 5004/5004] Use old miTrapezoids and miTriangles routines
+Subject: [PATCH 4/6] Use old miTrapezoids and miTriangles routines
 
 Reverts commits:
     788ccb9a8bcf6a4fb4054c507111eec3338fb969
@@ -19,11 +19,11 @@ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
  5 files changed, 201 insertions(+), 4 deletions(-)
 
 diff --git a/fb/fbpict.c b/fb/fbpict.c
-index dc0ca3c..276ff06 100644
+index c8378ad..cafb027 100644
 --- a/fb/fbpict.c
 +++ b/fb/fbpict.c
-@@ -326,10 +326,8 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
-     ps->Glyphs = miGlyphs;
+@@ -499,10 +499,8 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+     ps->UnrealizeGlyph = fbUnrealizeGlyph;
      ps->CompositeRects = miCompositeRects;
      ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
 -    ps->Trapezoids = fbTrapezoids;
@@ -34,10 +34,10 @@ index dc0ca3c..276ff06 100644
      return TRUE;
  }
 diff --git a/render/mipict.c b/render/mipict.c
-index 2e64b20..d21b58a 100644
+index a725104..e14293a 100644
 --- a/render/mipict.c
 +++ b/render/mipict.c
-@@ -595,8 +595,8 @@ miPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+@@ -575,8 +575,8 @@ miPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
      ps->Composite = 0;          /* requires DDX support */
      ps->Glyphs = miGlyphs;
      ps->CompositeRects = miCompositeRects;
@@ -49,7 +49,7 @@ index 2e64b20..d21b58a 100644
      ps->RasterizeTrapezoid = 0; /* requires DDX support */
      ps->AddTraps = 0;           /* requires DDX support */
 diff --git a/render/mipict.h b/render/mipict.h
-index 9436228..7ee2991 100644
+index 23ce9e8..e0f1d4c 100644
 --- a/render/mipict.h
 +++ b/render/mipict.h
 @@ -122,6 +122,16 @@ miCompositeRects(CARD8 op,
@@ -293,5 +293,5 @@ index 922f22a..bdca9ca 100644
 +}
 +
 -- 
-1.8.4.1
+2.3.2 (Apple Git-55)
 
diff --git a/pkgs/servers/x11/xorg/darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch b/pkgs/servers/x11/xorg/darwin/0005-fb-Revert-fb-changes-that-broke-XQuartz.patch
index 9f99ab603353..b9d4b18cf82a 100644
--- a/pkgs/servers/x11/xorg/darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
+++ b/pkgs/servers/x11/xorg/darwin/0005-fb-Revert-fb-changes-that-broke-XQuartz.patch
@@ -1,7 +1,7 @@
-From 07f9e0beaf66ec9de1455a305c87ab642968f3f1 Mon Sep 17 00:00:00 2001
+From a635e397d5830f7f60e3690a1bb36f7a725b915a Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston <jeremyhu@apple.com>
 Date: Fri, 12 Feb 2010 19:48:52 -0800
-Subject: [PATCH 5002/5004] fb: Revert fb changes that broke XQuartz
+Subject: [PATCH 5/6] fb: Revert fb changes that broke XQuartz
 
 http://bugs.freedesktop.org/show_bug.cgi?id=26124
 
@@ -21,10 +21,10 @@ Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
  3 files changed, 43 insertions(+), 85 deletions(-)
 
 diff --git a/fb/fb.h b/fb/fb.h
-index b869d12..895b148 100644
+index ab110f3..59eaac3 100644
 --- a/fb/fb.h
 +++ b/fb/fb.h
-@@ -1686,8 +1686,7 @@ fbFillRegionSolid(DrawablePtr pDrawable,
+@@ -1326,8 +1326,7 @@ fbFillRegionSolid(DrawablePtr pDrawable,
                    RegionPtr pRegion, FbBits and, FbBits xor);
  
  extern _X_EXPORT pixman_image_t *image_from_pict(PicturePtr pict,
@@ -35,7 +35,7 @@ index b869d12..895b148 100644
  extern _X_EXPORT void free_pixman_pict(PicturePtr, pixman_image_t *);
  
 diff --git a/fb/fbpict.c b/fb/fbpict.c
-index 2804ff4..80c2a91 100644
+index cafb027..6ee63e9 100644
 --- a/fb/fbpict.c
 +++ b/fb/fbpict.c
 @@ -46,23 +46,18 @@ fbComposite(CARD8 op,
@@ -67,7 +67,7 @@ index 2804ff4..80c2a91 100644
      }
  
      free_pixman_pict(pSrc, src);
-@@ -293,20 +288,22 @@ create_conical_gradient_image(PictGradient * gradient)
+@@ -289,20 +284,22 @@ create_conical_gradient_image(PictGradient * gradient)
  }
  
  static pixman_image_t *
@@ -97,8 +97,8 @@ index 2804ff4..80c2a91 100644
                                       stride * sizeof(FbStride));
  
      if (!image)
-@@ -333,57 +330,31 @@ create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
-         if (pict->clientClipType != CT_NONE)
+@@ -321,57 +318,31 @@ create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
+         if (pict->clientClip)
              pixman_image_set_has_client_clip(image, TRUE);
  
 -        if (*xoff || *yoff)
@@ -159,7 +159,7 @@ index 2804ff4..80c2a91 100644
      }
  
      switch (pict->repeatType) {
-@@ -411,10 +382,8 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+@@ -399,10 +370,8 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
       * as the alpha map for this operation
       */
      if (pict->alphaMap && !is_alpha_map) {
@@ -171,7 +171,7 @@ index 2804ff4..80c2a91 100644
  
          pixman_image_set_alpha_map(image, alpha_map, pict->alphaOrigin.x,
                                     pict->alphaOrigin.y);
-@@ -448,8 +417,7 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+@@ -436,8 +405,7 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
  }
  
  static pixman_image_t *
@@ -181,7 +181,7 @@ index 2804ff4..80c2a91 100644
  {
      pixman_image_t *image = NULL;
  
-@@ -457,7 +425,7 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+@@ -445,7 +413,7 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
          return NULL;
  
      if (pict->pDrawable) {
@@ -190,7 +190,7 @@ index 2804ff4..80c2a91 100644
      }
      else if (pict->pSourcePict) {
          SourcePict *sp = pict->pSourcePict;
-@@ -475,19 +443,17 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+@@ -463,19 +431,17 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
              else if (sp->type == SourcePictTypeConical)
                  image = create_conical_gradient_image(gradient);
          }
@@ -312,5 +312,5 @@ index bf82f8f..0145ce9 100644
  
          DamageRegionProcessPending(pDst->pDrawable);
 -- 
-1.8.4.1
+2.3.2 (Apple Git-55)
 
diff --git a/pkgs/servers/x11/xorg/darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch b/pkgs/servers/x11/xorg/darwin/0006-fb-Revert-fb-changes-that-broke-XQuartz.patch
index 0ff989258fb9..03d4decdb1c9 100644
--- a/pkgs/servers/x11/xorg/darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
+++ b/pkgs/servers/x11/xorg/darwin/0006-fb-Revert-fb-changes-that-broke-XQuartz.patch
@@ -1,38 +1,29 @@
-From 4a0444a2773bddc3abbf5305a344001ecfe9378c Mon Sep 17 00:00:00 2001
+From 4c7572abafeac9b2dcd884c444c5a5bae5b302c3 Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
-Date: Tue, 18 Dec 2012 01:03:38 -0800
-Subject: [PATCH 5003/5004] fb: Revert fb changes that broke XQuartz
+Date: Sat, 31 May 2014 13:14:20 -0700
+Subject: [PATCH 6/6] fb: Revert fb changes that broke XQuartz
 
     http://bugs.freedesktop.org/show_bug.cgi?id=26124
 
 Revert "Use new pixman_glyph_cache_t API that will be in pixman 0.28.0"
+Revert "fb: Fix origin of source picture in fbGlyphs"
+Revert "fb: Publish fbGlyphs and fbUnrealizeGlyph"
 
 This reverts commit 9cbcb5bd6a5360a128d15b77a02d8d3351f74366.
+This reverts commit 983e30361f49a67252d0b5d82630e70724d69dbf.
+This reverts commit 3c2c59eed3c68c0e5a93c38cf01eedad015e3157.
 ---
- configure.ac  |   2 +-
  fb/fb.h       |   3 --
- fb/fbpict.c   | 153 +---------------------------------------------------------
+ fb/fbpict.c   | 149 +---------------------------------------------------------
+ fb/fbpict.h   |  11 +----
  fb/fbscreen.c |   1 -
- 4 files changed, 2 insertions(+), 157 deletions(-)
+ 4 files changed, 2 insertions(+), 162 deletions(-)
 
-diff --git a/configure.ac b/configure.ac
-index 8797df5..99a1e62 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -811,7 +811,7 @@ LIBPCIACCESS="pciaccess >= 0.12.901"
- LIBUDEV="libudev >= 143"
- LIBSELINUX="libselinux >= 2.0.86"
- LIBDBUS="dbus-1 >= 1.0"
--LIBPIXMAN="pixman-1 >= 0.27.2"
-+LIBPIXMAN="pixman-1 >= 0.21.8"
- 
- dnl Pixman is always required, but we separate it out so we can link
- dnl specific modules against it
 diff --git a/fb/fb.h b/fb/fb.h
-index 895b148..cc5759c 100644
+index 59eaac3..046b948 100644
 --- a/fb/fb.h
 +++ b/fb/fb.h
-@@ -1344,9 +1344,6 @@ extern _X_EXPORT void
+@@ -1116,9 +1116,6 @@ extern _X_EXPORT void
  extern _X_EXPORT Bool
   fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats);
  
@@ -43,10 +34,10 @@ index 895b148..cc5759c 100644
   * fbpixmap.c
   */
 diff --git a/fb/fbpict.c b/fb/fbpict.c
-index 80c2a91..dc0ca3c 100644
+index 6ee63e9..9c4cc42 100644
 --- a/fb/fbpict.c
 +++ b/fb/fbpict.c
-@@ -65,156 +65,6 @@ fbComposite(CARD8 op,
+@@ -65,152 +65,6 @@ fbComposite(CARD8 op,
      free_pixman_pict(pDst, dest);
  }
  
@@ -70,7 +61,7 @@ index 80c2a91..dc0ca3c 100644
 -	pixman_glyph_cache_remove (glyphCache, pGlyph, NULL);
 -}
 -
--static void
+-void
 -fbGlyphs(CARD8 op,
 -	 PicturePtr pSrc,
 -	 PicturePtr pDst,
@@ -93,7 +84,7 @@ index 80c2a91..dc0ca3c 100644
 -    int xDst = list->xOff, yDst = list->yOff;
 -
 -    miCompositeSourceValidate(pSrc);
--    
+-
 -    n_glyphs = 0;
 -    for (i = 0; i < nlist; ++i)
 -	n_glyphs += list[i].len;
@@ -102,12 +93,12 @@ index 80c2a91..dc0ca3c 100644
 -	glyphCache = pixman_glyph_cache_create();
 -
 -    pixman_glyph_cache_freeze (glyphCache);
--    
+-
 -    if (n_glyphs > N_STACK_GLYPHS) {
 -	if (!(pglyphs = malloc (n_glyphs * sizeof (pixman_glyph_t))))
 -	    goto out;
 -    }
--    
+-
 -    i = 0;
 -    x = y = 0;
 -    while (nlist--) {
@@ -165,19 +156,15 @@ index 80c2a91..dc0ca3c 100644
 -    if (maskFormat) {
 -	pixman_format_code_t format;
 -	pixman_box32_t extents;
--	int x, y;
 -
 -	format = maskFormat->format | (maskFormat->depth << 24);
 -
 -	pixman_glyph_get_extents(glyphCache, n_glyphs, pglyphs, &extents);
 -
--	x = extents.x1;
--	y = extents.y1;
--
 -	pixman_composite_glyphs(op, srcImage, dstImage, format,
--				xSrc + srcXoff + xDst, ySrc + srcYoff + yDst,
--				x, y,
--				x + dstXoff, y + dstYoff,
+-				xSrc + srcXoff + extents.x1 - xDst, ySrc + srcYoff + extents.y1 - yDst,
+-				extents.x1, extents.y1,
+-				extents.x1 + dstXoff, extents.y1 + dstYoff,
 -				extents.x2 - extents.x1,
 -				extents.y2 - extents.y1,
 -				glyphCache, n_glyphs, pglyphs);
@@ -203,7 +190,7 @@ index 80c2a91..dc0ca3c 100644
  static pixman_image_t *
  create_solid_fill_image(PicturePtr pict)
  {
-@@ -473,8 +323,7 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+@@ -461,8 +315,7 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
          return FALSE;
      ps = GetPictureScreen(pScreen);
      ps->Composite = fbComposite;
@@ -212,9 +199,35 @@ index 80c2a91..dc0ca3c 100644
 +    ps->Glyphs = miGlyphs;
      ps->CompositeRects = miCompositeRects;
      ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
-     ps->Trapezoids = fbTrapezoids;
+     ps->AddTraps = fbAddTraps;
+diff --git a/fb/fbpict.h b/fb/fbpict.h
+index 5cb8663..110f32d 100644
+--- a/fb/fbpict.h
++++ b/fb/fbpict.h
+@@ -65,20 +65,11 @@ fbTrapezoids(CARD8 op,
+              INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid * traps);
+ 
+ extern _X_EXPORT void
++
+ fbTriangles(CARD8 op,
+             PicturePtr pSrc,
+             PicturePtr pDst,
+             PictFormatPtr maskFormat,
+             INT16 xSrc, INT16 ySrc, int ntris, xTriangle * tris);
+ 
+-extern _X_EXPORT void
+-fbGlyphs(CARD8 op,
+-	 PicturePtr pSrc,
+-	 PicturePtr pDst,
+-	 PictFormatPtr maskFormat,
+-	 INT16 xSrc,
+-	 INT16 ySrc, int nlist,
+-	 GlyphListPtr list,
+-	 GlyphPtr *glyphs);
+-
+ #endif                          /* _FBPICT_H_ */
 diff --git a/fb/fbscreen.c b/fb/fbscreen.c
-index f9080a4..7c7d656 100644
+index 71bcc5d..55330fc 100644
 --- a/fb/fbscreen.c
 +++ b/fb/fbscreen.c
 @@ -32,7 +32,6 @@ fbCloseScreen(ScreenPtr pScreen)
@@ -226,5 +239,5 @@ index f9080a4..7c7d656 100644
          free(depths[d].vids);
      free(depths);
 -- 
-1.8.4.1
+2.3.2 (Apple Git-55)
 
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 497175c14dfe..e4b3bef6acbd 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1,5 +1,8 @@
 # THIS IS A GENERATED FILE.  DO NOT EDIT!
-args: with args;
+args @ { clangStdenv, fetchurl, fetchgit, fetchpatch, stdenv, pkgconfig, intltool, freetype, fontconfig
+, libxslt, expat, libpng, zlib, perl, mesa_drivers, spice_protocol
+, dbus, libuuid, openssl, gperf, m4, libevdev, tradcpp, libinput, mcpp, makeWrapper, autoreconfHook
+, autoconf, automake, libtool, xmlto, asciidoc, flex, bison, python, mtdev, pixman, ... }: with args;
 
 let
 
@@ -545,11 +548,11 @@ let
   }) // {inherit ;};
 
   kbproto = (mkDerivation "kbproto" {
-    name = "kbproto-1.0.6";
+    name = "kbproto-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/kbproto-1.0.6.tar.bz2;
-      sha256 = "0yal11hhpiisy3w8wmacsdzzzcnc3xwnswxz8k7zri40xc5aqz03";
+      url = mirror://xorg/individual/proto/kbproto-1.0.7.tar.bz2;
+      sha256 = "0mxqj1pzhjpz9495vrjnpi10kv2n1s4vs7di0sh3yvipfq5j30pq";
     };
     buildInputs = [pkgconfig ];
   }) // {inherit ;};
@@ -565,11 +568,11 @@ let
   }) // {inherit applewmproto libX11 libXext xextproto ;};
 
   libFS = (mkDerivation "libFS" {
-    name = "libFS-1.0.6";
+    name = "libFS-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libFS-1.0.6.tar.bz2;
-      sha256 = "1mxfsvj9m3pn8cdkcn4kg190zp665mf4pv0083g6xykvsgxzq1wh";
+      url = mirror://xorg/individual/lib/libFS-1.0.7.tar.bz2;
+      sha256 = "1wy4km3qwwajbyl8y9pka0zwizn7d9pfiyjgzba02x3a083lr79f";
     };
     buildInputs = [pkgconfig fontsproto xproto xtrans ];
   }) // {inherit fontsproto xproto xtrans ;};
@@ -635,11 +638,11 @@ let
   }) // {inherit xproto ;};
 
   libXaw = (mkDerivation "libXaw" {
-    name = "libXaw-1.0.12";
+    name = "libXaw-1.0.13";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXaw-1.0.12.tar.bz2;
-      sha256 = "1xnv7jy86j9vhmw74frkzcraynqbw1p1s79jasargsgwfi433z4n";
+      url = mirror://xorg/individual/lib/libXaw-1.0.13.tar.bz2;
+      sha256 = "1kdhxplwrn43d9jp3v54llp05kwx210lrsdvqb6944jp29rhdy4f";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ];
   }) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;};
@@ -725,11 +728,11 @@ let
   }) // {inherit fontconfig freetype libX11 xproto libXrender ;};
 
   libXi = (mkDerivation "libXi" {
-    name = "libXi-1.7.4";
+    name = "libXi-1.7.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXi-1.7.4.tar.bz2;
-      sha256 = "0i12lj973grlp9fa79v0vh9cahk3nf9csdjnf81iip0qcrlc5zrc";
+      url = mirror://xorg/individual/lib/libXi-1.7.5.tar.bz2;
+      sha256 = "0ad21jy40d8b2f9ldadx7lkspmvka1i9r5jqqfwxdxyqnpgdfr6r";
     };
     buildInputs = [pkgconfig inputproto libX11 libXext xextproto libXfixes xproto ];
   }) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;};
@@ -774,22 +777,32 @@ let
     buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ];
   }) // {inherit libX11 libXext xextproto xproto libXt ;};
 
+  libXpresent = (mkDerivation "libXpresent" {
+    name = "libXpresent-1.0.0";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/lib/libXpresent-1.0.0.tar.bz2;
+      sha256 = "12kvvar3ihf6sw49h6ywfdiwmb8i1gh8wasg1zhzp6hs2hay06n1";
+    };
+    buildInputs = [pkgconfig presentproto libX11 xextproto xproto ];
+  }) // {inherit presentproto libX11 xextproto xproto ;};
+
   libXrandr = (mkDerivation "libXrandr" {
-    name = "libXrandr-1.4.2";
+    name = "libXrandr-1.5.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXrandr-1.4.2.tar.bz2;
-      sha256 = "1b95p3l84ppv6j7dbbmg0zrz6k8xdwvnag1l6ajm3gk9qwdb79ya";
+      url = mirror://xorg/individual/lib/libXrandr-1.5.0.tar.bz2;
+      sha256 = "0n6ycs1arf4wb1cal9il6v7vbxbf21qhs9sbfl8xndgwnxclk1kg";
     };
     buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ];
   }) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;};
 
   libXrender = (mkDerivation "libXrender" {
-    name = "libXrender-0.9.8";
+    name = "libXrender-0.9.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXrender-0.9.8.tar.bz2;
-      sha256 = "0qpwyjhbpp734vnhca992pjh4w7ijslidkzx1pcwbbk000pv050x";
+      url = mirror://xorg/individual/lib/libXrender-0.9.9.tar.bz2;
+      sha256 = "06myx7044qqdswxndsmd82fpp670klnizkgzdm194h51h1wyabzw";
     };
     buildInputs = [pkgconfig renderproto libX11 xproto ];
   }) // {inherit renderproto libX11 xproto ;};
@@ -805,11 +818,11 @@ let
   }) // {inherit resourceproto libX11 libXext xextproto xproto ;};
 
   libXt = (mkDerivation "libXt" {
-    name = "libXt-1.1.4";
+    name = "libXt-1.1.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXt-1.1.4.tar.bz2;
-      sha256 = "0myxwbx9ylam5x3ia5b5f4x8azcqdm420h9ad1r4hrgmi2lrffl4";
+      url = mirror://xorg/individual/lib/libXt-1.1.5.tar.bz2;
+      sha256 = "06lz6i7rbrp19kgikpaz4c97fw7n31k2h2aiikczs482g2zbdvj6";
     };
     buildInputs = [pkgconfig libICE kbproto libSM libX11 xproto ];
   }) // {inherit libICE kbproto libSM libX11 xproto ;};
@@ -885,21 +898,21 @@ let
   }) // {inherit dmxproto libX11 libXext xextproto ;};
 
   libfontenc = (mkDerivation "libfontenc" {
-    name = "libfontenc-1.1.2";
+    name = "libfontenc-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libfontenc-1.1.2.tar.bz2;
-      sha256 = "0qign0ivqk166l9yfd51gw9lbhgs718bcrmvc40yicjr6gnyz959";
+      url = mirror://xorg/individual/lib/libfontenc-1.1.3.tar.bz2;
+      sha256 = "08gxmrhgw97mv0pvkfmd46zzxrn6zdw4g27073zl55gwwqq8jn3h";
     };
     buildInputs = [pkgconfig xproto zlib ];
   }) // {inherit xproto zlib ;};
 
   libpciaccess = (mkDerivation "libpciaccess" {
-    name = "libpciaccess-0.13.3";
+    name = "libpciaccess-0.13.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libpciaccess-0.13.3.tar.bz2;
-      sha256 = "1qy2i776jb7912dxqylv59p41sa0hw8lmn7asd3ywvp0wk56rmvc";
+      url = mirror://xorg/individual/lib/libpciaccess-0.13.4.tar.bz2;
+      sha256 = "1krgryi9ngjr66242v0v5mczihgv0y7rrvx0563arr318mjn9y07";
     };
     buildInputs = [pkgconfig zlib ];
   }) // {inherit zlib ;};
@@ -915,21 +928,21 @@ let
   }) // {inherit ;};
 
   libxcb = (mkDerivation "libxcb" {
-    name = "libxcb-1.11";
+    name = "libxcb-1.11.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2;
-      sha256 = "1xqgc81krx14f2c8yl5chzg5g2l26mhm2rwffy8dx7jv0iq5sqq3";
+      url = http://xcb.freedesktop.org/dist/libxcb-1.11.1.tar.bz2;
+      sha256 = "0c4xyvdyx5adh8dzyhnrmvwwz24gri4z1czxmxqm63i0gmngs85p";
     };
     buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
   }) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;};
 
   libxkbfile = (mkDerivation "libxkbfile" {
-    name = "libxkbfile-1.0.8";
+    name = "libxkbfile-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libxkbfile-1.0.8.tar.bz2;
-      sha256 = "0flg5arw6n3njagmsi4i4l0zl5bfx866a1h9ydc3bi1pqlclxaca";
+      url = mirror://xorg/individual/lib/libxkbfile-1.0.9.tar.bz2;
+      sha256 = "0smimr14zvail7ar68n7spvpblpdnih3jxrva7cpa6cn602px0ai";
     };
     buildInputs = [pkgconfig kbproto libX11 ];
   }) // {inherit kbproto libX11 ;};
@@ -1015,11 +1028,11 @@ let
   }) // {inherit libXau ;};
 
   randrproto = (mkDerivation "randrproto" {
-    name = "randrproto-1.4.1";
+    name = "randrproto-1.5.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/randrproto-1.4.1.tar.bz2;
-      sha256 = "1p7155hsp48b0sjm4rc67wz6y1nxqrq69vyw0sjxh8h6pcpcngal";
+      url = mirror://xorg/individual/proto/randrproto-1.5.0.tar.bz2;
+      sha256 = "0s4496z61y5q45q20gldwpf788b9nsa8hb13gnck1mwwwwrmarsc";
     };
     buildInputs = [pkgconfig ];
   }) // {inherit ;};
@@ -1075,31 +1088,31 @@ let
   }) // {inherit xproto ;};
 
   setxkbmap = (mkDerivation "setxkbmap" {
-    name = "setxkbmap-1.3.0";
+    name = "setxkbmap-1.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/setxkbmap-1.3.0.tar.bz2;
-      sha256 = "1inygpvlgc6vr5h9laxw9lnvafnccl3fy0g5n9ll28iq3yfmqc1x";
+      url = mirror://xorg/individual/app/setxkbmap-1.3.1.tar.bz2;
+      sha256 = "1qfk097vjysqb72pq89h0la3462kbb2dh1d11qzs2fr67ybb7pd9";
     };
     buildInputs = [pkgconfig libX11 libxkbfile ];
   }) // {inherit libX11 libxkbfile ;};
 
   smproxy = (mkDerivation "smproxy" {
-    name = "smproxy-1.0.5";
+    name = "smproxy-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/smproxy-1.0.5.tar.bz2;
-      sha256 = "02fn5wa1gs2jap6sr9j9yk6zsvz82j8l61pf74iyqwa99q4wnb67";
+      url = mirror://xorg/individual/app/smproxy-1.0.6.tar.bz2;
+      sha256 = "0rkjyzmsdqmlrkx8gy2j4q6iksk58hcc92xzdprkf8kml9ar3wbc";
     };
     buildInputs = [pkgconfig libICE libSM libXmu libXt ];
   }) // {inherit libICE libSM libXmu libXt ;};
 
   twm = (mkDerivation "twm" {
-    name = "twm-1.0.8";
+    name = "twm-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/twm-1.0.8.tar.bz2;
-      sha256 = "0i1ff8h2gh1ab311da5dlhl0nrma0qbrk403ymzi4cnnacikaq3n";
+      url = mirror://xorg/individual/app/twm-1.0.9.tar.bz2;
+      sha256 = "02iicvhkp3i7q5rliyymiq9bppjr0pzfs6rgb78kppryqdx1cxf5";
     };
     buildInputs = [pkgconfig libICE libSM libX11 libXext libXmu xproto libXt ];
   }) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;};
@@ -1135,14 +1148,14 @@ let
   }) // {inherit ;};
 
   x11perf = (mkDerivation "x11perf" {
-    name = "x11perf-1.5.4";
+    name = "x11perf-1.6.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/x11perf-1.5.4.tar.bz2;
-      sha256 = "111iwpxhnxjiq44w96zf0kszg5zpgv1g3ayx18v4nhdzl9bqivi4";
+      url = mirror://xorg/individual/app/x11perf-1.6.0.tar.bz2;
+      sha256 = "0lb716yfdb8f11h4cz93d1bapqdxf1xplsb21kbp4xclq7g9hw78";
     };
-    buildInputs = [pkgconfig libX11 libXext libXft libXmu libXrender ];
-  }) // {inherit libX11 libXext libXft libXmu libXrender ;};
+    buildInputs = [pkgconfig libX11 libXext libXft libXmu xproto libXrender ];
+  }) // {inherit libX11 libXext libXft libXmu xproto libXrender ;};
 
   xauth = (mkDerivation "xauth" {
     name = "xauth-1.0.9";
@@ -1204,6 +1217,16 @@ let
     buildInputs = [pkgconfig gperf m4 libxcb xcbutilimage xcbutilrenderutil xproto ];
   }) // {inherit gperf m4 libxcb xcbutilimage xcbutilrenderutil xproto ;};
 
+  xcbutilerrors = (mkDerivation "xcbutilerrors" {
+    name = "xcb-util-errors-1.0";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = http://xcb.freedesktop.org/dist/xcb-util-errors-1.0.tar.bz2;
+      sha256 = "158rm913dg3hxrrhyvvxr8bcm0pjy5jws70dhy2s12w1krv829k8";
+    };
+    buildInputs = [pkgconfig gperf m4 libxcb xcbproto xproto ];
+  }) // {inherit gperf m4 libxcb xcbproto xproto ;};
+
   xcbutilimage = (mkDerivation "xcbutilimage" {
     name = "xcb-util-image-0.4.0";
     builder = ./builder.sh;
@@ -1265,15 +1288,25 @@ let
   }) // {inherit ;};
 
   xcmsdb = (mkDerivation "xcmsdb" {
-    name = "xcmsdb-1.0.4";
+    name = "xcmsdb-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xcmsdb-1.0.4.tar.bz2;
-      sha256 = "03ms731l3kvaldq7ycbd30j6134b61i3gbll4b2gl022wyzbjq74";
+      url = mirror://xorg/individual/app/xcmsdb-1.0.5.tar.bz2;
+      sha256 = "1ik7gzlp2igz183x70883000ygp99r20x3aah6xhaslbpdhm6n75";
     };
     buildInputs = [pkgconfig libX11 ];
   }) // {inherit libX11 ;};
 
+  xcompmgr = (mkDerivation "xcompmgr" {
+    name = "xcompmgr-1.1.7";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/app/xcompmgr-1.1.7.tar.bz2;
+      sha256 = "14k89mz13jxgp4h2pz0yq0fbkw1lsfcb3acv8vkknc9i4ld9n168";
+    };
+    buildInputs = [pkgconfig libXcomposite libXdamage libXext libXfixes libXrender ];
+  }) // {inherit libXcomposite libXdamage libXext libXfixes libXrender ;};
+
   xcursorgen = (mkDerivation "xcursorgen" {
     name = "xcursorgen-1.0.6";
     builder = ./builder.sh;
@@ -1305,31 +1338,31 @@ let
   }) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;};
 
   xdpyinfo = (mkDerivation "xdpyinfo" {
-    name = "xdpyinfo-1.3.1";
+    name = "xdpyinfo-1.3.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xdpyinfo-1.3.1.tar.bz2;
-      sha256 = "154b29zlrq33lmni883jgwyrb2kx7z8h52jx1s3ys5x5d582iydf";
+      url = mirror://xorg/individual/app/xdpyinfo-1.3.2.tar.bz2;
+      sha256 = "0ldgrj4w2fa8jng4b3f3biaj0wyn8zvya88pnk70d7k12pcqw8rh";
     };
     buildInputs = [pkgconfig libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ];
   }) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;};
 
   xdriinfo = (mkDerivation "xdriinfo" {
-    name = "xdriinfo-1.0.4";
+    name = "xdriinfo-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xdriinfo-1.0.4.tar.bz2;
-      sha256 = "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim";
+      url = mirror://xorg/individual/app/xdriinfo-1.0.5.tar.bz2;
+      sha256 = "0681d0y8liqakkpz7mmsf689jcxrvs5291r20qi78mc9xxk3gfjc";
     };
     buildInputs = [pkgconfig glproto libX11 ];
   }) // {inherit glproto libX11 ;};
 
   xev = (mkDerivation "xev" {
-    name = "xev-1.2.1";
+    name = "xev-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xev-1.2.1.tar.bz2;
-      sha256 = "0hv296mysglcgkx6lj1wxc23kshb2kix1a8yqppxj5vz16mpzw8i";
+      url = mirror://xorg/individual/app/xev-1.2.2.tar.bz2;
+      sha256 = "0krivhrxpq6719103r541xpi3i3a0y15f7ypc4lnrx8sdhmfcjnr";
     };
     buildInputs = [pkgconfig libX11 xproto libXrandr ];
   }) // {inherit libX11 xproto libXrandr ;};
@@ -1405,21 +1438,21 @@ let
   }) // {inherit inputproto kbproto xorgserver xproto ;};
 
   xf86inputkeyboard = (mkDerivation "xf86inputkeyboard" {
-    name = "xf86-input-keyboard-1.8.0";
+    name = "xf86-input-keyboard-1.8.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2;
-      sha256 = "0nyb61w30z32djrllgr2s1i13di3vsl6hg4pqjhxdal71971ria1";
+      url = mirror://xorg/individual/driver/xf86-input-keyboard-1.8.1.tar.bz2;
+      sha256 = "04d27kwqq03fc26an6051hs3i0bff8albhnngzyd59wxpwwzzj0s";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
   }) // {inherit inputproto xorgserver xproto ;};
 
   xf86inputlibinput = (mkDerivation "xf86inputlibinput" {
-    name = "xf86-input-libinput-0.8.0";
+    name = "xf86-input-libinput-0.12.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-libinput-0.8.0.tar.bz2;
-      sha256 = "0fm4vrkw7azipbnwvc2l18g65z77pllsznaajd8q3zpg9ycb0li1";
+      url = mirror://xorg/individual/driver/xf86-input-libinput-0.12.0.tar.bz2;
+      sha256 = "1mi6m1a32xc43na46amfqz0025952whiy3w4wz0wx0d34jf933yv";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
   }) // {inherit inputproto xorgserver xproto ;};
@@ -1445,21 +1478,21 @@ let
   }) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;};
 
   xf86inputvmmouse = (mkDerivation "xf86inputvmmouse" {
-    name = "xf86-input-vmmouse-13.0.0";
+    name = "xf86-input-vmmouse-13.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2;
-      sha256 = "0b31ap9wp7nwpnihz8m7bz3p0hhaipxxhl652nw4v380cq1vdkq4";
+      url = mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2;
+      sha256 = "06ckn4hlkpig5vnivl0zj8a7ykcgvrsj8b3iccl1pgn1gaamix8a";
     };
-    buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ];
-  }) // {inherit inputproto randrproto xorgserver xproto ;};
+    buildInputs = [pkgconfig inputproto udev randrproto xorgserver xproto ];
+  }) // {inherit inputproto udev randrproto xorgserver xproto ;};
 
   xf86inputvoid = (mkDerivation "xf86inputvoid" {
-    name = "xf86-input-void-1.4.0";
+    name = "xf86-input-void-1.4.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-void-1.4.0.tar.bz2;
-      sha256 = "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a";
+      url = mirror://xorg/individual/driver/xf86-input-void-1.4.1.tar.bz2;
+      sha256 = "171k8b8s42s3w73l7ln9jqwk88w4l7r1km2blx1vy898c854yvpr";
     };
     buildInputs = [pkgconfig xorgserver xproto ];
   }) // {inherit xorgserver xproto ;};
@@ -1505,11 +1538,11 @@ let
   }) // {inherit fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
   xf86videocirrus = (mkDerivation "xf86videocirrus" {
-    name = "xf86-video-cirrus-1.5.2";
+    name = "xf86-video-cirrus-1.5.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2;
-      sha256 = "1mycqgjp18b6adqj2h90vp324xh8ysyi5migfmjc914vbnkf2q9k";
+      url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.3.tar.bz2;
+      sha256 = "1asifc6ld2g9kap15vfhvsvyl69lj7pw3d9ra9mi4najllh7pj7d";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
@@ -1535,11 +1568,11 @@ let
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;};
 
   xf86videogeode = (mkDerivation "xf86videogeode" {
-    name = "xf86-video-geode-2.11.16";
+    name = "xf86-video-geode-2.11.17";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2;
-      sha256 = "19y13xl7yfrgyis92rmxi0ld95ajgr5il0n9j1dridwzw9aizz1q";
+      url = mirror://xorg/individual/driver/xf86-video-geode-2.11.17.tar.bz2;
+      sha256 = "0h9w6cfj7s86rg72c6qci8f733hg4g7paan5fwmmj7p74ckd9d07";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
@@ -1585,21 +1618,21 @@ let
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
   xf86videointel = (mkDerivation "xf86videointel" {
-    name = "xf86-video-intel-2.99.917";
+    name = "xf86-video-intel-2015-07-22";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2;
-      sha256 = "1jb7jspmzidfixbc0gghyjmnmpqv85i7pi13l4h2hn2ml3p83dq0";
+      url = http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/a29e765ec0c1d73ee7ef2dad3aa148214ec04335.tar.gz;
+      sha256 = "094qa8x0f7vgyirjbj9qdyak71nwxnmmsxml4zk49z59blq4l874";
     };
     buildInputs = [pkgconfig dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ];
   }) // {inherit dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ;};
 
   xf86videomach64 = (mkDerivation "xf86videomach64" {
-    name = "xf86-video-mach64-6.9.4";
+    name = "xf86-video-mach64-6.9.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2;
-      sha256 = "0pl582vnc6hdxqhf5c0qdyanjqxb4crnhqlmxxml5a60syw0iwcp";
+      url = mirror://xorg/individual/driver/xf86-video-mach64-6.9.5.tar.bz2;
+      sha256 = "07xlf5nsjm0x18ij5gyy4lf8hwpl10i8chi3skpqjh84drdri61y";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
@@ -1625,11 +1658,11 @@ let
   }) // {inherit fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ;};
 
   xf86videoneomagic = (mkDerivation "xf86videoneomagic" {
-    name = "xf86-video-neomagic-1.2.8";
+    name = "xf86-video-neomagic-1.2.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2;
-      sha256 = "0x48sxs1p3kmwk3pq1j7vl93y59gdmgkq1x5xbnh0yal0angdash";
+      url = mirror://xorg/individual/driver/xf86-video-neomagic-1.2.9.tar.bz2;
+      sha256 = "1whb2kgyqaxdjim27ya404acz50izgmafwnb6y9m89q5n6b97y3j";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess xorgserver xproto ];
   }) // {inherit fontsproto libpciaccess xorgserver xproto ;};
@@ -1685,31 +1718,31 @@ let
   }) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;};
 
   xf86videor128 = (mkDerivation "xf86videor128" {
-    name = "xf86-video-r128-6.9.2";
+    name = "xf86-video-r128-6.10.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-r128-6.9.2.tar.bz2;
-      sha256 = "1q3fsc603k2yinphx5rrcl5356qkpywwz8axlw277l2231gjjbcb";
+      url = mirror://xorg/individual/driver/xf86-video-r128-6.10.0.tar.bz2;
+      sha256 = "0g9m1n5184h05mq14vb6k288zm6g81a9m048id00l8v8f6h33mc0";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ];
   }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;};
 
   xf86videosavage = (mkDerivation "xf86videosavage" {
-    name = "xf86-video-savage-2.3.7";
+    name = "xf86-video-savage-2.3.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-savage-2.3.7.tar.bz2;
-      sha256 = "0i2aqp68rfkrz9c1p6d7ny9x7bjrlnby7q56zf01fb12r42l4784";
+      url = mirror://xorg/individual/driver/xf86-video-savage-2.3.8.tar.bz2;
+      sha256 = "0qzshncynjdmyhavhqw4x5ha3gwbygi0zbsy158fpg1jcnla9kpx";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
   xf86videosiliconmotion = (mkDerivation "xf86videosiliconmotion" {
-    name = "xf86-video-siliconmotion-1.7.7";
+    name = "xf86-video-siliconmotion-1.7.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.7.tar.bz2;
-      sha256 = "1an321kqvsxq0z35acwl99lc8hpdkayw0q180744ypcl8ffvbf47";
+      url = mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.8.tar.bz2;
+      sha256 = "1sqv0y31mi4zmh9yaxqpzg7p8y2z01j6qys433hb8n4yznllkm79";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess videoproto xextproto xorgserver xproto ];
   }) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;};
@@ -1785,11 +1818,11 @@ let
   }) // {inherit randrproto videoproto xorgserver xproto ;};
 
   xf86videovesa = (mkDerivation "xf86videovesa" {
-    name = "xf86-video-vesa-2.3.3";
+    name = "xf86-video-vesa-2.3.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-vesa-2.3.3.tar.bz2;
-      sha256 = "1y5fsg0c4bgmh1cfsbnaaf388fppyy02i7mcy9vax78flkjpb2yf";
+      url = mirror://xorg/individual/driver/xf86-video-vesa-2.3.4.tar.bz2;
+      sha256 = "1haiw8r1z8ihk68d0jqph2wsld13w4qkl86biq46fvyxg7cg9pbv";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
   }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
@@ -1845,21 +1878,31 @@ let
   }) // {inherit libXfont xproto xtrans ;};
 
   xgamma = (mkDerivation "xgamma" {
-    name = "xgamma-1.0.5";
+    name = "xgamma-1.0.6";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/app/xgamma-1.0.6.tar.bz2;
+      sha256 = "1lr2nb1fhg5fk2fchqxdxyl739602ggwhmgl2wiv5c8qbidw7w8f";
+    };
+    buildInputs = [pkgconfig libX11 xproto libXxf86vm ];
+  }) // {inherit libX11 xproto libXxf86vm ;};
+
+  xgc = (mkDerivation "xgc" {
+    name = "xgc-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xgamma-1.0.5.tar.bz2;
-      sha256 = "0463sawps86jnxn121ramsz4sicy3az5wa5wsq4rqm8dm3za48p3";
+      url = mirror://xorg/individual/app/xgc-1.0.5.tar.bz2;
+      sha256 = "0pigvjd3i9fchmj1inqy151aafz3dr0vq1h2zizdb2imvadqv0hl";
     };
-    buildInputs = [pkgconfig libX11 libXxf86vm ];
-  }) // {inherit libX11 libXxf86vm ;};
+    buildInputs = [pkgconfig libXaw libXt ];
+  }) // {inherit libXaw libXt ;};
 
   xhost = (mkDerivation "xhost" {
-    name = "xhost-1.0.6";
+    name = "xhost-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xhost-1.0.6.tar.bz2;
-      sha256 = "1hlxm0is9nks1cx033s1733kkib9ivx2bxa3pb9yayqavwibkxd6";
+      url = mirror://xorg/individual/app/xhost-1.0.7.tar.bz2;
+      sha256 = "16n26xw6l01zq31d4qvsaz50misvizhn7iihzdn5f7s72pp1krlk";
     };
     buildInputs = [pkgconfig libX11 libXau libXmu xproto ];
   }) // {inherit libX11 libXau libXmu xproto ;};
@@ -1905,24 +1948,24 @@ let
   }) // {inherit libX11 libxkbfile xproto ;};
 
   xkbevd = (mkDerivation "xkbevd" {
-    name = "xkbevd-1.1.3";
+    name = "xkbevd-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xkbevd-1.1.3.tar.bz2;
-      sha256 = "05h1xcnbalndbrryyqs8wzy9h3wz655vc0ymhlk2q4aik17licjm";
+      url = mirror://xorg/individual/app/xkbevd-1.1.4.tar.bz2;
+      sha256 = "0sprjx8i86ljk0l7ldzbz2xlk8916z5zh78cafjv8k1a63js4c14";
     };
     buildInputs = [pkgconfig libX11 libxkbfile ];
   }) // {inherit libX11 libxkbfile ;};
 
   xkbprint = (mkDerivation "xkbprint" {
-    name = "xkbprint-1.0.3";
+    name = "xkbprint-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xkbprint-1.0.3.tar.bz2;
-      sha256 = "1h4jb3gjrbjp79h5gcgkjvdxykcy2bmq03smpls820c8wnw6v17s";
+      url = mirror://xorg/individual/app/xkbprint-1.0.4.tar.bz2;
+      sha256 = "04iyv5z8aqhabv7wcpvbvq0ji0jrz1666vw6gvxkvl7szswalgqb";
     };
-    buildInputs = [pkgconfig libX11 libxkbfile ];
-  }) // {inherit libX11 libxkbfile ;};
+    buildInputs = [pkgconfig libX11 libxkbfile xproto ];
+  }) // {inherit libX11 libxkbfile xproto ;};
 
   xkbutils = (mkDerivation "xkbutils" {
     name = "xkbutils-1.0.4";
@@ -1935,11 +1978,11 @@ let
   }) // {inherit inputproto libX11 libXaw xproto libXt ;};
 
   xkeyboardconfig = (mkDerivation "xkeyboardconfig" {
-    name = "xkeyboard-config-2.11";
+    name = "xkeyboard-config-2.15";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.11.tar.bz2;
-      sha256 = "0xkdyyi759hzls42hp4j3q2lc35n4j6b2g44ilx5qarci5h584p7";
+      url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.15.tar.bz2;
+      sha256 = "1grqdy5a9f2dii3y24fn0p3kz4q5g9j2kh3jcj2402rgrbvkqi0f";
     };
     buildInputs = [pkgconfig libX11 xproto ];
   }) // {inherit libX11 xproto ;};
@@ -1955,11 +1998,11 @@ let
   }) // {inherit libX11 libXmu xproto ;};
 
   xlsatoms = (mkDerivation "xlsatoms" {
-    name = "xlsatoms-1.1.1";
+    name = "xlsatoms-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2;
-      sha256 = "1y9nfl8s7njxbnci8c20j986xixharasgg40vdw92y593j6dk2rv";
+      url = mirror://xorg/individual/app/xlsatoms-1.1.2.tar.bz2;
+      sha256 = "196yjik910xsr7dwy8daa0amr0r22ynfs360z0ndp9mx7mydrra7";
     };
     buildInputs = [pkgconfig libxcb ];
   }) // {inherit libxcb ;};
@@ -1974,6 +2017,26 @@ let
     buildInputs = [pkgconfig libxcb ];
   }) // {inherit libxcb ;};
 
+  xlsfonts = (mkDerivation "xlsfonts" {
+    name = "xlsfonts-1.0.5";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/app/xlsfonts-1.0.5.tar.bz2;
+      sha256 = "1yi774g6r1kafsbnxbkrwyndd3i60362ck1fps9ywz076pn5naa0";
+    };
+    buildInputs = [pkgconfig libX11 xproto ];
+  }) // {inherit libX11 xproto ;};
+
+  xmag = (mkDerivation "xmag" {
+    name = "xmag-1.0.6";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/app/xmag-1.0.6.tar.bz2;
+      sha256 = "0qg12ifbbk9n8fh4jmyb625cknn8ssj86chd6zwdiqjin8ivr8l7";
+    };
+    buildInputs = [pkgconfig libX11 libXaw libXmu libXt ];
+  }) // {inherit libX11 libXaw libXmu libXt ;};
+
   xmessage = (mkDerivation "xmessage" {
     name = "xmessage-1.0.4";
     builder = ./builder.sh;
@@ -1985,11 +2048,11 @@ let
   }) // {inherit libXaw libXt ;};
 
   xmodmap = (mkDerivation "xmodmap" {
-    name = "xmodmap-1.0.8";
+    name = "xmodmap-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xmodmap-1.0.8.tar.bz2;
-      sha256 = "1hwzm54m4ng09ls9i4bq0x84zbyhamgzasgrvhxxp8jqk34f7qpg";
+      url = mirror://xorg/individual/app/xmodmap-1.0.9.tar.bz2;
+      sha256 = "0y649an3jqfq9klkp9y5gj20xb78fw6g193f5mnzpl0hbz6fbc5p";
     };
     buildInputs = [pkgconfig libX11 xproto ];
   }) // {inherit libX11 xproto ;};
@@ -2005,24 +2068,24 @@ let
   }) // {inherit ;};
 
   xorgdocs = (mkDerivation "xorgdocs" {
-    name = "xorg-docs-1.7";
+    name = "xorg-docs-1.7.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2;
-      sha256 = "0prphdba6kgr1bxk7r07wxxx6x6pqjw6prr5qclypsb5sf5r3cdr";
+      url = mirror://xorg/individual/doc/xorg-docs-1.7.1.tar.bz2;
+      sha256 = "0jrc4jmb4raqawx0j9jmhgasr0k6sxv0bm2hrxjh9hb26iy6gf14";
     };
     buildInputs = [pkgconfig ];
   }) // {inherit ;};
 
   xorgserver = (mkDerivation "xorgserver" {
-    name = "xorg-server-1.16.4";
+    name = "xorg-server-1.17.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xserver/xorg-server-1.16.4.tar.bz2;
-      sha256 = "0wf8xykcjhvpk9ppjcixvf60p6kkyrpmfj0z29d93a8kjb6f3dmb";
+      url = mirror://xorg/individual/xserver/xorg-server-1.17.2.tar.bz2;
+      sha256 = "14vr4mm0x94a9bd3sfx9mdh8qhvk48zcml3i8q1wbwi84xhj04gn";
     };
-    buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ];
-  }) // {inherit dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ;};
+    buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt xcbutilrenderutil];
+  }) // {inherit dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt xcbutilrenderutil;};
 
   # TODO:
   # With the current state of ./generate-expr-from-tarballs.pl,
@@ -2070,11 +2133,11 @@ let
   }) // {inherit libX11 xproto ;};
 
   xproto = (mkDerivation "xproto" {
-    name = "xproto-7.0.27";
+    name = "xproto-7.0.28";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/xproto-7.0.27.tar.bz2;
-      sha256 = "030ix881p0crnd4bc01nz6cs0afmfv6ivsyyhf0h1j1mnak26vr4";
+      url = mirror://xorg/individual/proto/xproto-7.0.28.tar.bz2;
+      sha256 = "1jpnvm33vi2dar5y5zgz7jjh0m8fpkcxm0f0lbwfx37ns5l5bs19";
     };
     buildInputs = [pkgconfig ];
   }) // {inherit ;};
@@ -2140,11 +2203,11 @@ let
   }) // {inherit ;};
 
   xvinfo = (mkDerivation "xvinfo" {
-    name = "xvinfo-1.1.2";
+    name = "xvinfo-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xvinfo-1.1.2.tar.bz2;
-      sha256 = "1qsh7fszi727l3vwlaf9pb7bpikdv15smrx5qhlgg3kqzl7xklzf";
+      url = mirror://xorg/individual/app/xvinfo-1.1.3.tar.bz2;
+      sha256 = "1sz5wqhxd1fqsfi1w5advdlwzkizf2fgl12hdpk66f7mv9l8pflz";
     };
     buildInputs = [pkgconfig libX11 xproto libXv ];
   }) // {inherit libX11 xproto libXv ;};
diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list
index f0bf8bf73782..80b5e14d8c3b 100644
--- a/pkgs/servers/x11/xorg/extra.list
+++ b/pkgs/servers/x11/xorg/extra.list
@@ -1,5 +1,5 @@
 http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2
-http://xcb.freedesktop.org/dist/libxcb-1.11.tar.bz2
+http://xcb.freedesktop.org/dist/libxcb-1.11.1.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.2.tar.bz2
@@ -7,3 +7,4 @@ http://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2
+http://xcb.freedesktop.org/dist/xcb-util-errors-1.0.tar.bz2
diff --git a/pkgs/servers/x11/xorg/fix-clang.patch b/pkgs/servers/x11/xorg/fix-clang.patch
deleted file mode 100644
index 6b51ebfe3d32..000000000000
--- a/pkgs/servers/x11/xorg/fix-clang.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xorgserver/hw/xfree86/common/compiler.h	2014-10-29 23:43:33.000000000 -0700
-+++ xorgserver/hw/xfree86/common/compiler.h.new	2014-10-29 23:47:30.000000000 -0700
-@@ -1352,7 +1352,7 @@
- 
- #if !defined(__SUNPRO_C)
- #if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__)
--#ifdef GCCUSESGAS
-+#if defined(GCCUSESGAS) || defined(__clang__)
- 
- /*
-  * If gcc uses gas rather than the native assembler, the syntax of these
diff --git a/pkgs/servers/x11/xorg/fix_segfault.patch b/pkgs/servers/x11/xorg/fix_segfault.patch
new file mode 100644
index 000000000000..b3a7d2ed5e00
--- /dev/null
+++ b/pkgs/servers/x11/xorg/fix_segfault.patch
@@ -0,0 +1,63 @@
+From 7cc7ffd25d5e50b54cb942d07d4cb160f20ff9c5 Mon Sep 17 00:00:00 2001
+From: Martin Peres <martin.peres@linux.intel.com>
+Date: Fri, 17 Jul 2015 17:21:26 +0300
+Subject: [PATCH] os: make sure the clientsWritable fd_set is initialized
+ before use
+
+In WaitForSomething(), the fd_set clientsWritable may be used unitialized when
+the boolean AnyClientsWriteBlocked is set in the WakeupHandler(). This leads to
+a crash in FlushAllOutput() after x11proto's commit
+2c94cdb453bc641246cc8b9a876da9799bee1ce7.
+
+The problem did not manifest before because both the XFD_SIZE and the maximum
+number of clients were set to 256. As the connectionTranslation table was
+initalized for the 256 clients to 0, the test on the index not being 0 was
+aborting before dereferencing the client #0.
+
+As of commit 2c94cdb453bc641246cc8b9a876da9799bee1ce7 in x11proto, the XFD_SIZE
+got bumped to 512. This lead the OutputPending fd_set to have any fd above 256
+to be uninitialized which in turns lead to reading an index after the end of
+the ConnectionTranslation table. This index would then be used to find the
+client corresponding to the fd marked as pending writes and would also result
+to an out-of-bound access which would usually be the fatal one.
+
+Fix this by zeroing the clientsWritable fd_set at the beginning of
+WaitForSomething(). In this case, the bottom part of the loop, which would
+indirectly call FlushAllOutput, will not do any work but the next call to
+select will result in the execution of the right codepath. This is exactly what
+we want because we need to know the writable clients before handling them. In
+the end, it also makes sure that the fds above MaxClient are initialized,
+preventing the crash in FlushAllOutput().
+
+Thanks to everyone involved in tracking this one down!
+
+Reported-by: Karol Herbst <freedesktop@karolherbst.de>
+Reported-by: Tobias Klausmann <tobias.klausmann@mni.thm.de>
+Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
+Tested-by: Martin Peres <martin.peres@linux.intel.com>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91316
+Cc: Ilia Mirkin  <imirkin@alum.mit.edu>
+Cc: Martin Peres <martin.peres@linux.intel.com>
+Cc: Olivier Fourdan <ofourdan@redhat.com
+Cc: Adam Jackson <ajax@redhat.com>
+Cc: Alan Coopersmith <alan.coopersmith@oracle.com
+Cc: Chris Wilson <chris@chris-wilson.co.uk>
+---
+ os/WaitFor.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/os/WaitFor.c b/os/WaitFor.c
+index 431f1a6..993c14e 100644
+--- a/os/WaitFor.c
++++ b/os/WaitFor.c
+@@ -158,6 +158,7 @@ WaitForSomething(int *pClientsReady)
+     Bool someReady = FALSE;
+ 
+     FD_ZERO(&clientsReadable);
++    FD_ZERO(&clientsWritable);
+ 
+     if (nready)
+         SmartScheduleStopTimer();
+-- 
+2.4.5
+
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 7b2c20e05eb6..1e0ce6d6167e 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -229,7 +229,10 @@ open OUT, ">default.nix";
 print OUT "";
 print OUT <<EOF;
 # THIS IS A GENERATED FILE.  DO NOT EDIT!
-args: with args;
+args @ { clangStdenv, fetchurl, fetchgit, fetchpatch, stdenv, pkgconfig, intltool, freetype, fontconfig
+, libxslt, expat, libpng, zlib, perl, mesa_drivers, spice_protocol
+, dbus, libuuid, openssl, gperf, m4, libevdev, tradcpp, libinput, mcpp, makeWrapper, autoreconfHook
+, autoconf, automake, libtool, xmlto, asciidoc, flex, bison, python, mtdev, pixman, ... }: with args;
 
 let
 
diff --git a/pkgs/servers/x11/xorg/libpciaccess-apple.patch b/pkgs/servers/x11/xorg/libpciaccess-apple.patch
deleted file mode 100644
index a005c03cbbe4..000000000000
--- a/pkgs/servers/x11/xorg/libpciaccess-apple.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -Naur libpciaccess-0.12.1-orig/src/common_interface.c libpciaccess-0.12.1/src/common_interface.c
---- libpciaccess-0.12.1-orig/src/common_interface.c	2010-07-12 00:32:05.000000000 -0400
-+++ libpciaccess-0.12.1/src/common_interface.c	2011-08-29 00:48:17.000000000 -0400
-@@ -67,6 +67,22 @@
- # define HTOLE_32(x)   (x)
- #endif /* Solaris */
- 
-+#elif defined(__APPLE__)
-+
-+#include <architecture/byte_order.h>
-+
-+#if __BYTE_ORDER == __BIG_ENDIAN
-+# define LETOH_16(x)   OSSwapInt16(x)
-+# define HTOLE_16(x)   OSSwapInt16(x)
-+# define LETOH_32(x)   OSSwapInt32(x)
-+# define HTOLE_32(x)   OSSwapInt32(x)
-+#else
-+# define LETOH_16(x)   (x)
-+# define HTOLE_16(x)   (x)
-+# define LETOH_32(x)   (x)
-+# define HTOLE_32(x)   (x)
-+#endif /* darwin */
-+
- #else
- 
- #include <sys/endian.h>
diff --git a/pkgs/servers/x11/xorg/libxkbfile-clang36.patch b/pkgs/servers/x11/xorg/libxkbfile-clang36.patch
deleted file mode 100644
index 65bf2ea7437e..000000000000
--- a/pkgs/servers/x11/xorg/libxkbfile-clang36.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libxkbfile-1.0.8/src/cout.c	2012-03-07 20:37:23.000000000 -0800
-+++ libxkbfile-1.0.8/src/cout.c	2015-03-24 20:51:11.000000000 -0700
-@@ -45,7 +45,7 @@
- {
- register int i,nOut;
- 
--    if ((!xkb)||(!xkb->names)||(!xkb->names->vmods))
-+    if ((!xkb)||(!xkb->names))
- 	return False;
-     for (i=nOut=0;i<XkbNumVirtualMods;i++) {
- 	if (xkb->names->vmods[i]!=None) {
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index b78231290433..54ec5c8e116d 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -72,7 +72,7 @@ in
 
   libxcb = attrs : attrs // {
     nativeBuildInputs = [ args.python ];
-    configureFlags = "--enable-xkb";
+    configureFlags = "--enable-xkb --enable-xinput";
     outputs = [ "dev" "out" "doc" "man" ];
   };
 
@@ -80,14 +80,6 @@ in
     nativeBuildInputs = [ args.python ];
   };
 
-  libxkbfile = attrs: attrs // {
-    patches = lib.optional (stdenv.cc.cc.isClang or false) ./libxkbfile-clang36.patch;
-  };
-
-  libpciaccess = attrs : attrs // {
-    patches = [ ./libpciaccess-apple.patch ];
-  };
-
   libX11 = attrs: attrs // {
     outputs = [ "dev" "out" "man" ];
     preConfigure = setMalloc0ReturnsNullCrossCompiling + ''
@@ -99,6 +91,11 @@ in
         rm -rf $out/share/doc
       '';
     CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -";
+    outputs = [ "out" "man" ];
+  };
+
+  libAppleWM = attrs: attrs // {
+    propagatedBuildInputs = [ args.apple_sdk.frameworks.ApplicationServices ];
   };
 
   libXau = attrs: attrs // {
@@ -117,7 +114,6 @@ in
     ];
   };
 
-
   libXxf86vm = attrs: attrs // {
     outputs = [ "dev" "out" "man" ];
     preConfigure = setMalloc0ReturnsNullCrossCompiling;
@@ -132,6 +128,7 @@ in
     '';
     propagatedBuildInputs = [ xorg.libSM ];
     CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -";
+    outputs = [ "out" "doc" "man" ];
   };
 
   # See https://bugs.freedesktop.org/show_bug.cgi?id=47792
@@ -210,6 +207,9 @@ in
     patchPhase = "sed -i '/USE_GETTEXT_TRUE/d' sxpm/Makefile.in cxpm/Makefile.in";
   };
 
+  libXpresent = attrs: attrs
+    // { buildInputs = with xorg; attrs.buildInputs ++ [ libXext libXfixes libXrandr ]; };
+
   setxkbmap = attrs: attrs // {
     postInstall =
       ''
@@ -260,11 +260,6 @@ in
       "--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d"
       "--with-udev-rules-dir=$(out)/lib/udev/rules.d"
     ];
-    patches = [( args.fetchpatch {
-      url = "http://cgit.freedesktop.org/xorg/driver/xf86-input-vmmouse/patch/"
-        + "?id=1cbbc03c4b37d57760c57bd2e0b0f89d744a5795";
-      sha256 = "1qkhwj2yal0cz15lv9557d10ylvxlq05ibq43pm2rrvqdg3mb6h4";
-    })];
   };
 
   xf86videoati = attrs: attrs // {
@@ -295,15 +290,14 @@ in
   };
 
   xkbcomp = attrs: attrs // {
-    configureFlags = "--with-xkb-config-root=${xorg.xkeyboardconfig}/share/X11/xkb"; 
+    configureFlags = "--with-xkb-config-root=${xorg.xkeyboardconfig}/share/X11/xkb";
   };
 
   xkeyboardconfig = attrs: attrs // {
 
     buildInputs = attrs.buildInputs ++ [args.intltool];
 
-    #TODO: resurrect patches for US_intl?
-    patches = [ ./xkeyboard-config-eo.patch ];
+    #TODO: resurrect patches for US_intl or Esperanto?
 
     # 1: compatibility for X11/xkb location
     # 2: I think pkgconfig/ is supposed to be in /lib/
@@ -325,15 +319,14 @@ in
         dmxproto /*libdmx not used*/ xf86vidmodeproto
         recordproto libXext pixman libXfont
         damageproto xcmiscproto  bigreqsproto
-        libpciaccess inputproto xextproto randrproto renderproto presentproto
+        inputproto xextproto randrproto renderproto presentproto
         dri2proto dri3proto kbproto xineramaproto resourceproto scrnsaverproto videoproto
       ];
-      commonPatches = [ ./xorgserver-xkbcomp-path.patch ]
-                   ++ lib.optional isDarwin ./fix-clang.patch;
+      # fix_segfault: https://bugs.freedesktop.org/show_bug.cgi?id=91316
+      commonPatches = [ ./xorgserver-xkbcomp-path.patch ./fix_segfault.patch ];
       # XQuartz requires two compilations: the first to get X / XQuartz,
       # and the second to get Xvfb, Xnest, etc.
       darwinOtherX = overrideDerivation xorgserver (oldAttrs: {
-        stdenv = args.stdenv;
         configureFlags = oldAttrs.configureFlags ++ [
           "--disable-xquartz"
           "--enable-xorg"
@@ -347,7 +340,7 @@ in
       if (!isDarwin)
       then {
         buildInputs = [ makeWrapper ] ++ commonBuildInputs;
-        propagatedBuildInputs = commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
+        propagatedBuildInputs = [ libpciaccess ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
           args.udev
         ];
         patches = commonPatches;
@@ -367,23 +360,21 @@ in
         '';
         passthru.version = version; # needed by virtualbox guest additions
       } else {
-        stdenv = args.clangStdenv;
-        name = "xorg-server-1.14.6";
-        src = args.fetchurl {
-          url = mirror://xorg/individual/xserver/xorg-server-1.14.6.tar.bz2;
-          sha256 = "0c57vp1z0p38dj5gfipkmlw6bvbz1mrr0sb3sbghdxxdyq4kzcz8";
-        };
-        buildInputs = commonBuildInputs ++ [ args.bootstrap_cmds ];
+        buildInputs = commonBuildInputs ++ [
+          args.bootstrap_cmds args.automake args.autoconf
+        ];
         propagatedBuildInputs = commonPropagatedBuildInputs ++ [
           libAppleWM applewmproto
         ];
+        # Patches can be pulled from the server-*-apple branches of:
+        # http://cgit.freedesktop.org/~jeremyhu/xserver/
         patches = commonPatches ++ [
-          ./darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch
-          ./darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
-          ./darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
-          ./darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
-          ./darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
-          ./darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch
+          ./darwin/0001-XQuartz-GLX-Use-__glXEnableExtension-to-build-extens.patch
+          ./darwin/0002-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
+          ./darwin/0003-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
+          ./darwin/0004-Use-old-miTrapezoids-and-miTriangles-routines.patch
+          ./darwin/0005-fb-Revert-fb-changes-that-broke-XQuartz.patch
+          ./darwin/0006-fb-Revert-fb-changes-that-broke-XQuartz.patch
           ./darwin/private-extern.patch
           ./darwin/bundle_main.patch
           ./darwin/stub.patch
@@ -398,6 +389,9 @@ in
           "--with-bundle-id-prefix=org.nixos.xquartz"
           "--with-sha1=CommonCrypto"
         ];
+        __impureHostDeps = ["/System/Library" "/usr"];
+        NIX_CFLAGS_COMPILE = "-F/System/Library/Frameworks -I/usr/include";
+        NIX_CFLAGS_LINK = "-L/usr/lib";
         preConfigure = ''
           ensureDir $out/Applications
           export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error"
@@ -454,9 +448,27 @@ in
 
   xf86videointel = attrs: attrs // {
     buildInputs = attrs.buildInputs ++ [xorg.libXfixes];
+    nativeBuildInputs = [args.autoreconfHook xorg.utilmacros];
   };
 
   xwd = attrs: attrs // {
     buildInputs = with xorg; attrs.buildInputs ++ [libXt libxkbfile];
   };
+
+  kbproto = attrs: attrs // {
+    outputs = [ "out" "doc" ];
+  };
+
+  xextproto = attrs: attrs // {
+    outputs = [ "out" "doc" ];
+  };
+
+  xproto = attrs: attrs // {
+    outputs = [ "out" "doc" ];
+  };
+
+  xrdb = attrs: attrs // {
+    configureFlags = "--with-cpp=${args.mcpp}/bin/mcpp";
+  };
+
 }
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index f02dd1e89f03..67e125528c95 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -49,19 +49,19 @@ mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-1.0.4.tar.bz2
 mirror://xorg/individual/proto/glproto-1.4.17.tar.bz2
 mirror://xorg/individual/app/iceauth-1.0.7.tar.bz2
 mirror://xorg/individual/proto/inputproto-2.3.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/kbproto-1.0.6.tar.bz2
+mirror://xorg/individual/proto/kbproto-1.0.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libAppleWM-1.4.1.tar.bz2
 mirror://xorg/individual/lib/libdmx-1.1.3.tar.bz2
 mirror://xorg/individual/lib/libxshmfence-1.2.tar.bz2
-mirror://xorg/individual/lib/libfontenc-1.1.2.tar.bz2
-mirror://xorg/individual/lib/libFS-1.0.6.tar.bz2
+mirror://xorg/individual/lib/libfontenc-1.1.3.tar.bz2
+mirror://xorg/individual/lib/libFS-1.0.7.tar.bz2
 mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2
-mirror://xorg/individual/lib/libpciaccess-0.13.3.tar.bz2
+mirror://xorg/individual/lib/libpciaccess-0.13.4.tar.bz2
 mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2
 mirror://xorg/individual/lib/libX11-1.6.3.tar.bz2
 mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2
-mirror://xorg/individual/lib/libXaw-1.0.12.tar.bz2
+mirror://xorg/individual/lib/libXaw-1.0.13.tar.bz2
 mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2
 mirror://xorg/individual/lib/libXcursor-1.1.14.tar.bz2
 mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2
@@ -70,16 +70,17 @@ mirror://xorg/individual/lib/libXext-1.3.3.tar.bz2
 mirror://xorg/individual/lib/libXfixes-5.0.1.tar.bz2
 mirror://xorg/individual/lib/libXfont-1.5.1.tar.bz2
 mirror://xorg/individual/lib/libXft-2.3.2.tar.bz2
-mirror://xorg/individual/lib/libXi-1.7.4.tar.bz2
+mirror://xorg/individual/lib/libXi-1.7.5.tar.bz2
 mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libxkbfile-1.0.8.tar.bz2
+mirror://xorg/individual/lib/libxkbfile-1.0.9.tar.bz2
 mirror://xorg/individual/lib/libXmu-1.1.2.tar.bz2
 mirror://xorg/individual/lib/libXpm-3.5.11.tar.bz2
-mirror://xorg/individual/lib/libXrandr-1.4.2.tar.bz2
-mirror://xorg/individual/lib/libXrender-0.9.8.tar.bz2
+mirror://xorg/individual/lib/libXpresent-1.0.0.tar.bz2
+mirror://xorg/individual/lib/libXrandr-1.5.0.tar.bz2
+mirror://xorg/individual/lib/libXrender-0.9.9.tar.bz2
 mirror://xorg/individual/lib/libXres-1.0.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2
-mirror://xorg/individual/lib/libXt-1.1.4.tar.bz2
+mirror://xorg/individual/lib/libXt-1.1.5.tar.bz2
 mirror://xorg/individual/lib/libXtst-1.2.2.tar.bz2
 mirror://xorg/individual/lib/libXv-1.0.10.tar.bz2
 mirror://xorg/individual/lib/libXvMC-1.0.9.tar.bz2
@@ -89,65 +90,67 @@ mirror://xorg/X11R7.7/src/everything/luit-1.1.1.tar.bz2
 mirror://xorg/individual/util/makedepend-1.0.5.tar.bz2
 mirror://xorg/X11R7.7/src/everything/mkfontdir-1.0.7.tar.bz2
 mirror://xorg/individual/app/mkfontscale-1.1.2.tar.bz2
-mirror://xorg/individual/proto/randrproto-1.4.1.tar.bz2
+mirror://xorg/individual/proto/randrproto-1.5.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2
 mirror://xorg/individual/app/sessreg-1.1.0.tar.bz2
-mirror://xorg/X11R7.7/src/everything/setxkbmap-1.3.0.tar.bz2
-mirror://xorg/X11R7.7/src/everything/smproxy-1.0.5.tar.bz2
+mirror://xorg/individual/app/setxkbmap-1.3.1.tar.bz2
+mirror://xorg/individual/app/smproxy-1.0.6.tar.bz2
+mirror://xorg/individual/app/twm-1.0.9.tar.bz2
 mirror://xorg/individual/util/util-macros-1.19.0.tar.bz2
 mirror://xorg/individual/proto/videoproto-2.3.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/windowswmproto-1.0.4.tar.bz2
-mirror://xorg/X11R7.7/src/everything/x11perf-1.5.4.tar.bz2
+mirror://xorg/individual/app/x11perf-1.6.0.tar.bz2
 mirror://xorg/individual/app/xauth-1.0.9.tar.bz2
 mirror://xorg/individual/app/xbacklight-1.2.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xbitmaps-1.1.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xcmiscproto-1.2.2.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xcmsdb-1.0.4.tar.bz2
+mirror://xorg/individual/app/xcmsdb-1.0.5.tar.bz2
+mirror://xorg/individual/app/xcompmgr-1.1.7.tar.bz2
 mirror://xorg/individual/app/xcursorgen-1.0.6.tar.bz2
 mirror://xorg/individual/data/xcursor-themes-1.0.4.tar.bz2
-mirror://xorg/individual/app/xdpyinfo-1.3.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xdriinfo-1.0.4.tar.bz2
-mirror://xorg/individual/app/xev-1.2.1.tar.bz2
+mirror://xorg/individual/app/xdpyinfo-1.3.2.tar.bz2
+mirror://xorg/individual/app/xdriinfo-1.0.5.tar.bz2
+mirror://xorg/individual/app/xev-1.2.2.tar.bz2
 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.9.2.tar.bz2
 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2
-mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2
-mirror://xorg/individual/driver/xf86-input-libinput-0.8.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-keyboard-1.8.1.tar.bz2
+mirror://xorg/individual/driver/xf86-input-libinput-0.12.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-synaptics-1.8.2.tar.bz2
-mirror://xorg/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2
-mirror://xorg/individual/driver/xf86-input-void-1.4.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-void-1.4.1.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ast-0.98.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ati-7.5.0.tar.bz2
 mirror://xorg/individual/driver/glamor-egl-0.6.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-nouveau-1.0.11.tar.bz2
-mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2
+mirror://xorg/individual/driver/xf86-video-cirrus-1.5.3.tar.bz2
 mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2
-mirror://xorg/individual/driver/xf86-video-geode-2.11.16.tar.bz2
+mirror://xorg/individual/driver/xf86-video-geode-2.11.17.tar.bz2
 mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-glint-1.2.8.tar.bz2
 mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2
 mirror://xorg/individual/driver/xf86-video-i740-1.3.5.tar.bz2
 mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2
-mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2
+mirror://xorg/individual/driver/xf86-video-mach64-6.9.5.tar.bz2
 mirror://xorg/individual/driver/xf86-video-mga-1.6.4.tar.bz2
 mirror://xorg/individual/driver/xf86-video-modesetting-0.9.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-qxl-0.1.3.tar.bz2
-mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2
+mirror://xorg/individual/driver/xf86-video-neomagic-1.2.9.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2
 mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2
 mirror://xorg/individual/driver/xf86-video-openchrome-0.3.3.tar.bz2
-mirror://xorg/individual/driver/xf86-video-r128-6.9.2.tar.bz2
-mirror://xorg/individual/driver/xf86-video-savage-2.3.7.tar.bz2
-mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.7.tar.bz2
+mirror://xorg/individual/driver/xf86-video-r128-6.10.0.tar.bz2
+mirror://xorg/individual/driver/xf86-video-savage-2.3.8.tar.bz2
+mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.8.tar.bz2
 mirror://xorg/individual/driver/xf86-video-sis-0.10.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-suncg6-1.1.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-sunffb-1.2.2.tar.bz2
@@ -155,37 +158,40 @@ mirror://xorg/individual/driver/xf86-video-tdfx-1.4.6.tar.bz2
 mirror://xorg/individual/driver/xf86-video-tga-1.2.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-trident-1.3.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2
-mirror://xorg/individual/driver/xf86-video-vesa-2.3.3.tar.bz2
+mirror://xorg/individual/driver/xf86-video-vesa-2.3.4.tar.bz2
 mirror://xorg/individual/driver/xf86-video-vmware-13.1.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-voodoo-1.2.5.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-2.3.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xgamma-1.0.5.tar.bz2
-mirror://xorg/individual/app/xhost-1.0.6.tar.bz2
+mirror://xorg/individual/app/xgamma-1.0.6.tar.bz2
+mirror://xorg/individual/app/xgc-1.0.5.tar.bz2
+mirror://xorg/individual/app/xhost-1.0.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2
 mirror://xorg/individual/app/xinput-1.6.1.tar.bz2
 mirror://xorg/individual/app/xkbcomp-1.3.0.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xkbevd-1.1.3.tar.bz2
+mirror://xorg/individual/app/xkbevd-1.1.4.tar.bz2
 mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2
-mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.11.tar.bz2
+mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.15.tar.bz2
 mirror://xorg/individual/app/xkill-1.0.4.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2
+mirror://xorg/individual/app/xlsatoms-1.1.2.tar.bz2
 mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2
-mirror://xorg/individual/app/xmodmap-1.0.8.tar.bz2
-mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2
-mirror://xorg/individual/xserver/xorg-server-1.16.4.tar.bz2
+mirror://xorg/individual/app/xlsfonts-1.0.5.tar.bz2
+mirror://xorg/individual/app/xmag-1.0.6.tar.bz2
+mirror://xorg/individual/app/xmodmap-1.0.9.tar.bz2
+mirror://xorg/individual/doc/xorg-docs-1.7.1.tar.bz2
+mirror://xorg/individual/xserver/xorg-server-1.17.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2
 mirror://xorg/individual/app/xprop-1.2.2.tar.bz2
-mirror://xorg/individual/proto/xproto-7.0.27.tar.bz2
+mirror://xorg/individual/proto/xproto-7.0.28.tar.bz2
 mirror://xorg/individual/app/xrandr-1.4.3.tar.bz2
 mirror://xorg/individual/app/xrdb-1.1.0.tar.bz2
 mirror://xorg/individual/app/xrefresh-1.0.5.tar.bz2
 mirror://xorg/individual/app/xset-1.2.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xsetroot-1.1.0.tar.bz2
 mirror://xorg/individual/lib/xtrans-1.3.5.tar.bz2
-mirror://xorg/individual/app/xvinfo-1.1.2.tar.bz2
+mirror://xorg/individual/app/xvinfo-1.1.3.tar.bz2
 mirror://xorg/individual/app/xwd-1.0.6.tar.bz2
 mirror://xorg/individual/app/xwininfo-1.1.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xwud-1.0.4.tar.bz2
-mirror://xorg/individual/app/xkbprint-1.0.3.tar.bz2
+mirror://xorg/individual/app/xkbprint-1.0.4.tar.bz2
diff --git a/pkgs/servers/x11/xorg/xkeyboard-config-eo.patch b/pkgs/servers/x11/xorg/xkeyboard-config-eo.patch
deleted file mode 100644
index f288a5c0f6dd..000000000000
--- a/pkgs/servers/x11/xorg/xkeyboard-config-eo.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-diff --git a/rules/base.xml.in b/rules/base.xml.in
-index ec321f8..e9c3546 100644
---- a/rules/base.xml.in
-+++ b/rules/base.xml.in
-@@ -1786,6 +1786,13 @@
-     </layout>
-     <layout>
-       <configItem>
-+        <name>eo</name>
-+        <_shortDescription>Esp</_shortDescription>
-+        <_description>Esperanto</_description>
-+      </configItem>
-+    </layout>
-+    <layout>
-+      <configItem>
-         <name>ir</name>
-         <_shortDescription>Irn</_shortDescription>
-         <_description>Iran</_description>
-diff --git a/symbols/Makefile.am b/symbols/Makefile.am
-index 97c816d..d7e3a4e 100644
---- a/symbols/Makefile.am
-+++ b/symbols/Makefile.am
-@@ -10,7 +10,7 @@ bt by braille \
- ca cd \
- ch cn cz \
- de dk \
--ee es et epo \
-+ee eo es et epo \
- fi fo fr \
- gb ge gh gn \
- gr hr hu \
-diff --git a/symbols/Makefile.in b/symbols/Makefile.in
-index b5be077..5cddcc7 100644
---- a/symbols/Makefile.in
-+++ b/symbols/Makefile.in
-@@ -222,7 +222,7 @@ bt by braille \
- ca cd \
- ch cn cz \
- de dk \
--ee es et epo \
-+ee eo es et epo \
- fi fo fr \
- gb ge gh gn \
- gr hr hu \
-diff --git a/symbols/eo b/symbols/eo
-new file mode 100644
-index 0000000..d6358c9
---- /dev/null
-+++ b/symbols/eo
-@@ -0,0 +1,21 @@
-+// $XFree86$
-+
-+partial alphanumeric_keys
-+xkb_symbols "basic" {
-+
-+     // Describes the differences between a very simple en_US
-+     // keyboard and a simple Esperanto keyboard
-+     // Press AltGr or Windows Menu key together with C, H, J, S, U
-+     // to get accented letters.
-+     // 2001 by Radovan Garabik <garabik@melkor.dnp.fmph.uniba.sk>
-+
-+    key.type = "FOUR_LEVEL";
-+
-+    key <AD02>  { [w,W, ubreve,Ubreve ] };
-+    key <AD07>  { [u,U, ubreve, Ubreve ] };
-+    key <AC02>  { [s,S, scircumflex,    Scircumflex ] };
-+    key <AC05>  { [g,G, gcircumflex,Gcircumflex ] };
-+    key <AC06>  { [h,H, hcircumflex,Hcircumflex ] };
-+    key <AC07>  { [j,J, jcircumflex,Jcircumflex ] };
-+    key <AB03>  { [c,C, ccircumflex,Ccircumflex ] };
-+};
diff --git a/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch b/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch
index a0951269b422..69216ec70733 100644
--- a/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch
+++ b/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch
@@ -1,15 +1,15 @@
-*** xorg-server-X11R7.2-1.2.0-orig/xkb/xkbInit.c	2015-02-11 00:32:06.000000000 +0100
---- xorg-server-X11R7.2-1.2.0/xkb/xkbInit.c	2015-04-11 10:10:41.948438435 +0200
-***************
-*** 733,738 ****
---- 733,742 ----
-  int
-  XkbProcessArguments(int argc, char *argv[], int i)
-  {
-+     char *xkbBinDir = getenv("XKB_BINDIR");
-+     if (xkbBinDir)
-+         XkbBinDirectory = Xstrdup(xkbBinDir);
-+ 
-      if (strncmp(argv[i], "-xkbdir", 7) == 0) {
-          if (++i < argc) {
-  #if !defined(WIN32) && !defined(__CYGWIN__)
+diff --git a/os/utils.c b/os/utils.c
+index ed7581e..6593455 100644
+--- a/os/utils.c
++++ b/os/utils.c
+@@ -658,6 +658,10 @@ ProcessCommandLine(int argc, char *argv[])
+ 
+     defaultKeyboardControl.autoRepeat = TRUE;
+ 
++    char *xkbBinDir = getenv("XKB_BINDIR");
++    if (xkbBinDir)
++        XkbBinDirectory = Xstrdup(xkbBinDir);
++
+ #ifdef NO_PART_NET
+     PartialNetwork = FALSE;
+ #else
diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix
index f43a9c671604..729fcc2e3447 100644
--- a/pkgs/servers/x11/xorg/xwayland.nix
+++ b/pkgs/servers/x11/xorg/xwayland.nix
@@ -20,7 +20,7 @@ overrideDerivation xorgserver (oldAttrs: {
     "--with-default-font-path="
     "--with-xkb-bin-directory=${xkbcomp}/bin"
     "--with-xkb-path=${xkeyboard_config}/etc/X11/xkb"
-    "--with-xkb-output=$out/share/X11/xkb/compiled"
+    "--with-xkb-output=$(out)/share/X11/xkb/compiled"
   ];
 
   postInstall = ''
diff --git a/pkgs/servers/x11/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix
index 3e9e7cb779ee..178e7a59d831 100644
--- a/pkgs/servers/x11/xquartz/default.nix
+++ b/pkgs/servers/x11/xquartz/default.nix
@@ -109,8 +109,7 @@ in stdenv.mkDerivation {
 
     cp ${installer} $out/bin/xquartz-install
 
-    rm -r $out/LaunchAgents
-    rm -r $out/LaunchDaemons
+    rm -rf $out/LaunchAgents $out/LaunchDaemons
 
     fontsConfPath=$out/etc/X11/fonts.conf
     cp ${fontsConf} $fontsConfPath
@@ -147,13 +146,6 @@ in stdenv.mkDerivation {
       --replace "@STARTX@"          "$defaultStartX" \
       --replace "@FONTCONFIG_FILE@" "$fontsConfPath"
 
-    rm $out/lib/X11/xinit/privileged_startx.d/*
-    cp ${./privileged} $out/lib/X11/xinit/privileged_startx.d/privileged
-    substituteInPlace $out/lib/X11/xinit/privileged_startx.d/privileged \
-      --replace "@PATH@"            "$out/bin:${env}" \
-      --replace "@FONTCONFIG_FILE@" "$fontsConfPath" \
-      --replace "@FONT_CACHE@"      "$out/bin/font_cache"
-
     cp ${./font_cache} $out/bin/font_cache
     substituteInPlace $out/bin/font_cache \
       --replace "@PATH@"            "$out/bin:${env}" \
diff --git a/pkgs/servers/xmpp/openfire/default.nix b/pkgs/servers/xmpp/openfire/default.nix
index 3fb89d7a222b..53924f9888c0 100644
--- a/pkgs/servers/xmpp/openfire/default.nix
+++ b/pkgs/servers/xmpp/openfire/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ jre ];
 
   installPhase = ''
-    sed -e 's@\(common_jvm_locations\)=.*@\1${jre}@' -i bin/openfire
+    sed -e 's@\(common_jvm_locations=\).*@\1${jre}@' -i bin/openfire
     cp -r . $out
     rm -r $out/logs
     mv $out/conf $out/conf.inst
diff --git a/pkgs/servers/xmpp/pyIRCt/default.nix b/pkgs/servers/xmpp/pyIRCt/default.nix
index 422ddd8c73d9..4481ad4a14a6 100644
--- a/pkgs/servers/xmpp/pyIRCt/default.nix
+++ b/pkgs/servers/xmpp/pyIRCt/default.nix
@@ -1,8 +1,8 @@
-a :  
-let 
+a @ { xmpppy, pythonIRClib, python, makeWrapper, ... } :
+let
   fetchurl = a.fetchurl;
 
-  version = a.lib.attrByPath ["version"] "0.4" a; 
+  version = a.lib.attrByPath ["version"] "0.4" a;
   buildInputs = with a; [
     xmpppy pythonIRClib python makeWrapper
   ];
@@ -30,7 +30,7 @@ rec {
     echo "./irc.py \"$@\"" >> $out/bin/pyIRCt
     chmod a+rx  $out/bin/pyIRCt $out/share/${name}/irc.py
   '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
-      
+
   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 9e3877735d6f..eb4f55f7aebd 100644
--- a/pkgs/servers/xmpp/pyMAILt/default.nix
+++ b/pkgs/servers/xmpp/pyMAILt/default.nix
@@ -1,5 +1,5 @@
-a :  
-let 
+a @ { xmpppy, python, makeWrapper, fetchcvs, ... } :
+let
   fetchurl = a.fetchurl;
 
   buildInputs = with a; [
@@ -32,7 +32,7 @@ rec {
     echo "./mail.py \"$@\"" >> $out/bin/pyMAILt
     chmod a+rx  $out/bin/pyMAILt $out/share/${name}/mail.py
   '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
-      
+
   name = "pyMAILt-20090101";
   meta = {
     description = "Email transport module for XMPP";