summary refs log tree commit diff
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2013-04-13 12:21:31 +0200
committerVladimír Čunát <vcunat@gmail.com>2013-04-13 12:21:31 +0200
commit17ae1617dc9b3363e9ab986f2934d85efffbc6b3 (patch)
tree6e84d3e38be48edef4a42ba7bbbffddf82b338d2
parent96dd66bf25195bb8036bf041a3d372898e660067 (diff)
parenta3fce096afcada408425f2798ebe1dfa13ac80e7 (diff)
downloadnixlib-17ae1617dc9b3363e9ab986f2934d85efffbc6b3.tar
nixlib-17ae1617dc9b3363e9ab986f2934d85efffbc6b3.tar.gz
nixlib-17ae1617dc9b3363e9ab986f2934d85efffbc6b3.tar.bz2
nixlib-17ae1617dc9b3363e9ab986f2934d85efffbc6b3.tar.lz
nixlib-17ae1617dc9b3363e9ab986f2934d85efffbc6b3.tar.xz
nixlib-17ae1617dc9b3363e9ab986f2934d85efffbc6b3.tar.zst
nixlib-17ae1617dc9b3363e9ab986f2934d85efffbc6b3.zip
Merge branch 'master' into x-updates
Conflicts (systemd version is split on x-updates):
	pkgs/os-specific/linux/systemd/default.nix
-rw-r--r--pkgs/applications/audio/linuxsampler/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/prolog/default.nix24
-rw-r--r--pkgs/applications/networking/browsers/chromium/sources.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/silc-client/default.nix37
-rw-r--r--pkgs/applications/networking/instant-messengers/silc-client/server_setup.patch28
-rw-r--r--pkgs/applications/networking/irc/irssi/fish/default.nix31
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix4
-rw-r--r--pkgs/applications/video/vlc/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/build_fix_3.9.0.patch22
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix13
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/strict_types.patch68
-rw-r--r--pkgs/development/compilers/gcc/4.7/default.nix4
-rw-r--r--pkgs/development/libraries/boost/1.44.nix1
-rw-r--r--pkgs/development/libraries/boost/time_utc_144.patch520
-rw-r--r--pkgs/development/libraries/haskell/accelerate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/github/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/publicsuffixlist/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix22
-rw-r--r--pkgs/development/libraries/icu/default.nix21
-rw-r--r--pkgs/development/libraries/libspotify/default.nix2
-rw-r--r--pkgs/development/tools/haskell/cabal-dev/default.nix14
-rw-r--r--pkgs/development/tools/neoload/default.nix4
-rw-r--r--pkgs/games/oilrush/default.nix2
-rw-r--r--pkgs/lib/licenses.nix5
-rw-r--r--pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.2.nix4
-rw-r--r--pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch8
-rw-r--r--pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch8
-rw-r--r--pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch4
-rw-r--r--pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch8
-rw-r--r--pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch4
-rw-r--r--pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch4
-rw-r--r--pkgs/os-specific/linux/systemd/0007-Ignore-IPv6-link-local-addresses.patch22
-rw-r--r--pkgs/os-specific/linux/systemd/0008-Don-t-try-to-unmount-nix-or-nix-store.patch28
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix13
-rw-r--r--pkgs/servers/silc-server/default.nix18
-rw-r--r--pkgs/servers/sql/oracle-xe/default.nix2
-rw-r--r--pkgs/stdenv/generic/default.nix2
-rw-r--r--pkgs/tools/filesystems/squashfs/default.nix8
-rw-r--r--pkgs/tools/networking/openssh/default.nix12
-rw-r--r--pkgs/tools/networking/openssh/fix-identity-warnings.patch251
-rw-r--r--pkgs/tools/networking/socat/default.nix15
-rw-r--r--pkgs/tools/security/fprot/default.nix5
-rw-r--r--pkgs/top-level/all-packages.nix8
-rw-r--r--pkgs/top-level/perl-packages.nix6
-rw-r--r--pkgs/top-level/python-packages.nix171
-rw-r--r--pkgs/top-level/release.nix2
49 files changed, 1190 insertions, 288 deletions
diff --git a/pkgs/applications/audio/linuxsampler/default.nix b/pkgs/applications/audio/linuxsampler/default.nix
index d9413c031546..1408a1775ee5 100644
--- a/pkgs/applications/audio/linuxsampler/default.nix
+++ b/pkgs/applications/audio/linuxsampler/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       have questions on the subject, that are not yet covered by the
       FAQ, please contact us.
     ''; 
