about summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/bird/default.nix11
-rw-r--r--pkgs/servers/certificate-transparency/default.nix57
-rw-r--r--pkgs/servers/certificate-transparency/protobuf-include-from-env.patch14
-rw-r--r--pkgs/servers/coturn/default.nix27
-rw-r--r--pkgs/servers/coturn/pure-configure.patch17
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix4
-rw-r--r--pkgs/servers/http/micro-httpd/default.nix2
-rw-r--r--pkgs/servers/http/mini-httpd/default.nix2
-rw-r--r--pkgs/servers/inginious/default.nix71
-rw-r--r--pkgs/servers/ldap/389/default.nix2
-rw-r--r--pkgs/servers/mail/petidomo/default.nix2
-rw-r--r--pkgs/servers/mail/postfix/pfixtools.nix2
-rw-r--r--pkgs/servers/mail/rspamd/default.nix2
-rw-r--r--pkgs/servers/matrix-synapse/default.nix15
-rw-r--r--pkgs/servers/nosql/arangodb/default.nix13
-rw-r--r--pkgs/servers/nosql/influxdb/default.nix17
-rw-r--r--pkgs/servers/nosql/influxdb/deps.json215
-rwxr-xr-xpkgs/servers/nosql/influxdb/gdm2nix.rb33
-rw-r--r--pkgs/servers/nosql/mongodb/default.nix2
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix2
-rw-r--r--pkgs/servers/nosql/riak/riak-1.3.1.patch64
-rw-r--r--pkgs/servers/nosql/riak/riak-admin-1.3.1.patch52
-rw-r--r--pkgs/servers/squid/default.nix2
-rw-r--r--pkgs/servers/uwsgi/default.nix9
-rw-r--r--pkgs/servers/x11/xquartz/default.nix3
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix8
26 files changed, 399 insertions, 249 deletions
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index b73457293126..3180238c618b 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, flex, bison, readline }:
+{ stdenv, fetchurl, flex, bison, readline
+, enableIPv6 ? false }:
 
 stdenv.mkDerivation rec {
-  name = "bird-1.5.0";
+  name = "bird-1.6.0";
 
   src = fetchurl {
     url = "ftp://bird.network.cz/pub/bird/${name}.tar.gz";
-    sha256 = "0pbvq6rx4ww46vcdslpiplb5fwq3mqma83434q38kx959qjw9mbr";
+    sha256 = "04qf07cb04xdjnq0qxj6y8iqwyszk1vyark9gn5v6wxcvqvzwgfv";
   };
 
   buildInputs = [ flex bison readline ];
@@ -16,13 +17,13 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--localstatedir /var"
-  ];
+  ] ++ stdenv.lib.optional enableIPv6 "--enable-ipv6";
 
   meta = {
     description = "BIRD Internet Routing Daemon";
     homepage = http://bird.network.cz;
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [ viric fpletz ];
     platforms  = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/certificate-transparency/default.nix b/pkgs/servers/certificate-transparency/default.nix
deleted file mode 100644
index 292ca6bc0e37..000000000000
--- a/pkgs/servers/certificate-transparency/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ stdenv, pkgs, ...}:
-
-stdenv.mkDerivation rec {
-  name = "certificate-transparency-${version}";
-
-  version = "2016-01-14";
-  rev = "250672b5aef3666edbdfc9a75b95a09e7a57ed08";
-
-  meta = with stdenv.lib; {
-    homepage = https://www.certificate-transparency.org/;
-    description = "Auditing for TLS certificates";
-    license = licenses.asl20;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ philandstuff ];
-  };
-
-  src = pkgs.fetchFromGitHub {
-    owner = "google";
-    repo  = "certificate-transparency";
-    rev   = rev;
-    sha256 = "1gn0bqzkf09jvc2aq3da8fwhl65y7q57msqsh6iczvd6fdmrpfdj";
-  };
-
-  # need to disable regex support in evhtp or building will fail
-  libevhtp_without_regex = stdenv.lib.overrideDerivation pkgs.libevhtp
-    (oldAttrs: {
-      cmakeFlags="-DEVHTP_DISABLE_REGEX:STRING=ON -DCMAKE_C_FLAGS:STRING=-fPIC";
-    });
-
-  buildInputs = with pkgs; [
-    autoconf automake clang_34 pkgconfig
-    glog gmock google-gflags gperftools gtest json_c leveldb
-    libevent libevhtp_without_regex openssl protobuf sqlite
-  ];
-
-  patches = [
-    ./protobuf-include-from-env.patch
-  ];
-
-  doCheck = false;
-
-  preConfigure = ''
-    ./autogen.sh
-    configureFlagsArray=(
-      CC=clang
-      CXX=clang++
-      GMOCK_DIR=${pkgs.gmock}
-      GTEST_DIR=${pkgs.gtest}
-    )
-  '';
-
-  # the default Makefile constructs BUILD_VERSION from `git describe`
-  # which isn't available in the nix build environment
-  makeFlags = "BUILD_VERSION=${version}-${rev}";
-
-  protocFlags = "-I ${pkgs.protobuf}/include";
-}
diff --git a/pkgs/servers/certificate-transparency/protobuf-include-from-env.patch b/pkgs/servers/certificate-transparency/protobuf-include-from-env.patch
deleted file mode 100644
index a1f9a1849b63..000000000000
--- a/pkgs/servers/certificate-transparency/protobuf-include-from-env.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Get protobuf include path from environment
-
---- a/python/Makefile
-+++ b/python/Makefile
-@@ -5,7 +5,7 @@ all: ct/proto/client_pb2.py ct/proto/ct_pb2.py ct/proto/tls_options_pb2.py \
- 	ct/proto/test_message_pb2.py ct/proto/certificate_pb2.py
- 
- ct/proto/%_pb2.py: ct/proto/%.proto
--	$(PROTOC) $^ -I/usr/include/ -I/usr/local/include -I$(INSTALL_DIR)/include -I. --python_out=.
-+	$(PROTOC) $^ $(protocFlags) -I. --python_out=.
- 
- ct/proto/ct_pb2.py: ../proto/ct.proto
- 	$(PROTOC) --python_out=ct/proto -I../proto ../proto/ct.proto
-
diff --git a/pkgs/servers/coturn/default.nix b/pkgs/servers/coturn/default.nix
new file mode 100644
index 000000000000..8dc062b75043
--- /dev/null
+++ b/pkgs/servers/coturn/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, openssl, libevent }:
+
+with { inherit (stdenv.lib) optional; };
+
+stdenv.mkDerivation rec {
+  name = "coturn-${version}";
+  version = "4.5.0.3";
+
+  src = fetchFromGitHub {
+    owner = "coturn";
+    repo = "coturn";
+    rev = "${version}";
+    sha256 = "1xr4dp3p16m4rq9mdsprs6s50rnif6hk38xx9siyykgfjnwr6i9g";
+  };
+
+  buildInputs = [ openssl libevent ];
+
+  patches = [ ./pure-configure.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = http://coturn.net/;
+    license = with licenses; [ bsd3 ];
+    description = "A TURN server";
+    platforms = platforms.all;
+    maintainers = [ maintainers.ralith ];
+  };
+}
diff --git a/pkgs/servers/coturn/pure-configure.patch b/pkgs/servers/coturn/pure-configure.patch
new file mode 100644
index 000000000000..0315a71b1844
--- /dev/null
+++ b/pkgs/servers/coturn/pure-configure.patch
@@ -0,0 +1,17 @@
+diff --git a/configure b/configure
+index 28a0625..ea25488 100755
+--- a/configure
++++ b/configure
+@@ -624,12 +624,6 @@ fi
+ 
+ TMPDIR="."
+ 
+-if [ -d /var/tmp ] ; then
+-  TMPDIR="/var/tmp"
+-elif [ -d /tmp ] ; then
+-  TMPDIR=/tmp
+-fi
+-
+ ${ECHO_CMD} Use TMP dir ${TMPDIR}
+ 
+ #########################
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index d52973ea12f1..aa3ea07de537 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -16,12 +16,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 assert http2Support -> nghttp2 != null;
 
 stdenv.mkDerivation rec {
-  version = "2.4.18";
+  version = "2.4.20";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "0k7xm6ldzvakzq39nw6b39190ihlkc28all2gkvckxa1vr8b0i06";
+    sha1 = "cefe8ea4a3f81c7a08e36c80ebbd792c67ab361b";
   };
 
   # FIXME: -dev depends on -doc
