summary refs log tree commit diff
path: root/pkgs/servers/http
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/http')
-rw-r--r--pkgs/servers/http/apache-httpd/2.2.nix9
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix6
-rw-r--r--pkgs/servers/http/apache-modules/mod_dnssd/default.nix28
-rw-r--r--pkgs/servers/http/apache-modules/mod_wsgi/default.nix8
-rw-r--r--pkgs/servers/http/couchdb/default.nix35
-rw-r--r--pkgs/servers/http/couchdb/src-for-default.nix9
-rw-r--r--pkgs/servers/http/couchdb/src-info-for-default.nix7
-rw-r--r--pkgs/servers/http/jetty/6.1/default.nix6
-rw-r--r--pkgs/servers/http/joseki/default.nix3
-rw-r--r--pkgs/servers/http/lighttpd/default.nix18
-rw-r--r--pkgs/servers/http/myserver/default.nix69
-rw-r--r--pkgs/servers/http/nginx/default.nix91
-rw-r--r--pkgs/servers/http/nginx/default.upstream2
-rw-r--r--pkgs/servers/http/nix-binary-cache/default.nix61
-rw-r--r--pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in105
-rw-r--r--pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in97
-rw-r--r--pkgs/servers/http/openresty/default.nix58
-rw-r--r--pkgs/servers/http/spawn-fcgi/default.nix24
-rw-r--r--pkgs/servers/http/thttpd/default.nix2
-rw-r--r--pkgs/servers/http/tomcat/6.0.nix4
-rw-r--r--pkgs/servers/http/tomcat/axis2/default.nix10
-rw-r--r--pkgs/servers/http/winstone/default.nix26
-rw-r--r--pkgs/servers/http/yaws/default.nix6
23 files changed, 570 insertions, 114 deletions
diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix
index 784c14543220..bcbc5baf37b0 100644
--- a/pkgs/servers/http/apache-httpd/2.2.nix
+++ b/pkgs/servers/http/apache-httpd/2.2.nix
@@ -12,12 +12,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 assert mpm == "prefork" || mpm == "worker" || mpm == "event";
 
 stdenv.mkDerivation rec {
-  version = "2.2.25";
+  version = "2.2.27";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha1 = "e34222d1a8de38825397a1c70949bcc5836a1236";
+    sha256 = "0iw19y6knijinqwvv4q16fgq5xq8nwxdg14wrrbc0mfasvg76n90";
   };
 
   outputs = [ "dev" "out" "doc" ];
@@ -65,9 +65,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Apache HTTPD, the world's most popular web server";
+    branch      = "2.2";
     homepage    = http://httpd.apache.org/;
     license     = stdenv.lib.licenses.asl20;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ simons lovek323 ];
+    platforms   = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = with stdenv.lib.maintainers; [ eelco simons lovek323 ];
   };
 }
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index bbf84a852b8f..e164c21ec78d 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -14,12 +14,12 @@ assert sslSupport -> aprutil.sslSupport && openssl != null;
 assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 
 stdenv.mkDerivation rec {
-  version = "2.4.4";
+  version = "2.4.10";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "0p35jy6mkb1q48bia719qxs5bwxv0wadyhxi61rsr93nrbgbvalj";
+    sha256 = "0slwcqw9f7fnb3kyz27hlsgh8j4wiza4yzqyp6vhfpvl3an4sv0p";
   };
 
   buildInputs = [perl] ++
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
     description = "Apache HTTPD, the world's most popular web server";
     homepage    = http://httpd.apache.org/;
     license     = licenses.asl20;
-    platforms   = stdenv.lib.platforms.unix;
+    platforms   = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = with maintainers; [ lovek323 simons ];
   };
 }
