summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2013-08-02 18:28:29 +0200
committerVladimír Čunát <vcunat@gmail.com>2013-08-02 18:30:53 +0200
commit625f40151b0767cb421999cf988f4eb7bcf8b63d (patch)
tree629565f6f9efb26ad36b2a6d8e7e266290feb94b /pkgs/servers
parentd239d24a89276cc7ee4bab1343c7e5bb40cbdfd4 (diff)
parent4fb87e91ffcbf6f6785e32b7e608198401a7155d (diff)
downloadnixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.tar
nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.tar.gz
nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.tar.bz2
nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.tar.lz
nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.tar.xz
nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.tar.zst
nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.zip
Merge branch 'master' into x-updates
Conflicts (a little tricky, I did some cleanup of interacting changes):
	pkgs/development/compilers/llvm/default.nix
	pkgs/development/libraries/libpng/default.nix
	pkgs/tools/package-management/nixops/default.nix
	pkgs/top-level/all-packages.nix
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/apcupsd/default.nix54
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/firebird/default.nix4
-rw-r--r--pkgs/servers/http/apache-httpd/2.2.nix4
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix12
-rw-r--r--pkgs/servers/http/nginx/default.nix5
-rw-r--r--pkgs/servers/http/nginx/default.upstream8
-rw-r--r--pkgs/servers/http/thttpd/default.nix27
-rw-r--r--pkgs/servers/mail/dovecot-pigeonhole/default.nix35
-rw-r--r--pkgs/servers/mail/dovecot/2.2.x-module_dir.patch114
-rw-r--r--pkgs/servers/mail/dovecot/2.2.x.nix41
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix33
-rw-r--r--pkgs/servers/memcached/default.nix1
-rw-r--r--pkgs/servers/monitoring/zabbix/2.0.nix14
-rw-r--r--pkgs/servers/mpd/default.nix80
-rw-r--r--pkgs/servers/nosql/mongodb/default.nix18
-rw-r--r--pkgs/servers/pulseaudio/default.nix14
-rw-r--r--pkgs/servers/rpcbind/default.nix2
-rw-r--r--pkgs/servers/sabnzbd/default.nix2
-rw-r--r--pkgs/servers/sip/sipwitch/default.nix4
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix1
-rw-r--r--pkgs/servers/xmpp/pyIRCt/default.nix2
22 files changed, 398 insertions, 81 deletions
diff --git a/pkgs/servers/apcupsd/default.nix b/pkgs/servers/apcupsd/default.nix
new file mode 100644
index 000000000000..877be1d74b8a
--- /dev/null
+++ b/pkgs/servers/apcupsd/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchurl, pkgconfig, systemd, utillinux, coreutils, nettools, man
+, enableCgiScripts ? true, gd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "apcupsd";
+  name = "${pname}-3.14.10";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/${name}.tar.gz";
+    sha256 = "0ci0xyg1hzj8lnmm3vxfsvgpb3wdgh1ii3gb8jgdxyqnk7nba1q7";
+  };
+
+  buildInputs = [ pkgconfig utillinux man ] ++ stdenv.lib.optional enableCgiScripts gd;
+
+  # ./configure ignores --prefix, so we must specify some paths manually
+  # There is no real reason for a bin/sbin split, so just use bin.
+  preConfigure = ''
+    export ac_cv_path_SHUTDOWN=${systemd}/sbin/shutdown
+    export ac_cv_path_WALL=${utillinux}/bin/wall
+    sed -i 's|/bin/cat|${coreutils}/bin/cat|' configure
+    export configureFlags="\
+        --bindir=$out/bin \
+        --sbindir=$out/bin \
+        --sysconfdir=$out/etc/apcupsd \
+        --mandir=$out/share/man \
+        --with-halpolicydir=$out/share/halpolicy \
+        --localstatedir=/var/ \
+        --with-nologin=/run \
+        --with-log-dir=/var/log/apcupsd \
+        --with-pwrfail-dir=/run/apcupsd \
+        --with-lock-dir=/run/lock \
+        --with-pid-dir=/run \
+        --enable-usb \
+        ${stdenv.lib.optionalString enableCgiScripts "--enable-cgi --with-cgi-bin=$out/libexec/cgi-bin"}
+        "
+  '';
+
+  postInstall = ''
+    for file in "$out"/etc/apcupsd/*; do
+        sed -i -e 's|^WALL=.*|WALL="${utillinux}/bin/wall"|g' \
+               -e 's|^HOSTNAME=.*|HOSTNAME=`${nettools}/bin/hostname`|g' \
+               "$file"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A daemon for controlling APC UPSes";
+    homepage = http://www.apcupsd.com/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 4d256f926266..6c4841dc8afb 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, openssl, libtool, perl, libxml2 }:
 
-let version = "9.9.3-P1"; in
+let version = "9.9.3-P2"; in
 
 stdenv.mkDerivation rec {
 
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
-    sha256 = "0ddlvdxsyibm24v1wzbknywvalsrvl06gbvsrigpqc1vgkj25ahv";
+    sha256 = "0y66ns28n3bcq8hp8srgpaxi9ix7myh2rlcsrr3qpwvkgdnb12jy";
   };
 
   patchPhase = ''
diff --git a/pkgs/servers/firebird/default.nix b/pkgs/servers/firebird/default.nix
index 12dfc20e7360..8ad16a3df2e9 100644
--- a/pkgs/servers/firebird/default.nix
+++ b/pkgs/servers/firebird/default.nix
@@ -22,7 +22,7 @@
 */
 
 stdenv.mkDerivation rec {
-  version = "2.5.2";
+  version = "2.5.2.26539-0";
   name = "firebird-${version}";
 
   configureFlags =
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     ++ (stdenv.lib.optional superServer "--enable-superserver=true");
 
   src = fetchurl {
-    url = "mirror://sourceforge/firebird/Firebird-${version}.26539-0.tar.bz2";
+    url = "mirror://sourceforge/firebird/Firebird-${version}.tar.bz2";
     sha256 = "1j5bcfl35hr6i4lcd08zls19bal2js3ar16gnwkzbhwxkxbyb43b";
   };
 
diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix
index 23454d048b71..e9b1dba22e15 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.24";
+  version = "2.2.25";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha1 = "f73bce14832ec40c1aae68f4f8c367cab2266241";
+    sha1 = "e34222d1a8de38825397a1c70949bcc5836a1236";
   };
 
   buildInputs = [perl apr aprutil pcre] ++
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index da3532126579..bbf84a852b8f 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     optional libxml2Support libxml2;
 
   # Required for ‘pthread_cancel’.