-    license = licenses.proprietary;
+    license = licenses.unfree;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/editors/emacs-modes/prolog/default.nix b/pkgs/applications/editors/emacs-modes/prolog/default.nix
index b89951e65355..237b1ac14834 100644
--- a/pkgs/applications/editors/emacs-modes/prolog/default.nix
+++ b/pkgs/applications/editors/emacs-modes/prolog/default.nix
@@ -1,19 +1,21 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
-stdenv.mkDerivation
-{
-  name = "prolog-mode-1.22";
-  src = fetchurl
-  {
-    url = "http://bruda.ca/emacs-prolog/prolog.el";
-    sha256 = "f46915b2436642bb3302cb38cc457d3c121d0c3e95aecdf128fedc2ae5ea0c87";
+stdenv.mkDerivation {
+  name = "prolog-mode-1.25";
+
+  src = fetchurl {
+    url = "http://bruda.ca/_media/emacs/prolog.el";
+    sha256 = "0hfd2dr3xc5qxgvc08nkb2l5a05hfldahdc6ymi9vd8798cc46yh";
   };
 
-  buildCommand = "install -v -D -m644 $src $out/share/emacs/site-lisp/prolog.el";
+  buildCommand = ''
+    mkdir -p $out/share/emacs/site-lisp/
+    cp $src $out/share/emacs/site-lisp/prolog.el
+  '';
 
   meta = {
-    homepage = "http://turing.ubishops.ca/home/bruda/emacs-prolog/";
+    homepage = "http://bruda.ca/emacs/prolog_mode_for_emacs/";
     description = "Prolog mode for Emacs";
-    license = "GPL";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix
index bbdbd4cfeb8a..b1f145bbbe8e 100644
--- a/pkgs/applications/networking/browsers/chromium/sources.nix
+++ b/pkgs/applications/networking/browsers/chromium/sources.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   dev = {
-    version = "27.0.1453.12";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-27.0.1453.12.tar.xz";
-    sha256 = "1b2vkcynljl799m41aabdsj9k2plchiga6bi4ah3hc0mwyj0lyl7";
+    version = "27.0.1453.47";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-27.0.1453.47.tar.xz";
+    sha256 = "0dyyxdn75a6b35a7wv9xqzcnskbcxj19bmfd7cq9ya5jdhcvy9j9";
   };
   beta = {
-    version = "27.0.1453.15";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-27.0.1453.15.tar.xz";
-    sha256 = "19y9pbipi4y61avrsgb7y4b1xl8d29v34l403xdghk0d3z2rg65m";
+    version = "27.0.1453.47";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-27.0.1453.47.tar.xz";
+    sha256 = "0dyyxdn75a6b35a7wv9xqzcnskbcxj19bmfd7cq9ya5jdhcvy9j9";
   };
   stable = {
-    version = "26.0.1410.43";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-26.0.1410.43.tar.xz";
-    sha256 = "110x9cs88gqvqya71bqspx2s7ph6ca0als7sp5fbf911cj0iy0ii";
+    version = "26.0.1410.63";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-26.0.1410.63.tar.xz";
+    sha256 = "0gsb0dgk7p04997wlw7swxnnpf5ix9drn0wn07pgsalr8l3zgy3s";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index b202a0f09db8..e51798502371 100644
--- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
@@ -57,7 +57,7 @@ in stdenv.mkDerivation {
   meta = {
     description = "HipChat Desktop Client";
     homepage = http://www.hipchat.com;
-    license = stdenv.lib.licenses.proprietary;
+    license = stdenv.lib.licenses.unfree;
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/silc-client/default.nix b/pkgs/applications/networking/instant-messengers/silc-client/default.nix
new file mode 100644
index 000000000000..a4035604168f
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/silc-client/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, perl, pkgconfig, glib, ncurses
+, enablePlugin ? false }:
+
+# Enabling the plugin and using it with a recent irssi, segafults on join:
+# http://marc.info/?l=silc-devel&m=125610477802211
+
+let
+  basename = "silc-client-1.1.8";
+in
+stdenv.mkDerivation {
+  name = basename + stdenv.lib.optionalString enablePlugin "-irssi-plugin";
+
+  src = fetchurl {
+    url = "http://silcnet.org/download/client/sources/${basename}.tar.bz2";
+    sha256 = "1qnk35g8sbnfps3bq2k9sy0ymlsijh5n8z59m2ccq4pkmqbfqgv2";
+  };
+
+  dontDisableStatic = true;
+
+  patches = [ ./server_setup.patch ];
+
+  configureFlags = "--with-ncurses=${ncurses}";
+
+  preConfigure = stdenv.lib.optionalString enablePlugin ''
+    configureFlags="$configureFlags --with-silc-plugin=$out/lib/irssi"
+  '';
+
+  buildInputs = [ perl pkgconfig glib ncurses ];
+
+  meta = {
+    homepage = http://silcnet.org/;
+    description = "Secure Internet Live Conferencing server";
+    license = "GPLv2";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/silc-client/server_setup.patch b/pkgs/applications/networking/instant-messengers/silc-client/server_setup.patch
new file mode 100644
index 000000000000..466194c0a8fe
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/silc-client/server_setup.patch
@@ -0,0 +1,28 @@
+Add function to replace the behaviour of server_setup_find_port which was removed from irssi on revision 5125. Fixes bug #577501.
+--- a/apps/irssi/src/silc/core/client_ops.c
++++ b/apps/irssi/src/silc/core/client_ops.c
+@@ -2790,6 +2790,15 @@
+   silc_free(a);
+ }
+ 
++/* helper function to emulate server_setup_find_port */
++static SERVER_SETUP_REC *silc_server_setup_find_port(const char *address,
++						     int port) {
++  SERVER_SETUP_REC *rec;
++
++  rec = server_setup_find(address, port, NULL);
++  return (rec == NULL || rec->port != port) ? NULL : rec;
++}
++
+ /* Find authentication data by hostname and port. The hostname may be IP
+    address as well.*/
+ 
+@@ -2811,7 +2820,7 @@
+ 
+   /* Check whether we find the password for this server in our
+      configuration.  If it's set, always send it server. */
+-  setup = server_setup_find_port(hostname, port);
++  setup = silc_server_setup_find_port(hostname, port);
+   if (setup && setup->password) {
+     completion(SILC_AUTH_PASSWORD, setup->password, strlen(setup->password),
+ 	       context);
diff --git a/pkgs/applications/networking/irc/irssi/fish/default.nix b/pkgs/applications/networking/irc/irssi/fish/default.nix
new file mode 100644
index 000000000000..98d5afa0ba9f
--- /dev/null
+++ b/pkgs/applications/networking/irc/irssi/fish/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, irssi, gmp, automake, autoconf, libtool, openssl, glib, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "fish-irssi-20130413-e98156bebd";
+  
+  src = fetchurl {
+    url = https://github.com/falsovsky/FiSH-irssi/tarball/e98156bebd;
+    name = "${name}.tar.gz";
+    sha256 = "1ndr51qrg66h1mfzacwzl1vd6lj39pdc4p4z5iihrj4r2f6gk11a";
+  };
+
+  preConfigure = ''
+    tar xf ${irssi.src}
+    configureFlags="$configureFlags --with-irssi-source=`pwd`/${irssi.name}"
+
+    ./regen.sh
+  '';
+
+  installPhase = ''
+    ensureDir $out/lib/irssi/modules
+    cp src/.libs/libfish.so $out/lib/irssi/modules
+  '';
+  
+  buildInputs = [ gmp automake autoconf libtool openssl glib pkgconfig ];
+  
+  meta = {
+    homepage = https://github.com/falsovsky/FiSH-irssi;
+    license = "unfree"; # I can't find any mention of license
+    maintainers = with stdenv.lib.maintainers; [viric];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
index 697e7d3b42e0..cf53ce3191e5 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -10,14 +10,14 @@
 }:
 
 let
-  version = "4.20130314";
+  version = "4.20130405";
 in
 stdenv.mkDerivation {
   name = "git-annex-${version}";
 
   src = fetchurl {
     url = "http://git.kitenet.net/?p=git-annex.git;a=snapshot;sf=tgz;h=${version}";
-    sha256 = "0rwirg9qdbd75c7wl6413blv9045sbxmw20idvbm47qc4q14gzv9";
+    sha256 = "13lzkvk5095qj8026lc1p56w0q1c95v7nx8g9p9zrf8mhx6yxb9n";
     name = "git-annex-${version}.tar.gz";
   };
 
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index a7cce109fdfe..3c96cd134181 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   name = "vlc-${version}";
-  version = "2.0.5";
+  version = "2.0.6";
 
   src = fetchurl {
     url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz";
-    sha256 = "0vkbv477a7z0v55sigz6c3abxljz7jyysp7z8s29zk8vhq0fpyfz";
+    sha256 = "0qqrpry41vawihhggcx00vibbn73hxdal1gim1qnrqrcbq1rik1i";
   };
 
   buildInputs =
diff --git a/pkgs/applications/virtualization/virtualbox/build_fix_3.9.0.patch b/pkgs/applications/virtualization/virtualbox/build_fix_3.9.0.patch
deleted file mode 100644
index 2c3cdebacde8..000000000000
--- a/pkgs/applications/virtualization/virtualbox/build_fix_3.9.0.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-commit d725168153e3dc5a383b12e0bf9af9b6244ad3eb
-Author: vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>
-Date:   Thu Feb 28 13:46:12 2013 +0000
-
-    Linux 3.9.0 rc0 compile fix
-
-    git-svn-id: http://www.virtualbox.org/svn/vbox/trunk@44867 cfe28804-0f27-0410-a406-dd0f0b0b656f
-
-diff --git a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
-index ec9b502..7a208d1 100644
---- a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
-+++ b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
-@@ -90,6 +90,9 @@
- #include <linux/slab.h>
- #include <linux/time.h>
- #include <linux/sched.h>
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
-+# include <linux/sched/rt.h>
-+#endif
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 7)
- # include <linux/jiffies.h>
- #endif
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index d385d431fa39..3dd020dfa105 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -11,8 +11,8 @@ with stdenv.lib;
 
 let
 
-  version = "4.2.8";
-  extpackRevision = "83876";
+  version = "4.2.12";
+  extpackRevision = "84980";
 
   forEachModule = action: ''
     for mod in \
@@ -35,7 +35,7 @@ let
     name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}"
          + ".vbox-extpack";
     # Has to be base16 because it's used as an input to VBoxExtPackHelperApp!
-    sha256 = "fa579416f382b58c4e93d3740d076ceba728e28d987e51aced5865a46cb9111c";
+    sha256 = "ad15a92e49095c2115bd1793b3b957d3eaf44af0f5d24bb53d6b4fc81c3e2fc4";
     url = "https://www.virtualbox.org/wiki/Downloads";
   };
 
@@ -44,7 +44,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "f336af12244db74e6564dc22e438bbcba70f994aaf0d117fdf70caca9fab1b78";
+    sha256 = "eb65ecac94f63d6292a967d39cb5e28326404c10d0e8c2c50399eedb59c17ee6";
   };
 
   buildInputs =
@@ -54,11 +54,6 @@ in stdenv.mkDerivation {
     ++ optional javaBindings jdk
     ++ optional pythonBindings python;
 
-  patches = [
-    ./strict_types.patch
-    ./build_fix_3.9.0.patch
-  ];
-
   prePatch = ''
     set -x
     MODULES_BUILD_DIR=`echo ${kernelDev}/lib/modules/*/build`
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index 20ef5c66997b..f3d7c18a2c69 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -2,14 +2,14 @@
 , libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor
 , dbus }:
 
-let version = "4.2.8"; in
+let version = "4.2.12"; in
 
 stdenv.mkDerivation {
   name = "VirtualBox-GuestAdditions-${version}-${kernelDev.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "04a5402d8dcdefc83ffb2785351ddc57758781a3759137974469189392ae4ad5";
+    sha256 = "aed4730b643aca8daa0829e1122b7c8d592b9f6cea902a98e390c4d22373dfb8";
   };
 
   KERN_DIR = "${kernelDev}/lib/modules/*/build";
diff --git a/pkgs/applications/virtualization/virtualbox/strict_types.patch b/pkgs/applications/virtualization/virtualbox/strict_types.patch
deleted file mode 100644
index 18ccc77f9b16..000000000000
--- a/pkgs/applications/virtualization/virtualbox/strict_types.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff --git a/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c b/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
-index 9cc124c..d86da0c 100644
---- a/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
-+++ b/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
-@@ -253,7 +253,11 @@ static struct platform_device gPlatformDevice =
- DECLINLINE(RTUID) vboxdrvLinuxUid(void)
- {
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
-+# ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS
-+    return from_kuid(current_user_ns(), current_uid());
-+# else
-     return current->cred->uid;
-+# endif
- #else
-     return current->uid;
- #endif
-@@ -262,7 +266,11 @@ DECLINLINE(RTUID) vboxdrvLinuxUid(void)
- DECLINLINE(RTGID) vboxdrvLinuxGid(void)
- {
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
-+# ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS
-+    return from_kgid(current_user_ns(), current_gid());
-+# else
-     return current->cred->gid;
-+# endif
- #else
-     return current->gid;
- #endif
-@@ -271,7 +279,11 @@ DECLINLINE(RTGID) vboxdrvLinuxGid(void)
- DECLINLINE(RTUID) vboxdrvLinuxEuid(void)
- {
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
-+# ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS
-+    return from_kuid(current_user_ns(), current_euid());
-+# else
-     return current->cred->euid;
-+# endif
- #else
-     return current->euid;
- #endif
-diff --git a/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c b/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
-index 575f739..8909e79 100644
---- a/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
-+++ b/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
-@@ -429,7 +429,11 @@ int vboxPciOsDevDetachHostDriver(PVBOXRAWPCIINS pIns)
-         if (!pNewCreds)
-                 goto done;
- 
-+# ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS
-+        pNewCreds->fsuid = GLOBAL_ROOT_UID;;
-+# else
-         pNewCreds->fsuid = 0;
-+# endif
-         pOldCreds = override_creds(pNewCreds);
- #endif
- 
-@@ -539,7 +543,11 @@ int vboxPciOsDevReattachHostDriver(PVBOXRAWPCIINS pIns)
-         if (!pNewCreds)
-             goto done;
- 
-+# ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS
-+        pNewCreds->fsuid = GLOBAL_ROOT_UID;;
-+# else
-         pNewCreds->fsuid = 0;
-+# endif
-         pOldCreds = override_creds(pNewCreds);
- #endif
-         RTStrPrintf(szFileBuf, cMaxBuf,
diff --git a/pkgs/development/compilers/gcc/4.7/default.nix b/pkgs/development/compilers/gcc/4.7/default.nix
index 92411e6687e2..4f260d75afcc 100644
--- a/pkgs/development/compilers/gcc/4.7/default.nix
+++ b/pkgs/development/compilers/gcc/4.7/default.nix
@@ -49,7 +49,7 @@ assert langGo -> langCC;
 with stdenv.lib;
 with builtins;
 
-let version = "4.7.2";
+let version = "4.7.3";
 
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
@@ -197,7 +197,7 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
-    sha256 = "115h03hil99ljig8lkrq4qk426awmzh0g99wrrggxf8g07bq74la";
+    sha256 = "1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g";
   };
 
   inherit patches;
diff --git a/pkgs/development/libraries/boost/1.44.nix b/pkgs/development/libraries/boost/1.44.nix
index e0235cd8b39f..7ed3c311de2a 100644
--- a/pkgs/development/libraries/boost/1.44.nix
+++ b/pkgs/development/libraries/boost/1.44.nix
@@ -68,6 +68,7 @@ stdenv.mkDerivation {
        url = https://svn.boost.org/trac/boost/raw-attachment/ticket/4688/boost_filesystem.patch ;
        sha256 = "15k91ihzs6190pnryh4cl0b3c2pjpl9d790mr14x16zq52y7px2d";
      })
+    ./time_utc_144.patch
   ];
 
   crossAttrs = rec {
diff --git a/pkgs/development/libraries/boost/time_utc_144.patch b/pkgs/development/libraries/boost/time_utc_144.patch
new file mode 100644
index 000000000000..512832c18295
--- /dev/null
+++ b/pkgs/development/libraries/boost/time_utc_144.patch
@@ -0,0 +1,520 @@
+diff -rc boost_1_44_0/boost/thread/xtime.hpp boost_1_44_0-new/boost/thread/xtime.hpp
+*** boost_1_44_0/boost/thread/xtime.hpp	2008-06-18 15:01:08.000000000 +0200
+--- boost_1_44_0-new/boost/thread/xtime.hpp	2013-04-12 14:00:27.125713549 +0200
+***************
+*** 20,26 ****
+  
+  enum xtime_clock_types
+  {
+!     TIME_UTC=1
+  //    TIME_TAI,
+  //    TIME_MONOTONIC,
+  //    TIME_PROCESS,
+--- 20,26 ----
+  
+  enum xtime_clock_types
+  {
+!     TIME_UTC_=1
+  //    TIME_TAI,
+  //    TIME_MONOTONIC,
+  //    TIME_PROCESS,
+***************
+*** 68,74 ****
+  
+  inline int xtime_get(struct xtime* xtp, int clock_type)
+  {
+!     if (clock_type == TIME_UTC)
+      {
+          *xtp=get_xtime(get_system_time());
+          return clock_type;
+--- 68,74 ----
+  
+  inline int xtime_get(struct xtime* xtp, int clock_type)
+  {
+!     if (clock_type == TIME_UTC_)
+      {
+          *xtp=get_xtime(get_system_time());
+          return clock_type;
+diff -rc boost_1_44_0/libs/interprocess/test/condition_test_template.hpp boost_1_44_0-new/libs/interprocess/test/condition_test_template.hpp
+*** boost_1_44_0/libs/interprocess/test/condition_test_template.hpp	2009-10-15 20:45:53.000000000 +0200
+--- boost_1_44_0-new/libs/interprocess/test/condition_test_template.hpp	2013-04-12 14:00:20.215658855 +0200
+***************
+*** 49,56 ****
+      const int NANOSECONDS_PER_MILLISECOND = 1000000;
+  
+      boost::xtime xt;
+!     int ret = boost::xtime_get(&xt, boost::TIME_UTC);
+!     assert(ret == static_cast<int>(boost::TIME_UTC));(void)ret;
+      nsecs += xt.nsec;
+      msecs += nsecs / NANOSECONDS_PER_MILLISECOND;
+      secs += msecs / MILLISECONDS_PER_SECOND;
+--- 49,56 ----
+      const int NANOSECONDS_PER_MILLISECOND = 1000000;
+  
+      boost::xtime xt;
+!     int ret = boost::xtime_get(&xt, boost::TIME_UTC_);
+!     assert(ret == static_cast<int>(boost::TIME_UTC_));(void)ret;
+      nsecs += xt.nsec;
+      msecs += nsecs / NANOSECONDS_PER_MILLISECOND;
+      secs += msecs / MILLISECONDS_PER_SECOND;
+diff -rc boost_1_44_0/libs/interprocess/test/util.hpp boost_1_44_0-new/libs/interprocess/test/util.hpp
+*** boost_1_44_0/libs/interprocess/test/util.hpp	2009-10-15 20:45:53.000000000 +0200
+--- boost_1_44_0-new/libs/interprocess/test/util.hpp	2013-04-12 14:00:20.219658887 +0200
+***************
+*** 71,77 ****
+  boost::xtime xsecs(int secs)
+  {
+     boost::xtime ret;
+!    boost::xtime_get(&ret, boost::TIME_UTC);
+     ret.sec += secs;
+     return ret;
+  }
+--- 71,77 ----
+  boost::xtime xsecs(int secs)
+  {
+     boost::xtime ret;
+!    boost::xtime_get(&ret, boost::TIME_UTC_);
+     ret.sec += secs;
+     return ret;
+  }
+diff -rc boost_1_44_0/libs/spirit/classic/test/grammar_mt_tests.cpp boost_1_44_0-new/libs/spirit/classic/test/grammar_mt_tests.cpp
+*** boost_1_44_0/libs/spirit/classic/test/grammar_mt_tests.cpp	2008-06-22 17:05:38.000000000 +0200
+--- boost_1_44_0-new/libs/spirit/classic/test/grammar_mt_tests.cpp	2013-04-12 14:00:18.836647940 +0200
+***************
+*** 70,76 ****
+  {
+      static long const nanoseconds_per_second = 1000L*1000L*1000L;
+      boost::xtime xt;
+!     boost::xtime_get(&xt, boost::TIME_UTC);
+      xt.nsec+=1000*1000*milliseconds;
+      while (xt.nsec > nanoseconds_per_second)
+      {
+--- 70,76 ----
+  {
+      static long const nanoseconds_per_second = 1000L*1000L*1000L;
+      boost::xtime xt;
+!     boost::xtime_get(&xt, boost::TIME_UTC_);
+      xt.nsec+=1000*1000*milliseconds;
+      while (xt.nsec > nanoseconds_per_second)
+      {
+diff -rc boost_1_44_0/libs/spirit/classic/test/owi_mt_tests.cpp boost_1_44_0-new/libs/spirit/classic/test/owi_mt_tests.cpp
+*** boost_1_44_0/libs/spirit/classic/test/owi_mt_tests.cpp	2008-06-22 17:05:38.000000000 +0200
+--- boost_1_44_0-new/libs/spirit/classic/test/owi_mt_tests.cpp	2013-04-12 14:00:18.836647940 +0200
+***************
+*** 86,92 ****
+              return test_size;
+  
+          boost::xtime now;
+!         boost::xtime_get(&now, boost::TIME_UTC);
+          unsigned long seconds = now.sec - start_time.sec;
+          if (seconds < 4)
+          {
+--- 86,92 ----
+              return test_size;
+  
+          boost::xtime now;
+!         boost::xtime_get(&now, boost::TIME_UTC_);
+          unsigned long seconds = now.sec - start_time.sec;
+          if (seconds < 4)
+          {
+***************
+*** 187,193 ****
+  void concurrent_creation_of_objects()
+  {
+      {
+!         boost::xtime_get(&start_time, boost::TIME_UTC);
+          boost::thread thread1(callable_ref(test1));
+          boost::thread thread2(callable_ref(test2));
+          boost::thread thread3(callable_ref(test3));
+--- 187,193 ----
+  void concurrent_creation_of_objects()
+  {
+      {
+!         boost::xtime_get(&start_time, boost::TIME_UTC_);
+          boost::thread thread1(callable_ref(test1));
+          boost::thread thread2(callable_ref(test2));
+          boost::thread thread3(callable_ref(test3));
+diff -rc boost_1_44_0/libs/thread/example/starvephil.cpp boost_1_44_0-new/libs/thread/example/starvephil.cpp
+*** boost_1_44_0/libs/thread/example/starvephil.cpp	2006-09-14 23:51:01.000000000 +0200
+--- boost_1_44_0-new/libs/thread/example/starvephil.cpp	2013-04-12 14:00:19.413652507 +0200
+***************
+*** 50,56 ****
+                        << "very hot ..." << std::endl;
+          }
+          boost::xtime xt;
+!         boost::xtime_get(&xt, boost::TIME_UTC);
+          xt.sec += 3;
+          boost::thread::sleep(xt);
+          m_chickens += value;
+--- 50,56 ----
+                        << "very hot ..." << std::endl;
+          }
+          boost::xtime xt;
+!         boost::xtime_get(&xt, boost::TIME_UTC_);
+          xt.sec += 3;
+          boost::thread::sleep(xt);
+          m_chickens += value;
+***************
+*** 85,91 ****
+              std::cout << "(" << clock() << ") Chef: cooking ..." << std::endl;
+          }
+          boost::xtime xt;
+!         boost::xtime_get(&xt, boost::TIME_UTC);
+          xt.sec += 2;
+          boost::thread::sleep(xt);
+          {
+--- 85,91 ----
+              std::cout << "(" << clock() << ") Chef: cooking ..." << std::endl;
+          }
+          boost::xtime xt;
+!         boost::xtime_get(&xt, boost::TIME_UTC_);
+          xt.sec += 2;
+          boost::thread::sleep(xt);
+          {
+***************
+*** 111,117 ****
+              if (m_id > 0)
+              {
+                  boost::xtime xt;
+!                 boost::xtime_get(&xt, boost::TIME_UTC);
+                  xt.sec += 3;
+                  boost::thread::sleep(xt);
+              }
+--- 111,117 ----
+              if (m_id > 0)
+              {
+                  boost::xtime xt;
+!                 boost::xtime_get(&xt, boost::TIME_UTC_);
+                  xt.sec += 3;
+                  boost::thread::sleep(xt);
+              }
+diff -rc boost_1_44_0/libs/thread/example/tennis.cpp boost_1_44_0-new/libs/thread/example/tennis.cpp
+*** boost_1_44_0/libs/thread/example/tennis.cpp	2009-10-19 11:18:13.000000000 +0200
+--- boost_1_44_0-new/libs/thread/example/tennis.cpp	2013-04-12 14:00:19.412652499 +0200
+***************
+*** 104,110 ****
+      boost::thread thrdb(thread_adapter(&player, (void*)PLAYER_B));
+  
+      boost::xtime xt;
+!     boost::xtime_get(&xt, boost::TIME_UTC);
+      xt.sec += 1;
+      boost::thread::sleep(xt);
+      {
+--- 104,110 ----
+      boost::thread thrdb(thread_adapter(&player, (void*)PLAYER_B));
+  
+      boost::xtime xt;
+!     boost::xtime_get(&xt, boost::TIME_UTC_);
+      xt.sec += 1;
+      boost::thread::sleep(xt);
+      {
+diff -rc boost_1_44_0/libs/thread/example/thread.cpp boost_1_44_0-new/libs/thread/example/thread.cpp
+*** boost_1_44_0/libs/thread/example/thread.cpp	2006-09-14 23:51:01.000000000 +0200
+--- boost_1_44_0-new/libs/thread/example/thread.cpp	2013-04-12 14:00:19.414652515 +0200
+***************
+*** 14,20 ****
+      void operator()()
+      {
+          boost::xtime xt;
+!         boost::xtime_get(&xt, boost::TIME_UTC);
+          xt.sec += m_secs;
+  
+          boost::thread::sleep(xt);
+--- 14,20 ----
+      void operator()()
+      {
+          boost::xtime xt;
+!         boost::xtime_get(&xt, boost::TIME_UTC_);
+          xt.sec += m_secs;
+  
+          boost::thread::sleep(xt);
+diff -rc boost_1_44_0/libs/thread/example/xtime.cpp boost_1_44_0-new/libs/thread/example/xtime.cpp
+*** boost_1_44_0/libs/thread/example/xtime.cpp	2006-09-14 23:51:01.000000000 +0200
+--- boost_1_44_0-new/libs/thread/example/xtime.cpp	2013-04-12 14:00:19.413652507 +0200
+***************
+*** 10,16 ****
+  int main(int argc, char* argv[])
+  {
+      boost::xtime xt;
+!     boost::xtime_get(&xt, boost::TIME_UTC);
+      xt.sec += 1;
+      boost::thread::sleep(xt); // Sleep for 1 second
+  }
+--- 10,16 ----
+  int main(int argc, char* argv[])
+  {
+      boost::xtime xt;
+!     boost::xtime_get(&xt, boost::TIME_UTC_);
+      xt.sec += 1;
+      boost::thread::sleep(xt); // Sleep for 1 second
+  }
+diff -rc boost_1_44_0/libs/thread/src/pthread/thread.cpp boost_1_44_0-new/libs/thread/src/pthread/thread.cpp
+*** boost_1_44_0/libs/thread/src/pthread/thread.cpp	2010-07-09 21:13:09.000000000 +0200
+--- boost_1_44_0-new/libs/thread/src/pthread/thread.cpp	2013-04-12 14:00:19.415652523 +0200
+***************
+*** 350,356 ****
+                      cond.timed_wait(lock, xt);
+  #   endif
+                      xtime cur;
+!                     xtime_get(&cur, TIME_UTC);
+                      if (xtime_cmp(xt, cur) <= 0)
+                          return;
+                  }
+--- 350,356 ----
+                      cond.timed_wait(lock, xt);
+  #   endif
+                      xtime cur;
+!                     xtime_get(&cur, TIME_UTC_);
+                      if (xtime_cmp(xt, cur) <= 0)
+                          return;
+                  }
+***************
+*** 365,371 ****
+              BOOST_VERIFY(!pthread_yield());
+  #   else
+              xtime xt;
+!             xtime_get(&xt, TIME_UTC);
+              sleep(xt);
+  #   endif
+          }
+--- 365,371 ----
+              BOOST_VERIFY(!pthread_yield());
+  #   else
+              xtime xt;
+!             xtime_get(&xt, TIME_UTC_);
+              sleep(xt);
+  #   endif
+          }
+diff -rc boost_1_44_0/libs/thread/src/pthread/timeconv.inl boost_1_44_0-new/libs/thread/src/pthread/timeconv.inl
+*** boost_1_44_0/libs/thread/src/pthread/timeconv.inl	2010-04-01 17:04:15.000000000 +0200
+--- boost_1_44_0-new/libs/thread/src/pthread/timeconv.inl	2013-04-12 14:00:19.414652515 +0200
+***************
+*** 20,27 ****
+  inline void to_time(int milliseconds, boost::xtime& xt)
+  {
+      int res = 0;
+!     res = boost::xtime_get(&xt, boost::TIME_UTC);
+!     BOOST_ASSERT(res == boost::TIME_UTC);
+  
+      xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
+      xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
+--- 20,27 ----
+  inline void to_time(int milliseconds, boost::xtime& xt)
+  {
+      int res = 0;
+!     res = boost::xtime_get(&xt, boost::TIME_UTC_);
+!     BOOST_ASSERT(res == boost::TIME_UTC_);
+  
+      xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
+      xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
+***************
+*** 57,64 ****
+  {
+      boost::xtime cur;
+      int res = 0;
+!     res = boost::xtime_get(&cur, boost::TIME_UTC);
+!     BOOST_ASSERT(res == boost::TIME_UTC);
+  
+      if (boost::xtime_cmp(xt, cur) <= 0)
+      {
+--- 57,64 ----
+  {
+      boost::xtime cur;
+      int res = 0;
+!     res = boost::xtime_get(&cur, boost::TIME_UTC_);
+!     BOOST_ASSERT(res == boost::TIME_UTC_);
+  
+      if (boost::xtime_cmp(xt, cur) <= 0)
+      {
+***************
+*** 88,95 ****
+  {
+      boost::xtime cur;
+      int res = 0;
+!     res = boost::xtime_get(&cur, boost::TIME_UTC);
+!     BOOST_ASSERT(res == boost::TIME_UTC);
+  
+      if (boost::xtime_cmp(xt, cur) <= 0)
+          milliseconds = 0;
+--- 88,95 ----
+  {
+      boost::xtime cur;
+      int res = 0;
+!     res = boost::xtime_get(&cur, boost::TIME_UTC_);
+!     BOOST_ASSERT(res == boost::TIME_UTC_);
+  
+      if (boost::xtime_cmp(xt, cur) <= 0)
+          milliseconds = 0;
+***************
+*** 110,117 ****
+  {
+      boost::xtime cur;
+      int res = 0;
+!     res = boost::xtime_get(&cur, boost::TIME_UTC);
+!     BOOST_ASSERT(res == boost::TIME_UTC);
+  
+      if (boost::xtime_cmp(xt, cur) <= 0)
+          microseconds = 0;
+--- 110,117 ----
+  {
+      boost::xtime cur;
+      int res = 0;
+!     res = boost::xtime_get(&cur, boost::TIME_UTC_);
+!     BOOST_ASSERT(res == boost::TIME_UTC_);
+  
+      if (boost::xtime_cmp(xt, cur) <= 0)
+          microseconds = 0;
+diff -rc boost_1_44_0/libs/thread/src/win32/timeconv.inl boost_1_44_0-new/libs/thread/src/win32/timeconv.inl
+*** boost_1_44_0/libs/thread/src/win32/timeconv.inl	2007-11-25 19:38:02.000000000 +0100
+--- boost_1_44_0-new/libs/thread/src/win32/timeconv.inl	2013-04-12 14:00:19.416652531 +0200
+***************
+*** 17,24 ****
+  inline void to_time(int milliseconds, boost::xtime& xt)
+  {
+      int res = 0;
+!     res = boost::xtime_get(&xt, boost::TIME_UTC);
+!     assert(res == boost::TIME_UTC);
+  
+      xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
+      xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
+--- 17,24 ----
+  inline void to_time(int milliseconds, boost::xtime& xt)
+  {
+      int res = 0;
+!     res = boost::xtime_get(&xt, boost::TIME_UTC_);
+!     assert(res == boost::TIME_UTC_);
+  
+      xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
+      xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
+***************
+*** 54,61 ****
+  {
+      boost::xtime cur;
+      int res = 0;
+!     res = boost::xtime_get(&cur, boost::TIME_UTC);
+!     assert(res == boost::TIME_UTC);
+  
+      if (boost::xtime_cmp(xt, cur) <= 0)
+      {
+--- 54,61 ----
+  {
+      boost::xtime cur;
+      int res = 0;
+!     res = boost::xtime_get(&cur, boost::TIME_UTC_);
+!     assert(res == boost::TIME_UTC_);
+  
+      if (boost::xtime_cmp(xt, cur) <= 0)
+      {
+***************
+*** 85,92 ****
+  {
+      boost::xtime cur;
+      int res = 0;
+!     res = boost::xtime_get(&cur, boost::TIME_UTC);
+!     assert(res == boost::TIME_UTC);
+  
+      if (boost::xtime_cmp(xt, cur) <= 0)
+          milliseconds = 0;
+--- 85,92 ----
+  {
+      boost::xtime cur;
+      int res = 0;
+!     res = boost::xtime_get(&cur, boost::TIME_UTC_);
+!     assert(res == boost::TIME_UTC_);
+  
+      if (boost::xtime_cmp(xt, cur) <= 0)
+          milliseconds = 0;
+***************
+*** 107,114 ****
+  {
+      boost::xtime cur;
+      int res = 0;
+!     res = boost::xtime_get(&cur, boost::TIME_UTC);
+!     assert(res == boost::TIME_UTC);
+  
+      if (boost::xtime_cmp(xt, cur) <= 0)
+          microseconds = 0;
+--- 107,114 ----
+  {
+      boost::xtime cur;
+      int res = 0;
+!     res = boost::xtime_get(&cur, boost::TIME_UTC_);
+!     assert(res == boost::TIME_UTC_);
+  
+      if (boost::xtime_cmp(xt, cur) <= 0)
+          microseconds = 0;
+diff -rc boost_1_44_0/libs/thread/test/test_xtime.cpp boost_1_44_0-new/libs/thread/test/test_xtime.cpp
+*** boost_1_44_0/libs/thread/test/test_xtime.cpp	2008-07-08 09:44:55.000000000 +0200
+--- boost_1_44_0-new/libs/thread/test/test_xtime.cpp	2013-04-12 14:00:19.432652657 +0200
+***************
+*** 17,24 ****
+  {
+      boost::xtime xt1, xt2, cur;
+      BOOST_CHECK_EQUAL(
+!         boost::xtime_get(&cur, boost::TIME_UTC),
+!         static_cast<int>(boost::TIME_UTC));
+  
+      xt1 = xt2 = cur;
+      xt1.nsec -= 1;
+--- 17,24 ----
+  {
+      boost::xtime xt1, xt2, cur;
+      BOOST_CHECK_EQUAL(
+!         boost::xtime_get(&cur, boost::TIME_UTC_),
+!         static_cast<int>(boost::TIME_UTC_));
+  
+      xt1 = xt2 = cur;
+      xt1.nsec -= 1;
+***************
+*** 42,55 ****
+      boost::xtime orig, cur, old;
+      BOOST_CHECK_EQUAL(
+          boost::xtime_get(&orig,
+!             boost::TIME_UTC), static_cast<int>(boost::TIME_UTC));
+      old = orig;
+  
+      for (int x=0; x < 100; ++x)
+      {
+          BOOST_CHECK_EQUAL(
+!             boost::xtime_get(&cur, boost::TIME_UTC),
+!             static_cast<int>(boost::TIME_UTC));
+          BOOST_CHECK(boost::xtime_cmp(cur, orig) >= 0);
+          BOOST_CHECK(boost::xtime_cmp(cur, old) >= 0);
+          old = cur;
+--- 42,55 ----
+      boost::xtime orig, cur, old;
+      BOOST_CHECK_EQUAL(
+          boost::xtime_get(&orig,
+!             boost::TIME_UTC_), static_cast<int>(boost::TIME_UTC));
+      old = orig;
+  
+      for (int x=0; x < 100; ++x)
+      {
+          BOOST_CHECK_EQUAL(
+!             boost::xtime_get(&cur, boost::TIME_UTC_),
+!             static_cast<int>(boost::TIME_UTC_));
+          BOOST_CHECK(boost::xtime_cmp(cur, orig) >= 0);
+          BOOST_CHECK(boost::xtime_cmp(cur, old) >= 0);
+          old = cur;
+diff -rc boost_1_44_0/libs/thread/test/util.inl boost_1_44_0-new/libs/thread/test/util.inl
+*** boost_1_44_0/libs/thread/test/util.inl	2008-11-03 23:29:39.000000000 +0100
+--- boost_1_44_0-new/libs/thread/test/util.inl	2013-04-12 14:00:19.433652665 +0200
+***************
+*** 28,35 ****
+      const int NANOSECONDS_PER_MILLISECOND = 1000000;
+  
+      boost::xtime xt;
+!     if (boost::TIME_UTC != boost::xtime_get (&xt, boost::TIME_UTC))
+!         BOOST_ERROR ("boost::xtime_get != boost::TIME_UTC");
+  
+      nsecs += xt.nsec;
+      msecs += nsecs / NANOSECONDS_PER_MILLISECOND;
+--- 28,35 ----
+      const int NANOSECONDS_PER_MILLISECOND = 1000000;
+  
+      boost::xtime xt;
+!     if (boost::TIME_UTC_ != boost::xtime_get (&xt, boost::TIME_UTC))
+!         BOOST_ERROR ("boost::xtime_get != boost::TIME_UTC_");
+  
+      nsecs += xt.nsec;
+      msecs += nsecs / NANOSECONDS_PER_MILLISECOND;
diff --git a/pkgs/development/libraries/haskell/accelerate/default.nix b/pkgs/development/libraries/haskell/accelerate/default.nix
index 24f09f66d357..f4c70657caa9 100644
--- a/pkgs/development/libraries/haskell/accelerate/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "accelerate";
-  version = "0.12.1.0";
-  sha256 = "1zvrb36xvvzfdl0k7a25329mdplwa76k9wk0yf3za3j0kb20d4f4";
+  version = "0.12.2.0";
+  sha256 = "1fv7d2prpkwy2gy0llafksayka76jv8c0sd66x6632gb586pfwgs";
   meta = {
     homepage = "https://github.com/AccelerateHS/accelerate/";
     description = "An embedded language for accelerated array processing";
diff --git a/pkgs/development/libraries/haskell/github/default.nix b/pkgs/development/libraries/haskell/github/default.nix
index 3eafcd70940e..890636e21501 100644
--- a/pkgs/development/libraries/haskell/github/default.nix
+++ b/pkgs/development/libraries/haskell/github/default.nix
@@ -1,23 +1,18 @@
-{ cabal, fetchurl, aeson, attoparsec, caseInsensitive, conduit, dataDefault
+{ cabal, aeson, attoparsec, caseInsensitive, conduit, dataDefault
 , failure, HTTP, httpConduit, httpTypes, network, text, time
 , unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "github";
-  version = "0.5.0-patched";
-  src = fetchurl {
-    url = "https://github.com/mike-burns/github/archive/df415af64ebd4a28f1f8e5cc726e933545efdd7e.tar.gz";
-    sha256 = "1d1ya5j1qz1nf5kfkxp48gb0xbcr4fmf9y0kfpd3gxivfrdkfrig";
-    name = "github-${self.version}.tar.gz";
-  };
-  patches = [ (fetchurl { url = "https://github.com/mike-burns/github/pull/33.patch"; sha256 = "1d0m73ygzpk5rd6ahbrf58mxca56s5sd70yrf7fn2r1bh0rlacap"; }) ];
+  version = "0.6.0";
+  sha256 = "1bg443rhh57p10q9dwx4aa2964qwg00swmdlvh1r72c343lrv1gj";
   buildDepends = [
     aeson attoparsec caseInsensitive conduit dataDefault failure HTTP
     httpConduit httpTypes network text time unorderedContainers vector
   ];
   meta = {
-    homepage = "https://github.com/mike-burns/github";
+    homepage = "https://github.com/fpco/github";
     description = "Access to the Github API, v3";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/publicsuffixlist/default.nix b/pkgs/development/libraries/haskell/publicsuffixlist/default.nix
index e42d0a2bc789..f61cb0f99a30 100644
--- a/pkgs/development/libraries/haskell/publicsuffixlist/default.nix
+++ b/pkgs/development/libraries/haskell/publicsuffixlist/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "publicsuffixlist";
-  version = "0.0.4";
-  sha256 = "0qwx2739pmmjfy6w3iri1fgyin3295vzn6rvazh34qd89i5vi3pb";
+  version = "0.1";
+  sha256 = "0mbrmhgyjp8jms3fd3nq4knc4j97sw8ijrmnlfjs7qj8jw4vwzxk";
   buildDepends = [ cereal dataDefault text utf8String ];
   testDepends = [ cereal dataDefault HUnit idna text utf8String ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index ec1bd1d3b683..baaa6114ba68 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -1,19 +1,19 @@
-{ cabal, ansiTerminal, blazeBuilder, blazeBuilderConduit
-, caseInsensitive, conduit, dataDefault, dateCache, fastLogger
-, hspec, httpTypes, HUnit, network, resourcet, stringsearch, text
-, time, transformers, void, wai, waiLogger, waiTest, zlib
-, zlibBindings, zlibConduit
+{ cabal, ansiTerminal, base64Bytestring, blazeBuilder
+, blazeBuilderConduit, caseInsensitive, conduit, dataDefault
+, dateCache, fastLogger, hspec, httpTypes, HUnit, network
+, resourcet, stringsearch, text, time, transformers, void, wai
+, waiLogger, waiTest, word8, zlib, zlibBindings, zlibConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "1.3.3.2";
-  sha256 = "0kw1v68a8dxpxg87r2vjah6n5906mw6cnyy2xx0jbk95qx5g5z8y";
+  version = "1.3.4";
+  sha256 = "1ay82q58pizc48rh4d8z7ybf2jjvzxqylj6mx34nvrxxlmxf5gfx";
   buildDepends = [
-    ansiTerminal blazeBuilder blazeBuilderConduit caseInsensitive
-    conduit dataDefault dateCache fastLogger httpTypes network
-    resourcet stringsearch text time transformers void wai waiLogger
-    zlibConduit
+    ansiTerminal base64Bytestring blazeBuilder blazeBuilderConduit
+    caseInsensitive conduit dataDefault dateCache fastLogger httpTypes
+    network resourcet stringsearch text time transformers void wai
+    waiLogger word8 zlibConduit
   ];
   testDepends = [
     blazeBuilder conduit dataDefault fastLogger hspec httpTypes HUnit
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index 0474b79a8479..3d37db20edcd 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -2,25 +2,26 @@
 
 let
   pname = "icu4c";
-  version = "4.8.1";
+  version = "51.1";
 in
 
 stdenv.mkDerivation {
   name = pname + "-" + version;
-  
+
   src = fetchurl {
-    url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
-      + (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
-    sha256 = "13zq190gl54zr84f0k48w9knarjsb966jkailyy06yhqjipcv90r";
+    url = http://download.icu-project.org/files/icu4c/51.1/icu4c-51_1-src.tgz;
+    sha256 = "0sv6hgkm92pm27zgjxgk284lcxxbsl0syi40ckw2b7yj7d8sxrc7";
   };
 
-  postUnpack = "
-    sourceRoot=\${sourceRoot}/source
-    echo Source root reset to \${sourceRoot}
-  ";
-  
+  postUnpack = ''
+    sourceRoot=''${sourceRoot}/source
+    echo Source root reset to ''${sourceRoot}
+  '';
+
   configureFlags = "--disable-debug";
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Unicode and globalization support library";
     homepage = http://site.icu-project.org/;
diff --git a/pkgs/development/libraries/libspotify/default.nix b/pkgs/development/libraries/libspotify/default.nix
index 9c28a99fee8d..1972a4be6536 100644
--- a/pkgs/development/libraries/libspotify/default.nix
+++ b/pkgs/development/libraries/libspotify/default.nix
@@ -56,6 +56,6 @@ if stdenv.system != "x86_64-linux" then throw ''
 
     maintainers = [ stdenv.lib.maintainers.shlevy ];
 
-    license = stdenv.lib.licenses.proprietary;
+    license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/development/tools/haskell/cabal-dev/default.nix b/pkgs/development/tools/haskell/cabal-dev/default.nix
index df7f728c752d..fef9892bce82 100644
--- a/pkgs/development/tools/haskell/cabal-dev/default.nix
+++ b/pkgs/development/tools/haskell/cabal-dev/default.nix
@@ -1,19 +1,15 @@
-{ cabal, fetchurl, Cabal, cabalInstall, filepath, HTTP, mtl, network, tar
-, transformers, zlib, setenv
+{ cabal, Cabal, cabalInstall, filepath, HTTP, mtl, network, setenv
+, tar, transformers, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "cabal-dev";
-  version = "0.9.1-git";
-  src = fetchurl {
-    url = "https://github.com/creswick/cabal-dev/archive/54e7d93d5b309c56192c146c7a807ac3591bc464.tar.gz";
-    sha256 = "1isi02jik0vrg48l7r2mj4cf9ms6hpxxz1mmhl7s3kkxx775cxj9";
-    name = "${self.name}.tar.gz";
-  };
+  version = "0.9.2";
+  sha256 = "1372bpn8s7d7nm01ggp3m98ldrynidbchk3p14yrjysvxwr3l6q8";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    Cabal filepath HTTP mtl network tar transformers zlib setenv
+    Cabal filepath HTTP mtl network setenv tar transformers zlib
   ];
   buildTools = [ cabalInstall ];
   meta = {
diff --git a/pkgs/development/tools/neoload/default.nix b/pkgs/development/tools/neoload/default.nix
index d7a203ad3f41..25f66e9cd7ea 100644
--- a/pkgs/development/tools/neoload/default.nix
+++ b/pkgs/development/tools/neoload/default.nix
@@ -80,12 +80,12 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "load testing software for Web applications to realistically simulate user activity and analyze server behavior.";
+    description = "load testing software for Web applications to realistically simulate user activity and analyze server behavior";
 
     homepage = https://www.neotys.com/product/overview-neoload.html;
 
     # https://www.neotys.com/documents/legal/eula/neoload/eula_en.html
-    license = stdenv.lib.licenses.proprietary;
+    license = stdenv.lib.licenses.unfree;
 
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
     platforms = [ "i686-linux" "x86_64-linux" ];
diff --git a/pkgs/games/oilrush/default.nix b/pkgs/games/oilrush/default.nix
index 339c3bbd1a84..b96fd7c3e9f2 100644
--- a/pkgs/games/oilrush/default.nix
+++ b/pkgs/games/oilrush/default.nix
@@ -67,7 +67,7 @@ stdenv.mkDerivation {
       of Tower Defense. 
     '';
     homepage = http://oilrush-game.com/;
-    license = [ "proprietary" ];
+    license = "unfree";
     #maintainers = with stdenv.lib.maintainers; [ astsmtl ];
     #platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/lib/licenses.nix b/pkgs/lib/licenses.nix
index 634a20e720a9..583cece32220 100644
--- a/pkgs/lib/licenses.nix
+++ b/pkgs/lib/licenses.nix
@@ -177,11 +177,6 @@
     url = http://docs.python.org/license.html;
   };
 
-  proprietary = {
-    shortName = "Proprietary";
-    fullName = "Proprietary (non redistributable) license";
-  };
-
   tcltk = {
     shortName = "Tcl/Tk";
     fullName = "Tcl/Tk license";
diff --git a/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
index 1c4173c72fd4..f941d9275c01 100644
--- a/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
+++ b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Firmware for cards supported by the b43 kernel module";
     homepage = http://wireless.kernel.org/en/users/Drivers/b43;
-    license = stdenv.lib.licenses.proprietary;
+    license = stdenv.lib.licenses.unfree;
     maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix
index 3280ac7ad244..7703b4b4cfb9 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.2.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix
@@ -240,7 +240,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.2.42";
+    version = "3.2.43";
 
     modDirVersion = version;
 
@@ -250,7 +250,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.0/linux-${version}.tar.xz";
-      sha256 = "17cwyv474pnwj7i7i513l6g1iz8sp92gvf0crpmrrvv93064xz08";
+      sha256 = "0cg88mdlqs7zj2ndj4i9hmvmxasmgv2fqlpzr87qm7bqkmmb6p58";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch b/pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch
index 568ad3780126..7324325fad4f 100644
--- a/pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch
+++ b/pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch
@@ -1,7 +1,7 @@
-From 75bc507c854a8fe1f819a6b04ebe9e05cd9c425c Mon Sep 17 00:00:00 2001
+From d9c2065158b63db16c9bf0fed37b3f759ef85cbd Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Tue, 8 Jan 2013 15:44:33 +0100
-Subject: [PATCH 1/7] Make "systemctl daemon-reexec" do the right thing on
+Subject: [PATCH 1/8] Make "systemctl daemon-reexec" do the right thing on
  NixOS
 
 ---
@@ -9,10 +9,10 @@ Subject: [PATCH 1/7] Make "systemctl daemon-reexec" do the right thing on
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/core/main.c b/src/core/main.c
-index 25f55fc..c2e42b7 100644
+index 7899761..f6f83f4 100644
 --- a/src/core/main.c
 +++ b/src/core/main.c
-@@ -1887,7 +1887,7 @@ finish:
+@@ -1884,7 +1884,7 @@ finish:
                          char_array_0(sfd);
  
                          i = 0;
diff --git a/pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch b/pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch
index c9e9d806eb9e..31a6642978b2 100644
--- a/pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch
+++ b/pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch
@@ -1,17 +1,17 @@
-From b8acf19dbd37f801d5eeb76170f84bc8d75e464c Mon Sep 17 00:00:00 2001
+From f3838af51d461ca3d339618d17962f2d57d1a7fa Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Tue, 8 Jan 2013 15:45:01 +0100
-Subject: [PATCH 2/7] Ignore duplicate paths in "systemctl start"
+Subject: [PATCH 2/8] Ignore duplicate paths in "systemctl start"
 
 ---
  src/systemctl/systemctl.c | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
-index 1191c7a..4cd64f5 100644
+index fd9f580..b8252c9 100644
 --- a/src/systemctl/systemctl.c
 +++ b/src/systemctl/systemctl.c
-@@ -1510,8 +1510,10 @@ static int start_unit_one(
+@@ -1507,8 +1507,10 @@ static int start_unit_one(
                  r = set_put(s, p);
                  if (r < 0) {
                          free(p);
diff --git a/pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch b/pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch
index 70eba00d22fa..30382f557587 100644
--- a/pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch
+++ b/pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch
@@ -1,7 +1,7 @@
-From 7e7d0ebc8617dfdae4ece9f5b66dc63031bb3fbc Mon Sep 17 00:00:00 2001
+From 6960f2025e95e69079540c4828f62e16d7e75fb1 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Tue, 8 Jan 2013 15:46:30 +0100
-Subject: [PATCH 3/7] Start device units for uninitialised encrypted devices
+Subject: [PATCH 3/8] Start device units for uninitialised encrypted devices
 
 This is necessary because the NixOS service that initialises the
 filesystem depends on the appearance of the device unit.  Also, this
diff --git a/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch b/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch
index b25f65187d79..610f8a1de630 100644
--- a/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch
+++ b/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch
@@ -1,7 +1,7 @@
-From fa5fabd0123f2d5be7efa877f8dbbf0ae7b929da Mon Sep 17 00:00:00 2001
+From 22d416e766e11dbc381620beff89284a0e23827b Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Tue, 8 Jan 2013 15:48:19 +0100
-Subject: [PATCH 4/7] Set switch-to-configuration hints for some units
+Subject: [PATCH 4/8] Set switch-to-configuration hints for some units
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -24,13 +24,13 @@ to prevent all user sessions from being killed when this unit changes.
  4 files changed, 12 insertions(+)
 
 diff --git a/units/local-fs.target b/units/local-fs.target
-index ee02e4e..63ae843 100644
+index 18c3d74..a09054c 100644
 --- a/units/local-fs.target
 +++ b/units/local-fs.target
 @@ -11,3 +11,5 @@ Documentation=man:systemd.special(7)
  After=local-fs-pre.target
  OnFailure=emergency.target
- OnFailureIsolate=yes
+ OnFailureIsolate=no
 +
 +X-StopOnReconfiguration=yes
 diff --git a/units/remote-fs.target b/units/remote-fs.target
diff --git a/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch b/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch
index d94890dccc18..1f6da920091f 100644
--- a/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch
+++ b/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch
@@ -1,7 +1,7 @@
-From c2dce9a0088f7d155659bcbf1e9e69467e679244 Mon Sep 17 00:00:00 2001
+From 4b0a5f8b3f8fed53f34021dd6139699740b0c3ff Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Tue, 8 Jan 2013 15:56:03 +0100
-Subject: [PATCH 5/7] sysinit.target: Drop the dependency on local-fs.target
+Subject: [PATCH 5/8] sysinit.target: Drop the dependency on local-fs.target
  and swap.target
 
 Having all services with DefaultDependencies=yes depend on
diff --git a/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch b/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch
index 9e4995dfc1fc..f56d6cc41be7 100644
--- a/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch
+++ b/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch
@@ -1,7 +1,7 @@
-From f1b273a7203da1dd3ef51529b5b2e481c7a8d999 Mon Sep 17 00:00:00 2001
+From fbb62c4d5973f7556ce6c3bc9242180b7e087de8 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Tue, 8 Jan 2013 18:36:28 +0100
-Subject: [PATCH 6/7] Don't call "plymouth quit"
+Subject: [PATCH 6/8] Don't call "plymouth quit"
 
 NixOS doesn't use Plymouth (yet).
 ---
diff --git a/pkgs/os-specific/linux/systemd/0007-Ignore-IPv6-link-local-addresses.patch b/pkgs/os-specific/linux/systemd/0007-Ignore-IPv6-link-local-addresses.patch
index fb59b676e516..f12061715471 100644
--- a/pkgs/os-specific/linux/systemd/0007-Ignore-IPv6-link-local-addresses.patch
+++ b/pkgs/os-specific/linux/systemd/0007-Ignore-IPv6-link-local-addresses.patch
@@ -1,7 +1,7 @@
-From 61fa587560634d5c71a62a4a2fc2a37eb043e9a4 Mon Sep 17 00:00:00 2001
+From 72a89fd9b4e35da375a1cdcf0d30a0f31a78d9a5 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Mon, 4 Feb 2013 12:41:14 +0100
-Subject: [PATCH 7/7] Ignore IPv6 link-local addresses
+Subject: [PATCH 7/8] Ignore IPv6 link-local addresses
 
 Returning IPv6 link-local addresses is a bad idea, because they only
 work if an application connects specifically over the corresponding
@@ -18,19 +18,19 @@ to returning ::1.
  1 file changed, 4 insertions(+)
 
 diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c
-index 53c3b50..621ca1d 100644
+index b1ef912..4f2ab5c 100644
 --- a/src/nss-myhostname/netlink.c
 +++ b/src/nss-myhostname/netlink.c
-@@ -155,6 +155,10 @@ int ifconf_acquire_addresses(struct address **_list, unsigned *_n_list) {
-                             ifaddrmsg->ifa_scope == RT_SCOPE_NOWHERE)
-                                 continue;
+@@ -113,6 +113,10 @@ static int read_reply(int fd, struct address **list, unsigned *n_list) {
+                     ifaddrmsg->ifa_scope == RT_SCOPE_NOWHERE)
+                         continue;
  
-+                        if (ifaddrmsg->ifa_family == AF_INET6 &&
-+                            ifaddrmsg->ifa_scope == RT_SCOPE_LINK)
-+                                continue;
++                if (ifaddrmsg->ifa_family == AF_INET6 &&
++                    ifaddrmsg->ifa_scope == RT_SCOPE_LINK)
++                        continue;
 +
-                         if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED)
-                                 continue;
+                 if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED)
+                         continue;
  
 -- 
 1.8.1
diff --git a/pkgs/os-specific/linux/systemd/0008-Don-t-try-to-unmount-nix-or-nix-store.patch b/pkgs/os-specific/linux/systemd/0008-Don-t-try-to-unmount-nix-or-nix-store.patch
new file mode 100644
index 000000000000..c8959871c009
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/0008-Don-t-try-to-unmount-nix-or-nix-store.patch
@@ -0,0 +1,28 @@
+From ceb0fc701960de1568fe2732f390a7b92b76f2e1 Mon Sep 17 00:00:00 2001
+From: Eelco Dolstra <eelco.dolstra@logicblox.com>
+Date: Fri, 12 Apr 2013 13:16:57 +0200
+Subject: [PATCH 8/8] Don't try to unmount /nix or /nix/store
+
+They'll still be remounted read-only.
+
+https://github.com/NixOS/nixos/issues/126
+---
+ src/core/umount.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/core/umount.c b/src/core/umount.c
+index 8c69e74..ff13a5d 100644
+--- a/src/core/umount.c
++++ b/src/core/umount.c
+@@ -435,6 +435,8 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e
+                  * anyway, since we are running from it. They have
+                  * already been remounted ro. */
+                 if (path_equal(m->path, "/")
++                    || path_equal(m->path, "/nix")
++                    || path_equal(m->path, "/nix/store")
+ #ifndef HAVE_SPLIT_USR
+                     || path_equal(m->path, "/usr")
+ #endif
+-- 
+1.8.1
+
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 7e7f69a2bbbc..85aa1153e9c2 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -6,12 +6,12 @@
 assert stdenv.gcc.libc or null != null;
 
 stdenv.mkDerivation rec {
-  version = "200";
+  version = "201";
   name = "systemd-${version}";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/systemd/${name}.tar.xz";
-    sha256 = "05y2r25441nznif5xi5gab4c6xdywiqzgcl3nsmg0j2wzalbl24s";
+    sha256 = "046cr1q7xv7bslzc16g8zz8nddf64lw8v01isw1204n21cd9yafn";
   };
 
   patches =
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
       ./0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch
       ./0006-Don-t-call-plymouth-quit.patch
       ./0007-Ignore-IPv6-link-local-addresses.patch
+      ./0008-Don-t-try-to-unmount-nix-or-nix-store.patch
     ] ++ stdenv.lib.optional stdenv.isArm ./libc-bug-accept4-arm.patch;
 
   buildInputs =
@@ -69,11 +70,17 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE =
     [ # Can't say ${polkit}/bin/pkttyagent here because that would
       # lead to a cyclic dependency.
-      "-UPOLKIT_AGENT_BINARY_PATH -DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\""
+      "-UPOLKIT_AGENT_BINARY_PATH" "-DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\""
       "-fno-stack-protector"
+
       # Work around our kernel headers being too old.  FIXME: remove
       # this after the next stdenv update.
       "-DFS_NOCOW_FL=0x00800000"
+
+      # Set the release_agent on /sys/fs/cgroup/systemd to the
+      # currently running systemd (/run/current-system/systemd) so
+      # that we don't use an obsolete/garbage-collected release agent.
+      "-USYSTEMD_CGROUP_AGENT_PATH" "-DSYSTEMD_CGROUP_AGENT_PATH=\"/run/current-system/systemd/lib/systemd/systemd-cgroups-agent\""
     ];
 
   # Use /var/lib/udev rather than /etc/udev for the generated hardware
diff --git a/pkgs/servers/silc-server/default.nix b/pkgs/servers/silc-server/default.nix
new file mode 100644
index 000000000000..2afec801961c
--- /dev/null
+++ b/pkgs/servers/silc-server/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "silc-server-1.1.18";
+
+  src = fetchurl {
+    url = "http://silcnet.org/download/server/sources/${name}.tar.bz2";
+    sha256 = "0nr0hrwr4kbi611qazmrify7a27nzxb5n7d97f5i9cw3avxlw38s";
+  };
+
+  meta = {
+    homepage = http://silcnet.org/;
+    description = "Secure Internet Live Conferencing server";
+    license = "GPLv2";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/servers/sql/oracle-xe/default.nix b/pkgs/servers/sql/oracle-xe/default.nix
index 940e57ab8fb1..57ff50175bb5 100644
--- a/pkgs/servers/sql/oracle-xe/default.nix
+++ b/pkgs/servers/sql/oracle-xe/default.nix
@@ -78,6 +78,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Oracle Database Express Edition";
     homepage = "http://www.oracle.com/technetwork/products/express-edition/";
-    license = licenses.proprietary;
+    license = licenses.unfree;
   };
 }
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index fe4bbbc94dd6..dc8d92715def 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -49,7 +49,7 @@ let
         # Add a utility function to produce derivations that use this
         # stdenv and its shell.
         mkDerivation = attrs:
-          if !allowUnfree && (let l = attrs.meta.license or ""; in l == "unfree" || l == "unfree-redistributable" || l == lib.licenses.proprietary) then
+          if !allowUnfree && (let l = attrs.meta.license or ""; in l == "unfree" || l == "unfree-redistributable") then
             throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate"
           else
             lib.addPassthru (derivation (
diff --git a/pkgs/tools/filesystems/squashfs/default.nix b/pkgs/tools/filesystems/squashfs/default.nix
index f66c54cc9e1b..bec5592ccaed 100644
--- a/pkgs/tools/filesystems/squashfs/default.nix
+++ b/pkgs/tools/filesystems/squashfs/default.nix
@@ -7,17 +7,17 @@ stdenv.mkDerivation rec {
     url = mirror://sourceforge/squashfs/squashfs4.2.tar.gz;
     sha256 = "15if08j0pl5hmnz9pwshwrp4fjp0jsm9larjxmjvdnr2m5d1kq6r";
   };
-  
+
   buildInputs = [ zlib xz ];
 
   preBuild = "cd squashfs-tools";
-  
+
   NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel
 
   installFlags = "INSTALL_DIR=\${out}/bin";
-  
+
   makeFlags = "XZ_SUPPORT=1";
-  
+
   meta = {
     homepage = http://squashfs.sourceforge.net/;
     description = "Tool for creating and unpacking squashfs filesystems";
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 1c0ed3c6e778..9de3156f2a75 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -13,11 +13,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "openssh-6.1p1";
+  name = "openssh-6.2p1";
 
   src = fetchurl {
     url = "ftp://ftp.nl.uu.net/pub/OpenBSD/OpenSSH/portable/${name}.tar.gz";
-    sha1 = "751c92c912310c3aa9cadc113e14458f843fc7b3";
+    sha1 = "8824708c617cc781b2bb29fa20bd905fd3d2a43d";
   };
 
   prePatch = stdenv.lib.optionalString hpnSupport
@@ -26,7 +26,11 @@ stdenv.mkDerivation rec {
       export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
     '';
 
-  patches = [ ./locale_archive.patch ];
+  patches =
+    [ ./locale_archive.patch
+      # Upstream fix for gratuitous "no such identity" warnings.
+      ./fix-identity-warnings.patch
+    ];
 
   buildInputs = [ zlib openssl libedit pkgconfig pam ];
 
@@ -64,5 +68,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.openssh.org/;
     description = "An implementation of the SSH protocol";
     license = "bsd";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = stdenv.lib.maintainers.eelco;
   };
 }
diff --git a/pkgs/tools/networking/openssh/fix-identity-warnings.patch b/pkgs/tools/networking/openssh/fix-identity-warnings.patch
new file mode 100644
index 000000000000..c341889b3a47
--- /dev/null
+++ b/pkgs/tools/networking/openssh/fix-identity-warnings.patch
@@ -0,0 +1,251 @@
+https://bugzilla.mindrot.org/show_bug.cgi?id=2084
+
+@@ -, +, @@ 
+   - dtucker@cvs.openbsd.org 2013/02/17 23:16:57
+     [readconf.c ssh.c readconf.h sshconnect2.c]
+     Keep track of which IndentityFile options were manually supplied and which
+     were default options, and don't warn if the latter are missing.
+     ok markus@
+   - dtucker@cvs.openbsd.org 2013/02/22 04:45:09
+     [ssh.c readconf.c readconf.h]
+     Don't complain if IdentityFiles specified in system-wide configs are
+     missing.  ok djm, deraadt.
+Index: readconf.c
+===================================================================
+RCS file: /home/dtucker/openssh/cvs/openssh/readconf.c,v
+--- a/readconf.c	2 Oct 2011 07:59:03 -0000	1.174
++++ b/readconf.c	5 Apr 2013 02:36:11 -0000
+@@ -1,4 +1,4 @@ 
+-/* $OpenBSD: readconf.c,v 1.194 2011/09/23 07:45:05 markus Exp $ */
++/* $OpenBSD: readconf.c,v 1.196 2013/02/22 04:45:08 dtucker Exp $ */
+ /*
+  * Author: Tatu Ylonen <ylo@cs.hut.fi>
+  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
+@@ -326,6 +326,26 @@ clear_forwardings(Options *options)
+ 	options->tun_open = SSH_TUNMODE_NO;
+ }
+ 
++void
++add_identity_file(Options *options, const char *dir, const char *filename,
++    int userprovided)
++{
++	char *path;
++
++	if (options->num_identity_files >= SSH_MAX_IDENTITY_FILES)
++		fatal("Too many identity files specified (max %d)",
++		    SSH_MAX_IDENTITY_FILES);
++
++	if (dir == NULL) /* no dir, filename is absolute */
++		path = xstrdup(filename);
++	else
++		(void)xasprintf(&path, "%.100s%.100s", dir, filename);
++
++	options->identity_file_userprovided[options->num_identity_files] =
++	    userprovided;
++	options->identity_files[options->num_identity_files++] = path;
++}
++
+ /*
+  * Returns the number of the token pointed to by cp or oBadOption.
+  */
+@@ -353,7 +373,7 @@ parse_token(const char *cp, const char *
+ int
+ process_config_line(Options *options, const char *host,
+ 		    char *line, const char *filename, int linenum,
+-		    int *activep)
++		    int *activep, int userconfig)
+ {
+ 	char *s, **charptr, *endofnumber, *keyword, *arg, *arg2;
+ 	char **cpptr, fwdarg[256];
+@@ -586,9 +606,7 @@ parse_yesnoask:
+ 			if (*intptr >= SSH_MAX_IDENTITY_FILES)
+ 				fatal("%.200s line %d: Too many identity files specified (max %d).",
+ 				    filename, linenum, SSH_MAX_IDENTITY_FILES);
+-			charptr = &options->identity_files[*intptr];
+-			*charptr = xstrdup(arg);
+-			*intptr = *intptr + 1;
++			add_identity_file(options, NULL, arg, userconfig);
+ 		}
+ 		break;
+ 
+@@ -1075,7 +1093,7 @@ parse_int:
+ 
+ int
+ read_config_file(const char *filename, const char *host, Options *options,
+-    int checkperm)
++    int flags)
+ {
+ 	FILE *f;
+ 	char line[1024];
+@@ -1085,7 +1103,7 @@ read_config_file(const char *filename, c
+ 	if ((f = fopen(filename, "r")) == NULL)
+ 		return 0;
+ 
+-	if (checkperm) {
++	if (flags & SSHCONF_CHECKPERM) {
+ 		struct stat sb;
+ 
+ 		if (fstat(fileno(f), &sb) == -1)
+@@ -1106,7 +1124,8 @@ read_config_file(const char *filename, c
+ 	while (fgets(line, sizeof(line), f)) {
+ 		/* Update line number counter. */
+ 		linenum++;
+-		if (process_config_line(options, host, line, filename, linenum, &active) != 0)
++		if (process_config_line(options, host, line, filename, linenum,
++		    &active, flags & SSHCONF_USERCONF) != 0)
+ 			bad_options++;
+ 	}
+ 	fclose(f);
+@@ -1280,30 +1299,17 @@ fill_default_options(Options * options)
+ 		options->protocol = SSH_PROTO_2;
+ 	if (options->num_identity_files == 0) {
+ 		if (options->protocol & SSH_PROTO_1) {
+-			len = 2 + strlen(_PATH_SSH_CLIENT_IDENTITY) + 1;
+-			options->identity_files[options->num_identity_files] =
+-			    xmalloc(len);
+-			snprintf(options->identity_files[options->num_identity_files++],
+-			    len, "~/%.100s", _PATH_SSH_CLIENT_IDENTITY);
++			add_identity_file(options, "~/",
++			    _PATH_SSH_CLIENT_IDENTITY, 0);
+ 		}
+ 		if (options->protocol & SSH_PROTO_2) {
+-			len = 2 + strlen(_PATH_SSH_CLIENT_ID_RSA) + 1;
+-			options->identity_files[options->num_identity_files] =
+-			    xmalloc(len);
+-			snprintf(options->identity_files[options->num_identity_files++],
+-			    len, "~/%.100s", _PATH_SSH_CLIENT_ID_RSA);
+-
+-			len = 2 + strlen(_PATH_SSH_CLIENT_ID_DSA) + 1;
+-			options->identity_files[options->num_identity_files] =
+-			    xmalloc(len);
+-			snprintf(options->identity_files[options->num_identity_files++],
+-			    len, "~/%.100s", _PATH_SSH_CLIENT_ID_DSA);
++			add_identity_file(options, "~/",
++			    _PATH_SSH_CLIENT_ID_RSA, 0);
++			add_identity_file(options, "~/",
++			    _PATH_SSH_CLIENT_ID_DSA, 0);
+ #ifdef OPENSSL_HAS_ECC
+-			len = 2 + strlen(_PATH_SSH_CLIENT_ID_ECDSA) + 1;
+-			options->identity_files[options->num_identity_files] =
+-			    xmalloc(len);
+-			snprintf(options->identity_files[options->num_identity_files++],
+-			    len, "~/%.100s", _PATH_SSH_CLIENT_ID_ECDSA);
++			add_identity_file(options, "~/",
++			    _PATH_SSH_CLIENT_ID_ECDSA, 0);
+ #endif
+ 		}
+ 	}
+Index: readconf.h
+===================================================================
+RCS file: /home/dtucker/openssh/cvs/openssh/readconf.h,v
+--- a/readconf.h	2 Oct 2011 07:59:03 -0000	1.83
++++ b/readconf.h	5 Apr 2013 02:36:11 -0000
+@@ -1,4 +1,4 @@ 
+-/* $OpenBSD: readconf.h,v 1.91 2011/09/23 07:45:05 markus Exp $ */
++/* $OpenBSD: readconf.h,v 1.93 2013/02/22 04:45:09 dtucker Exp $ */
+ 
+ /*
+  * Author: Tatu Ylonen <ylo@cs.hut.fi>
+@@ -96,6 +96,7 @@ typedef struct {
+ 
+ 	int     num_identity_files;	/* Number of files for RSA/DSA identities. */
+ 	char   *identity_files[SSH_MAX_IDENTITY_FILES];
++	int    identity_file_userprovided[SSH_MAX_IDENTITY_FILES];
+ 	Key    *identity_keys[SSH_MAX_IDENTITY_FILES];
+ 
+ 	/* Local TCP/IP forward requests. */
+@@ -148,15 +149,20 @@ typedef struct {
+ #define REQUEST_TTY_YES		2
+ #define REQUEST_TTY_FORCE	3
+ 
++#define SSHCONF_CHECKPERM	1  /* check permissions on config file */
++#define SSHCONF_USERCONF	2  /* user provided config file not system */
++
+ void     initialize_options(Options *);
+ void     fill_default_options(Options *);
+ int	 read_config_file(const char *, const char *, Options *, int);
+ int	 parse_forward(Forward *, const char *, int, int);
+ 
+ int
+-process_config_line(Options *, const char *, char *, const char *, int, int *);
++process_config_line(Options *, const char *, char *, const char *, int, int *,
++    int);
+ 
+ void	 add_local_forward(Options *, const Forward *);
+ void	 add_remote_forward(Options *, const Forward *);
++void	 add_identity_file(Options *, const char *, const char *, int);
+ 
+ #endif				/* READCONF_H */
+Index: ssh.c
+===================================================================
+RCS file: /home/dtucker/openssh/cvs/openssh/ssh.c,v
+--- a/ssh.c	6 Jul 2012 03:45:01 -0000	1.366
++++ b/ssh.c	5 Apr 2013 02:36:11 -0000
+@@ -1,4 +1,4 @@ 
+-/* $OpenBSD: ssh.c,v 1.370 2012/07/06 01:47:38 djm Exp $ */
++/* $OpenBSD: ssh.c,v 1.372 2013/02/22 04:45:09 dtucker Exp $ */
+ /*
+  * Author: Tatu Ylonen <ylo@cs.hut.fi>
+  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
+@@ -405,12 +405,7 @@ main(int ac, char **av)
+ 				    strerror(errno));
+ 				break;
+ 			}
+-			if (options.num_identity_files >=
+-			    SSH_MAX_IDENTITY_FILES)
+-				fatal("Too many identity files specified "
+-				    "(max %d)", SSH_MAX_IDENTITY_FILES);
+-			options.identity_files[options.num_identity_files++] =
+-			    xstrdup(optarg);
++			add_identity_file(&options, NULL, optarg, 1);
+ 			break;
+ 		case 'I':
+ #ifdef ENABLE_PKCS11
+@@ -584,7 +579,8 @@ main(int ac, char **av)
+ 			dummy = 1;
+ 			line = xstrdup(optarg);
+ 			if (process_config_line(&options, host ? host : "",
+-			    line, "command-line", 0, &dummy) != 0)
++			    line, "command-line", 0, &dummy, SSHCONF_USERCONF)
++			    != 0)
+ 				exit(255);
+ 			xfree(line);
+ 			break;
+@@ -678,14 +674,15 @@ main(int ac, char **av)
+ 	 * file if the user specifies a config file on the command line.
+ 	 */
+ 	if (config != NULL) {
+-		if (!read_config_file(config, host, &options, 0))
++		if (!read_config_file(config, host, &options, SSHCONF_USERCONF))
+ 			fatal("Can't open user config file %.100s: "
+ 			    "%.100s", config, strerror(errno));
+ 	} else {
+ 		r = snprintf(buf, sizeof buf, "%s/%s", pw->pw_dir,
+ 		    _PATH_SSH_USER_CONFFILE);
+ 		if (r > 0 && (size_t)r < sizeof(buf))
+-			(void)read_config_file(buf, host, &options, 1);
++			(void)read_config_file(buf, host, &options,
++			     SSHCONF_CHECKPERM|SSHCONF_USERCONF);
+ 
+ 		/* Read systemwide configuration file after user config. */
+ 		(void)read_config_file(_PATH_HOST_CONFIG_FILE, host,
+Index: sshconnect2.c
+===================================================================
+RCS file: /home/dtucker/openssh/cvs/openssh/sshconnect2.c,v
+--- a/sshconnect2.c	20 Mar 2013 01:55:15 -0000	1.184
++++ b/sshconnect2.c	5 Apr 2013 02:36:07 -0000
+@@ -1,4 +1,4 @@ 
+-/* $OpenBSD: sshconnect2.c,v 1.191 2013/02/15 00:21:01 dtucker Exp $ */
++/* $OpenBSD: sshconnect2.c,v 1.192 2013/02/17 23:16:57 dtucker Exp $ */
+ /*
+  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
+  * Copyright (c) 2008 Damien Miller.  All rights reserved.
+@@ -1384,7 +1384,7 @@ pubkey_prepare(Authctxt *authctxt)
+ 		id = xcalloc(1, sizeof(*id));
+ 		id->key = key;
+ 		id->filename = xstrdup(options.identity_files[i]);
+-		id->userprovided = 1;
++		id->userprovided = options.identity_file_userprovided[i];
+ 		TAILQ_INSERT_TAIL(&files, id, next);
+ 	}
+ 	/* Prefer PKCS11 keys that are explicitly listed */
diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix
index 7028c3bf6059..727bbe086059 100644
--- a/pkgs/tools/networking/socat/default.nix
+++ b/pkgs/tools/networking/socat/default.nix
@@ -1,17 +1,20 @@
 { stdenv, fetchurl, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "socat-1.7.2.0";
-  
+  name = "socat-1.7.2.1";
+
   src = fetchurl {
     url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2";
-    sha256 = "00hq0ia1fs4sy0qpavzlpf4qmnhh2ybq5is2kqzvqky14zlvvcsr";
+    sha256 = "0xw2qmmixv7jwsrgx2vy54bq695d6my3pm3z4dcpmf9vqvb2xsps";
   };
 
   buildInputs = [ openssl ];
-      
+
   meta = {
-    description = "Socat - a different replacement for netcat";
-    homepage = "http://www.dest-unreach.org/socat/";
+    description = "A utility for bidirectional data transfer between two independent data channels";
+    homepage = http://www.dest-unreach.org/socat/;
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = stdenv.lib.maintainers.eelco;
   };
 }
diff --git a/pkgs/tools/security/fprot/default.nix b/pkgs/tools/security/fprot/default.nix
index 95f7140b9180..2a8531a17954 100644
--- a/pkgs/tools/security/fprot/default.nix
+++ b/pkgs/tools/security/fprot/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchurl }:
+
 stdenv.mkDerivation rec {
 
   name = "f-prot-${version}";
@@ -33,8 +34,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://www.f-prot.com;
-    description = "a popular proprietary antivirus, Linux workstation edition.";
-    license = licenses.proprietary;
+    description = "A popular proprietary antivirus program";
+    license = licenses.unfree;
     maintainers = [ maintainers.phreedom ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 10f71a834ae1..f2bd7c525be5 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1568,6 +1568,10 @@ let
 
   siege = callPackage ../tools/networking/siege {};
 
+  silc_client = callPackage ../applications/networking/instant-messengers/silc-client { };
+
+  silc_server = callPackage ../servers/silc-server { };
+
   sleuthkit = callPackage ../tools/system/sleuthkit {};
 
   slimrat = callPackage ../tools/networking/slimrat {
@@ -5318,11 +5322,13 @@ let
   # regardless.
   python26Packages = import ./python-packages.nix {
     inherit pkgs;
+    inherit (lib) lowPrio;
     python = python26;
   };
 
   python27Packages = recurseIntoAttrs (import ./python-packages.nix {
     inherit pkgs;
+    inherit (lib) lowPrio;
     python = python27;
   });
 
@@ -7309,6 +7315,8 @@ let
 
   irssi = callPackage ../applications/networking/irc/irssi { };
 
+  irssi_fish = callPackage ../applications/networking/irc/irssi/fish { };
+
   bip = callPackage ../applications/networking/irc/bip { };
 
   jack_capture = callPackage ../applications/audio/jack-capture { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 4091ecda5840..816c83304a6c 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -338,10 +338,10 @@ rec {
   };
 
   CatalystActionREST = buildPerlPackage {
-    name = "Catalyst-Action-REST-1.06";
+    name = "Catalyst-Action-REST-1.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Action-REST-1.06.tar.gz;
-      sha256 = "0z72cf8zgmwmcqlhkawz9fikc0g44972sidfs16x7rwdhzavd01k";
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Action-REST-1.07.tar.gz;
+      sha256 = "0c893iia1bmqlrknylaqhc9ln1xqz7yw9z639rxmyjyidx5b4q0d";
     };
     propagatedBuildInputs = [ CatalystRuntime ClassInspector ConfigGeneral DataSerializer DataTaxi FreezeThaw HTMLParser JSONXS LWPUserAgent Moose MROCompat namespaceautoclean ParamsValidate PHPSerialization URIFind XMLSimple YAMLSyck ];
     meta = {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b36b8a8362c7..b6b519496f99 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1,4 +1,4 @@
-{ pkgs, python }:
+{ pkgs, python, lowPrio }:
 
 let
 isPy26 = python.majorVersion == "2.6";
@@ -53,6 +53,14 @@ pythonPackages = python.modules // rec {
     inherit buildPythonPackage pythonPackages;
   };
 
+  ipythonLight = lowPrio (import ../shells/ipython {
+    inherit (pkgs) stdenv fetchurl;
+    inherit buildPythonPackage pythonPackages;
+    qtconsoleSupport = false;
+    pylabSupport = false;
+    pylabQtSupport = false;
+  });
+
   pil = import ../development/python-modules/pil {
     inherit (pkgs) fetchurl stdenv libjpeg zlib freetype;
     inherit python buildPythonPackage;
@@ -110,7 +118,7 @@ pythonPackages = python.modules // rec {
       sha256 = "74926d9ddfa69534cfbd08a82f0acccab2c649558062654d5d2ff2999d201384";
     };
 
-    propagatedBuildInputs = [ notmuch pkgs.dbacl ];
+    propagatedBuildInputs = [ pythonPackages.notmuch pkgs.dbacl ];
 
     # error: invalid command 'test'
     doCheck = false;
@@ -139,34 +147,34 @@ pythonPackages = python.modules // rec {
     buildInputs = [
       pkgs.which
       pkgs.unzip
-      coverage
-      mock
-      tissue
-      unittest2
-      webtest
+      pythonPackages.coverage
+      pythonPackages.mock
+      pythonPackages.tissue
+      pythonPackages.unittest2
+      pythonPackages.webtest
     ];
 
     propagatedBuildInputs = [ 
       pkgs.makeWrapper
       pkgs.bacula
-      colander
-      deform
-      deform_bootstrap
-      docutils
-      nose
-      mysql_connector_repackaged
-      pg8000
-      pyramid
-      pyramid_beaker
-      pyramid_exclog
-      pyramid_jinja2
-      pyramid_tm
-      pytz
-      sqlalchemy
-      transaction
-      waitress
-      webhelpers
-      zope_sqlalchemy
+      pythonPackages.colander
+      pythonPackages.deform
+      pythonPackages.deform_bootstrap
+      pythonPackages.docutils
+      pythonPackages.nose
+      pythonPackages.mysql_connector_repackaged
+      pythonPackages.pg8000
+      pythonPackages.pyramid
+      pythonPackages.pyramid_beaker
+      pythonPackages.pyramid_exclog
+      pythonPackages.pyramid_jinja2
+      pythonPackages.pyramid_tm
+      pythonPackages.pytz
+      pythonPackages.sqlalchemy
+      pythonPackages.transaction
+      pythonPackages.waitress
+      pythonPackages.webhelpers
+      pythonPackages.zope_sqlalchemy
     ];
 
     postInstall = ''
@@ -196,7 +204,14 @@ pythonPackages = python.modules // rec {
     # error: invalid command 'test'
     doCheck = false;
 
-    propagatedBuildInputs = [ notmuch urwid twisted magic configobj pygpgme ];
+    propagatedBuildInputs =
+      [ pythonPackages.notmuch
+        pythonPackages.urwid
+        pythonPackages.twisted
+        pythonPackages.magic
+        pythonPackages.configobj
+        pythonPackages.pygpgme
+      ];
 
     postInstall = ''
       wrapProgram $out/bin/alot \
@@ -219,7 +234,7 @@ pythonPackages = python.modules // rec {
       md5 = "2b53b5d53fc40af4da7268d3c3e35a50";
     };
 
-    buildInputs = [ nose ];
+    buildInputs = [ pythonPackages.nose ];
 
     meta = {
       homepage = http://pypi.python.org/pypi/anyjson/;
@@ -280,7 +295,7 @@ pythonPackages = python.modules // rec {
     # error: invalid command 'test'
     doCheck = false;
 
-    propagatedBuildInputs = [ boto ];
+    propagatedBuildInputs = [ pythonPackages.boto ];
 
   });
 
@@ -316,6 +331,7 @@ pythonPackages = python.modules // rec {
     };
   });
 
+
   awscli = buildPythonPackage rec {
     name = "awscli-0.8.3";
     namePrefix = "";
@@ -325,8 +341,11 @@ pythonPackages = python.modules // rec {
       sha256 = "0v7igh00zja560v8qz315g3m7x9six1hprrrb10cpp9sy8n58xnn";
     };
 
-    propagatedBuildInputs = [ argparse botocore colorama ];
-
+    propagatedBuildInputs =
+      [ pythonPackages.argparse
+        pythonPackages.botocore
+        pythonPackages.colorama
+      ];
   };
 
 
@@ -376,7 +395,13 @@ pythonPackages = python.modules // rec {
       md5 = "c2e102870ed4c53104dec48ceadf8e9d";
     };
 
-    buildInputs = [ sqlalchemy pycryptopp nose mock webtest ];
+    buildInputs =
+      [ pythonPackages.sqlalchemy
+        pythonPackages.pycryptopp
+        pythonPackages.nose
+        pythonPackages.mock
+        pythonPackages.webtest
+      ];
 
     # http://hydra.nixos.org/build/4511591/log/raw
     doCheck = false;
@@ -402,7 +427,15 @@ pythonPackages = python.modules // rec {
     # tests depend on $HOME setting
     configurePhase = "export HOME=$TMPDIR";
 
-    propagatedBuildInputs = [ pyyaml unidecode mutagen munkres musicbrainzngs python.modules.sqlite3 python.modules.readline ];
+    propagatedBuildInputs =
+      [ pythonPackages.pyyaml
+        pythonPackages.unidecode
+        pythonPackages.mutagen
+        pythonPackages.munkres
+        pythonPackages.musicbrainzngs
+        python.modules.sqlite3
+        python.modules.readline
+      ];
 
     meta = {
       homepage = http://beets.radbox.org;
@@ -475,7 +508,11 @@ pythonPackages = python.modules // rec {
       sha256 = "0dbm2clrh7zs4brqqj3xssz3nymdg24ff2lww27s3wliirwqdiv1";
     };
 
-    propagatedBuildInputs = [ dateutil requests jmespath ];
+    propagatedBuildInputs =
+      [ pythonPackages.dateutil
+        pythonPackages.requests
+        pythonPackages.jmespath
+      ];
 
     meta = {
       homepage = https://github.com/boto/botocore;
@@ -496,7 +533,7 @@ pythonPackages = python.modules // rec {
   #     rev = "refs/tags/0.9.3";
   #   };
   #
-  #   propagatedBuildInputs = [ argparse python.modules.ssl ];
+  #   propagatedBuildInputs = [ pythonPackages.argparse python.modules.ssl ];
   #
   #   doCheck = false;
   #
@@ -559,9 +596,12 @@ pythonPackages = python.modules // rec {
       md5 = "530a0614de3a669314c3acd4995c54d5";
     };
 
-    buildInputs = [ nose ];
+    buildInputs = [ pythonPackages.nose ];
 
-    propagatedBuildInputs = [ amqplib anyjson ];
+    propagatedBuildInputs =
+      [ pythonPackages.amqplib
+        pythonPackages.anyjson
+      ];
 
     doCheck = false; # depends on the network
 
@@ -581,7 +621,7 @@ pythonPackages = python.modules // rec {
       md5 = "853917116e731afbc8c8a43c37e6ddba";
     };
 
-    propagatedBuildInputs = [ markdown ];
+    propagatedBuildInputs = [ pythonPackages.markdown ];
 
     meta = {
       homepage = http://www.cheetahtemplate.org/;
@@ -616,7 +656,7 @@ pythonPackages = python.modules // rec {
       sha256 = "16vibfxms5z4ld8gbkra6dkhqm2cc3jnn0fwp7mw70nlwxnmm51c";
     };
 
-    buildInputs = [ mock nose decorator ];
+    buildInputs = [ pythonPackages.mock pythonPackages.nose pythonPackages.decorator ];
 
     meta = {
       homepage = http://code.google.com/p/clepy/;
@@ -651,7 +691,7 @@ pythonPackages = python.modules // rec {
       md5 = "308c6e38917bdbfc4d3b0783c614897d";
     };
 
-    propagatedBuildInputs = [ clientform ];
+    propagatedBuildInputs = [ pythonPackages.clientform ];
 
     doCheck = false;
 
@@ -671,9 +711,9 @@ pythonPackages = python.modules // rec {
       md5 = "5f39727415b837abd02651eeb2721749";
     };
 
-    propagatedBuildInputs = [ stompclient distribute ];
+    propagatedBuildInputs = [ pythonPackages.stompclient pythonPackages.distribute ];
 
-    buildInputs = [ coverage sqlalchemy ];
+    buildInputs = [ pythonPackages.coverage pythonPackages.sqlalchemy ];
 
     # ValueError: Could not parse auth file:
     # /tmp/nix-build-.../CoilMQ-0.6.1/coilmq/tests/resources/auth.ini
@@ -695,7 +735,7 @@ pythonPackages = python.modules // rec {
       md5 = "2d9f65a64cb6b7f35d6a0d7b607ce4c6";
     };
 
-    propagatedBuildInputs = [ translationstring ];
+    propagatedBuildInputs = [ pythonPackages.translationstring ];
 
     meta = {
       maintainers = [
@@ -750,7 +790,7 @@ pythonPackages = python.modules // rec {
     meta = {
       description = "plugin core for use by pytest-cov, nose-cov and nose2-cov";
     };
-    propagatedBuildInputs = [ coverage ];
+    propagatedBuildInputs = [ pythonPackages.coverage ];
   };
 
   cssselect = buildPythonPackage rec {
@@ -771,7 +811,7 @@ pythonPackages = python.modules // rec {
       sha256 = "139yfm9yz9k33kgqw4khsljs10rkhhxyywbq9i82bh2r31cil1pp";
     };
 
-    buildInputs = [ pkgs.unzip mock ];
+    buildInputs = [ pkgs.unzip pythonPackages.mock ];
 
     # couple of failing tests
     doCheck = false;
@@ -793,7 +833,7 @@ pythonPackages = python.modules // rec {
       md5 = "94ca7e8c9ea0f69c0f3fc6f9fc88f65a";
     };
 
-    buildInputs = [ mock ];
+    buildInputs = [ pythonPackages.mock ];
 
     # Note: We don't actually need to provide Darcs as a build input.
     # Darcsver will DTRT when Darcs isn't available.  See news.gmane.org
@@ -821,7 +861,7 @@ pythonPackages = python.modules // rec {
       sha256 = "1vlx0lpsxjxz64pz87csx800cwfqznjyr2y7nk3vhmzhkwzyqi2c";
     };
 
-    propagatedBuildInputs = [ six ];
+    propagatedBuildInputs = [ pythonPackages.six ];
 
     meta = {
       description = "Powerful extensions to the standard datetime module";
@@ -853,7 +893,13 @@ pythonPackages = python.modules // rec {
       md5 = "2ed7b69644a6d8f4e1404e1892329240";
     };
 
-    propagatedBuildInputs = [ beautifulsoup4 peppercorn colander translationstring chameleon ];
+    propagatedBuildInputs =
+      [ pythonPackages.beautifulsoup4
+        pythonPackages.peppercorn
+        pythonPackages.colander
+        pythonPackages.translationstring
+        pythonPackages.chameleon
+      ];
 
     meta = {
       maintainers = [
@@ -1858,7 +1904,7 @@ pythonPackages = python.modules // rec {
       url = "http://pypi.python.org/packages/source/i/ipdb/ipdb-0.7.tar.gz";
       md5 = "d879f9b2b0f26e0e999809585dcaec61";
     };
-    propagatedBuildInputs = [ ipython ];
+    propagatedBuildInputs = [ pythonPackages.ipython ];
   };
 
   ipdbplugin = buildPythonPackage {
@@ -1867,7 +1913,7 @@ pythonPackages = python.modules // rec {
       url = "https://pypi.python.org/packages/source/i/ipdbplugin/ipdbplugin-1.2.tar.gz";
       md5 = "39169b00a2186b99469249c5b0613753";
     };
-    propagatedBuildInputs = [ nose ipython ];
+    propagatedBuildInputs = [ pythonPackages.nose pythonPackages.ipython ];
   };
 
 
@@ -2970,6 +3016,16 @@ pythonPackages = python.modules // rec {
   };
 
 
+  py = buildPythonPackage rec {
+    name = "py-1.4.13";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/py/py-1.4.13.tar.gz";
+      md5 = "3857dc8309d5f284669b81184253c2bb";
+    };
+  };
+
+
   pyasn1 = buildPythonPackage ({
     name = "pyasn1-0.0.11a";
 
@@ -4189,6 +4245,21 @@ pythonPackages = python.modules // rec {
   };
 
 
+  # TODO
+  # py.error.EACCES: [Permission denied]: mkdir('/homeless-shelter',)
+  # builder for `/nix/store/0czwg0n3pfkmpjphqv1jxfjlgkbziwsx-python-tox-1.4.3.drv' failed with exit code 1
+  # tox = buildPythonPackage rec {
+  #   name = "tox-1.4.3";
+  #
+  #   buildInputs = [ py virtualenv ];
+  #
+  #   src = fetchurl {
+  #     url = "https://pypi.python.org/packages/source/t/tox/tox-1.4.3.tar.gz";
+  #     md5 = "3727d5b0600d92edf2229a7ce6a0f752";
+  #   };
+  # };
+
+
   trac = buildPythonPackage {
     name = "trac-0.12.2";
 
@@ -4445,7 +4516,7 @@ pythonPackages = python.modules // rec {
       md5 = "11825b7074ba7043e157805e4e6e0f55";
     };
 
-    propagatedBuildInputs = [ nose ];
+    propagatedBuildInputs = [ nose python.modules.ssl ];
 
     meta = {
       description = "WSGI request and response object";
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 697c9b5f58d6..8fc364a60e38 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -228,7 +228,6 @@ let
       ntp = linux;
       ocaml = linux;
       octave = linux;
-      openssh = linux;
       openssl = all;
       pam_console = linux;
       pam_login = linux;
@@ -274,7 +273,6 @@ let
       slim = linux;
       sloccount = allBut "i686-cygwin";
       smartmontools = linux;
-      socat = linux;
       spidermonkey = linux;
       splashutils = linux;
       sqlite = allBut "i686-cygwin";