diff --git a/pkgs/servers/http/micro-httpd/default.nix b/pkgs/servers/http/micro-httpd/default.nix
index ba7c69ef7dbf..02cf49854ac8 100644
--- a/pkgs/servers/http/micro-httpd/default.nix
+++ b/pkgs/servers/http/micro-httpd/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage    = "http://acme.com/software/micro_httpd/";
-    description = "a really small HTTP server";
+    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 f35497fef8e4..20cea2708895 100644
--- a/pkgs/servers/http/mini-httpd/default.nix
+++ b/pkgs/servers/http/mini-httpd/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://mini-httpd.nongnu.org/";
-    description = "a minimalistic high-performance web server";
+    description = "A minimalistic high-performance web server";
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.peti ];
diff --git a/pkgs/servers/inginious/default.nix b/pkgs/servers/inginious/default.nix
new file mode 100644
index 000000000000..ba6a54fc973d
--- /dev/null
+++ b/pkgs/servers/inginious/default.nix
@@ -0,0 +1,71 @@
+{ pkgs, lib, pythonPackages }:
+with lib;
+
+let
+  docker_1_7_2 = pythonPackages.docker.override rec {
+    name = "docker-py-1.7.2";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/d/docker-py/${name}.tar.gz";
+      sha256 = "0k6hm3vmqh1d3wr9rryyif5n4rzvcffdlb1k4jvzp7g4996d3ccm";
+    };
+  };
+
+  webpy-custom = pythonPackages.web.override {
+    name = "web.py-INGI";
+    src = pkgs.fetchFromGitHub {
+      owner = "UCL-INGI";
+      repo = "webpy-INGI";
+      # tip of branch "ingi"
+      rev = "f487e78d65d6569eb70003e588d5c6ace54c384f";
+      sha256 = "159vwmb8554xk98rw380p3ah170r6gm861r1nqf2l452vvdfxscd";
+    };
+  };
+
+in pythonPackages.buildPythonApplication rec {
+  version = "0.3a2.dev0";
+  name = "inginious-${version}";
+
+  disabled = pythonPackages.isPy3k;
+
+  patchPhase = ''
+    # transient failures
+    substituteInPlace inginious/backend/tests/TestRemoteAgent.py \
+      --replace "test_update_task_directory" "noop"
+  '';
+
+  propagatedBuildInputs = with pythonPackages; [
+    requests2
+    cgroup-utils docker_1_7_2 docutils lti mock pygments
+    pymongo pyyaml rpyc sh simpleldap sphinx_rtd_theme tidylib
+    websocket_client watchdog webpy-custom flup
+  ];
+
+  buildInputs = with pythonPackages; [ nose selenium virtual-display ];
+
+  /* Hydra fix exists only on github for now.
+  src = pkgs.fetchurl {
+    url = "mirror://pypi/I/INGInious/INGInious-${version}.tar.gz";
+  };
+  */
+  src = pkgs.fetchFromGitHub {
+    owner = "UCL-INGI";
+    repo = "INGInious";
+    rev = "07d111c0a3045c7cc4e464d4adb8aa28b75a6948";
+    sha256 = "0kldbkc9yw1mgg5w5q5v8k2hz089c5c4rvxb5xhbagkzgm2gn230";
+  };
+
+  # Only patch shebangs in /bin, other scripts are run within docker
+  # containers and will fail if patched.
+  dontPatchShebangs = true;
+  preFixup = ''
+    patchShebangs $prefix/bin
+  '';
+
+  meta = {
+    description = "An intelligent grader that allows secured and automated testing of code made by students";
+    homepage = "https://github.com/UCL-INGI/INGInious";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ layus ];
+  };
+}
diff --git a/pkgs/servers/ldap/389/default.nix b/pkgs/servers/ldap/389/default.nix
index 39667c8ba626..c5f7a45cefea 100644
--- a/pkgs/servers/ldap/389/default.nix
+++ b/pkgs/servers/ldap/389/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = https://directory.fedoraproject.org/;
-    description = "enterprise-class Open Source LDAP server for Linux";
+    description = "Enterprise-class Open Source LDAP server for Linux";
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ wkennington ];
diff --git a/pkgs/servers/mail/petidomo/default.nix b/pkgs/servers/mail/petidomo/default.nix
index cf8aea594325..3ecb00b64fc3 100644
--- a/pkgs/servers/mail/petidomo/default.nix
+++ b/pkgs/servers/mail/petidomo/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://petidomo.sourceforge.net/";
-    description = "a simple and easy to administer mailing list server";
+    description = "A simple and easy to administer mailing list server";
     license = stdenv.lib.licenses.gpl3Plus;
 
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/servers/mail/postfix/pfixtools.nix b/pkgs/servers/mail/postfix/pfixtools.nix
index f45dd3b7248a..c8202b35455c 100644
--- a/pkgs/servers/mail/postfix/pfixtools.nix
+++ b/pkgs/servers/mail/postfix/pfixtools.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation {
   makeFlags = "DESTDIR=$(out) prefix=";
 
   meta = {
-    description = "a collection of postfix-related tools";
+    description = "A collection of postfix-related tools";
     license = with lib.licenses; [ bsd3 ];
     homepage = https://github.com/Fruneau/pfixtools;
   };
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index 0888eb1182a0..92b529fc564c 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = "https://github.com/vstakhov/rspamd";
     license = licenses.asl20;
-    description = "advanced spam filtering system";
+    description = "Advanced spam filtering system";
     maintainers = with maintainers; [ avnik fpletz ];
   };
 }
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 7a558a030319..2881b2f3805d 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, stdenv, buildPythonApplication, pythonPackages, fetchurl, fetchFromGitHub }:
+{ lib, pkgs, stdenv, buildPythonApplication, pythonPackages, fetchurl, fetchFromGitHub }:
 let
   matrix-angular-sdk = buildPythonApplication rec {
     name = "matrix-angular-sdk-${version}";
@@ -12,13 +12,13 @@ let
 in
 buildPythonApplication rec {
   name = "matrix-synapse-${version}";
-  version = "0.14.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
-    rev = "5fbdf2bcec40bf2f24fc0698440ee384595ff027";
-    sha256 = "1f9flb68l0bb5fkggxz1pghv72snsx6yia3s58f85z13f9vh84cb";
+    rev = "v${version}";
+    sha256 = "166y1f74wjkrpks88cp67w33rcs02b4dk815yj93lfla1k9ypg6b";
   };
 
   patches = [ ./matrix-synapse.patch ];
@@ -27,7 +27,7 @@ buildPythonApplication rec {
     blist canonicaljson daemonize dateutil frozendict pillow pybcrypt pyasn1
     pydenticon pymacaroons-pynacl pynacl pyopenssl pysaml2 pytz requests2
     service-identity signedjson systemd twisted ujson unpaddedbase64 pyyaml
-    matrix-angular-sdk
+    matrix-angular-sdk bleach netaddr jinja2 psycopg2
   ];
 
   # Checks fail because of Tox.
@@ -37,9 +37,10 @@ buildPythonApplication rec {
     mock setuptoolsTrial
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://matrix.org;
     description = "Matrix reference homeserver";
-    license = stdenv.lib.licenses.asl20;
+    license = licenses.asl20;
+    maintainers = [ maintainers.ralith ];
   };
 }
