summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-11-20 14:32:58 +0100
committerVladimír Čunát <vcunat@gmail.com>2015-11-20 14:32:58 +0100
commit333d69a5f0e7ccfe7b8c0bdb14ebd3934b3f77fb (patch)
tree0f4757ddd2bb3d73b438eea85828d8e01c049583 /pkgs/servers
parentbdbbfa0d4247e203ffe3171621b614374da05f70 (diff)
parentb809f886c0bdbd4665fc65a4c308d38a30c368d8 (diff)
downloadnixlib-333d69a5f0e7ccfe7b8c0bdb14ebd3934b3f77fb.tar
nixlib-333d69a5f0e7ccfe7b8c0bdb14ebd3934b3f77fb.tar.gz
nixlib-333d69a5f0e7ccfe7b8c0bdb14ebd3934b3f77fb.tar.bz2
nixlib-333d69a5f0e7ccfe7b8c0bdb14ebd3934b3f77fb.tar.lz
nixlib-333d69a5f0e7ccfe7b8c0bdb14ebd3934b3f77fb.tar.xz
nixlib-333d69a5f0e7ccfe7b8c0bdb14ebd3934b3f77fb.tar.zst
nixlib-333d69a5f0e7ccfe7b8c0bdb14ebd3934b3f77fb.zip
Merge staging into closure-size
The most complex problems were from dealing with switches reverted in
the meantime (gcc5, gmp6, ncurses6).
It's likely that darwin is (still) broken nontrivially.
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix12
-rw-r--r--pkgs/servers/asterisk/default.nix4
-rw-r--r--pkgs/servers/dns/nsd/default.nix4
-rw-r--r--pkgs/servers/fleet/default.nix4
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix9
-rw-r--r--pkgs/servers/http/gatling/default.nix32
-rw-r--r--pkgs/servers/http/mini-httpd/default.nix8
-rw-r--r--pkgs/servers/http/nginx/default.nix113
-rw-r--r--pkgs/servers/http/nginx/modules.nix111
-rw-r--r--pkgs/servers/http/nginx/unstable.nix89
-rw-r--r--pkgs/servers/http/thttpd/default.nix2
-rw-r--r--pkgs/servers/http/tomcat/axis2/default.nix6
-rw-r--r--pkgs/servers/mail/mailman/default.nix4
-rw-r--r--pkgs/servers/mail/postfix/3.0.nix63
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix4
-rw-r--r--pkgs/servers/mpd/default.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/2.1.nix4
-rw-r--r--pkgs/servers/nosql/hyperdex/busybee.nix2
-rw-r--r--pkgs/servers/nosql/hyperdex/default.nix2
-rw-r--r--pkgs/servers/nosql/hyperdex/hyperleveldb.nix2
-rw-r--r--pkgs/servers/nosql/hyperdex/libe.nix4
-rw-r--r--pkgs/servers/nosql/hyperdex/libmacaroons.nix6
-rw-r--r--pkgs/servers/nosql/hyperdex/libpo6.nix2
-rw-r--r--pkgs/servers/nosql/hyperdex/replicant.nix6
-rw-r--r--pkgs/servers/nosql/mongodb/default.nix8
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix15
-rw-r--r--pkgs/servers/plex/default.nix8
-rw-r--r--pkgs/servers/pulseaudio/default.nix4
-rw-r--r--pkgs/servers/rippled/default.nix6
-rw-r--r--pkgs/servers/s6/default.nix44
-rw-r--r--pkgs/servers/samba/4.x.nix4
-rw-r--r--pkgs/servers/sql/mariadb/default.nix34
-rw-r--r--pkgs/servers/sql/mysql/5.5.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/default.nix20
-rw-r--r--pkgs/servers/tvheadend/default.nix27
-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/default.nix58
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl4
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix14
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list9
-rw-r--r--pkgs/servers/x11/xorg/xkeyboard-config-eo.patch71
-rw-r--r--pkgs/servers/x11/xquartz/default.nix7
44 files changed, 500 insertions, 343 deletions
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index 31eae0c2b6a4..5bf3f2e693e6 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -1,18 +1,22 @@
 { stdenv, fetchurl, erlang, python, libxml2, libxslt, xmlto
-, docbook_xml_dtd_45, docbook_xsl, zip, unzip }:
+, docbook_xml_dtd_45, docbook_xsl, zip, unzip
+
+, AppKit, Carbon, Cocoa
+}:
 
 stdenv.mkDerivation rec {
   name = "rabbitmq-server-${version}";
 
-  version = "3.4.3";
+  version = "3.5.6";
 
   src = fetchurl {
     url = "http://www.rabbitmq.com/releases/rabbitmq-server/v${version}/${name}.tar.gz";
-    sha256 = "1mdma4bh6196ix9vhsigb3yav8l5gy2x78nsqxychm4hz5l2vjx6";
+    sha256 = "07v7c6ippngkq269jmrf3gji389czcmz6phc3qwxn4j14cri9gi4";
   };
 
   buildInputs =
-    [ erlang python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl zip unzip ];
+    [ erlang python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl zip unzip ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Carbon Cocoa ];
 
   preBuild =
     ''
diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix
index c37292d385f5..d9bb0fd70eb3 100644
--- a/pkgs/servers/asterisk/default.nix
+++ b/pkgs/servers/asterisk/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "asterisk-${version}";
-  version = "13.3.2";
+  version = "13.6.0";
 
   src = fetchurl {
     url = "http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-${version}.tar.gz";
-    sha256 = "19dafvy6ch4v8949bjim64fff456k78156m30dy2yvhm94m5k1zz";
+    sha256 = "0nh0fnqx84as92kk9d73s0386cndd17l06y1c72jl2bdjhyba0ca";
   };
 
   # Note that these sounds are included with the release tarball. They are
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index ed258f317881..4acd90fba0fe 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.3";
+  name = "nsd-4.1.6";
 
   src = fetchurl {
     url = "http://www.nlnetlabs.nl/downloads/nsd/${name}.tar.gz";
-    sha256 = "1r8p5lqj7i6xi4k04jr1n9r1p8gwy3547hzsi8xags6krnav4z09";
+    sha256 = "0pvpsxhil60m21h3pqlzs0l5m8qd3l6j8fkjyfg8plwmbh2j5xl8";
   };
 
   buildInputs = [ libevent openssl ];
diff --git a/pkgs/servers/fleet/default.nix b/pkgs/servers/fleet/default.nix
index 9a122ae90a69..5d8620ed7758 100644
--- a/pkgs/servers/fleet/default.nix
+++ b/pkgs/servers/fleet/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "fleet-${version}";
-  version = "0.9.0";
+  version = "0.11.5";
 
   src = fetchFromGitHub {
     owner = "coreos";
     repo = "fleet";
     rev = "v${version}";
-    sha256 = "0gjminfprprs1nmg9y9a0qkyl9spixrk4pc2b7bl0lxdgpq2yiid";
+    sha256 = "0dc95dpqqc2rclbvgdqjcilrkji7lrpigdrzpwm3nbgz58vkfnz3";
   };
 
   buildInputs = [ go ];
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index aa155978ea33..780eae8132d4 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, zlib, apr, aprutil, pcre
+{ stdenv, fetchurl, perl, zlib, apr, aprutil, pcre, libiconv
 , proxySupport ? true
 , sslSupport ? true, openssl
 , ldapSupport ? true, openldap
@@ -14,12 +14,12 @@ assert sslSupport -> aprutil.sslSupport && openssl != null;
 assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 
 stdenv.mkDerivation rec {
-  version = "2.4.16";
+  version = "2.4.17";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "0hrpy6gjwma0kba7p7m61vwh82qcnkf08123lrwpg257m93hnrmc";
+    sha256 = "165p5qgwyk1dwjypgcx5vb47xadiszs3dw28n2axplw1xifh67ik";
   };
 
   # FIXME: -dev depends on -doc
@@ -28,7 +28,8 @@ stdenv.mkDerivation rec {
   buildInputs = [perl] ++
     optional sslSupport openssl ++
     optional ldapSupport openldap ++    # there is no --with-ldap flag
-    optional libxml2Support libxml2;
+    optional libxml2Support libxml2 ++
+    optional stdenv.isDarwin libiconv;
 
   patchPhase = ''
     sed -i config.layout -e "s|installbuilddir:.*|installbuilddir: $dev/share/build|"
diff --git a/pkgs/servers/http/gatling/default.nix b/pkgs/servers/http/gatling/default.nix
new file mode 100644
index 000000000000..3901d24edd56
--- /dev/null
+++ b/pkgs/servers/http/gatling/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, libowfat, zlib, openssl, polarssl }:
+
+let
+  version = "0.13";
+in
+stdenv.mkDerivation rec {
+  name = "gatling-${version}";
+
+  src = fetchurl {
+    url = "http://dl.fefe.de/${name}.tar.bz2";
+    sha256 = "0icjx20ws8gqxgpm77dx7p9zcwi1fv162in6igx04rmnyzyla8dl";
+  };
+
+  buildInputs = [  libowfat zlib openssl polarssl ];
+
+  configurePhase = ''
+    substituteInPlace Makefile --replace "/usr/local" "$out"
+    substituteInPlace GNUmakefile --replace "/opt/diet" "$out"
+  '';
+
+  buildPhase = ''
+    make gatling
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A high performance web server";
+    homepage = http://www.fefe.de/gatling/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.the-kenny ];
+  };
+}
diff --git a/pkgs/servers/http/mini-httpd/default.nix b/pkgs/servers/http/mini-httpd/default.nix
index a03ac8287521..4cba9bc06687 100644
--- a/pkgs/servers/http/mini-httpd/default.nix
+++ b/pkgs/servers/http/mini-httpd/default.nix
@@ -1,21 +1,17 @@
 { stdenv, fetchurl, boost }:
 
 stdenv.mkDerivation rec {
-  name = "mini-httpd-1.4";
+  name = "mini-httpd-1.5";
 
   src = fetchurl {
     url = "mirror://savannah/mini-httpd/${name}.tar.gz";
-    sha256 = "1i46klkx2ca1cgmlilajkx8gf7b7d7c2sj58llxfllh184pb6cpd";
+    sha256 = "1x4b6x40ymbaamqqq9p97lc0mnah4q7bza04fjs35c8agpm19zir";
   };
 
   buildInputs = [ boost ];
 
   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 6866dc008616..a07d00cd2d7d 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -1,16 +1,6 @@
 { 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
-, modsecurity ? false
-, ngx_lua ? modsecurity || false
-, set_misc ? false
-, fluent ? false
-, extraModules ? []
+, gd, geoip
+, modules ? []
 }:
 
 with stdenv.lib;
@@ -22,72 +12,6 @@ let
     sha256 = "1mgkkmmwkhmpn68sdvbd73ssv6lpqhh864fsyvc1ij4hk4is3k13";
   };
 
-  rtmp-ext = fetchFromGitHub {
-    owner = "arut";
-    repo = "nginx-rtmp-module";
-    rev = "v1.1.7";
-    sha256 = "0i0fa1znkj7cipy5nlkw4k40klhp9jzk28wxy2vrvd2jvh91x3ma";
-  };
-
-  dav-ext = fetchFromGitHub {
-    owner = "arut";
-    repo = "nginx-dav-ext-module";
-    rev = "v0.0.3";
-    sha256 = "1qck8jclxddncjad8yv911s9z7lrd58bp96jf13m0iqk54xghx91";
-  };
-
-  syslog-ext = fetchFromGitHub {
-    owner = "yaoweibin";
-    repo = "nginx_syslog_patch";
-    rev = "3ca5ba65541637f74467038aa032e2586321d0cb";
-    sha256 = "0y8dxkx8m1jw4v5zsvw1gfah9vh3ryq0hfmrcbjzcmwp5b5lb1i8";
-  };
-
-  moreheaders-ext = fetchFromGitHub {
-    owner = "openresty";
-    repo = "headers-more-nginx-module";
-    rev = "v0.26";
-    sha256 = "01wkqhk8mk8jgmzi7jbzmg5kamffx3lmhj5yfwryvnvs6xqs74wn";
-  };
-
-  modsecurity-ext = modsecurity_standalone.nginx;
-
-  echo-ext = fetchFromGitHub {
-    owner = "openresty";
-    repo = "echo-nginx-module";
-    rev = "v0.57";
-    sha256 = "1q0f0zprcn0ypl2qh964cq186l3f40p0z7n7x22m8cxj367vf000";
-  };
-
-  lua-ext = fetchFromGitHub {
-    owner = "openresty";
-    repo = "lua-nginx-module";
-    rev = "v0.9.16";
-    sha256 = "0dvdam228jhsrayb22ishljdkgib08bakh8ygn84sq0c2xbidzlp";
-  };
-
-  set-misc-ext = fetchFromGitHub {
-    owner = "openresty";
-    repo = "set-misc-nginx-module";
-    rev = "v0.28";
-    sha256 = "1vixj60q0liri7k5ax85grj7q9vvgybkx421bwphbhai5xrjip96";
-  };
-
-  fluentd = fetchFromGitHub {
-    owner = "fluent";
-    repo = "nginx-fluentd-module";
-    rev = "8af234043059c857be27879bc547c141eafd5c13";
-    sha256 = "1ycb5zd9sw60ra53jpak1m73zwrjikwhrrh9q6266h1mlyns7zxm";
-  };
-
-  develkit-ext = fetchFromGitHub {
-    owner = "simpl";
-    repo = "ngx_devel_kit";
-    rev = "v0.2.19";
-    sha256 = "1cqcasp4lc6yq5pihfcdw4vp4wicngvdc3nqg3bg52r63c1qrz76";
-  };
-
-
 in
 
 stdenv.mkDerivation rec {
@@ -95,15 +19,8 @@ stdenv.mkDerivation rec {
   src = mainSrc;
 
   buildInputs =
-    [ openssl zlib pcre libxml2 libxslt gd geoip
-    ] ++ optional fullWebDAV expat
-      ++ 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 "";
-
-  patches = if syslog then [ "${syslog-ext}/syslog-1.5.6.patch" ] else [];
+    [ openssl zlib pcre libxml2 libxslt gd geoip ]
+    ++ concatMap (mod: mod.inputs or []) modules;
 
   configureFlags = [
     "--with-select_module"
@@ -130,27 +47,13 @@ stdenv.mkDerivation rec {
     "--with-ipv6"
     # Install destination problems
     # "--with-http_perl_module"
-  ] ++ optional rtmp "--add-module=${rtmp-ext}"
-    ++ optional fullWebDAV "--add-module=${dav-ext}"
-    ++ optional syslog "--add-module=${syslog-ext}"
-    ++ optional moreheaders "--add-module=${moreheaders-ext}"
-    ++ 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}"
-    ++ optionals (elem stdenv.system (with platforms; linux ++ freebsd))
+  ] ++ 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";
+    ++ map (mod: "--add-module=${mod.src}") modules;
 
-  NIX_CFLAGS_COMPILE = optionalString modsecurity "-I${aprutil}/include/apr-1 -I${apacheHttpd}/include -I${apr}/include/apr-1 -I${yajl}/include";
+  NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations -Wno-error=conditional-uninitialized";
 
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2.dev}/include/libxml2 $additionalFlags"
-  '';
+  preConfigure = concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules;
 
   meta = {
     description = "A reverse proxy and lightweight webserver";
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
new file mode 100644
index 000000000000..c61bb0ca51e5
--- /dev/null
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -0,0 +1,111 @@
+{ fetchFromGitHub, pkgs }:
+
+{
+  rtmp = {
+    src = fetchFromGitHub {
+      owner = "arut";
+      repo = "nginx-rtmp-module";
+      rev = "v1.1.7";
+      sha256 = "0i0fa1znkj7cipy5nlkw4k40klhp9jzk28wxy2vrvd2jvh91x3ma";
+    };
+  };
+
+  dav = {
+    src = fetchFromGitHub {
+      owner = "arut";
+      repo = "nginx-dav-ext-module";
+      rev = "v0.0.3";
+      sha256 = "1qck8jclxddncjad8yv911s9z7lrd58bp96jf13m0iqk54xghx91";
+    };
+    inputs = [ pkgs.expat ];
+  };
+
+  syslog = rec {
+    src = fetchFromGitHub {
+      owner = "yaoweibin";
+      repo = "nginx_syslog_patch";
+      rev = "3ca5ba65541637f74467038aa032e2586321d0cb";
+      sha256 = "0y8dxkx8m1jw4v5zsvw1gfah9vh3ryq0hfmrcbjzcmwp5b5lb1i8";
+    };
+    preConfigure = ''
+      patch -p1 < "${src}/syslog-1.7.0.patch"
+    '';
+  };
+
+  moreheaders = {
+    src = fetchFromGitHub {
+      owner = "openresty";
+      repo = "headers-more-nginx-module";
+      rev = "v0.26";
+      sha256 = "01wkqhk8mk8jgmzi7jbzmg5kamffx3lmhj5yfwryvnvs6xqs74wn";
+    };
+  };
+
+  modsecurity = {
+    src = "${pkgs.modsecurity_standalone.nginx}/nginx/modsecurity";
+    inputs = [ pkgs.curl pkgs.apr pkgs.aprutil pkgs.apacheHttpd pkgs.yajl ];
+    preConfigure = ''
+      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pkgs.aprutil}/include/apr-1 -I${pkgs.apacheHttpd}/include -I${pkgs.apr}/include/apr-1 -I${pkgs.yajl}/include"
+    '';
+  };
+
+  echo = {
+    src = fetchFromGitHub {
+      owner = "openresty";
+      repo = "echo-nginx-module";
+      rev = "v0.57";
+      sha256 = "1q0f0zprcn0ypl2qh964cq186l3f40p0z7n7x22m8cxj367vf000";
+    };
+  };
+
+  develkit = {
+    src = fetchFromGitHub {
+      owner = "simpl";
+      repo = "ngx_devel_kit";
+      rev = "v0.2.19";
+      sha256 = "1cqcasp4lc6yq5pihfcdw4vp4wicngvdc3nqg3bg52r63c1qrz76";
+    };
+  };
+
+  lua = {
+    src = fetchFromGitHub {
+      owner = "openresty";
+      repo = "lua-nginx-module";
+      rev = "v0.9.16";
+      sha256 = "0dvdam228jhsrayb22ishljdkgib08bakh8ygn84sq0c2xbidzlp";
+    };
+    inputs = [ pkgs.luajit ];
+    preConfigure = ''
+      export LUAJIT_LIB="${pkgs.luajit}/lib"
+      export LUAJIT_INC="${pkgs.luajit}/include/luajit-2.0"
+    '';
+  };
+
+  set-misc = {
+    src = fetchFromGitHub {
+      owner = "openresty";
+      repo = "set-misc-nginx-module";
+      rev = "v0.28";
+      sha256 = "1vixj60q0liri7k5ax85grj7q9vvgybkx421bwphbhai5xrjip96";
+    };
+  };
+
+  fluentd = {
+    src = fetchFromGitHub {
+      owner = "fluent";
+      repo = "nginx-fluentd-module";
+      rev = "8af234043059c857be27879bc547c141eafd5c13";
+      sha256 = "1ycb5zd9sw60ra53jpak1m73zwrjikwhrrh9q6266h1mlyns7zxm";
+    };
+  };
+
+  pam = {
+    src = fetchFromGitHub {
+      owner = "stogh";
+      repo = "ngx_http_auth_pam_module";
+      rev = "v1.4";
+      sha256 = "068zwyrc1dji55rlaj2kx6n0v2n5rpj7nz26ipvz26ida712md35";
+    };
+    inputs = [ pkgs.pam ];
+  };
+}
diff --git a/pkgs/servers/http/nginx/unstable.nix b/pkgs/servers/http/nginx/unstable.nix
index 4806eabc361a..5ef42a7aa433 100644
--- a/pkgs/servers/http/nginx/unstable.nix
+++ b/pkgs/servers/http/nginx/unstable.nix
@@ -1,12 +1,8 @@
 { stdenv, fetchurl, fetchFromGitHub, openssl, zlib, pcre, libxml2, libxslt, expat
-, gd, geoip, luajit
-, rtmp ? false
-, fullWebDAV ? false
-, syslog ? false
-, moreheaders ? false
-, echo ? false
-, ngx_lua ? false
-, withStream ? false }:
+, gd, geoip
+, withStream ? false
+, modules ? []
+}:
 
 with stdenv.lib;
 