-  NIX_LDFLAGS = "-lgcc_s";
+  NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
 
   configureFlags = ''
     --with-apr=${apr}
@@ -58,11 +58,11 @@ stdenv.mkDerivation rec {
     inherit apr aprutil sslSupport proxySupport ldapSupport;
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Apache HTTPD, the world's most popular web server";
-    homepage = "http://httpd.apache.org/";
-    license = stdenv.lib.licenses.asl20;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.simons ];
+    homepage    = http://httpd.apache.org/;
+    license     = licenses.asl20;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ lovek323 simons ];
   };
 }
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 52a17ea399c3..083dbc482f0a 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -9,11 +9,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "nginx-1.2.8";
+  name = "nginx-${meta.version}";
 
   src = fetchurl {
     url = "http://nginx.org/download/${name}.tar.gz";
-    sha256 = "0dvi8n3ljh3zz80r5zkb5q7f94mg62kkakn0wsqi3lxyqnc7r56j";
+    sha256 = "06ficmjiya3m8mdlyq3bgqx604h475n77qc5c502kfjijzld39dw";
   };
 
   buildInputs = [ openssl zlib pcre libxml2 libxslt ] ++ stdenv.lib.optional fullWebDAV expat;
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     description = "A reverse proxy and lightweight webserver";
     maintainers = [ stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.all;
+    version = "1.4.1";
   };
 }