diff --git a/pkgs/servers/nosql/arangodb/default.nix b/pkgs/servers/nosql/arangodb/default.nix
index ffcd507653a0..8b8d1ba0ae16 100644
--- a/pkgs/servers/nosql/arangodb/default.nix
+++ b/pkgs/servers/nosql/arangodb/default.nix
@@ -11,6 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "1v07fghf2jd2mvkfqhag0xblf6sxw7kx9kmhs2xpyrpns58lirvc";
   };
 
+  postPatch = ''
+    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
+    sed '1i#include <cmath>' -i arangod/Aql/Functions.cpp \
+      -i lib/Basics/string-buffer.cpp
+  '';
+
   buildInputs = [
     openssl zlib python gyp go readline
   ];
@@ -19,12 +26,6 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow";
 
-
-  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; {
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
index 1372b6a3fc36..9f119b3f1389 100644
--- a/pkgs/servers/nosql/influxdb/default.nix
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -1,26 +1,29 @@
 { lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "influxdb-${rev}";
-  rev = "v0.9.4";
-  goPackagePath = "github.com/influxdb/influxdb";
+  name = "influxdb-${version}";
+  version = "0.13.0";
+
+  goPackagePath = "github.com/influxdata/influxdb";
 
   src = fetchFromGitHub {
-    inherit rev;
-    owner = "influxdb";
+    owner = "influxdata";
     repo = "influxdb";
-    sha256 = "0yarymppnlpf2xab57i8jx595v47s5mdwnf13719mc1fv3q84yqn";
+    rev = "v${version}";
+    sha256 = "0f7af5jb1f65qnslhc7zccml1qvk6xx5naczqfsf4s1zc556fdi4";
   };
 
   excludedPackages = "test";
 
+  # Generated with the `gdm2nix.rb` script and the `Godeps` file from the
+  # influxdb repo root.
   goDeps = ./deps.json;
 
   meta = with lib; {
     description = "An open-source distributed time series database";
     license = licenses.mit;
     homepage = https://influxdb.com/;
-    maintainers = with maintainers; [ offline ];
+    maintainers = with maintainers; [ offline zimbatm ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/nosql/influxdb/deps.json b/pkgs/servers/nosql/influxdb/deps.json
index f091b58e8dc4..33388cc0fb79 100644
--- a/pkgs/servers/nosql/influxdb/deps.json
+++ b/pkgs/servers/nosql/influxdb/deps.json
@@ -1,21 +1,200 @@
 [
   {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/peterh/liner",
-      "github.com/BurntSushi/toml",
-      "github.com/kimor79/gollectd",
-      "github.com/bmizerany/pat",
-      "gopkg.in/fatih/pool.v2",
-      "github.com/rakyll/statik",
-      "github.com/armon/go-metrics",
-      "github.com/boltdb/bolt",
-      "github.com/golang/snappy",
-      "github.com/hashicorp/go-msgpack",
-      "github.com/hashicorp/raft-boltdb",
-      "golang.org/x/crypto",
-      "github.com/gogo/protobuf",
-      "github.com/hashicorp/raft"
-    ]
+    "goPackagePath": "collectd.org",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/collectd/go-collectd.git",
+      "rev": "9fc824c70f713ea0f058a07b49a4c563ef2a3b98",
+      "sha256": "0kjal6bsjpnppfnlqbg7g56xwssaj2ani499yykyj817zq56hi0w"
+    }
+  },
+  {
+    "goPackagePath": "github.com/BurntSushi/toml",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/BurntSushi/toml.git",
+      "rev": "a4eecd407cf4129fc902ece859a0114e4cf1a7f4",
+      "sha256": "1l74zvd534k2fs73gmaq4mgl48p1i9559k1gwq4vakca727z5sgf"
+    }
+  },
+  {
+    "goPackagePath": "github.com/armon/go-metrics",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/armon/go-metrics.git",
+      "rev": "345426c77237ece5dab0e1605c3e4b35c3f54757",
+      "sha256": "13bp2ykqhnhzif7wzrwsg54c2b0czhgs9csbvzbvc93n72s59jh5"
+    }
+  },
+  {
+    "goPackagePath": "github.com/bmizerany/pat",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/bmizerany/pat.git",
+      "rev": "b8a35001b773c267eb260a691f4e5499a3531600",
+      "sha256": "11zxd45rvjm6cn3wzbi18wy9j4vr1r1hgg6gzlqnxffiizkycxmz"
+    }
+  },
+  {
+    "goPackagePath": "github.com/boltdb/bolt",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/boltdb/bolt.git",
+      "rev": "2f846c3551b76d7710f159be840d66c3d064abbe",
+      "sha256": "0cvpcgmzlrn87jqrflwf4pciz6i25ri1r83sq7v1z9zry1ah16r5"
+    }
+  },
+  {
+    "goPackagePath": "github.com/davecgh/go-spew",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/davecgh/go-spew.git",
+      "rev": "fc32781af5e85e548d3f1abaf0fa3dbe8a72495c",
+      "sha256": "1dwwd4va0qnyr256i7n8d4g24d7yyvwd0975y6v4dy06qpwir232"
+    }
+  },
+  {
+    "goPackagePath": "github.com/dgryski/go-bits",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/dgryski/go-bits.git",
+      "rev": "86c69b3c986f9d40065df5bd8f765796549eef2e",
+      "sha256": "08i3p8lcisr88gmwvi8qdc8bgksxh5ydjspgfbi4aba9msybp78b"
+    }
+  },
+  {
+    "goPackagePath": "github.com/dgryski/go-bitstream",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/dgryski/go-bitstream.git",
+      "rev": "27cd5973303fde7d914860be1ea4b927a6be0c92",
+      "sha256": "12ji4vcfy0cz12yq43cz0w1f1k4c1kg0vwpsk1iy47kc38kzdkc6"
+    }
+  },
+  {
+    "goPackagePath": "github.com/gogo/protobuf",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/gogo/protobuf.git",
+      "rev": "74b6e9deaff6ba6da1389ec97351d337f0d08b06",
+      "sha256": "0045fz4bx72rikm2ggx9j1h3yrq518299qwaizrgy5jvxzj1707b"
+    }
+  },
+  {
+    "goPackagePath": "github.com/golang/snappy",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/golang/snappy.git",
+      "rev": "5979233c5d6225d4a8e438cdd0b411888449ddab",
+      "sha256": "0i0pvwc2a4xgsns6mr3xbc6p0sra34qsaagd7yf7v1as0z7ydl3s"
+    }
+  },
+  {
+    "goPackagePath": "github.com/hashicorp/go-msgpack",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/hashicorp/go-msgpack.git",
+      "rev": "fa3f63826f7c23912c15263591e65d54d080b458",
+      "sha256": "1f6rd6bm2dm2rk46x8cqrxh5nks1gpk6dvvsag7s5pdjgdxy951k"
+    }
+  },
+  {
+    "goPackagePath": "github.com/hashicorp/raft",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/hashicorp/raft.git",
+      "rev": "8fd9a2fdfd154f4b393aa24cff91e3c317efe839",
+      "sha256": "04k03x6r6h2xwxfvbzicfdblifdjn35agw9kwla6akw6l54ygy0f"
+    }
+  },
+  {
+    "goPackagePath": "github.com/hashicorp/raft-boltdb",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/hashicorp/raft-boltdb.git",
+      "rev": "d1e82c1ec3f15ee991f7cc7ffd5b67ff6f5bbaee",
+      "sha256": "0p609w6x0h6bapx4b0d91dxnp2kj7dv0534q4blyxp79shv2a8ia"
+    }
+  },
+  {
+    "goPackagePath": "github.com/influxdata/usage-client",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/influxdata/usage-client.git",
+      "rev": "475977e68d79883d9c8d67131c84e4241523f452",
+      "sha256": "0yhywablqqpd2x70rax1kf7yaw1jpvrc2gks8360cwisda57d3qy"
+    }
+  },
+  {
+    "goPackagePath": "github.com/jwilder/encoding",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/jwilder/encoding.git",
+      "rev": "b421ab402545ef5a119f4f827784c6551d9bfc37",
+      "sha256": "0sjz2cl8kpni0mh0y4269k417dj06gn2y0ppi25i3wh9p4j4i4fq"
+    }
+  },
+  {
+    "goPackagePath": "github.com/kimor79/gollectd",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/kimor79/gollectd.git",
+      "rev": "61d0deeb4ffcc167b2a1baa8efd72365692811bc",
+      "sha256": "0als2v4d5hlw0sqam670p3fi471ikgl3l81bp31mf3s3jssdxwfs"
+    }
+  },
+  {
+    "goPackagePath": "github.com/paulbellamy/ratecounter",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/paulbellamy/ratecounter.git",
+      "rev": "5a11f585a31379765c190c033b6ad39956584447",
+      "sha256": "137p62imi91zhkjcjigdd64n7f9z6djjpsxcyifgrcxs41jj9ra0"
+    }
+  },
+  {
+    "goPackagePath": "github.com/peterh/liner",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/peterh/liner.git",
+      "rev": "82a939e738b0ee23e84ec7a12d8e216f4d95c53f",
+      "sha256": "1187c1rqmh9k9ap5bz3p9hbjp3ad5hysykh58kgv5clah1jbkg04"
+    }
+  },
+  {
+    "goPackagePath": "github.com/rakyll/statik",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/rakyll/statik.git",
+      "rev": "274df120e9065bdd08eb1120e0375e3dc1ae8465",
+      "sha256": "0llk7bxmk66wdiy42h32vj1jfk8zg351xq21hwhrq7gkfljghffp"
+    }
+  },
+  {
+    "goPackagePath": "golang.org/x/crypto",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/golang/crypto.git",
+      "rev": "1f22c0103821b9390939b6776727195525381532",
+      "sha256": "1acy12f396sr3lrnbcnym5q72qnlign5bagving41qijzjnc219m"
+    }
+  },
+  {
+    "goPackagePath": "golang.org/x/tools",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/golang/tools.git",
+      "rev": "8b178a93c1f5b5c8f4e36cd6bd64e0d5bf0ee180",
+      "sha256": "0rqm56c4acrvyqsp53dkzr34pkz922x4rwknaslwlbkyc4gyg2c8"
+    }
+  },
+  {
+    "goPackagePath": "gopkg.in/fatih/pool.v2",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/fatih/pool.git",
+      "rev": "cba550ebf9bce999a02e963296d4bc7a486cb715",
+      "sha256": "1jlrakgnpvhi2ny87yrsj1gyrcncfzdhypa9i2mlvvzqlj4r0dn0"
+    }
   }