@@ -17,55 +13,6 @@ let
     sha256 = "1a1bixw2a4s5c3qzw3583s4a4y6i0sdzhihhlbab5rkyfh1hr6s7";
   };
 
-  rtmp-ext = fetchFromGitHub {
-    owner = "arut";
-    repo = "nginx-rtmp-module";
-    rev = "v1.1.5";
-    sha256 = "1d9ws4prxz22yq3nhh5h18jrs331zivrdh784l6wznc1chg3gphn";
-  };
-
-  dav-ext = fetchFromGitHub {
-    owner = "arut";
-    repo = "nginx-dav-ext-module";
-    rev = "v0.0.3";
-    sha256 = "1qck8jclxddncjad8yv911s9z7lrd58bp96jf13m0iqk54xghx91";
-  };
-
-  syslog-ext = fetchFromGitHub {
-    owner = "yaoweibin";
-    repo = "nginx_syslog_patch";
-    rev = "v0.25";
-    sha256 = "0734f884838wcjyrrddn8wzj834wid1zffrk093jrx18447cryxl";
-  };
-
-  moreheaders-ext = fetchFromGitHub {
-    owner = "openresty";
-    repo = "headers-more-nginx-module";
-    rev = "v0.25";
-    sha256 = "1d71y1i0smi4gkzz731fhn58gr03b3s6jz6ipnfzxxaizmgxm3rb";
-  };
-
-  echo-ext = fetchFromGitHub {
-    owner = "openresty";
-    repo = "echo-nginx-module";
-    rev = "v0.56";
-    sha256 = "03vaf1ffhkj2s089f90h45n079h3zw47h6y5zpk752f4ydiagpgd";
-  };
-
-  develkit-ext = fetchFromGitHub {
-    owner = "simpl";
-    repo = "ngx_devel_kit";
-    rev = "v0.2.19";
-    sha256 = "1cqcasp4lc6yq5pihfcdw4vp4wicngvdc3nqg3bg52r63c1qrz76";
-  };
-
-  lua-ext = fetchFromGitHub {
-    owner = "openresty";
-    repo = "lua-nginx-module";
-    rev = "v0.9.16";
-    sha256 = "0dvdam228jhsrayb22ishljdkgib08bakh8ygn84sq0c2xbidzlp";
-  };
-
 in
 
 stdenv.mkDerivation rec {
@@ -73,14 +20,8 @@ stdenv.mkDerivation rec {
   src = mainSrc;
 
   buildInputs =
-    [ openssl zlib pcre libxml2 libxslt gd geoip
-    ] ++ optional fullWebDAV expat
-      ++ optional ngx_lua luajit;
-
-  LUAJIT_LIB = if ngx_lua then "${luajit}/lib" else "";
-  LUAJIT_INC = if ngx_lua then "${luajit}/include/luajit-2.0" else "";
-
-  patches = if syslog then [ "${syslog-ext}/syslog-1.5.6.patch" ] else [];
+    [ openssl zlib pcre libxml2 libxslt gd geoip ]
+    ++ concatMap (mod: mod.inputs or []) modules;
 
   configureFlags = [
     "--with-http_ssl_module"
@@ -104,21 +45,13 @@ stdenv.mkDerivation rec {
     "--with-ipv6"
     # Install destination problems
     # "--with-http_perl_module"
-  ] ++ optional rtmp "--add-module=${rtmp-ext}"
-    ++ optional fullWebDAV "--add-module=${dav-ext}"
-    ++ optional syslog "--add-module=${syslog-ext}"
-    ++ 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";
+  ] ++ optional withStream "--with-stream"
+    ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio"
+    ++ map (mod: "--add-module=${mod.src}") modules;
 
+  NIX_CFLAGS_COMPILE = [ "-I${libxml2.dev}/include/libxml2" ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations";
 
-  additionalFlags = optionalString stdenv.isDarwin "-Wno-error=deprecated-declarations";
-
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2.dev}/include/libxml2 $additionalFlags"
-  '';
+  preConfigure = concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules;
 
   postInstall = ''
     mv $out/sbin $out/bin
diff --git a/pkgs/servers/http/thttpd/default.nix b/pkgs/servers/http/thttpd/default.nix
index 53a7f916c9ac..706911aeef15 100644
--- a/pkgs/servers/http/thttpd/default.nix
+++ b/pkgs/servers/http/thttpd/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://acme.com/software/thttpd/${name}.tar.gz";
-    sha256 = "1dybhpyfrly0m285cdn9jah397bqzylrwzi26gin2h451z3gdcqm";
+    sha256 = "1idlpnwrd5fpmnfh477h1lzanavx8jxir2d8adax46zy472dg4s6";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/http/tomcat/axis2/default.nix b/pkgs/servers/http/tomcat/axis2/default.nix
index cf64ba2d3c69..9aacc6aa85ad 100644
--- a/pkgs/servers/http/tomcat/axis2/default.nix
+++ b/pkgs/servers/http/tomcat/axis2/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, apacheAnt, jdk, unzip}:
 
 stdenv.mkDerivation {
-  name = "axis2-1.6.2";
+  name = "axis2-1.6.3";
 
   src = fetchurl {
-    url = http://apache.proserve.nl/axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip;
-    sha256 = "02i6fv11ksd5ql81i501bcb11ib5gyhq3zxwrz5jm4ic80r097fp";
+    url = http://apache.proserve.nl/axis/axis2/java/core/1.6.3/axis2-1.6.3-bin.zip;
+    sha256 = "0a49m7g1gxb904d0az2kbkab8rg02wm8nzbyipiad9k028masr6r";
   };
 
   buildInputs = [ unzip apacheAnt jdk ];
diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/default.nix
index e4fffecb9597..13455cb3f537 100644
--- a/pkgs/servers/mail/mailman/default.nix
+++ b/pkgs/servers/mail/mailman/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, dnspython }:
+{ stdenv, fetchurl, python, pythonPackages }:
 
 stdenv.mkDerivation rec {
   name = "mailman-2.1.18";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0jc360crakvpz71msl0h11zv3849fqzlj9jfh1g7x3j4459n07fw";
   };
 
-  buildInputs = [ python dnspython ];
+  buildInputs = [ python pythonPackages.dns ];
 
   patches = [ ./fix-var-prefix.patch ];
 
diff --git a/pkgs/servers/mail/postfix/3.0.nix b/pkgs/servers/mail/postfix/3.0.nix
new file mode 100644
index 000000000000..93f419bc7f68
--- /dev/null
+++ b/pkgs/servers/mail/postfix/3.0.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl, coreutils
+, findutils, gnugrep, gawk, icu
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "postfix-${version}";
+
+  version = "3.0.3";
+
+  src = fetchurl {
+    url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
+    sha256 = "00mc12k5p1zlrlqcf33vh5zizaqr5ai8q78dwv69smjh6kn4c7j0";
+  };
+
+  buildInputs = [ makeWrapper gnused db openssl cyrus_sasl icu ];
+
+  preBuild = ''
+    sed -e '/^PATH=/d' -i postfix-install
+
+    export command_directory=$out/sbin
+    export config_directory=/etc/postfix
+    export daemon_directory=$out/libexec/postfix
+    export data_directory=/var/lib/postfix
+    export html_directory=$out/share/postfix/doc/html
+    export mailq_path=$out/bin/mailq
+    export manpage_directory=$out/share/man
+    export newaliases_path=$out/bin/newaliases
+    export queue_directory=/var/spool/postfix
+    export readme_directory=$out/share/postfix/doc
+    export sendmail_path=$out/bin/sendmail
+
+    make makefiles \
+      CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${cyrus_sasl}/include/sasl \
+              -DHAS_DB_BYPASS_MAKEDEFS_CHECK \
+              -fPIE -fstack-protector-all --param ssp-buffer-size=4 -O2 -D_FORTIFY_SOURCE=2' \
+      AUXLIBS='-ldb -lnsl -lresolv -lsasl2 -lcrypto -lssl -pie -Wl,-z,relro,-z,now'
+  '';
+
+  installTargets = [ "non-interactive-package" ];
+
+  installFlags = [ " install_root=installdir " ];
+
+  postInstall = ''
+    mkdir -p $out
+    mv -v installdir/$out/* $out/
+    mv -v installdir/etc $out/etc
+    sed -e '/^PATH=/d' -i $out/libexec/postfix/post-install
+    wrapProgram $out/libexec/postfix/post-install \
+      --prefix PATH ":" ${coreutils}/bin:${findutils}/bin:${gnugrep}/bin
+    wrapProgram $out/libexec/postfix/postfix-script \
+      --prefix PATH ":" ${coreutils}/bin:${findutils}/bin:${gnugrep}/bin:${gawk}/bin:${gnused}/bin
+  '';
+
+  meta = {
+    homepage = "http://www.postfix.org/";
+    description = "A fast, easy to administer, and secure mail server";
+    license = stdenv.lib.licenses.bsdOriginal;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+  };
+
+}
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index e46a76a9b0c0..8590f80c8aea 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -13,11 +13,11 @@
 #
 
 buildPerlPackage rec {
-  name = "SpamAssassin-3.4.0";
+  name = "SpamAssassin-3.4.1";
 
   src = fetchurl {
     url = "mirror://apache/spamassassin/source/Mail-${name}.tar.bz2";
-    sha256 = "0527rv6m5qd41l756fqh9q7sm9m2xfhhy2jchlhbmd39x6x3jfsm";
+    sha256 = "0la6s5ilamf9129kyjckcma8cr6fpb6b5f2fb64v7106iy0ckhd0";
   };
 
   buildInputs = [ makeWrapper HTMLParser NetDNS NetAddrIP DBFile HTTPDate MailDKIM
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index c7380b023067..bf968ae4b398 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -29,13 +29,13 @@ let
   opt = stdenv.lib.optional;
   mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
   major = "0.19";
-  minor = "9";
+  minor = "11";
 
 in stdenv.mkDerivation rec {
   name = "mpd-${major}.${minor}";
   src = fetchurl {
     url    = "http://www.musicpd.org/download/mpd/${major}/${name}.tar.xz";
-    sha256 = "0vzj365s4j0pw5w37lfhx3dmpkdp85driravsvx8rlrw0lii91a7";
+    sha256 = "1iin50s8cnlsgjgjwkm1cbyxlwa0b79f6jfwydx5nyprbam6cp3s";
   };
 
   buildInputs = [ pkgconfig glib boost ]
diff --git a/pkgs/servers/nosql/cassandra/2.1.nix b/pkgs/servers/nosql/cassandra/2.1.nix
index 36905b5675a0..8a2100cdac6e 100644
--- a/pkgs/servers/nosql/cassandra/2.1.nix
+++ b/pkgs/servers/nosql/cassandra/2.1.nix
@@ -11,8 +11,8 @@
 
 let
 
-  version = "2.1.9";
-  sha256 = "10nwh7kx4k0kkfvl3sf22v3x58q37b81lkr6s6gvzkq67f6mjcvs";
+  version = "2.1.11";
+  sha256 = "1jiikznjhyyh23xw02amzccr15c8wmz94yxah9qxagbfg9wn7j2j";
 
 in
 
diff --git a/pkgs/servers/nosql/hyperdex/busybee.nix b/pkgs/servers/nosql/hyperdex/busybee.nix
index 9fdbbf064b05..653c74bdabe4 100644
--- a/pkgs/servers/nosql/hyperdex/busybee.nix
+++ b/pkgs/servers/nosql/hyperdex/busybee.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/rescrv/busybee/archive/releases/${version}.zip";
-    sha256 = "0gr5h2j9rzwarblgcgddnxj39i282rvgn9vqlrcd60dx8c4dkm29";
+    sha256 = "0b51h1kmkf0s3d9y7wjqgp1pk1rk9i7n8bcgyj01kflzdgafbl0b";
   };
   buildInputs = [
     autoconf
diff --git a/pkgs/servers/nosql/hyperdex/default.nix b/pkgs/servers/nosql/hyperdex/default.nix
index 659081281ef0..3986e49c4bcf 100644
--- a/pkgs/servers/nosql/hyperdex/default.nix
+++ b/pkgs/servers/nosql/hyperdex/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/rescrv/HyperDex/archive/releases/${version}.zip";
-    sha256 = "0s1capy2hj45f5rmdb4fk0wxy7vz69krplhba57f6wrkpcz1zb57";
+    sha256 = "0l7w3x6c4nslz5ijmj8xys0k1slwi3s4crxmi16ml1x32bqgzhj7";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/nosql/hyperdex/hyperleveldb.nix b/pkgs/servers/nosql/hyperdex/hyperleveldb.nix
index c39f618f6cb1..f57bbe4f4d24 100644
--- a/pkgs/servers/nosql/hyperdex/hyperleveldb.nix
+++ b/pkgs/servers/nosql/hyperdex/hyperleveldb.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/rescrv/HyperLevelDB/archive/releases/${version}.zip";
-    sha256 = "0xrzhwkrm7f2wz3jn4iqn1dim2pmgjhmpb1fy23fwa06v0q18hw8";
+    sha256 = "0m5fwl9sc7c6m2zm3zjlxxg7f602gnaryikxgflahhdccdvvr56y";
   };
   buildInputs = [ unzip autoconf automake libtool ];
   preConfigure = "autoreconf -i";
diff --git a/pkgs/servers/nosql/hyperdex/libe.nix b/pkgs/servers/nosql/hyperdex/libe.nix
index cc5232e13f22..f7e0d834bb44 100644
--- a/pkgs/servers/nosql/hyperdex/libe.nix
+++ b/pkgs/servers/nosql/hyperdex/libe.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
   version = "0.8.1";
 
   src = fetchurl {
-    url = "https://github.com/rescrv/e/archive/releases/0.8.1.zip";
-    sha256 = "1l13axsi52j2qaxbdnszdvfxksi7rwm2j1rrf0nlh990m6a3yg3s";
+    url = "https://github.com/rescrv/e/archive/releases/${version}.zip";
+    sha256 = "18xm0hcnqdf0ipfn19jrgzqsxij5xjbbnihhzc57n4v7yfdca1w3";
   };
   buildInputs = [ unzip autoconf automake libtool libpo6 pkgconfig ];
   preConfigure = "autoreconf -i";
diff --git a/pkgs/servers/nosql/hyperdex/libmacaroons.nix b/pkgs/servers/nosql/hyperdex/libmacaroons.nix
index 5d91a82a8ec6..719b18db8681 100644
--- a/pkgs/servers/nosql/hyperdex/libmacaroons.nix
+++ b/pkgs/servers/nosql/hyperdex/libmacaroons.nix
@@ -2,11 +2,11 @@
   pkgconfig, libsodium, python }:
 stdenv.mkDerivation rec {
   name = "libmacaroons-${version}";
-  version = "HEAD";
+  version = "0.3.0";
 
   src = fetchurl {
-    url = "https://github.com/rescrv/libmacaroons/archive/6febf3ce6c4c77a46d24b40ed29b03ffbfb175a7.zip";
-    sha256 = "0b4qgim87398chvc3qhxfqv2l1cyl65rhyknln8lk0gq9y00p1ik";
+    url = "https://github.com/rescrv/libmacaroons/archive/releases/${version}.zip";
+    sha256 = "18c44424jri0p5la6jgrnlz5p937hk7ws2mldhzjwisqyf5qld43";
   };
   buildInputs = [ unzip autoconf automake libtool python libsodium pkgconfig ];
   preConfigure = "autoreconf -i";
diff --git a/pkgs/servers/nosql/hyperdex/libpo6.nix b/pkgs/servers/nosql/hyperdex/libpo6.nix
index 166a5e21c6b9..fa68020b539c 100644
--- a/pkgs/servers/nosql/hyperdex/libpo6.nix
+++ b/pkgs/servers/nosql/hyperdex/libpo6.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/rescrv/po6/archive/releases/${version}.zip";
-    sha256 = "14g3ichshnc4wd0iq3q3ymgaq84gjsbqcyn6lri7c7djgkhqijjx";
+    sha256 = "17grzkh6aw1f68qvkhivbb6vwbm6jd41ysbfn88pypf5lczxrxly";
   };
   buildInputs = [ unzip autoconf automake libtool ];
   preConfigure = "autoreconf -i";
diff --git a/pkgs/servers/nosql/hyperdex/replicant.nix b/pkgs/servers/nosql/hyperdex/replicant.nix
index 69146b586723..f2df744e35f1 100644
--- a/pkgs/servers/nosql/hyperdex/replicant.nix
+++ b/pkgs/servers/nosql/hyperdex/replicant.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "replicant-${version}";
-  version = "0.5.2";
+  version = "0.6.3";
 
   src = fetchurl {
-    url = "https://github.com/rescrv/Replicant/archive/releases/0.6.3.zip";
-    sha256 = "1fbagz0nbvinkqr5iw5y187dm4klkswrxnl5ysq8waglg2nj8zzi";
+    url = "https://github.com/rescrv/Replicant/archive/releases/${version}.zip";
+    sha256 = "1q3pdq2ndpj70yd1578bn4grlrp77gl8hv2fz34jpx34qmlalda4";
   };
   buildInputs = [
     autoconf
diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix
index 09465edbd292..60a37456b4bb 100644
--- a/pkgs/servers/nosql/mongodb/default.nix
+++ b/pkgs/servers/nosql/mongodb/default.nix
@@ -4,10 +4,10 @@
 
 with stdenv.lib;
 
-let version = "3.0.6";
+let version = "3.0.7";
     system-libraries = [
       "pcre"
-      "wiredtiger"
+      #"wiredtiger"
       "boost"
       "snappy"
       "zlib"
@@ -18,7 +18,7 @@ let version = "3.0.6";
     buildInputs = [
       sasl boost gperftools pcre snappy
       zlib libyamlcpp sasl openssl libpcap
-    ] ++ optional stdenv.is64bit wiredtiger;
+    ]; # ++ optional stdenv.is64bit wiredtiger;
 
     other-args = concatStringsSep " " ([
       # these are opt-in, lol
@@ -41,7 +41,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz";
-    sha256 = "0bc2khi36ck0y7dhppvjp8wy479hzyw34qs0965qj4gd2va6p7v0";
+    sha256 = "1rx7faqsq733vdriavdfmvx75nhjq9nm5bgwd3hw1cxzqgkvl99d";
   };
 
   nativeBuildInputs = [ scons ];
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
index 55f77ce0b5dd..57b0e0abb767 100644
--- a/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, which, m4, python
-, protobuf, boost, zlib, curl, openssl, icu, jemalloc
+, protobuf, boost, zlib, curl, openssl, icu, jemalloc, libtool
 }:
 
 stdenv.mkDerivation rec {
@@ -11,17 +11,26 @@ stdenv.mkDerivation rec {
     sha256 = "03w9fq3wcvwy04b3x6zb3hvwar7b9jfbpq77rmxdlgh5w64vvgwd";
   };
 
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' external/v8_3.30.33.16/build/gyp/pylib/gyp/xcode_emulation.py
+
+    # very meta
+    substituteInPlace mk/support/pkg/re2.sh --replace "-i '''" "-i"
+  '';
+
   preConfigure = ''
     export ALLOW_WARNINGS=1
     patchShebangs .
   '';
 
-  configureFlags = [
+  configureFlags = stdenv.lib.optionals (!stdenv.isDarwin) [
     "--with-jemalloc"
     "--lib-path=${jemalloc}/lib"
   ];
 
-  buildInputs = [ protobuf boost zlib curl openssl icu jemalloc ];
+  buildInputs = [ protobuf boost zlib curl openssl icu ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin) jemalloc
+    ++ stdenv.lib.optional stdenv.isDarwin libtool;
 
   nativeBuildInputs = [ which m4 python ];
 
diff --git a/pkgs/servers/plex/default.nix b/pkgs/servers/plex/default.nix
index c0bfd42ce680..a94330243978 100644
--- a/pkgs/servers/plex/default.nix
+++ b/pkgs/servers/plex/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   name = "plex-${version}";
-  version = "0.9.11.16.958";
-  vsnHash = "80f1748";
+  version = "0.9.12.13.1464";
+  vsnHash = "4ccd2ca";
 
   src = fetchurl {
     url = "https://downloads.plex.tv/plex-media-server/${version}-${vsnHash}/plexmediaserver-${version}-${vsnHash}.x86_64.rpm";
-    sha256 = "1wrl654nk10i9p01cgy9fqiqalxyl718qhp4kjnxvcwafayxkp26";
+    sha256 = "1gzq3ik3b23pl6i85d4abh3aqq710z5x258mjm7xai8rpyhvdp26";
   };
 
   buildInputs = [ rpmextract glibc ];
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
     find $out/usr/lib/plexmediaserver/Resources -type f -a -perm -0100 \
         -print -exec patchelf --set-interpreter "${glibc}/lib/ld-linux-x86-64.so.2" '{}' \;
 
+    # executables need libstdc++.so.6
+    ln -s "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}/libstdc++.so.6" "$out/usr/lib/plexmediaserver/libstdc++.so.6"
 
     # Our next problem is the "Resources" directory in /usr/lib/plexmediaserver.
     # This is ostensibly a skeleton directory, which contains files that Plex
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 8ac37cef82f2..47edd751887c 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -34,11 +34,11 @@
 
 stdenv.mkDerivation rec {
   name = "${if libOnly then "lib" else ""}pulseaudio-${version}";
-  version = "7.0";
+  version = "7.1";
 
   src = fetchurl {
     url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${version}.tar.xz";
-    sha256 = "1yp8x8z4wigrzik131kjdyhn7hznazvbkbp2zz1vy9l9gqvy26na";
+    sha256 = "1ndrac0j528lsg3b8wcsgvzds38ml0ja4m57xsn953rj51552rz6";
   };
 
   patches = [ ./caps-fix.patch ];
diff --git a/pkgs/servers/rippled/default.nix b/pkgs/servers/rippled/default.nix
index 99a6879ab925..808f181442a9 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.28.1";
+  version = "0.30.0-rc1";
 
   src = fetchFromGitHub {
     owner = "ripple";
     repo = "rippled";
     rev = version;
-    sha256 = "0wh8dwdg0gp7smcx40cpqanl2m2hihmx3irqh692svakbl3df3vz";
+    sha256 = "0l1dg29mg6wsdkh0lwi2znpl2wcm6bs6d3lswk5g1m1nk2mk7lr7";
   };
 
   postPatch = ''
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Ripple P2P payment network reference server";
     homepage = https://ripple.com;
-    maintainers = [ maintainers.emery maintainers.offline ];
+    maintainers = with maintainers; [ emery offline ];
     license = licenses.isc;
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/servers/s6/default.nix b/pkgs/servers/s6/default.nix
deleted file mode 100644
index 5e29c20339cf..000000000000
--- a/pkgs/servers/s6/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, execline, fetchgit, skalibs }:
-
-let
-
-  version = "2.2.1.0";
-
-in stdenv.mkDerivation rec {
-
-  name = "s6-${version}";
-
-  src = fetchgit {
-    url = "git://git.skarnet.org/s6";
-    rev = "refs/tags/v${version}";
-    sha256 = "1g8gr3znxj8lyqpwrmgzh47yb64zldrvvvgpp1m4pb37k5k11bj9";
-  };
-
-  dontDisableStatic = true;
-
-  enableParallelBuilding = true;
-
-  configureFlags = [
-    "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
-    "--with-include=${skalibs}/include"
-    "--with-include=${execline}/include"
-    "--with-lib=${skalibs}/lib"
-    "--with-lib=${execline}/lib"
-    "--with-dynlib=${skalibs}/lib"
-    "--with-dynlib=${execline}/lib"
-  ] ++ [ (if stdenv.isDarwin then "--disable-shared" else "--enable-shared") ];
-
-  preBuild = ''
-    substituteInPlace "src/daemontools-extras/s6-log.c" \
-      --replace '"execlineb"' '"${execline}/bin/execlineb"'
-  '';
-
-  meta = {
-    homepage = http://www.skarnet.org/software/s6/;
-    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.nix b/pkgs/servers/samba/4.x.nix
index 2e8f8a67fd42..8fcc1a4a9731 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -19,11 +19,11 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "samba-4.3.0";
+  name = "samba-4.3.1";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
-    sha256 = "0qyvmjl8p8fnyhibwivhxxkm67nxxaj4lp35jni9l7gcknrbdnyq";
+    sha256 = "10ic9pxsk3ml5ycmi0bql8wraxhbr2l4fhzd0qwmiqmrjl6sh24r";
   };
 
   patches =
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 20a02b51369c..3da3585fdb96 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -1,20 +1,26 @@
-{ stdenv, fetchurl, cmake, ncurses, zlib, openssl, pcre, boost, judy, bison, libxml2
-, libaio, libevent, groff, jemalloc, perl, fixDarwinDylibNames
+{ stdenv, fetchurl, cmake, ncurses, zlib, xz, lzo, lz4, bzip2, snappy
+, openssl, pcre, boost, judy, bison, libxml2
+, libaio, libevent, groff, jemalloc, cracklib, systemd, numactl, perl
+, fixDarwinDylibNames, cctools
 }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "mariadb-${version}";
-  version = "10.0.21";
+  version = "10.1.8";
 
   src = fetchurl {
     url    = "https://downloads.mariadb.org/interstitial/mariadb-${version}/source/mariadb-${version}.tar.gz";
-    sha256 = "0i9mzbn35f4lj4y1lqzgbavh5xyx18zfn0ks0nqzvppabkhk56jb";
+    sha256 = "1yiv0161rkgll1yd9r1cb1wdx55rwynj8i623p6wjvda9536mgvw";
   };
 
-  buildInputs = [ cmake ncurses openssl zlib pcre libxml2 boost judy bison libevent ]
-    ++ stdenv.lib.optionals stdenv.isLinux [ jemalloc libaio ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ perl fixDarwinDylibNames ];
+  buildInputs = [
+    cmake ncurses openssl zlib xz lzo lz4 bzip2
+    # temporary due to https://mariadb.atlassian.net/browse/MDEV-9000
+    (if stdenv.is64bit then snappy else null)
+    pcre libxml2 boost judy bison libevent cracklib
+  ] ++ stdenv.lib.optionals stdenv.isLinux [ jemalloc libaio systemd numactl ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ perl fixDarwinDylibNames cctools ];
 
   patches = stdenv.lib.optional stdenv.isDarwin ./my_context_asm.patch;
 
@@ -49,13 +55,16 @@ stdenv.mkDerivation rec {
     "-DWITH_PARTITION_STORAGE_ENGINE=1"
     "-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1"
     "-DWITHOUT_FEDERATED_STORAGE_ENGINE=1"
+    "-DSECURITY_HARDENED=ON"
+    "-DWITH_WSREP=ON"
   ] ++ stdenv.lib.optionals stdenv.isDarwin [
     "-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1"
     "-DWITHOUT_TOKUDB=1"
+    "-DCURSES_LIBRARY=${ncurses}/lib/libncurses.dylib"
   ];
 
   # fails to find lex_token.h sometimes
-  enableParallelBuilding = false;
+  enableParallelBuilding = true;
 
   outputs = [ "out" "lib" ];
   setOutputFlags = false;
@@ -94,6 +103,15 @@ stdenv.mkDerivation rec {
     mv $out/lib $lib
     mv $out/include $lib
 
+  ''
+  + stdenv.lib.optionalString stdenv.isDarwin ''
+    # Fix library rpaths
+    # TODO: put this in the stdenv to prepare for wide usage of multi-output derivations
+    for file in $(grep -rl $out/lib $lib); do
+      install_name_tool -delete_rpath $out/lib -add_rpath $lib $file
+    done
+
+  '' + ''
     # Fix the mysql_config
     sed -i $out/bin/mysql_config \
       -e 's,-lz,-L${zlib.out}/lib -lz,g' \
diff --git a/pkgs/servers/sql/mysql/5.5.x.nix b/pkgs/servers/sql/mysql/5.5.x.nix
index 03a7840677ba..dbbb9223ee46 100644
--- a/pkgs/servers/sql/mysql/5.5.x.nix
+++ b/pkgs/servers/sql/mysql/5.5.x.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
   '';
   postInstall = ''
     sed -i -e "s|basedir=\"\"|basedir=\"$out\"|" $out/bin/mysql_install_db
-    rm -r $out/mysql-test $out/sql-bench $out/data
+    rm -r $out/mysql-test $out/sql-bench $out/data "$out"/lib/*.a
     rm $out/share/man/man1/mysql-test-run.pl.1
   '';
 
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index 09f3997fa14b..1743aa2df4be 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -67,33 +67,33 @@ let
 in {
 
   postgresql90 = common {
-    version = "9.0.22";
+    version = "9.0.23";
     psqlSchema = "9.0";
-    sha256 = "19gq6axjhvlr5zlrzwnll1fbrvai4xh0nb1jki6gmmschl6v5m4l";
+    sha256 = "1pnpni95r0ry112z6ycrqk5m6iw0vd4npg789czrl4qlr0cvxg1x";
   };
 
   postgresql91 = common {
-    version = "9.1.18";
+    version = "9.1.19";
     psqlSchema = "9.1";
-    sha256 = "1a44hmcvfaa8j169ladsibmvjakw6maaxqkzz1ab8139cqkda9i7";
+    sha256 = "1ihf9h353agsm5p2dr717dvraxvsw6j7chbn3qxdcz8la5s0bmfb";
   };
 
   postgresql92 = common {
-    version = "9.2.13";
+    version = "9.2.14";
     psqlSchema = "9.2";
-    sha256 = "0i3avdr8mnvn6ldkx0hc4jmclhisb2338hzs0j2m03wck8hddjsx";
+    sha256 = "0bi9zfsfhj84mnaa41ar63j9qgzsnac1wwgjhy2c6j0a68zhphjl";
   };
 
   postgresql93 = common {
-    version = "9.3.9";
+    version = "9.3.10";
     psqlSchema = "9.3";
-    sha256 = "0j85j69rf54cwz5yhrhk4ca22b82990j5sqb8cr1fl9843nd0fzp";
+    sha256 = "0c8mailildnqnndwpmnqf8ymxmk1qf5w5dq02hjqmydgfq7lyi75";
   };
 
   postgresql94 = common {
-    version = "9.4.4";
+    version = "9.4.5";
     psqlSchema = "9.4";
-    sha256 = "04q07g209y99xzjh88y52qpvz225rxwifv8nzp3bxzfni2bdk3jk";
+    sha256 = "0faav7k3nlhh1z7j1r3adrhx1fpsji3jixmm2abjm93fdg350z5q";
   };
 
 }
diff --git a/pkgs/servers/tvheadend/default.nix b/pkgs/servers/tvheadend/default.nix
index c7b4e5153176..569eecd4f6e9 100644
--- a/pkgs/servers/tvheadend/default.nix
+++ b/pkgs/servers/tvheadend/default.nix
@@ -1,25 +1,34 @@
-{avahi, dbus, fetchurl, git, gzip, libav, libiconv, openssl, pkgconfig, python
+{avahi, dbus, fetchurl, git, gnutar, gzip, libav, libiconv, openssl, pkgconfig, python
 , stdenv, which, zlib}:
 
-let version = "4.0.4";
-    pkgName = "tvheadend"; in
+with stdenv.lib;
+
+let version = "4.0.7";
+    pkgName = "tvheadend";
+
+in
 
 stdenv.mkDerivation rec {
   name = "${pkgName}-${version}";
 
   src = fetchurl {
     url = "https://github.com/tvheadend/tvheadend/archive/v${version}.tar.gz";
-    sha256 = "acc5c852bccb32d6a281f523e78a1cceb4d41987fe015aba3f66e1898b02c168";
+    sha256 = "0vhj4vkgl4brjw1pdc80g1wbjn6hyy57jrxkwilnivqfd1mwx3aw";
   };
 
   enableParallelBuilding = true;
 
+  # disable dvbscan, as having it enabled causes a network download which
+  # cannot happen during build.
   configureFlags = [ "--disable-dvbscan" ];
 
-  buildInputs = [ avahi dbus git gzip libav libiconv openssl pkgconfig python
+  buildInputs = [ avahi dbus git gnutar gzip libav libiconv openssl pkgconfig python
     which zlib ];
 
-  preConfigure = "patchShebangs ./configure";
+  preConfigure = ''
+    patchShebangs ./configure
+    substituteInPlace src/config.c --replace /usr/bin/tar ${gnutar}/bin/tar
+  '';
 
   meta = {
     description = "TV steaming server";
@@ -28,8 +37,8 @@ stdenv.mkDerivation rec {
         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 ];
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.simonvandel ];
   };
 }
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 5d0e7455d946..8fab18c434e4 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 = "4.7.5";
+  version = "4.7.6";
 
   src = fetchurl {
     url = "http://dl.ubnt.com/unifi/${version}/UniFi.unix.zip";
-    sha256 = "1d5jkpwnz4wvcjr5i73m8i5aah6rkxwd0r9239l90v1ja9lkyk7w";
+    sha256 = "0xinrxcbd5gb2jgcvrx3jcslad0f19qrbjzkiir9zjq59sn68gfn";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
index e7e7502665fb..89260109e269 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.11.1";
+  name = "uwsgi-2.0.11.2";
 
   src = fetchurl {
     url = "http://projects.unbit.it/downloads/${name}.tar.gz";
-    sha256 = "11v2j9n204hlvi1p1wp4r3nn22fqyd1qlbqcfqddi77sih9x79vm";
+    sha256 = "0p482j4yi48bmpgx1qpdfk86hjn4dswb137jbmigdlrd9l5rp20b";
   };
 
   nativeBuildInputs = [ python3 pkgconfig ];
diff --git a/pkgs/servers/x11/quartz-wm/default.nix b/pkgs/servers/x11/quartz-wm/default.nix
index de30fc2a5840..45e4df2bb8b9 100644
--- a/pkgs/servers/x11/quartz-wm/default.nix
+++ b/pkgs/servers/x11/quartz-wm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, xorg, pixman, pkgconfig }:
+{ stdenv, lib, fetchurl, xorg, pixman, pkgconfig, AppKit, Xplugin }:
 
 let version = "1.3.1";
 in stdenv.mkDerivation {
@@ -19,6 +19,7 @@ in stdenv.mkDerivation {
     xorg.libXext
     pixman
     pkgconfig
+    AppKit Xplugin
   ];
   NIX_CFLAGS_COMPILE = "-F/System/Library/Frameworks -I/usr/include";
   NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index e4b3bef6acbd..42479f514367 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1448,11 +1448,11 @@ let
   }) // {inherit inputproto xorgserver xproto ;};
 
   xf86inputlibinput = (mkDerivation "xf86inputlibinput" {
-    name = "xf86-input-libinput-0.12.0";
+    name = "xf86-input-libinput-0.14.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-libinput-0.12.0.tar.bz2;
-      sha256 = "1mi6m1a32xc43na46amfqz0025952whiy3w4wz0wx0d34jf933yv";
+      url = mirror://xorg/individual/driver/xf86-input-libinput-0.14.0.tar.bz2;
+      sha256 = "0r92fkpbnydhjgni35zqpkl8fm225rivn8qqkw6ymranlnc5gl78";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
   }) // {inherit inputproto xorgserver xproto ;};
@@ -1518,11 +1518,11 @@ let
   }) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;};
 
   xf86videoast = (mkDerivation "xf86videoast" {
-    name = "xf86-video-ast-0.98.0";
+    name = "xf86-video-ast-1.1.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-ast-0.98.0.tar.bz2;
-      sha256 = "188nv73w0p5xhfxz2dffli44yzyn1qhhq3qkwc8wva9dhg25n8lh";
+      url = mirror://xorg/individual/driver/xf86-video-ast-1.1.5.tar.bz2;
+      sha256 = "1pm2cy81ma7ldsw0yfk28b33h9z2hcj5rccrxhfxfgvxsiavrnqy";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
@@ -1537,6 +1537,16 @@ let
     buildInputs = [pkgconfig fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   }) // {inherit fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
+  xf86videochips = (mkDerivation "xf86videochips" {
+    name = "xf86-video-chips-1.2.6";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/driver/xf86-video-chips-1.2.6.tar.bz2;
+      sha256 = "073bcdsvvsg19mb963sa5v7x2zs19y0q6javmgpiwfaqkz7zbblr";
+    };
+    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
+  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+
   xf86videocirrus = (mkDerivation "xf86videocirrus" {
     name = "xf86-video-cirrus-1.5.3";
     builder = ./builder.sh;
@@ -1618,11 +1628,11 @@ let
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
   xf86videointel = (mkDerivation "xf86videointel" {
-    name = "xf86-video-intel-2015-07-22";
+    name = "xf86-video-intel-2015-11-13";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/a29e765ec0c1d73ee7ef2dad3aa148214ec04335.tar.gz;
-      sha256 = "094qa8x0f7vgyirjbj9qdyak71nwxnmmsxml4zk49z59blq4l874";
+      url = http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/b5c1ceaac3c1114ca260f6a785e5fc8891eb1820.tar.gz;
+      sha256 = "0lbbgdn5qx3r5zvp3spfgavvmhc5adrsy7f5g061f9lvy7jrc0dr";
     };
     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 ;};
@@ -1727,6 +1737,16 @@ let
     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 ;};
 
+  xf86videos3virge = (mkDerivation "xf86videos3virge" {
+    name = "xf86-video-s3virge-1.10.7";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/driver/xf86-video-s3virge-1.10.7.tar.bz2;
+      sha256 = "1nm4cngjbw226q63rdacw6nx5lgxv7l7rsa8vhpr0gs80pg6igjx";
+    };
+    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
+  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+
   xf86videosavage = (mkDerivation "xf86videosavage" {
     name = "xf86-video-savage-2.3.8";
     builder = ./builder.sh;
@@ -1748,11 +1768,11 @@ let
   }) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;};
 
   xf86videosis = (mkDerivation "xf86videosis" {
-    name = "xf86-video-sis-0.10.7";
+    name = "xf86-video-sis-0.10.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-sis-0.10.7.tar.bz2;
-      sha256 = "1l0w84x39gq4y9j81dny9r6rma1xkqvxpsavpkd8h7h8panbcbmy";
+      url = mirror://xorg/individual/driver/xf86-video-sis-0.10.8.tar.bz2;
+      sha256 = "1znkqwdyd6am23xbsfjzamq125j5rrylg5mzqky4scv9gxbz5wy8";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ];
   }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;};
@@ -1857,6 +1877,16 @@ let
     buildInputs = [pkgconfig xorgserver xproto ];
   }) // {inherit xorgserver xproto ;};
 
+  xf86videoxgi = (mkDerivation "xf86videoxgi" {
+    name = "xf86-video-xgi-1.6.1";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/driver/xf86-video-xgi-1.6.1.tar.bz2;
+      sha256 = "10xd2vah0pnpw5spn40n4p95mpmgvdkly4i1cz51imnlfsw7g8si";
+    };
+    buildInputs = [pkgconfig fontsproto glproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ];
+  }) // {inherit fontsproto glproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ;};
+
   xf86vidmodeproto = (mkDerivation "xf86vidmodeproto" {
     name = "xf86vidmodeproto-2.3.1";
     builder = ./builder.sh;
@@ -2084,8 +2114,8 @@ let
       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 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;};
+    buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
+  }) // {inherit dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ;};
 
   # TODO:
   # With the current state of ./generate-expr-from-tarballs.pl,
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 1e0ce6d6167e..6665a3bc00a9 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -61,7 +61,7 @@ while (<>) {
       #next unless $pkg eq "xcbutil";
     }
 
-    $tarball =~ /\/([^\/]*)\.tar\.bz2$/;
+    $tarball =~ /\/([^\/]*)\.tar\.(bz2|gz|xz)$/;
     my $pkgName = $1;
 
     print "  $pkg $pkgName\n";
@@ -82,7 +82,7 @@ while (<>) {
     print "\nunpacking $path\n";
     system "rm -rf '$tmpDir'";
     mkdir $tmpDir, 0700;
-    system "cd '$tmpDir' && tar xfj '$path'";
+    system "cd '$tmpDir' && tar xf '$path'";
     die "cannot unpack `$path'" if $? != 0;
     print "\n";
 
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index c4f386b18d40..ac3a4a8d1159 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -94,7 +94,10 @@ in
   };
 
   libAppleWM = attrs: attrs // {
-    propagatedBuildInputs = [ args.apple_sdk.frameworks.ApplicationServices ];
+    buildInputs = attrs.buildInputs ++ [ args.apple_sdk.frameworks.ApplicationServices ];
+    preConfigure = ''
+      substituteInPlace src/Makefile.in --replace -F/System -F${args.apple_sdk.frameworks.ApplicationServices}
+    '';
   };
 
   libXau = attrs: attrs // {
@@ -348,7 +351,8 @@ in
 
     buildInputs = attrs.buildInputs ++ [args.intltool];
 
-    #TODO: resurrect patches for US_intl or Esperanto?
+    #TODO: resurrect patches for US_intl?
+    patches = [ ./xkeyboard-config-eo.patch ];
 
     # 1: compatibility for X11/xkb location
     # 2: I think pkgconfig/ is supposed to be in /lib/
@@ -368,7 +372,7 @@ in
         compositeproto scrnsaverproto resourceproto
         xf86dgaproto
         dmxproto /*libdmx not used*/ xf86vidmodeproto
-        recordproto libXext pixman libXfont
+        recordproto libXext pixman libXfont libxshmfence args.libunwind
         damageproto xcmiscproto  bigreqsproto
         inputproto xextproto randrproto renderproto presentproto
         dri2proto dri3proto kbproto xineramaproto resourceproto scrnsaverproto videoproto
@@ -420,6 +424,9 @@ in
       } else {
         buildInputs = commonBuildInputs ++ [
           args.bootstrap_cmds args.automake args.autoconf
+          args.apple_sdk.libs.Xplugin
+          args.apple_sdk.frameworks.Carbon
+          args.apple_sdk.frameworks.Cocoa
         ];
         propagatedBuildInputs = commonPropagatedBuildInputs ++ [
           libAppleWM applewmproto
@@ -453,6 +460,7 @@ in
         preConfigure = ''
           ensureDir $out/Applications
           export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error"
+          substituteInPlace hw/xquartz/pbproxy/Makefile.in --replace -F/System -F${args.apple_sdk.frameworks.ApplicationServices}
         '';
         postInstall = ''
           rm -fr $out/share/X11/xkb/compiled
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 67e125528c95..7292c6711444 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -121,16 +121,17 @@ 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.1.tar.bz2
-mirror://xorg/individual/driver/xf86-input-libinput-0.12.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-libinput-0.14.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.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-ast-1.1.5.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-chips-1.2.6.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
@@ -149,9 +150,10 @@ 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.10.0.tar.bz2
+mirror://xorg/individual/driver/xf86-video-s3virge-1.10.7.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-sis-0.10.8.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
 mirror://xorg/individual/driver/xf86-video-tdfx-1.4.6.tar.bz2
@@ -163,6 +165,7 @@ 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/individual/driver/xf86-video-xgi-1.6.1.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
diff --git a/pkgs/servers/x11/xorg/xkeyboard-config-eo.patch b/pkgs/servers/x11/xorg/xkeyboard-config-eo.patch
new file mode 100644
index 000000000000..360768774db9
--- /dev/null
+++ b/pkgs/servers/x11/xorg/xkeyboard-config-eo.patch
@@ -0,0 +1,71 @@
+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 eu \
++ee eo es et epo eu \
+ 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 eu \
++ee eo es et epo eu \
+ 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/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix
index da3df8a483d1..db0c446617af 100644
--- a/pkgs/servers/x11/xquartz/default.nix
+++ b/pkgs/servers/x11/xquartz/default.nix
@@ -146,6 +146,13 @@ in stdenv.mkDerivation {
       --replace "@STARTX@"          "$defaultStartX" \
       --replace "@FONTCONFIG_FILE@" "$fontsConfPath"
 
+    mkdir -p $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}" \