diff --git a/pkgs/servers/http/apache-modules/mod_dnssd/default.nix b/pkgs/servers/http/apache-modules/mod_dnssd/default.nix
new file mode 100644
index 000000000000..06f12820a10d
--- /dev/null
+++ b/pkgs/servers/http/apache-modules/mod_dnssd/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, apacheHttpd_2_2, apr, avahi }:
+
+stdenv.mkDerivation rec {
+  name = "mod_dnssd-0.6";
+
+  src = fetchurl {
+    url = "http://0pointer.de/lennart/projects/mod_dnssd/${name}.tar.gz";
+    sha256 = "2cd171d76eba398f03c1d5bcc468a1756f4801cd8ed5bd065086e4374997c5aa";
+  };
+
+  configureFlags = [ "--disable-lynx" ];
+
+  buildInputs = [ pkgconfig apacheHttpd_2_2 avahi apr ];
+
+  installPhase = ''
+    mkdir -p $out/modules
+    cp src/.libs/mod_dnssd.so $out/modules
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://0pointer.de/lennart/projects/mod_dnssd;
+    description = "Provide Zeroconf support via DNS-SD using Avahi";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lethalman ];
+  };
+}
+
diff --git a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
index c8f0da7040cc..07dff1cf5855 100644
--- a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, apacheHttpd, python }:
 
 stdenv.mkDerivation {
-  name = "mod_wsgi-3.3";
+  name = "mod_wsgi-3.4";
 
   src = fetchurl {
-    url = "http://modwsgi.googlecode.com/files/mod_wsgi-3.3.tar.gz";
-    sha256 = "0hrjksym0dlqn1ka1yf3x6ar801zqxfykwcxazjwz104k5w10vnr";
+    url = "http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz";
+    sha256 = "1s5nnjssvcl6lzy7kxmrk47yz6sgfzk90i1y7jml0s0lks7ck1df";
   };
 
   buildInputs = [ apacheHttpd python ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://code.google.com/p/modwsgi/";
     description = "Host Python applications in Apache through the WSGI interface";
-    license = "ASL2.0";
+    license = stdenv.lib.licenses.asl20;
 
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
diff --git a/pkgs/servers/http/couchdb/default.nix b/pkgs/servers/http/couchdb/default.nix
index 08bc45443a34..35d4ebbf89f3 100644
--- a/pkgs/servers/http/couchdb/default.nix
+++ b/pkgs/servers/http/couchdb/default.nix
@@ -1,21 +1,38 @@
-args @ {stdenv, fetchurl, erlang, spidermonkey,
-	icu, getopt, curl, ...}:
-
-let s = import ./src-for-default.nix; in
+{ stdenv, fetchurl, erlang, icu, openssl, spidermonkey, curl, help2man, python
+, sphinx, which, file, pkgconfig, getopt }:
 
 stdenv.mkDerivation rec {
-  inherit (s) name;
+  name = "couchdb-${version}";
+  version = "1.6.0";
+
   src = fetchurl {
-    inherit (s) url;
-    sha256 = s.hash;
+    url = "mirror://apache/couchdb/source/${version}/apache-${name}.tar.gz";
+    sha256 = "0m4k7i3gibzzcabssysv42rmdr89myppc6765xr0jggwkwdxgxmx";
   };
 
-  buildInputs = [erlang spidermonkey icu curl];
+  buildInputs = [ erlang icu openssl spidermonkey curl help2man sphinx which
+    file pkgconfig ];
 
   postInstall = ''
     sed -i -e "s|\`getopt|\`${getopt}/bin/getopt|" $out/bin/couchdb
   '';
 
-  configureFlags = "--with-erlang=${erlang}/lib/erlang/usr/include --with-js-include=${spidermonkey}/include --with-js-lib=${spidermonkey}/lib";
+  /*
+  Versions of SpiderMonkey after the js185-1.0.0 release remove the optional
+  enforcement of preventing anonymous functions in a statement context. This
+  will most likely break your existing JavaScript code as well as render all
+  example code invalid.
 
+  If you wish to ignore this error pass --enable-js-trunk to ./configure.
+  */
+  configureFlags = ''
+    --enable-js-trunk
+  '';
+
+  meta = {
+    description = "Apache CouchDB is a database that uses JSON for documents, JavaScript for MapReduce queries, and regular HTTP for an API";
+    homepage = "http://couchdb.apache.org";
+    license = stdenv.lib.licenses.asl20;
+    maintainers = with stdenv.lib.maintainers; [ viric garbas ];
+  };
 }
diff --git a/pkgs/servers/http/couchdb/src-for-default.nix b/pkgs/servers/http/couchdb/src-for-default.nix
deleted file mode 100644
index 6e07077d3332..000000000000
--- a/pkgs/servers/http/couchdb/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="1.2.0";
-   name="couchdb-1.2.0";
-   hash="0dswinmg32zn217049dkbx3pab3qwihzmlbc7i6vq7a7lbg4s98g";
-   url="mirror://apache/couchdb/releases/1.2.0/apache-couchdb-${version}.tar.gz";
-   advertisedUrl="http://www.apache.org/dist/couchdb/releases/1.2.0/apache-couchdb-1.2.0.tar.gz";
-  
-  
-}
diff --git a/pkgs/servers/http/couchdb/src-info-for-default.nix b/pkgs/servers/http/couchdb/src-info-for-default.nix
deleted file mode 100644
index 5904bdcb232f..000000000000
--- a/pkgs/servers/http/couchdb/src-info-for-default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  downloadPage = "http://couchdb.apache.org/downloads.html";
-  baseName = "couchdb";
-  choiceCommand = ''head -1 | sed -re "$skipRedirectApache" '';
-  mirrorSedScript = ''$apacheMirror'';
-}
-
diff --git a/pkgs/servers/http/jetty/6.1/default.nix b/pkgs/servers/http/jetty/6.1/default.nix
index 10913a656411..894a21fdece9 100644
--- a/pkgs/servers/http/jetty/6.1/default.nix
+++ b/pkgs/servers/http/jetty/6.1/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation {
-  name = "jetty-6.1.21";
+  name = "jetty-6.1.26";
 
   builder = ./bin-builder.sh;
   buildInputs = [unzip];
 
   src = fetchurl {
-    url = http://dist.codehaus.org/jetty/jetty-6.1.21/jetty-6.1.21.zip;
-    sha256 = "1nrjglrmf29m1j1c80nskngmlqmc5vc7c48fggczn605l722cwaw";
+    url = http://dist.codehaus.org/jetty/jetty-6.1.26/jetty-6.1.26.zip;
+    sha256 = "11w1ciayv8zvxjg45xzs0kwc7k45x97sbnxkqb62sxy3gsw8xh4n";
   };
 }