-]
+]
\ No newline at end of file
diff --git a/pkgs/servers/nosql/influxdb/gdm2nix.rb b/pkgs/servers/nosql/influxdb/gdm2nix.rb
new file mode 100755
index 000000000000..4c49c8a538ff
--- /dev/null
+++ b/pkgs/servers/nosql/influxdb/gdm2nix.rb
@@ -0,0 +1,33 @@
+#!/usr/bin/env ruby
+#
+#
+require "json"
+
+redirects = {
+  "collectd.org" => "github.com/collectd/go-collectd",
+  "golang.org/x/crypto" => "github.com/golang/crypto",
+  "golang.org/x/tools" => "github.com/golang/tools",
+  "gopkg.in/fatih/pool.v2" => "github.com/fatih/pool",
+}
+
+deps = File.read("Godeps").lines.map do |line|
+  (name, rev) = line.split(" ")
+
+  host = redirects.fetch(name, name)
+
+  url = "https://#{host}.git"
+
+  xxx = JSON.load(`nix-prefetch-git #{url} #{rev}`)
+  
+  {
+    goPackagePath: name,
+    fetch: {
+      type: "git",
+      url: url,
+      rev: rev,
+      sha256: xxx['sha256'],
+    }
+  }
+end
+
+File.write("deps.json", JSON.pretty_generate(deps))
diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix
index ca7e30e95e3d..127d807133e0 100644
--- a/pkgs/servers/nosql/mongodb/default.nix
+++ b/pkgs/servers/nosql/mongodb/default.nix
@@ -93,7 +93,7 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    description = "a scalable, high-performance, open source NoSQL database";
+    description = "A scalable, high-performance, open source NoSQL database";
     homepage = http://www.mongodb.org;
     license = licenses.agpl3;
 
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index 91c4472e0492..f94ca52259e6 100644
--- a/pkgs/servers/nosql/neo4j/default.nix
+++ b/pkgs/servers/nosql/neo4j/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "a highly scalable, robust (fully ACID) native graph database";
+    description = "A highly scalable, robust (fully ACID) native graph database";
     homepage = "http://www.neo4j.org/";
     license = licenses.gpl3;
 