diff --git a/pkgs/servers/http/nginx/default.upstream b/pkgs/servers/http/nginx/default.upstream
new file mode 100644
index 000000000000..f6a12eedda42
--- /dev/null
+++ b/pkgs/servers/http/nginx/default.upstream
@@ -0,0 +1,8 @@
+url http://nginx.org/en/download.html
+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
+}
diff --git a/pkgs/servers/http/thttpd/default.nix b/pkgs/servers/http/thttpd/default.nix
new file mode 100644
index 000000000000..e03183cbe49d
--- /dev/null
+++ b/pkgs/servers/http/thttpd/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "thttpd-${version}";
+  version = "2.25b";
+
+  src = fetchurl {
+    url = "http://acme.com/software/thttpd/${name}.tar.gz";
+    sha256 = "0q13sfkh6amn5wk0ccbmxq3mnhlm8g5pnyk910fa5xngn449nw87";
+  };
+
+  prePatch = ''
+    sed -i -e 's/getline/getlineX/' extras/htpasswd.c
+  '';
+
+  preInstall = ''
+    ensureDir "$out/man/man1"
+    sed -i -e 's/-o bin -g bin *//' Makefile
+    sed -i -e '/chgrp/d' extras/Makefile
+  '';
+
+  meta = {
+    description = "Tiny/turbo/throttling HTTP server";
+    homepage = "http://www.acme.com/software/thttpd/";
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/servers/mail/dovecot-pigeonhole/default.nix b/pkgs/servers/mail/dovecot-pigeonhole/default.nix
new file mode 100644
index 000000000000..844219925b17
--- /dev/null
+++ b/pkgs/servers/mail/dovecot-pigeonhole/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl, dovecot22, openssl}:
+
+stdenv.mkDerivation rec {
+  name = "dovecot-pigeonhole-${version}";
+  version = "0.4.1";
+
+  src = fetchurl {
+    url = "http://www.rename-it.nl/dovecot/2.2/dovecot-2.2-pigeonhole-${version}.tar.gz";
+    sha256 = "0vk9khwijl8qbjlm1q36a5dvpilrminp756n87c452kc3cfgc71n";
+  };  
+
+  buildInputs = [ dovecot22 openssl ];
+
+  preConfigure = ''
+    substituteInPlace src/managesieve/managesieve-settings.c --replace \
+      ".executable = \"managesieve\"" \
+      ".executable = \"$out/libexec/dovecot/managesieve\""
+    substituteInPlace src/managesieve-login/managesieve-login-settings.c --replace \
+      ".executable = \"managesieve-login\"" \
+      ".executable = \"$out/libexec/dovecot/managesieve-login\""
+  ''; 
+
+  configureFlags = [ 
+    "--with-dovecot=${dovecot22}/lib/dovecot"
+    "--without-dovecot-install-dirs"
+    "--with-moduledir=$(out)/lib/dovecot"
+  ];  
+
+  meta = with stdenv.lib; {
+    homepage = http://pigeonhole.dovecot.org/;
+    description = "A sieve plugin for the Dovecot IMAP server.";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.rickynils ];
+  };  
+}
diff --git a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
new file mode 100644
index 000000000000..cce63fe250c6
--- /dev/null
+++ b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch
@@ -0,0 +1,114 @@
+diff -ur dovecot-2.2.2-orig/src/auth/main.c dovecot-2.2.2/src/auth/main.c
+--- dovecot-2.2.2-orig/src/auth/main.c	2013-03-13 15:26:46.000000000 +0100
++++ dovecot-2.2.2/src/auth/main.c	2013-05-20 20:23:58.126024535 +0200
+@@ -193,7 +193,7 @@
+ 	mod_set.debug = global_auth_settings->debug;
+ 	mod_set.filter_callback = auth_module_filter;
+ 
+-	modules = module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/var/lib/dovecot/modules/auth", NULL, &mod_set);
+ 	module_dir_init(modules);
+ 
+ 	if (!worker)
+@@ -223,7 +223,7 @@
+ 	mod_set.debug = global_auth_settings->debug;
+ 	mod_set.ignore_missing = TRUE;
+ 
+-	modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, names,
++	modules = module_dir_load_missing(modules, "/var/lib/dovecot/modules/auth", names,
+ 					  &mod_set);
+ 	module_dir_init(modules);
+ }
+diff -ur dovecot-2.2.2-orig/src/config/all-settings.c dovecot-2.2.2/src/config/all-settings.c
+--- dovecot-2.2.2-orig/src/config/all-settings.c	2013-05-15 12:20:55.000000000 +0200
++++ dovecot-2.2.2/src/config/all-settings.c	2013-05-21 00:31:46.624073562 +0200
+@@ -766,7 +766,7 @@
+ 	.last_valid_gid = 0,
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/var/lib/dovecot/modules",
+ 
+ 	.mail_log_prefix = "%s(%u): ",
+ 
+@@ -3274,7 +3274,7 @@
+ 	.base_dir = PKG_RUNDIR,
+ 	.libexec_dir = PKG_LIBEXECDIR,
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/var/lib/dovecot/modules",
+ 	.doveadm_socket_path = "doveadm-server",
+ 	.doveadm_worker_count = 0,
+ 	.doveadm_port = 0,
+diff -ur dovecot-2.2.2-orig/src/config/config-parser.c dovecot-2.2.2/src/config/config-parser.c
+--- dovecot-2.2.2-orig/src/config/config-parser.c	2013-02-04 22:05:42.000000000 +0100
++++ dovecot-2.2.2/src/config/config-parser.c	2013-05-20 20:23:58.106024534 +0200
+@@ -990,7 +990,7 @@
+ 
+ 	memset(&mod_set, 0, sizeof(mod_set));
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+-	modules = module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/var/lib/dovecot/modules/settings", NULL, &mod_set);
+ 	module_dir_init(modules);
+ 
+ 	i_array_init(&new_roots, 64);
+diff -ur dovecot-2.2.2-orig/src/dict/main.c dovecot-2.2.2/src/dict/main.c
+--- dovecot-2.2.2-orig/src/dict/main.c	2013-02-04 22:05:42.000000000 +0100
++++ dovecot-2.2.2/src/dict/main.c	2013-05-20 20:23:58.101024534 +0200
+@@ -61,7 +61,7 @@
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.require_init_funcs = TRUE;
+ 
+-	modules = module_dir_load(DICT_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/var/lib/dovecot/modules/dict", NULL, &mod_set);
+ 	module_dir_init(modules);
+ 
+ 	/* Register only after loading modules. They may contain SQL drivers,
+diff -ur dovecot-2.2.2-orig/src/doveadm/doveadm-settings.c dovecot-2.2.2/src/doveadm/doveadm-settings.c
+--- dovecot-2.2.2-orig/src/doveadm/doveadm-settings.c	2013-04-07 19:13:06.000000000 +0200
++++ dovecot-2.2.2/src/doveadm/doveadm-settings.c	2013-05-20 20:23:58.399024539 +0200
+@@ -76,7 +76,7 @@
+ 	.base_dir = PKG_RUNDIR,
+ 	.libexec_dir = PKG_LIBEXECDIR,
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/var/lib/dovecot/modules",
+ 	.doveadm_socket_path = "doveadm-server",
+ 	.doveadm_worker_count = 0,
+ 	.doveadm_port = 0,
+diff -ur dovecot-2.2.2-orig/src/lib-fs/fs-api.c dovecot-2.2.2/src/lib-fs/fs-api.c
+--- dovecot-2.2.2-orig/src/lib-fs/fs-api.c	2013-04-18 16:07:26.000000000 +0200
++++ dovecot-2.2.2/src/lib-fs/fs-api.c	2013-05-20 20:23:58.099024534 +0200
+@@ -82,7 +82,7 @@
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.ignore_missing = TRUE;
+ 
+-	fs_modules = module_dir_load_missing(fs_modules, MODULE_DIR,
++	fs_modules = module_dir_load_missing(fs_modules, "/var/lib/dovecot/modules",
+ 					     module_name, &mod_set);
+ 	module_dir_init(fs_modules);
+ 
+diff -ur dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.2.2/src/lib-ssl-iostream/iostream-ssl.c
+--- dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c	2013-04-09 22:45:19.000000000 +0200
++++ dovecot-2.2.2/src/lib-ssl-iostream/iostream-ssl.c	2013-05-20 20:23:58.089024534 +0200
+@@ -28,7 +28,7 @@
+ 	memset(&mod_set, 0, sizeof(mod_set));
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.setting_name = "<built-in lib-ssl-iostream lookup>";
+-	ssl_module = module_dir_load(MODULE_DIR, plugin_name, &mod_set);
++	ssl_module = module_dir_load("/var/lib/dovecot/modules", plugin_name, &mod_set);
+ 
+ 	ssl_vfuncs = module_get_symbol(ssl_module, "ssl_vfuncs");
+ 	if (ssl_vfuncs == NULL) {
+diff -ur dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c dovecot-2.2.2/src/lib-storage/mail-storage-settings.c
+--- dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c	2013-05-15 12:20:00.000000000 +0200
++++ dovecot-2.2.2/src/lib-storage/mail-storage-settings.c	2013-05-20 20:23:57.858024531 +0200
+@@ -260,7 +260,7 @@
+ 	.last_valid_gid = 0,
+ 
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/var/lib/dovecot/modules",
+ 
+ 	.mail_log_prefix = "%s(%u): ",
+ 
diff --git a/pkgs/servers/mail/dovecot/2.2.x.nix b/pkgs/servers/mail/dovecot/2.2.x.nix
new file mode 100644
index 000000000000..15c3b65b7543
--- /dev/null
+++ b/pkgs/servers/mail/dovecot/2.2.x.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, perl, systemd, openssl, pam, bzip2, zlib, openldap
+, inotifyTools }:
+
+stdenv.mkDerivation rec {
+  name = "dovecot-2.2.4";
+
+  buildInputs = [perl systemd openssl pam bzip2 zlib openldap inotifyTools];
+
+  src = fetchurl {
+    url = "http://dovecot.org/releases/2.2/${name}.tar.gz";
+    sha256 = "1i5x7l03q854h4j210cpzair4vak95saccp9gb5p4xx7ndggm3q1";
+  };
+
+  preConfigure = ''
+    substituteInPlace src/config/settings-get.pl --replace \
+      "/usr/bin/env perl" "${perl}/bin/perl"
+  '';
+
+  patches = [
+    # Make dovecot look for plugins in /var/lib/dovecot/modules
+    # so we can symlink plugins from several packages there
+    # The symlinking needs to be done in NixOS, as part of the
+    # dovecot service start-up
+    ./2.2.x-module_dir.patch
+  ];
+
+  configureFlags = [
+    # It will hardcode this for /var/lib/dovecot.
+    # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211
+    "--localstatedir=/var"
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--with-ldap"
+  ];
+
+  meta = {
+    homepage = "http://dovecot.org/";
+    description = "Open source IMAP and POP3 email server written with security primarily in mind";
+    maintainers = with stdenv.lib.maintainers; [viric simons rickynils];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
new file mode 100644
index 000000000000..fc518e4f889d
--- /dev/null
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, libevent, zlib, openssl, db4, bison, pam }:
+
+stdenv.mkDerivation rec {
+  name = "opensmtpd-${version}";
+  version = "201307151923p1";
+
+  buildInputs = [ libevent zlib openssl db4 bison pam ];
+
+  src = fetchurl {
+    url = "http://www.opensmtpd.org/archives/${name}.tar.gz";
+    sha256 = "0cggq60zzz5mgj093pmgwjp4bm6znnhyv6ibp1vhkba7cxjavr4g";
+  };  
+
+  configureFlags = [ 
+    "--with-mantype=doc"
+    "--with-pam"
+    "--without-bsd-auth"
+    "--with-sock-dir=/run"
+    "--with-privsep-user=smtpd"
+    "--with-queue-user=smtpq"
+  ];  
+
+  meta = {
+    homepage = "http://www.postfix.org/";
+    description = ''
+      A free implementation of the server-side SMTP protocol as defined by
+      RFC 5321, with some additional standard extensions.
+    '';
+    license = stdenv.lib.licenses.isc;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+  };
+}
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 17c674b4d066..1c3c3f706e48 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation {
     homepage = http://memcached.org/;
     license = "bsd";
     maintainers = [ stdenv.lib.maintainers.coconnor ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
 
diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix
index fef5010218cc..90206f358538 100644
--- a/pkgs/servers/monitoring/zabbix/2.0.nix
+++ b/pkgs/servers/monitoring/zabbix/2.0.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, postgresql, curl, openssl, zlib, gettext
-, enableJabber ? false, iksemel ? null }:
+, enableJabber ? false, minmay ? null }:
 
-assert enableJabber -> iksemel != null;
+assert enableJabber -> minmay != null;
 
 let
 
@@ -37,7 +37,15 @@ in
       "--with-postgresql"
       "--with-libcurl"
       "--with-gettext"
-    ] ++ stdenv.lib.optional enableJabber "--with-jabber=${iksemel}";
+    ] ++ stdenv.lib.optional enableJabber "--with-jabber=${minmay}";
+
+    postPatch = ''
+      sed -i -e 's/iksemel/minmay/g' configure src/libs/zbxmedia/jabber.c
+      sed -i \
+        -e '/^static ikstransport/,/}/d' \
+        -e 's/iks_connect_with\(.*\), &zbx_iks_transport/mmay_connect_via\1/' \
+        -e 's/iks/mmay/g' -e 's/IKS/MMAY/g' src/libs/zbxmedia/jabber.c
+    '';
 
     buildInputs = [ pkgconfig postgresql curl openssl zlib ];
 
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 54c9d1605655..43da84dcb819 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -18,8 +18,7 @@
 , samplerateSupport ? true, libsamplerate
 , mmsSupport ? true, libmms
 , mpg123Support ? true, mpg123
-, aacSupport ? true, faad2
-}:
+, aacSupport ? true, faad2 }:
 
 let
 
@@ -28,17 +27,20 @@ let
   mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}";
 
 in stdenv.mkDerivation rec {
-  name = "mpd-0.17.3";
+  name = "mpd-0.17.4";
   src = fetchurl {
-    url = "mirror://sourceforge/musicpd/${name}.tar.bz2";
-    sha256 = "1iilimlyhw22lpbqiab4qprznxg9c4d68fkrr9jww765b4c7x1ip";
+    url = "http://www.musicpd.org/download/mpd/stable/${name}.tar.gz";
+    sha256 = "06diyprg65xx0c0bgxdwlgrc5bhwy6cf39rabwnv9ikhimh94ir3";
   };
 
-  buildInputs = [ pkgconfig glib systemd ]
-    ++ opt alsaSupport alsaLib
+  buildInputs = [ pkgconfig glib ]
+    ++ opt (!stdenv.isDarwin) systemd
+    ++ opt (!stdenv.isDarwin && alsaSupport) alsaLib
     ++ opt flacSupport flac
     ++ opt vorbisSupport libvorbis
-    ++ opt madSupport libmad
+    # using libmad to decode mp3 files on darwin is causing a segfault -- there
+    # is probably a solution, but I'm disabling it for now
+    ++ opt (!stdenv.isDarwin && madSupport) libmad
     ++ opt id3tagSupport libid3tag
     ++ opt mikmodSupport libmikmod
     ++ opt shoutSupport libshout
@@ -47,7 +49,7 @@ in stdenv.mkDerivation rec {
     ++ opt soupSupport libsoup
     ++ opt bzip2Support bzip2
     ++ opt audiofileSupport audiofile
-    ++ opt ffadoSupport ffado
+    ++ opt (!stdenv.isDarwin && ffadoSupport) ffado
     ++ opt ffmpegSupport ffmpeg
     ++ opt fluidsynthSupport fluidsynth
     ++ opt samplerateSupport libsamplerate
@@ -56,45 +58,47 @@ in stdenv.mkDerivation rec {
     ++ opt aacSupport faad2
     ++ opt zipSupport zziplib;
 
-  configureFlags = [
-    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-    (mkFlag alsaSupport "alsa")
-    (mkFlag flacSupport "flac")
-    (mkFlag vorbisSupport "vorbis")
-    (mkFlag vorbisSupport "vorbis-encoder")
-    (mkFlag madSupport "mad")
-    (mkFlag mikmodSupport "mikmod")
-    (mkFlag id3tagSupport "id3")
-    (mkFlag shoutSupport "shout")
-    (mkFlag sqliteSupport "sqlite")
-    (mkFlag curlSupport "curl")
-    (mkFlag soupSupport "soup")
-    (mkFlag audiofileSupport "audiofile")
-    (mkFlag bzip2Support "bzip2")
-    (mkFlag ffadoSupport "ffado")
-    (mkFlag ffmpegSupport "ffmpeg")
-    (mkFlag fluidsynthSupport "fluidsynth")
-    (mkFlag zipSupport "zzip")
-    (mkFlag samplerateSupport "lsr")
-    (mkFlag mmsSupport "mms")
-    (mkFlag mpg123Support "mpg123")
-    (mkFlag aacSupport "aac")
-  ];
+  configureFlags =
+    [ (mkFlag (!stdenv.isDarwin && alsaSupport) "alsa")
+      (mkFlag flacSupport "flac")
+      (mkFlag vorbisSupport "vorbis")
+      (mkFlag vorbisSupport "vorbis-encoder")
+      (mkFlag (!stdenv.isDarwin && madSupport) "mad")
+      (mkFlag mikmodSupport "mikmod")
+      (mkFlag id3tagSupport "id3")
+      (mkFlag shoutSupport "shout")
+      (mkFlag sqliteSupport "sqlite")
+      (mkFlag curlSupport "curl")
+      (mkFlag soupSupport "soup")
+      (mkFlag audiofileSupport "audiofile")
+      (mkFlag bzip2Support "bzip2")
+      (mkFlag (!stdenv.isDarwin && ffadoSupport) "ffado")
+      (mkFlag ffmpegSupport "ffmpeg")
+      (mkFlag fluidsynthSupport "fluidsynth")
+      (mkFlag zipSupport "zzip")
+      (mkFlag samplerateSupport "lsr")
+      (mkFlag mmsSupport "mms")
+      (mkFlag mpg123Support "mpg123")
+      (mkFlag aacSupport "aac")
+      "--enable-debugging" ]
+    ++ opt (!stdenv.isDarwin)
+      "--with-systemdsystemunitdir=$(out)/etc/systemd/system";
 
   NIX_LDFLAGS = ''
     ${if shoutSupport then "-lshout" else ""}
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A flexible, powerful daemon for playing music";
+    homepage    = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ astsmtl ];
+    platforms   = platforms.unix;
+
     longDescription = ''
       Music Player Daemon (MPD) is a flexible, powerful daemon for playing
       music. Through plugins and libraries it can play a variety of sound
       files while being controlled by its network protocol.
     '';
-    homepage = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
-    license = "GPLv2";
-    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix
index 612db162e5c5..11dff3244208 100644
--- a/pkgs/servers/nosql/mongodb/default.nix
+++ b/pkgs/servers/nosql/mongodb/default.nix
@@ -1,25 +1,15 @@
 { stdenv, fetchurl, scons, boost, v8, gperftools, pcre, snappy }:
 
-with stdenv.lib;
-
-let installerPatch = fetchurl {
-      url = "https://jira.mongodb.org/secure/attachment/18160/SConscript.client.patch";
-      sha256 = "0n60fh2r8i7m6g113k0iw4adc8jv2by4ahrd780kxg47kzfgw06a";
-    };
-
-in
-stdenv.mkDerivation rec {
-  name = "mongodb-2.4.3";
+let version = "2.4.5"; in stdenv.mkDerivation rec {
+  name = "mongodb-${version}";
 
   src = fetchurl {
-    url = http://downloads.mongodb.org/src/mongodb-src-r2.4.3.tar.gz;
-    sha256 = "1k653xmwphdk88z2byz5fglr8xcsm8nw13prls1rx16qnc6h1pb1";
+    url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz";
+    sha256 = "01c7lb3jdr51gy7459vg5rg002xxg0mj79vlhy54n50kr31cnxmm";
   };
 
   nativeBuildInputs = [ scons boost v8 gperftools pcre snappy ];
 
-  patches = [ installerPatch ];
-
   postPatch = ''
     substituteInPlace SConstruct \
         --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR" \
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index e315f7889040..e78dc7b5dece 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, gnum4, gdbm, libtool, glib, dbus, avahi
 , gconf, gtk, intltool, gettext
-, alsaLib, libsamplerate, libsndfile, speex, bluez, udev
+, alsaLib, libsamplerate, libsndfile, speex, bluez, sbc, udev, libcap
 , jackaudioSupport ? false, jackaudio ? null
 , x11Support ? false, xlibs
 , json_c
@@ -10,19 +10,19 @@
 assert jackaudioSupport -> jackaudio != null;
 
 stdenv.mkDerivation rec {
-  name = "pulseaudio-2.1";
+  name = "pulseaudio-4.0";
 
   src = fetchurl {
-    url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-2.1.tar.xz";
-    sha256 = "0zyal2mix7lzhxmr3pxlmss5kjca061iapvrh20bkgvsyixk8szg";
+    url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-4.0.tar.xz";
+    sha256 = "1bndz4l8jxyq3zq128gzp3gryxl6yjs66j2y1d7yabw2n5mv7kim";
   };
 
-  # Since `libpulse*.la' contain `-lgdbm', it must be propagated.
-  propagatedBuildInputs = [ gdbm ];
+  # Since `libpulse*.la' contain `-lgdbm' and `-lcap', it must be propagated.
+  propagatedBuildInputs = [ gdbm libcap ];
 
   buildInputs =
     [ pkgconfig gnum4 libtool intltool glib dbus avahi
-      libsamplerate libsndfile speex alsaLib bluez udev
+      libsamplerate libsndfile speex alsaLib bluez sbc udev
       json_c
       #gtk gconf 
     ]
diff --git a/pkgs/servers/rpcbind/default.nix b/pkgs/servers/rpcbind/default.nix
index 33965299a9b2..8d8a677647c2 100644
--- a/pkgs/servers/rpcbind/default.nix
+++ b/pkgs/servers/rpcbind/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "rpcbind-0.2.0";
   
   src = fetchurl {
-    url = "http://freefr.dl.sourceforge.net/project/rpcbind/rpcbind/0.2.0/rpcbind-0.2.0.tar.bz2";
+    url = "mirror://sourceforge/rpcbind/rpcbind-0.2.0.tar.bz2";
     sha256 = "c92f263e0353887f16379d7708ef1fb4c7eedcf20448bc1e4838f59497a00de3";
   };
 
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index 50e07f273291..599f6ee31f3e 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "sabnzbd-0.4.12";
   
   src = fetchurl {
-    url = http://mesh.dl.sourceforge.net/project/sabnzbdplus/sabnzbdplus/sabnzbd-0.4.12/SABnzbd-0.4.12-src.tar.gz;
+    url = mirro://sourceforge/sabnzbdplus/SABnzbd-0.4.12-src.tar.gz;
     sha256 = "35ce4172688925ef608fba433ff676357dab7d2abdc1cf83112a1c99682fdd32";
   };
 
diff --git a/pkgs/servers/sip/sipwitch/default.nix b/pkgs/servers/sip/sipwitch/default.nix
index 097dde325f19..90e71f5e47ad 100644
--- a/pkgs/servers/sip/sipwitch/default.nix
+++ b/pkgs/servers/sip/sipwitch/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pkgconfig, ucommon, libosip, libexosip, gnutls, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "sipwitch-1.2.4";
+  name = "sipwitch-1.6.1";
 
   src = fetchurl {
     url = "mirror://gnu/sipwitch/${name}.tar.gz";
-    sha256 = "1c826832xi9p85l7c9va33xx8hx01m3jq49s0d1xl4c8kvri7bsj";
+    sha256 = "1sa4fbv8filzcxqx2viyixsq4pwgvkidn6l6g3k62gl8bvdfk7p9";
   };
 
   buildInputs = [ pkgconfig ucommon libosip libexosip gnutls zlib ];
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 5a7e9622ca8d..c800b06fc7c8 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -210,6 +210,7 @@ in
         rm -fr $out/share/X11/xkb/compiled
         ln -s /var/tmp $out/share/X11/xkb/compiled
       '';
+    passthru.version = (builtins.parseDrvName attrs.name).version; # needed by virtualbox guest additions
   };
 
 
diff --git a/pkgs/servers/xmpp/pyIRCt/default.nix b/pkgs/servers/xmpp/pyIRCt/default.nix
index 27982601f73a..422ddd8c73d9 100644
--- a/pkgs/servers/xmpp/pyIRCt/default.nix
+++ b/pkgs/servers/xmpp/pyIRCt/default.nix
@@ -9,7 +9,7 @@ let
 in
 rec {
   src = fetchurl {
-    url = "http://prdownloads.sourceforge.net/sourceforge/xmpppy/irc-transport-${version}.tar.gz";
+    url = "mirror://sourceforge/xmpppy/irc-transport-${version}.tar.gz";
     sha256 = "0gbc0dvj1p3088b6x315yjrlwnc5vvzp0var36wlf9z60ghvk8yb";
   };