diff --git a/pkgs/servers/http/joseki/default.nix b/pkgs/servers/http/joseki/default.nix
index 6ca5caba9440..f42ae81a700d 100644
--- a/pkgs/servers/http/joseki/default.nix
+++ b/pkgs/servers/http/joseki/default.nix
@@ -105,8 +105,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      []; # Builder is just unpacking/mixing what is needed
+    hydraPlatforms = []; # Builder is just unpacking/mixing what is needed
     license = "free"; # mix of packages under different licenses
     homepage = "http://openjena.org/";
   };
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 61070ef22b6e..899914b6446d 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -1,22 +1,26 @@
 { stdenv, fetchurl, pkgconfig, pcre, libxml2, zlib, attr, bzip2, which, file
 , openssl, enableMagnet ? false, lua5 ? null
+, enableMysql ? false, mysql ? null
 }:
 
 assert enableMagnet -> lua5 != null;
+assert enableMysql -> mysql != null;
 
-stdenv.mkDerivation {
-  name = "lighttpd-1.4.32";
+stdenv.mkDerivation rec {
+  name = "lighttpd-1.4.35";
 
   src = fetchurl {
-    url = http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.32.tar.xz;
-    sha256 = "1hgd9bi4mrak732h57na89lqg58b1kkchnddij9gawffd40ghs0k";
+    url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz";
+    sha256 = "18rh7xyx69xbwl20znnjma1dq5fay0ygjjvpn3gaa7dxrir9nghi";
   };
 
   buildInputs = [ pkgconfig pcre libxml2 zlib attr bzip2 which file openssl ]
-             ++ stdenv.lib.optional enableMagnet lua5;
+             ++ stdenv.lib.optional enableMagnet lua5
+             ++ stdenv.lib.optional enableMysql mysql;
 
   configureFlags = [ "--with-openssl" ]
-                ++ stdenv.lib.optional enableMagnet "--with-lua";
+                ++ stdenv.lib.optional enableMagnet "--with-lua"
+                ++ stdenv.lib.optional enableMysql "--with-mysql";
 
   preConfigure = ''
     sed -i "s:/usr/bin/file:${file}/bin/file:g" configure
@@ -27,6 +31,6 @@ stdenv.mkDerivation {
     homepage = http://www.lighttpd.net/;
     license = "BSD";
     platforms = platforms.linux;
-    maintainers = [maintainers.bjornfor];
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/servers/http/myserver/default.nix b/pkgs/servers/http/myserver/default.nix
index 8c0118912f5d..3e1c94e79b4b 100644
--- a/pkgs/servers/http/myserver/default.nix
+++ b/pkgs/servers/http/myserver/default.nix
@@ -1,53 +1,50 @@
-{ fetchurl, stdenv, libgcrypt, libevent, libidn, gnutls
+{ lib, fetchurl, stdenv, libgcrypt, libevent, libidn, gnutls
 , libxml2, zlib, guile, texinfo, cppunit, psmisc }:
 
 let version = "0.11"; in
-  stdenv.mkDerivation (rec {
-    name = "myserver-${version}";
 
-    src = fetchurl {
-      url = "mirror://gnu/myserver/${version}/${name}.tar.xz";
-      sha256 = "02y3vv4hxpy5h710y79s8ipzshhc370gbz1wm85x0lnq5nqxj2ax";
-    };
+stdenv.mkDerivation rec {
+  name = "myserver-${version}";
 
-    patches =
-      [ ./disable-dns-lookup-in-chroot.patch ];
+  src = fetchurl {
+    url = "mirror://gnu/myserver/${version}/${name}.tar.xz";
+    sha256 = "02y3vv4hxpy5h710y79s8ipzshhc370gbz1wm85x0lnq5nqxj2ax";
+  };
 
-    buildInputs =
-      [ libgcrypt libevent libidn gnutls libxml2 zlib guile texinfo ]
-      ++ stdenv.lib.optional doCheck cppunit;
+  patches =
+    [ ./disable-dns-lookup-in-chroot.patch ];
 
-    makeFlags = [ "V=1" ];
+  buildInputs =
+    [ libgcrypt libevent libidn gnutls libxml2 zlib guile texinfo ]
+    ++ lib.optional doCheck cppunit;
 
-    doCheck = true;
+  makeFlags = [ "V=1" ];
 
-    enableParallelBuilding = true;
+  doCheck = true;
 
-    meta = {
-      description = "GNU MyServer, a powerful and easy to configure web server";
+  enableParallelBuilding = true;
 
-      longDescription = ''
-        GNU MyServer is a powerful and easy to configure web server.  Its
-        multi-threaded architecture makes it extremely scalable and usable in
-        large scale sites as well as in small networks, it has a lot of
-        built-in features.  Share your files in minutes!
-      '';
+  # On GNU/Linux the `test_suite' process sometimes stays around, so
+  # forcefully terminate it.
+  postCheck = lib.optionalString stdenv.isLinux "${psmisc}/bin/killall test_suite || true";
 
-      homepage = http://www.gnu.org/software/myserver/;
+  meta = {
+    description = "GNU MyServer, a powerful and easy to configure web server";
 
-      license = "GPLv3+";
+    longDescription = ''
+      GNU MyServer is a powerful and easy to configure web server.  Its
+      multi-threaded architecture makes it extremely scalable and usable in
+      large scale sites as well as in small networks, it has a lot of
+      built-in features.  Share your files in minutes!
+    '';
 
-      maintainers = [ ];
+    homepage = http://www.gnu.org/software/myserver/;
 
-      # libevent fails to build on Cygwin and Guile has troubles on Darwin.
-      platforms = stdenv.lib.platforms.gnu;
-    };
-  }
+    license = lib.licenses.gpl3Plus;
 
-  //
+    # libevent fails to build on Cygwin and Guile has troubles on Darwin.
+    platforms = lib.platforms.gnu;
 
-  # On GNU/Linux the `test_suite' process sometimes stays around, so
-  # forcefully terminate it.
-  (if stdenv.isLinux
-   then { postCheck = "${psmisc}/bin/killall test_suite || true"; }
-   else { }))
+    broken = true; # needs patch for gets()
+  };
+}
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 28390aa38da0..903cf038d6e7 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -1,45 +1,95 @@
-{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat, fullWebDAV ? false, syslog ? false }:
+{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat
+, gd, geoip
+, rtmp ? false
+, fullWebDAV ? false
+, syslog ? false
+, moreheaders ? false
+, echo ? false }:
+
+with stdenv.lib;
 
 let
+  version = "1.6.1";
+  mainSrc = fetchurl {
+    url = "http://nginx.org/download/nginx-${version}.tar.gz";
+    sha256 = "0rv0hds8dhanh8fz8qv5jj7p96q4sl158w6aq814dvxfl61fdkzm";
+  };
+
+  rtmp-ext = fetchgit {
+    url = https://github.com/arut/nginx-rtmp-module.git;
+    rev = "8c2229cce5d4d4574e8fb7b130281497f746f0fa";
+    sha256 = "6caea2a13161345c3fc963679730be54cebebddf1406ac7d4ef4ce72ac0b90b0";
+  };
+
   dav-ext = fetchgit {
-    url = git://github.com/arut/nginx-dav-ext-module.git;
-    rev = "54cebc1f21fc13391aae692c6cce672fa7986f9d";
-    sha256 = "1dvpq1fg5rslnl05z8jc39sgnvh3akam9qxfl033akpczq1bh8nq";
+    url = "https://github.com/arut/nginx-dav-ext-module";
+    rev = "89d582d31ab624ff1c6a4cec0c1a52839507b323";
+    sha256 = "2175f83a291347504770d2a4bb5069999e9f7408697bd49464b6b54e994493e1";
   };
 
   syslog-ext = fetchgit {
     url = https://github.com/yaoweibin/nginx_syslog_patch.git;
-    rev = "165affd9741f0e30c4c8225da5e487d33832aca3";
-    sha256 = "14dkkafjnbapp6jnvrjg9ip46j00cr8pqc2g7374z9aj7hrvdvhs";
+    rev = "3ca5ba65541637f74467038aa032e2586321d0cb";
+    sha256 = "15z9r17lx42fdcw8lalddc86wpabgmc1rqi7f90v4mcirjzrpgyi";
   };
-in
 
-stdenv.mkDerivation rec {
-  name = "nginx-${meta.version}";
+  moreheaders-ext = fetchgit {
+    url = https://github.com/openresty/headers-more-nginx-module.git;
+    rev = "0c6e05d3125a97892a250e9ba8b7674163ba500b";
+    sha256 = "e121d97fd3c81c64e6cbf6902bbcbdb01be9ac985c6832d40434379d5e998eaf";
+  };
 
-  src = fetchurl {
-    url = "http://nginx.org/download/${name}.tar.gz";
-    sha256 = "116yfy0k65mwxdkld0w7c3gly77jdqlvga5hpbsw79i3r62kh4mf";
+  echo-ext = fetchgit {
+    url = https://github.com/openresty/echo-nginx-module.git;
+    rev = "refs/tags/v0.53";
+    sha256 = "90d4e3a49c678019f4f335bc18529aa108fcc9cfe0747ea4e2f6084a70da2868";
   };
+in
+
+stdenv.mkDerivation rec {
+  name = "nginx-${version}";
+  src = mainSrc;
 
-  buildInputs = [ openssl zlib pcre libxml2 libxslt ] ++ stdenv.lib.optional fullWebDAV expat;
+  buildInputs =
+    [ openssl zlib pcre libxml2 libxslt gd geoip
+    ] ++ optional fullWebDAV expat;
 
-  patches = if syslog then [ "${syslog-ext}/syslog_1.4.0.patch" ] else [];
+  patches = if syslog then [ "${syslog-ext}/syslog-1.5.6.patch" ] else [];
 
   configureFlags = [
     "--with-http_ssl_module"
+    "--with-http_spdy_module"
+    "--with-http_realip_module"
+    "--with-http_addition_module"
     "--with-http_xslt_module"
+    "--with-http_image_filter_module"
+    "--with-http_geoip_module"
     "--with-http_sub_module"
     "--with-http_dav_module"
+    "--with-http_flv_module"
+    "--with-http_mp4_module"
+    "--with-http_gunzip_module"
     "--with-http_gzip_static_module"
+    "--with-http_auth_request_module"
+    "--with-http_random_index_module"
     "--with-http_secure_link_module"
+    "--with-http_degradation_module"
+    "--with-http_stub_status_module"
+    "--with-ipv6"
     # Install destination problems
     # "--with-http_perl_module"
-  ] ++ stdenv.lib.optional fullWebDAV "--add-module=${dav-ext}"
-    ++ stdenv.lib.optional syslog "--add-module=${syslog-ext}";
+  ] ++ 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 (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio";
+
+
+  additionalFlags = optionalString stdenv.isDarwin "-Wno-error=deprecated-declarations";
 
   preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags"
   '';
 
   postInstall = ''
@@ -48,8 +98,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A reverse proxy and lightweight webserver";
-    maintainers = [ stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.all;
-    version = "1.4.3";
+    homepage    = http://nginx.org;
+    license     = licenses.bsd2;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ thoughtpolice raskin ];
   };
 }
diff --git a/pkgs/servers/http/nginx/default.upstream b/pkgs/servers/http/nginx/default.upstream
index f6a12eedda42..c20139017436 100644
--- a/pkgs/servers/http/nginx/default.upstream
+++ b/pkgs/servers/http/nginx/default.upstream
@@ -4,5 +4,5 @@ version_link '.*-([0-9]+[.][0-9]*[02468]([.][0-9]+)*)[.]tar[.][a-z0-9]*$'
 do_overwrite() {
   ensure_hash
   set_var_value version "$CURRENT_VERSION"
-  set_var_value sha256 "$CURRENT_HASH" 2
+  set_var_value sha256 "$CURRENT_HASH"
 }
diff --git a/pkgs/servers/http/nix-binary-cache/default.nix b/pkgs/servers/http/nix-binary-cache/default.nix
new file mode 100644
index 000000000000..b007c09b0560
--- /dev/null
+++ b/pkgs/servers/http/nix-binary-cache/default.nix
@@ -0,0 +1,61 @@
+{stdenv, fetchurl
+, coreutils, findutils, nix, xz, bzip2, gnused, gnugrep, openssl
+, lighttpd, iproute }:
+stdenv.mkDerivation rec {
+  version = "2014-06-29-1";
+  name = "nix-binary-cache-${version}";
+
+  phases = ["installPhase"];
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    substitute "${./nix-binary-cache.cgi.in}" "$out"/bin/nix-binary-cache.cgi \
+      --replace @out@ "$out/bin" \
+      --replace @shell@ "${stdenv.shell}" \
+      --replace @coreutils@ "${coreutils}/bin" \
+      --replace @findutils@ "${findutils}/bin" \
+      --replace @nix@ "${nix}/bin" \
+      --replace @xz@ "${xz}/bin" \
+      --replace @bzip2@ "${bzip2}/bin" \
+      --replace @gnused@ "${gnused}/bin" \
+      --replace @gnugrep@ "${gnugrep}/bin" \
+      --replace @openssl@ "${openssl}/bin" \
+      --replace @lighttpd@ "${lighttpd}/sbin" \
+      --replace @iproute@ "${iproute}/sbin" \
+      --replace "xXxXx" "xXxXx"
+
+    chmod a+x "$out/bin/nix-binary-cache.cgi"
+
+    substitute "${./nix-binary-cache-start.in}" "$out"/bin/nix-binary-cache-start \
+      --replace @out@ "$out/bin" \
+      --replace @shell@ "${stdenv.shell}" \
+      --replace @coreutils@ "${coreutils}/bin" \
+      --replace @findutils@ "${findutils}/bin" \
+      --replace @nix@ "${nix}/bin" \
+      --replace @xz@ "${xz}/bin" \
+      --replace @bzip2@ "${bzip2}/bin" \
+      --replace @gnused@ "${gnused}/bin" \
+      --replace @gnugrep@ "${gnugrep}/bin" \
+      --replace @openssl@ "${openssl}/bin" \
+      --replace @lighttpd@ "${lighttpd}/sbin" \
+      --replace @iproute@ "${iproute}/sbin" \
+      --replace "xXxXx" "xXxXx"
+
+    chmod a+x "$out/bin/nix-binary-cache-start"
+  '';
+
+  meta = {
+    description = ''A set of scripts to serve the Nix store as a binary cache'';
+    longDescription = ''
+      This package installs a CGI script that serves Nix store path in the 
+      binary cache format. It also installs a launcher called 
+      nix-binary-cache-start that can be run without any setup to launch
+      a binary cache and get the example arguments for its usage.
+    '';
+    maintainers = [stdenv.lib.maintainers.raskin];
+    license = stdenv.lib.licenses.gpl2Plus;
+    inherit version;
+    platforms = stdenv.lib.platforms.all;
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in b/pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in
new file mode 100644
index 000000000000..2a2356f39ab2
--- /dev/null
+++ b/pkgs/servers/http/nix-binary-cache/nix-binary-cache-start.in
@@ -0,0 +1,105 @@
+#! @shell@
+
+parse_opts () {
+  while @coreutils@/test -n "$1" && @coreutils@/test "x$1" != x-- ; do 
+    case "$1" in
+      --store-dir)
+        shift;
+        echo "STORE_DIR='$1'"
+        shift;
+        ;;
+      --priority)
+        shift;
+        echo "PRIORITY=$1";
+        shift;
+        ;;
+      --compression)
+        shift;
+        echo "COMPRESSION=$1";
+        shift;
+        ;;
+      --key)
+        shift;
+        echo "KEY=${1#*:}"
+        echo "KEYNAME=${1%%:*}"
+        shift;
+        ;;
+      --nix-remote)
+        shift;
+        echo "NIX_REMOTE=$1"
+        shift;
+        ;;
+      --mass-query)
+        shift;
+        echo "MASS_QUERY=$1"
+        shift;
+        ;;
+      --port)
+        shift;
+        echo "PORT=$1"
+        shift;
+        ;;
+      --help)
+        cat <<EOF >&2
+"$0": start the Nix binary cache serving the Nix store dynamically.
+
+Recognized options:
+
+--port           server port
+--store-dir      served Nix store
+
+--priority       binary cache priority
+--mass-query     0 or 1 - whether binary cache expects queries for nix-env -qas
+
+--compression    compression to use: bzip2 or xz
+--key            name:/path/to/key - key to use for narinfo signing
+
+--nix-remote     'daemon' or empty string '' - whether to use daemon for store
+                   operations
+
+--help           show help and exit
+EOF
+	exit 1;
+        ;;
+      *) shift ;;
+    esac;
+  done
+}
+
+workingdir="$(@coreutils@/mktemp -d)"
+cd "$workingdir"
+
+PORT=8080
+(echo "STORE_DIR=${NIX_STORE_DIR:-/nix/store}"; parse_opts "$@" 
+  ) > nix-binary-cache.conf || exit
+. "$workingdir/nix-binary-cache.conf"
+
+echo "
+server.port = $PORT
+server.modules = ( \"mod_cgi\", \"mod_setenv\", )
+server.document-root = \"$workingdir\"
+cgi.assign = ( \".cgi\" => \"@shell@\" )
+setenv.add-request-header = ( \"NIX_BINARY_CACHE_CONFIG\" => \"$workingdir/nix-binary-cache.conf\" )
+" > lighttpd.conf
+
+cp @out@/nix-binary-cache.cgi . 
+cp @out@/nix-binary-cache.cgi ./nix-bc.cgi 
+
+ip="$(@iproute@/ip a | @gnugrep@/grep 'inet .* scope global' | @coreutils@/head -n 1)"
+ip="${ip%%/*}"
+ip="${ip##* }"
+
+url="http://$ip:$PORT/nix-bc.cgi?"
+
+echo "Working directory: $workingdir"
+echo
+echo "Address of the binary cache: $url"
+echo
+echo "Usage example: NIX_REMOTE= nix-store --option binary-caches '$url'"
+echo
+echo
+
+@lighttpd@/lighttpd -D -f "$workingdir/lighttpd.conf"
+
+cd /
+@coreutils@/rm -rf "$workingdir"
diff --git a/pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in b/pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in
new file mode 100644
index 000000000000..219ab9763ada
--- /dev/null
+++ b/pkgs/servers/http/nix-binary-cache/nix-binary-cache.cgi.in
@@ -0,0 +1,97 @@
+#! @shell@
+
+STORE_DIR="${NIX_STORE_DIR:-/nix/store}"
+MASS_QUERY=0
+PRIORITY=75
+COMPRESSION=bzip2
+KEY=
+KEYNAME=na
+
+export NIX_REMOTE=daemon
+
+config="${NIX_BINARY_CACHE_CONFIG:-${HTTP_NIX_BINARY_CACHE_CONFIG:-/etc/nix/nix-binary-cache.cgi.conf}}"
+config="$(cd "$(@coreutils@/dirname "$config")"; 
+  @coreutils@/pwd)/$(@coreutils@/basename "$config")"
+@coreutils@/test -e "$config" && . "$config"
+
+header(){
+	echo "Content-Type: text/plain; charset=utf-8"
+	echo 
+}
+
+clean_path() {
+	@gnused@/sed -re "s@^$STORE_DIR/?@@" | @findutils@/xargs
+}
+
+storeq(){
+	@nix@/nix-store -q "$@"
+}
+
+sign(){
+	test -n "$1" && 
+	  @coreutils@/sha256sum | @gnused@/sed -e 's/ .*//' | 
+	  @openssl@/openssl rsautl -sign -inkey "$@" | @coreutils@/base64 -w 0
+}
+
+case "$QUERY_STRING" in 
+	"")
+		header
+		echo "Hello, this is a dynamically-generated Nix binary cache"
+		;;
+	/debug)
+		header
+		set
+		;;
+	/nix-cache-info)
+		header
+		echo "StoreDir: $STORE_DIR"
+		echo "WantMassQuery: $MASS_QUERY"
+		echo "Priority: $PRIORITY"
+		;;
+	*.narinfo)
+		hash=${QUERY_STRING%.narinfo}
+		hash=${hash#/}
+		path="$(echo "$STORE_DIR/$hash-"* )"
+		if [ -n "$path" ] && [ -e "$path" ]; then
+			header
+			info="$(
+			echo "StorePath: $path"
+			echo "URL: $(@coreutils@/basename "$path"
+			  ).nar.$COMPRESSION"
+			echo "Compression: $COMPRESSION"
+			echo "NarHash: $(storeq --hash "$path")"
+			echo "NarSize: $(storeq --size "$path")"
+			echo "References: $(storeq --references "$path" | 
+			  @coreutils@/tac | clean_path )"
+			echo "Deriver: $(storeq --deriver "$path" | 
+			  clean_path )"
+			)"
+			signature="$(echo "$info" | sign "$KEY")"
+
+			echo "$info"
+			echo "Signature: 1;$KEYNAME;$signature"
+
+		else
+			exit 1
+		fi
+		;;
+	*.nar.xz)
+		path="$STORE_DIR${QUERY_STRING%.nar.xz}"
+		if [ -n "$path" ] && [ -e "$path" ]; then
+			header
+			@nix@/nix-store --dump "$path" | @xz@/xz
+		else
+			exit 1
+		fi
+		;;
+	*.nar.bzip2)
+		path="$STORE_DIR${QUERY_STRING%.nar.bzip2}"
+		echo "$path" >&2;
+		if [ -n "$path" ] && [ -e "$path" ]; then
+			header
+			@nix@/nix-store --dump "$path" | @bzip2@/bzip2
+		else
+			exit 1
+		fi
+		;;
+esac
diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix
new file mode 100644
index 000000000000..f95272b7e8ae
--- /dev/null
+++ b/pkgs/servers/http/openresty/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, gd, geoip
+, perl }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "openresty-${version}";
+  version = "1.7.4.1rc1";
+
+  src = fetchurl {
+    url = "http://openresty.org/download/ngx_openresty-${version}.tar.gz";
+    sha256 = "1j976kmbdv07j3n7bwkpdrjs8hlm13mzzdmfbsfwyxpnk034v0j1";
+  };
+
+  buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip perl ];
+
+  configureFlags = [
+    "--with-pcre-jit"
+    "--with-http_ssl_module"
+    "--with-http_spdy_module"
+    "--with-http_realip_module"
+    "--with-http_addition_module"
+    "--with-http_xslt_module"
+    "--with-http_image_filter_module"
+    "--with-http_geoip_module"
+    "--with-http_sub_module"
+    "--with-http_dav_module"
+    "--with-http_flv_module"
+    "--with-http_mp4_module"
+    "--with-http_gunzip_module"
+    "--with-http_gzip_static_module"
+    "--with-http_auth_request_module"
+    "--with-http_random_index_module"
+    "--with-http_secure_link_module"
+    "--with-http_degradation_module"
+    "--with-http_stub_status_module"
+    "--with-ipv6"
+  ];
+
+  postInstall = ''
+    mv $out/nginx/sbin $out/bin
+    ln -s $out/bin/nginx $out/bin/openresty
+    mv $out/luajit/bin/luajit-2.1.0-alpha $out/bin/luajit-openresty
+  '';
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags"
+    export PATH="$PATH:${stdenv.gcc.libc}/sbin"
+  '';
+
+  meta = {
+    description = "A fast web application server built on Nginx";
+    homepage    = http://openresty.org;
+    license     = licenses.bsd2;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/servers/http/spawn-fcgi/default.nix b/pkgs/servers/http/spawn-fcgi/default.nix
new file mode 100644
index 000000000000..b39e2b8fbf76
--- /dev/null
+++ b/pkgs/servers/http/spawn-fcgi/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchsvn, autoconf, automake }:
+
+stdenv.mkDerivation rec {
+  name = "spawn-fcgi-${version}";
+  version = "1.6.4";
+
+  src = fetchsvn {
+    url = "svn://svn.lighttpd.net/spawn-fcgi/tags/spawn-fcgi-${version}";
+    sha256 = "07r6nwbg4881mdgp0hqh80c4x9wb7jg6cgc84ghwhfbd2abc2iq5";
+  };
+
+  buildInputs = [ automake autoconf ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    homepage    = "http://redmine.lighttpd.net/projects/spawn-fcgi";
+    description = "Provides an interface to external programs that support the FastCGI interface";
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/servers/http/thttpd/default.nix b/pkgs/servers/http/thttpd/default.nix
index e03183cbe49d..0bb3d96b37b7 100644
--- a/pkgs/servers/http/thttpd/default.nix
+++ b/pkgs/servers/http/thttpd/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   '';
 
   preInstall = ''
-    ensureDir "$out/man/man1"
+    mkdir -p "$out/man/man1"
     sed -i -e 's/-o bin -g bin *//' Makefile
     sed -i -e '/chgrp/d' extras/Makefile
   '';
diff --git a/pkgs/servers/http/tomcat/6.0.nix b/pkgs/servers/http/tomcat/6.0.nix
index 79393a5d7cf9..ee0049ce08f6 100644
--- a/pkgs/servers/http/tomcat/6.0.nix
+++ b/pkgs/servers/http/tomcat/6.0.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
-let version = "6.0.32"; in
+let version = "6.0.39"; in
 
 stdenv.mkDerivation rec {
   name = "apache-tomcat-${version}";
 
   src = fetchurl {
     url = "mirror://apache/tomcat/tomcat-6/v${version}/bin/${name}.tar.gz";
-    sha256 = "505e649d1ffcf746e66be8295c8244a2949349dedf678e9f2a659c4736968c5e";
+    sha256 = "19qix6affhc252n03smjf482drg3nxd27shni1gvhphgj3zfmgfy";
   };
 
   installPhase =
diff --git a/pkgs/servers/http/tomcat/axis2/default.nix b/pkgs/servers/http/tomcat/axis2/default.nix
index 0208420d1328..cf64ba2d3c69 100644
--- a/pkgs/servers/http/tomcat/axis2/default.nix
+++ b/pkgs/servers/http/tomcat/axis2/default.nix
@@ -1,13 +1,17 @@
 {stdenv, fetchurl, apacheAnt, jdk, unzip}:
 
 stdenv.mkDerivation {
-  name = "axis2-1.6.1";
+  name = "axis2-1.6.2";
 
   src = fetchurl {
-    url = http://apache.mirror.versatel.nl//axis/axis2/java/core/1.6.1/axis2-1.6.1-bin.zip;
-    sha256 = "1a0p85qh9924dv3y7zivf62hy1jzdaxnndqh93g6lndmacfhkk64";
+    url = http://apache.proserve.nl/axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip;
+    sha256 = "02i6fv11ksd5ql81i501bcb11ib5gyhq3zxwrz5jm4ic80r097fp";
   };
 
   buildInputs = [ unzip apacheAnt jdk ];
   builder = ./builder.sh;
+
+  meta = {
+    description = "Web Services / SOAP / WSDL engine, the successor to the widely used Apache Axis SOAP stack";
+  };
 }
diff --git a/pkgs/servers/http/winstone/default.nix b/pkgs/servers/http/winstone/default.nix
new file mode 100644
index 000000000000..8991a220a76d
--- /dev/null
+++ b/pkgs/servers/http/winstone/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "winstone-${version}";
+  version = "0.9.10";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/winstone/${name}.jar";
+    sha256 = "17xvq3yk95335c6ag1bmbmxlvh7gqq35ifi64r2l6rnvrf6pqyan";
+  };
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp $src $out/lib/winstone.jar
+  '';
+
+  meta = {
+    homepage = "http://winstone.sourceforge.net/";
+    description = "A simple Java Servlet container.";
+    license = stdenv.lib.licenses.cddl;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+  };
+}
diff --git a/pkgs/servers/http/yaws/default.nix b/pkgs/servers/http/yaws/default.nix
index 7828cf843982..933df2d0e360 100644
--- a/pkgs/servers/http/yaws/default.nix
+++ b/pkgs/servers/http/yaws/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yaws-${version}";
-  version = "1.95";
+  version = "1.98";
 
   src = fetchurl {
     url = "http://yaws.hyber.org/download/${name}.tar.gz";
-    sha256 = "01jlp6v8l95n9k5rbp4kvklnh95q7yv9lp2a6ahyixb1cn1sxvz4";
+    sha256 = "0c88da7gxha7an3c82j5a3r1y0j7cjq66zqfrzjihg8pwp618zfl";
   };
 
   # The tarball includes a symlink yaws -> yaws-1.95, which seems to be
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     homepage = http://http://yaws.hyber.org;
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = with maintainers; [ goibhniu the-kenny ];
   };
 
 }