diff --git a/pkgs/servers/nosql/riak/riak-1.3.1.patch b/pkgs/servers/nosql/riak/riak-1.3.1.patch
deleted file mode 100644
index e36bd31ab88c..000000000000
--- a/pkgs/servers/nosql/riak/riak-1.3.1.patch
+++ /dev/null
@@ -1,64 +0,0 @@
---- a/rel/files/riak	2013-05-22 20:45:55.613299952 +0200
-+++ b/rel/files/riak	2013-06-04 03:20:47.679943612 +0200
-@@ -13,33 +13,34 @@
- fi
- unset POSIX_SHELL # clear it so if we invoke other scripts, they run as ksh as well
- 
-+if [ -z "$RIAK_ETC_DIR" ]; then
-+    echo "Must set RIAK_ETC_DIR"
-+    exit 1
-+fi
-+
-+if [ -z "$RIAK_LOG_DIR" ]; then
-+    echo "Must set RIAK_LOG_DIR"
-+    exit 1
-+fi
-+
-+if [ -z "$RIAK_DATA_DIR" ]; then
-+    echo "Must set RIAK_DATA_DIR"
-+    exit 1
-+fi
-+
- RUNNER_SCRIPT_DIR={{runner_script_dir}}
- RUNNER_SCRIPT=${0##*/}
- 
- RUNNER_BASE_DIR={{runner_base_dir}}
--RUNNER_ETC_DIR={{runner_etc_dir}}
-+RUNNER_ETC_DIR=$RIAK_ETC_DIR
- RUNNER_LIB_DIR={{platform_lib_dir}}
--RUNNER_LOG_DIR={{runner_log_dir}}
-+RUNNER_LOG_DIR=$RIAK_LOG_DIR
- # Note the trailing slash on $PIPE_DIR/
- PIPE_DIR={{pipe_dir}}
--RUNNER_USER={{runner_user}}
--PLATFORM_DATA_DIR={{platform_data_dir}}
-+PLATFORM_DATA_DIR=$RIAK_DATA_DIR
- SSL_DIST_CONFIG=$PLATFORM_DATA_DIR/ssl_distribution.args_file
- RIAK_VERSION="git"
- 
--WHOAMI=$(whoami)
--
--# Make sure this script is running as the appropriate user
--if ([ "$RUNNER_USER" ] && [ "x$WHOAMI" != "x$RUNNER_USER" ]); then
--    type sudo > /dev/null 2>&1
--    if [ $? -ne 0 ]; then
--        echo "sudo doesn't appear to be installed and your EUID isn't $RUNNER_USER" 1>&2
--        exit 1
--    fi
--    echo "Attempting to restart script through sudo -H -u $RUNNER_USER" >&2
--    exec sudo -H -u $RUNNER_USER -i $RUNNER_SCRIPT_DIR/$RUNNER_SCRIPT $@
--fi
--
- # Warn the user if ulimit -n is less than 4096
- ULIMIT_F=`ulimit -n`
- if [ "$ULIMIT_F" -lt 4096 ]; then
-@@ -48,9 +49,6 @@
-     echo "!!!!"
- fi
- 
--# Make sure CWD is set to runner base dir
--cd $RUNNER_BASE_DIR
--
- # Make sure log directory exists
- mkdir -p $RUNNER_LOG_DIR
- 
diff --git a/pkgs/servers/nosql/riak/riak-admin-1.3.1.patch b/pkgs/servers/nosql/riak/riak-admin-1.3.1.patch
deleted file mode 100644
index 9c87a6329943..000000000000
--- a/pkgs/servers/nosql/riak/riak-admin-1.3.1.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/rel/files/riak-admin	2013-05-22 20:45:55.613299952 +0200
-+++ b/rel/files/riak-admin	2013-06-04 03:30:00.101604175 +0200
-@@ -11,31 +11,31 @@
- fi
- unset POSIX_SHELL # clear it so if we invoke other scripts, they run as ksh as well
- 
-+
-+if [ -z "$RIAK_ETC_DIR" ]; then
-+    echo "Must set RIAK_ETC_DIR"
-+    exit 1
-+fi
-+
-+if [ -z "$RIAK_LOG_DIR" ]; then
-+    echo "Must set RIAK_LOG_DIR"
-+    exit 1
-+fi
-+
-+if [ -z "$RIAK_DATA_DIR" ]; then
-+    echo "Must set RIAK_DATA_DIR"
-+    exit 1
-+fi
-+
- RUNNER_SCRIPT_DIR={{runner_script_dir}}
- RUNNER_SCRIPT=${0##*/}
- 
- RUNNER_BASE_DIR={{runner_base_dir}}
--RUNNER_ETC_DIR={{runner_etc_dir}}
-+RUNNER_ETC_DIR=$RIAK_ETC_DIR
- RUNNER_LIB_DIR={{platform_lib_dir}}
--RUNNER_LOG_DIR={{runner_log_dir}}
-+RUNNER_LOG_DIR=$RIAK_LOG_DIR
- RUNNER_USER={{runner_user}}
- 
--WHOAMI=$(whoami)
--
--# Make sure this script is running as the appropriate user
--if ([ "$RUNNER_USER" ] && [ "x$WHOAMI" != "x$RUNNER_USER" ]); then
--    type sudo > /dev/null 2>&1
--    if [ $? -ne 0 ]; then
--        echo "sudo doesn't appear to be installed and your EUID isn't $RUNNER_USER" 1>&2
--        exit 1
--    fi
--    echo "Attempting to restart script through sudo -H -u $RUNNER_USER" >&2
--    exec sudo -H -u $RUNNER_USER -i $RUNNER_SCRIPT_DIR/$RUNNER_SCRIPT $@
--fi
--
--# Make sure CWD is set to runner base dir
--cd $RUNNER_BASE_DIR
--
- # Extract the target node name from node.args
- NAME_ARG=`egrep "^ *-s?name" $RUNNER_ETC_DIR/vm.args`
- if [ -z "$NAME_ARG" ]; then
diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix
index e518d063dd45..7546fe37afe5 100644
--- a/pkgs/servers/squid/default.nix
+++ b/pkgs/servers/squid/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
-    description = "a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more";
+    description = "A caching proxy for the Web supporting HTTP, HTTPS, FTP, and more";
     homepage = "http://www.squid-cache.org";
     license = stdenv.lib.licenses.gpl2;
   };
diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
index de3689a80074..3bec62ebe039 100644
--- a/pkgs/servers/uwsgi/default.nix
+++ b/pkgs/servers/uwsgi/default.nix
@@ -4,6 +4,7 @@
 , pam, withPAM ? false
 , systemd, withSystemd ? false
 , python2, python3, ncurses
+, ruby
 }:
 
 let pythonPlugin = pkg : lib.nameValuePair "python${if pkg ? isPy2 then "2" else "3"}" {
@@ -20,6 +21,10 @@ let pythonPlugin = pkg : lib.nameValuePair "python${if pkg ? isPy2 then "2" else
     available = lib.listToAttrs [
                   (pythonPlugin python2)
                   (pythonPlugin python3)
+                  (lib.nameValuePair "rack" {
+                    path = "plugins/rack";
+                    inputs = [ ruby ];
+                  })
                 ];
 
     getPlugin = name:
@@ -65,12 +70,12 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     mkdir -p $pluginDir
     python3 uwsgiconfig.py --build nixos
-    ${lib.concatMapStringsSep ";" (x: "${x.interpreter} uwsgiconfig.py --plugin ${x.path} nixos ${x.name}") needed}
+    ${lib.concatMapStringsSep ";" (x: "${x.interpreter or "python3"} uwsgiconfig.py --plugin ${x.path} nixos ${x.name}") needed}
   '';
 
   installPhase = ''
     install -Dm755 uwsgi $out/bin/uwsgi
-    ${lib.concatMapStringsSep "\n" (x: x.install) needed}
+    ${lib.concatMapStringsSep "\n" (x: x.install or "") needed}
   '';
 
   NIX_CFLAGS_LINK = [ "-lsystemd" ];
diff --git a/pkgs/servers/x11/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix
index 16a4aeb1ce58..79b99faea9b9 100644
--- a/pkgs/servers/x11/xquartz/default.nix
+++ b/pkgs/servers/x11/xquartz/default.nix
@@ -37,7 +37,6 @@
 # that point into the user's profile.
 
 let
-  shellEscape = x: "'${lib.replaceChars ["'"] [("'\\'" + "'")] x}'";
   installer = writeScript "xquartz-install" ''
     NIX_LINK=$HOME/.nix-profile
 
@@ -138,7 +137,7 @@ in stdenv.mkDerivation {
     defaultStartX="$out/bin/startx -- $out/bin/Xquartz"
 
     ruby ${./patch_plist.rb} \
-      ${shellEscape (builtins.toXML {
+      ${lib.escapeShellArg (builtins.toXML {
         XQUARTZ_DEFAULT_CLIENT = "${xterm}/bin/xterm";
         XQUARTZ_DEFAULT_SHELL  = "${shell}";
         XQUARTZ_DEFAULT_STARTX = "@STARTX@";
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index 45c42947c5a4..f32e6d684526 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -46,12 +46,12 @@ stdenv.mkDerivation rec {
   postInstall = ''
       cp $communityModules/mod_websocket/mod_websocket.lua $out/lib/prosody/modules/
       wrapProgram $out/bin/prosody \
-        --set LUA_PATH '"${luaPath};"' \
-        --set LUA_CPATH '"${luaCPath};"'
+        --set LUA_PATH '${luaPath};' \
+        --set LUA_CPATH '${luaCPath};'
       wrapProgram $out/bin/prosodyctl \
         --add-flags '--config "/etc/prosody/prosody.cfg.lua"' \
-        --set LUA_PATH '"${luaPath};"' \
-        --set LUA_CPATH '"${luaCPath};"'
+        --set LUA_PATH '${luaPath};' \
+        --set LUA_CPATH '${luaCPath};'
     '';
 
   meta = {