about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/maintainers.nix1
-rw-r--r--nixos/modules/misc/ids.nix2
-rw-r--r--nixos/modules/rename.nix3
-rw-r--r--nixos/modules/services/networking/dnscrypt-proxy.nix179
-rw-r--r--nixos/modules/services/networking/firefox/sync-server.nix2
-rw-r--r--pkgs/applications/editors/emacs-modes/flycheck/default.nix6
-rw-r--r--pkgs/applications/misc/bleachbit/default.nix34
-rw-r--r--pkgs/applications/misc/rofi/default.nix4
-rw-r--r--pkgs/applications/misc/vifm/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix6
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix234
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix4
-rw-r--r--pkgs/development/compilers/rustc/1.0.0.nix16
-rw-r--r--pkgs/development/compilers/rustc/default.nix33
-rw-r--r--pkgs/development/compilers/rustc/generic.nix9
-rw-r--r--pkgs/development/compilers/rustc/head.nix20
-rw-r--r--pkgs/development/compilers/rustc/patches/head.patch61
-rw-r--r--pkgs/development/interpreters/python/2.6/default.nix5
-rw-r--r--pkgs/development/libraries/libspatialite/default.nix2
-rw-r--r--pkgs/development/libraries/vigra/default.nix35
-rw-r--r--pkgs/development/r-modules/default.nix1
-rw-r--r--pkgs/development/tools/build-managers/cargo/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/cargo/snapshot.nix10
-rw-r--r--pkgs/development/tools/vagrant/default.nix6
-rw-r--r--pkgs/development/web/iojs/default.nix4
-rw-r--r--pkgs/os-specific/linux/can-utils/default.nix9
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix2
-rw-r--r--pkgs/os-specific/linux/jool/cli.nix22
-rw-r--r--pkgs/os-specific/linux/jool/default.nix30
-rw-r--r--pkgs/os-specific/linux/jool/source.nix9
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.18.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.0.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.1.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix12
-rw-r--r--pkgs/servers/http/nginx/default.nix8
-rw-r--r--pkgs/servers/mail/postfix/2.11.nix4
-rw-r--r--pkgs/servers/nosql/redis/3.0.nix23
-rw-r--r--pkgs/servers/nosql/redis/default.nix5
-rw-r--r--pkgs/shells/xonsh/default.nix10
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/default.nix4
-rw-r--r--pkgs/tools/misc/debbindiff/default.nix46
-rw-r--r--pkgs/tools/misc/file/python.patch11
-rw-r--r--pkgs/tools/networking/dnscrypt-proxy/default.nix8
-rw-r--r--pkgs/top-level/all-packages.nix20
-rw-r--r--pkgs/top-level/emacs-packages.nix12
-rw-r--r--pkgs/top-level/python-packages.nix30
-rw-r--r--pkgs/top-level/rust-packages.nix6
50 files changed, 585 insertions, 399 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 8e8ae4c4988f..157d2be7f904 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -133,6 +133,7 @@
   kragniz = "Louis Taylor <kragniz@gmail.com>";
   ktosiek = "Tomasz Kontusz <tomasz.kontusz@gmail.com>";
   lassulus = "Lassulus <lassulus@gmail.com>";
+  leonardoce = "Leonardo Cecchi <leonardo.cecchi@gmail.com>";
   lethalman = "Luca Bruno <lucabru@src.gnome.org>";
   lhvwb = "Nathaniel Baxter <nathaniel.baxter@gmail.com>";
   lihop = "Leroy Hopson <nixos@leroy.geek.nz>";
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 88c860110179..fd75db1abe77 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -382,7 +382,7 @@
       seeks = 148;
       prosody = 149;
       i2pd = 150;
-      #dnscrypt-proxy = 151; # unused
+      dnscrypt-proxy = 151;
       systemd-network = 152;
       systemd-resolve = 153;
       systemd-timesync = 154;
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index dd80d0065911..a928f47f439e 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -141,6 +141,9 @@ in zipModules ([]
 ++ obsolete [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ]
 ++ obsolete [ "services" "xserver" "desktopManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ]
 
+# DNSCrypt-proxy
+++ obsolete [ "services" "dnscrypt-proxy" "port" ] [ "services" "dnscrypt-proxy" "localPort" ]
+
 # Options that are obsolete and have no replacement.
 ++ obsolete' [ "boot" "loader" "grub" "bootDevice" ]
 ++ obsolete' [ "boot" "initrd" "luks" "enable" ]
diff --git a/nixos/modules/services/networking/dnscrypt-proxy.nix b/nixos/modules/services/networking/dnscrypt-proxy.nix
index 5cc33f35adb2..c724ee979c2d 100644
--- a/nixos/modules/services/networking/dnscrypt-proxy.nix
+++ b/nixos/modules/services/networking/dnscrypt-proxy.nix
@@ -5,38 +5,35 @@ let
   apparmorEnabled = config.security.apparmor.enable;
   dnscrypt-proxy = pkgs.dnscrypt-proxy;
   cfg = config.services.dnscrypt-proxy;
-  uid = config.ids.uids.dnscrypt-proxy;
+  resolverListFile = "${dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv";
+  localAddress = "${cfg.localAddress}:${toString cfg.localPort}";
   daemonArgs =
-    [ "--daemonize"
-      "--user=dnscrypt-proxy"
-      "--local-address=${cfg.localAddress}:${toString cfg.port}"
+    [ "--local-address=${localAddress}"
       (optionalString cfg.tcpOnly "--tcp-only")
-      "--resolvers-list=${dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv"
-      "--resolver-name=${cfg.resolverName}"
-    ];
+    ]
+    ++ resolverArgs;
+  resolverArgs = if (cfg.customResolver != null)
+    then
+      [ "--resolver-address=${cfg.customResolver.address}:${toString cfg.customResolver.port}"
+        "--provider-name=${cfg.customResolver.name}"
+        "--provider-key=${cfg.customResolver.key}"
+      ]
+    else
+      [ "--resolvers-list=${resolverListFile}"
+        "--resolver-name=${toString cfg.resolverName}"
+      ];
 in
 
 {
-  ##### interface
-
   options = {
-
     services.dnscrypt-proxy = {
-
-      enable = mkOption {
-        default = false;
-        type = types.bool;
-        description = ''
-          Enable dnscrypt-proxy.
-          The proxy relays regular DNS queries to a DNSCrypt enabled
-          upstream resolver.
-          The traffic between the client and the upstream resolver is
-          encrypted and authenticated, which may mitigate the risk of MITM
-          attacks and third-party snooping (assuming the upstream is
-          trustworthy).
-        '';
-      };
-
+      enable = mkEnableOption ''
+        Enable dnscrypt-proxy. The proxy relays regular DNS queries to a
+        DNSCrypt enabled upstream resolver. The traffic between the
+        client and the upstream resolver is encrypted and authenticated,
+        which may mitigate the risk of MITM attacks and third-party
+        snooping (assuming the upstream is trustworthy).
+      '';
       localAddress = mkOption {
         default = "127.0.0.1";
         type = types.string;
@@ -44,96 +41,128 @@ in
           Listen for DNS queries on this address.
         '';
       };
-
-      port = mkOption {
+      localPort = mkOption {
         default = 53;
         type = types.int;
         description = ''
           Listen on this port.
         '';
       };
-
       resolverName = mkOption {
         default = "opendns";
-        type = types.string;
+        type = types.nullOr types.string;
         description = ''
-          The name of the upstream DNSCrypt resolver to use.
-          See <literal>${dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv</literal>
-          for alternative resolvers (e.g., if you are concerned about logging
-          and/or server location).
+          The name of the upstream DNSCrypt resolver to use. See
+          <literal>${resolverListFile}</literal> for alternative resolvers
+          (e.g., if you are concerned about logging and/or server
+          location).
         '';
       };
-
+      customResolver = mkOption {
+        default = null;
+        description = ''
+          Use a resolver not listed in the upstream list (e.g.,
+          a private DNSCrypt provider). For advanced users only.
+          If specified, this option takes precedence.
+        '';
+        type = types.nullOr (types.submodule ({ ... }: { options = {
+          address = mkOption {
+            type = types.str;
+            description = "Resolver IP address";
+            example = "208.67.220.220";
+          };
+          port = mkOption {
+            type = types.int;
+            description = "Resolver port";
+            default = 443;
+          };
+          name = mkOption {
+            type = types.str;
+            description = "Provider fully qualified domain name";
+            example = "2.dnscrypt-cert.opendns.com";
+         };
+         key = mkOption {
+           type = types.str;
+           description = "Provider public key";
+           example = "B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79";
+         }; }; }));
+      };
       tcpOnly = mkOption {
         default = false;
         type = types.bool;
         description = ''
           Force sending encrypted DNS queries to the upstream resolver
-          over TCP instead of UDP (on port 443).
-          Enabling this option may help circumvent filtering, but should
-          not be used otherwise.
+          over TCP instead of UDP (on port 443). Enabling this option may
+          help circumvent filtering, but should not be used otherwise.
         '';
       };
-
     };
-
   };
 
-  ##### implementation
-
   config = mkIf cfg.enable {
 
-    ### AppArmor profile
-
-    security.apparmor.profiles = mkIf apparmorEnabled [
-      (pkgs.writeText "apparmor-dnscrypt-proxy" ''
+    assertions = [
+      { assertion = (cfg.customResolver != null) || (cfg.resolverName != null);
+        message   = "please configure upstream DNSCrypt resolver";
+      }
+    ];
 
-        ${dnscrypt-proxy}/bin/dnscrypt-proxy {
-          network inet stream,
-          network inet6 stream,
-          network inet dgram,
-          network inet6 dgram,
+    security.apparmor.profiles = mkIf apparmorEnabled (singleton (pkgs.writeText "apparmor-dnscrypt-proxy" ''
+      ${dnscrypt-proxy}/bin/dnscrypt-proxy {
+        /dev/null rw,
+        /dev/urandom r,
 
-          capability ipc_lock,
-          capability net_bind_service,
-          capability net_admin,
-          capability sys_chroot,
-          capability setgid,
-          capability setuid,
+        /etc/passwd r,
+        /etc/group r,
+        ${config.environment.etc."nsswitch.conf".source} r,
 
-          /dev/null rw,
-          /dev/urandom r,
+        ${pkgs.glibc}/lib/*.so mr,
+        ${pkgs.tzdata}/share/zoneinfo/** r,
 
-          ${pkgs.glibc}/lib/*.so mr,
-          ${pkgs.tzdata}/share/zoneinfo/** r,
+        network inet stream,
+        network inet6 stream,
+        network inet dgram,
+        network inet6 dgram,
 
-          ${dnscrypt-proxy}/share/dnscrypt-proxy/** r,
-          ${pkgs.gcc.cc}/lib/libssp.so.* mr,
-          ${pkgs.libsodium}/lib/libsodium.so.* mr,
-        }
-      '')
-    ];
+        ${pkgs.gcc.cc}/lib/libssp.so.* mr,
+        ${pkgs.libsodium}/lib/libsodium.so.* mr,
+        ${pkgs.systemd}/lib/libsystemd.so.* mr,
+        ${pkgs.xz}/lib/liblzma.so.* mr,
+        ${pkgs.libgcrypt}/lib/libgcrypt.so.* mr,
+        ${pkgs.libgpgerror}/lib/libgpg-error.so.* mr,
 
-    ### User
+        ${resolverListFile} r,
+      }
+    ''));
 
-    users.extraUsers = singleton {
-      inherit uid;
-      name = "dnscrypt-proxy";
+    users.extraUsers.dnscrypt-proxy = {
+      uid = config.ids.uids.dnscrypt-proxy;
       description = "dnscrypt-proxy daemon user";
     };
+    users.extraGroups.dnscrypt-proxy.gid = config.ids.gids.dnscrypt-proxy;
 
-    ### Service definition
+    systemd.sockets.dnscrypt-proxy = {
+      description = "dnscrypt-proxy listening socket";
+      socketConfig = {
+        ListenStream = "${localAddress}";
+        ListenDatagram = "${localAddress}";
+      };
+      wantedBy = [ "sockets.target" ];
+    };
 
     systemd.services.dnscrypt-proxy = {
       description = "dnscrypt-proxy daemon";
       after = [ "network.target" ] ++ optional apparmorEnabled "apparmor.service";
-      requires = mkIf apparmorEnabled [ "apparmor.service" ];
-      wantedBy = [ "multi-user.target" ];
+      requires = [ "dnscrypt-proxy.socket "] ++ optional apparmorEnabled "apparmor.service";
       serviceConfig = {
-        Type = "forking";
+        Type = "simple";
+        NonBlocking = "true";
         ExecStart = "${dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
+        User = "dnscrypt-proxy";
+        Group = "dnscrypt-proxy";
+        PrivateTmp = true;
+        PrivateDevices = true;
       };
     };
-
   };
 }
diff --git a/nixos/modules/services/networking/firefox/sync-server.nix b/nixos/modules/services/networking/firefox/sync-server.nix
index 79f32f3358cb..70d2d72ca8b7 100644
--- a/nixos/modules/services/networking/firefox/sync-server.nix
+++ b/nixos/modules/services/networking/firefox/sync-server.nix
@@ -135,7 +135,7 @@ in
           echo >> ${cfg.privateConfig} "secret = $(head -c 20 /dev/urandom | sha1sum | tr -d ' -')"
         fi
       '';
-      serviceConfig.ExecStart = "paster serve ${syncServerIni}";
+      serviceConfig.ExecStart = "${pkgs.pythonPackages.pasteScript}/bin/paster serve ${syncServerIni}";
     };
 
   };
diff --git a/pkgs/applications/editors/emacs-modes/flycheck/default.nix b/pkgs/applications/editors/emacs-modes/flycheck/default.nix
index 98eab4d477c7..2a3c43828363 100644
--- a/pkgs/applications/editors/emacs-modes/flycheck/default.nix
+++ b/pkgs/applications/editors/emacs-modes/flycheck/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, emacs, let-alist, dash, texinfo }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "flycheck-0.22-64-g90dbc2d";
 
   src = fetchFromGitHub {
@@ -24,8 +24,8 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = "https://github.com/magit/git-modes";
-    description = "Emacs modes for various Git-related files";
+    inherit (src.meta) homepage;
+    description = "Modern on-the-fly syntax checking for GNU Emacs";
     license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [ simons ];
   };
diff --git a/pkgs/applications/misc/bleachbit/default.nix b/pkgs/applications/misc/bleachbit/default.nix
new file mode 100644
index 000000000000..511455ba6bb0
--- /dev/null
+++ b/pkgs/applications/misc/bleachbit/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, pythonPackages, fetchurl }:
+pythonPackages.buildPythonPackage rec {
+  name = "bleachbit-${version}";
+  version = "1.8";
+
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/bleachbit/bleachbit-1.8.tar.bz2";
+    sha256 = "dbf50fcbf24b8b3dd1c4325cd62352628d089f88a76eab804df5d90c872ee592";
+  };
+
+  buildInputs = [  pythonPackages.wrapPython ];
+
+  doCheck = false;
+
+  postInstall = ''
+    mkdir -p $out/bin
+    cp bleachbit.py $out/bin/bleachbit
+    chmod +x $out/bin/bleachbit
+
+    substituteInPlace $out/bin/bleachbit --replace "#!/usr/bin/env python" "#!${pythonPackages.python.interpreter}"
+  '';
+
+  propagatedBuildInputs = with pythonPackages; [ pygtk sqlite3 ];
+
+  meta = {
+    homepage = "http://bleachbit.sourceforge.net";
+    description = "A program to clean your computer";
+    longDescription = "BleachBit helps you easily clean your computer to free space and maintain privacy.";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ leonardoce ];
+  };
+}
diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix
index 55f63d99ce29..88512deb9826 100644
--- a/pkgs/applications/misc/rofi/default.nix
+++ b/pkgs/applications/misc/rofi/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "rofi-${version}";
-  version = "0.15.5";
+  version = "0.15.7";
 
   src = fetchurl {
     url = "https://github.com/DaveDavenport/rofi/archive/${version}.tar.gz";
-    sha256 = "16dffwxqxcx5krb6v1m6gh0r6d0a4hwl0jq4fdyblcv9xid5hxf5";
+    sha256 = "0alygwc82shkg9lmy8r5vmgd84imx1f9pndrisjpisl8h28dw5dq";
   };
 
   buildInputs = [ autoconf automake pkgconfig libX11 libXinerama libXft pango
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index 5ff010005e40..3852acfc9f3e 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -2,14 +2,14 @@
 
 let
   name = "vifm-${version}";
-  version = "0.7.8";
+  version = "0.8";
 
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2";
-    sha256 = "00vnkr60ci6qwh95kzx399xm97g26svxl9i0y77qv99q41nb5ysx";
+    sha256 = "1syyvdcgwnvjxzmpf9f4gfi0ipwmlavg11zr7wiz8qplvi86psv9";
   };
 
   buildInputs = [ utillinux ncurses file libX11 which groff ];
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
index cff6f33a49dd..7eed1b9a04d4 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -36,7 +36,7 @@
 
 let
   # -> http://get.adobe.com/flashplayer/
-  version = "11.2.202.468";
+  version = "11.2.202.481";
 
   src =
     if stdenv.system == "x86_64-linux" then
@@ -47,7 +47,7 @@ let
       else rec {
         inherit version;
         url = "http://fpdownload.adobe.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
-        sha256 = "1vybrw5cwhl4zz9z4fy1lnvs60zz382blas7kann7wj8r4pvx0zl";
+        sha256 = "151di671xqywjif3v4hbsfw55jyd5x5qjq2zc92xw367pssi29yz";
       }
     else if stdenv.system == "i686-linux" then
       if debug then
@@ -60,7 +60,7 @@ let
       else rec {
         inherit version;
         url = "http://fpdownload.adobe.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
-        sha256 = "1bczdgda040nnfmr9sq4q1a0dy9zbnq76g4dsjw3md4glxkmqv8l";
+        sha256 = "05ydrw1ykp49b409bkpvizhf1bz1xmfxa7alfdnabvg90vkfvyvn";
       }
     else throw "Flash Player is not supported on this platform";
 
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 98e2f6137607..2e8a28d03c87 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
 , pkgconfig, xdg_utils, gtk2, sqlite }:
 
-let version = "3.11.0.2"; in
+let version = "3.12.0.2"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "1nc9d46jwz3x9dd6na1ds8rq8a797xr29r9wkhgxv6y20cla06rl";
+    sha256 = "038xgvajn0nq1dzw1pac3xwhmil1y17vhadd2hx0vl4lrp16yabs";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
index 66f2fa87e395..241b43bc1f1b 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
@@ -4,123 +4,123 @@
 # ruby generate_source.rb > source.nix
 
 {
-  version = "38.0.1";
+  version = "38.1.0";
   sources = [
-    { locale = "ar"; arch = "linux-i686"; sha1 = "b61125483c46602e64ab7c4b56ff2f9612453ad3"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha1 = "4ac5de506c61fc769e6805f599cb7131b243812c"; }
-    { locale = "ast"; arch = "linux-i686"; sha1 = "07ea0b98e651e650d2f11322b5c8ce55bb083217"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha1 = "b0b37462e0bb5443f408724b62421e59ae68389b"; }
-    { locale = "be"; arch = "linux-i686"; sha1 = "61feae6377bcca63225ba945b7067dad8eb5a0fa"; }
-    { locale = "be"; arch = "linux-x86_64"; sha1 = "b58385f605b7a08f17e06faa922899c42a2076c0"; }
-    { locale = "bg"; arch = "linux-i686"; sha1 = "ddbb0681076511828c91373354aa9a3861ee3943"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha1 = "734acaa1870773d9ccf687e65d553797b3d00bca"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "32ad3307c919ec10bcbb9f99f8d37bb5daec5903"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "4e87b8ff753b1680b0b9b5149fc75238bff91c6d"; }
-    { locale = "br"; arch = "linux-i686"; sha1 = "b319d6f853311b103c439a482ee12652d751e22f"; }
-    { locale = "br"; arch = "linux-x86_64"; sha1 = "0254d1edcc2b1fbc8cec01c96482c381d34be88b"; }
-    { locale = "ca"; arch = "linux-i686"; sha1 = "deb0caf34895379b2e7dd01871c510f92ba96561"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha1 = "f580f9044bb115b3077ba012fe1b3be289853911"; }
-    { locale = "cs"; arch = "linux-i686"; sha1 = "045f3d7adade1133325e6607971ec70cad85c91a"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha1 = "9fc2fa5a44886db96bcdb4d23d69593954a84ca2"; }
-    { locale = "cy"; arch = "linux-i686"; sha1 = "6fb9ca5be336db1b149e4ac6e53e51fd32fbd84e"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha1 = "517dfd262c4f23fba743299381f51f7863cd32d7"; }
-    { locale = "da"; arch = "linux-i686"; sha1 = "bdd5d63545fb09540a5ff8ada7d421deb865dc61"; }
-    { locale = "da"; arch = "linux-x86_64"; sha1 = "fa4f26001b4281f4bd9b741a897e1a420c40b604"; }
-    { locale = "de"; arch = "linux-i686"; sha1 = "566603c44ba6df21d7504bfb49ea235f5cb64e00"; }
-    { locale = "de"; arch = "linux-x86_64"; sha1 = "60675d5905838ac54c0c2a961d88d021c446ec50"; }
-    { locale = "dsb"; arch = "linux-i686"; sha1 = "74feac72b6ad05b00a6c4495f751f106b77b3997"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha1 = "fbb936459a2287117e5638ef78ba1d647f4be41f"; }
-    { locale = "el"; arch = "linux-i686"; sha1 = "eedbcc1df60912b2f5be83dc2459cd06914b91f5"; }
-    { locale = "el"; arch = "linux-x86_64"; sha1 = "ead82b60f2b07a63ff84ed6f35f9527c1b030c24"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha1 = "17ed78e8f063f39a7c73795e9a251f187dc2a04c"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "42f427fe628cbc182459f66a7d87d78845d50e57"; }
-    { locale = "en-US"; arch = "linux-i686"; sha1 = "9f264dbd88d96149a92601e33dbed497189b281d"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "a8df74c9655501ee9e4c876b05e14b9a2605a591"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha1 = "4e467b8e662345bba07ec768055899175823764b"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "96994e1c9b6e8d27d1b7bf91a2d0d47b25d67bcb"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha1 = "db1574237be55846c386138b55beacf247cdf8b8"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "1e474e7001a14bfba44e933cca875b10032b22fc"; }
-    { locale = "et"; arch = "linux-i686"; sha1 = "3385f3aa8432a66b4f400158ba079808a0982c6b"; }
-    { locale = "et"; arch = "linux-x86_64"; sha1 = "aad77f411f5c3a6161bbb6b80566d9065e15c8a0"; }
-    { locale = "eu"; arch = "linux-i686"; sha1 = "98820960354c89dc9e7178b3c783df733597ef27"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha1 = "77c3946d778ccea30f22a08f38d5336110d87d43"; }
-    { locale = "fi"; arch = "linux-i686"; sha1 = "63c7a82cbfc8d5c52424244ccab51868aa498416"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha1 = "a590ff89b5616463ce32091c09c0b74d6f6a8773"; }
-    { locale = "fr"; arch = "linux-i686"; sha1 = "4e7902977f83139926131db13731632a9c4e105c"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha1 = "2d7a1e725ae2aad6dfcc2e9d891999a40a242fe9"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "fad0d47e75d9191d85d5d1e6bf2f9f4f5ec08fb2"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "ab42e792567affd3007848822eb26afc2bea0e94"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "3faa798e14f9acd36a120b9f4e9c961c27df825c"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "afe90e25771a101286365d37470f00c52a8f2392"; }
-    { locale = "gd"; arch = "linux-i686"; sha1 = "aed0d96aa093a9f168c702d4e1c39d5c6077df3b"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha1 = "e3faf40265be42ca2c0412a97b4ac689c9d5d6a4"; }
-    { locale = "gl"; arch = "linux-i686"; sha1 = "1ef2f1f69c042a2aeb340df9faf9019df19dbf35"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha1 = "bc026a910ea03aa795d59d81836ec5dd6efb1370"; }
-    { locale = "he"; arch = "linux-i686"; sha1 = "87a2923688d5a9eb63b8a41200ba5afc6c00d954"; }
-    { locale = "he"; arch = "linux-x86_64"; sha1 = "5067560a1a56d6cbbb163d2b73bce68451956413"; }
-    { locale = "hr"; arch = "linux-i686"; sha1 = "74605669d56d0cc6e93fecce04d52771680f39f6"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha1 = "d749c4ad35a02c01e50358d11a1d7034ad402bce"; }
-    { locale = "hsb"; arch = "linux-i686"; sha1 = "1e0a75dfa4627afa34e2348c71c64501b6ebac12"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha1 = "43f703566076db2e3b08703d6e3faac336ffff88"; }
-    { locale = "hu"; arch = "linux-i686"; sha1 = "b1bc08f9fd116d022c9c2710a9e25d176a1ee2a7"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha1 = "8fe7b6923d46f30ffbac5a97fe9bde7625a9bc26"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "93f2e69df2c32eb2c33d9a6bf91c00224f5de9e8"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "52341cf14ddb124bd591f161eb2c3c566307e6c0"; }
-    { locale = "id"; arch = "linux-i686"; sha1 = "733d6833cb71d5bd6727991c76f7907b4efeb1c9"; }
-    { locale = "id"; arch = "linux-x86_64"; sha1 = "2a5fe37753a3399ea8626615493fe3cac4b79586"; }
-    { locale = "is"; arch = "linux-i686"; sha1 = "0d1bf6bf337598d6e72762716264cb2662ab542c"; }
-    { locale = "is"; arch = "linux-x86_64"; sha1 = "5dbe72779e2c58cb0d0224e08582cfb1358fc47b"; }
-    { locale = "it"; arch = "linux-i686"; sha1 = "7bf51283965c48dad5aac2bffbd8223e83bc5c6f"; }
-    { locale = "it"; arch = "linux-x86_64"; sha1 = "2634b404ca6a9f6a3a194c911ca514311646461f"; }
-    { locale = "ja"; arch = "linux-i686"; sha1 = "82ed3c27de426361f2cb73c9a34197d2548546d5"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha1 = "9e9a0eda6fd9354a06071b580686a5387ad291ec"; }
-    { locale = "ko"; arch = "linux-i686"; sha1 = "e1416907d5748d10a5b0e74c4687787e7343db57"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha1 = "629ad488888ad62e60bd340e17d565af76b48337"; }
-    { locale = "lt"; arch = "linux-i686"; sha1 = "d58c886482404929c18fe25cf3aece121eb6a8e7"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha1 = "e0cfc0a747aae13cf5cf54db6b72e72a5780372f"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "a2e5612b0007a11f74cb3fe330e2234d84f5d35c"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "eba10f9d0de6b9937f297ec742e05df53460bfec"; }
-    { locale = "nl"; arch = "linux-i686"; sha1 = "a1ce06ca18bf93ff87c91fd8677dbe06eadf1159"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha1 = "180b531bf58f08d89c668b578a3c7c5380900f9f"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "484546422728623005a2d20470c7f6d06870ce96"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "f4526c827dcf1d0a11d38bd834807eb4b7f2923f"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "c75275e6a8a19213ea5eb063c8988634bbbe13cc"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "0fce05e81e0bb2bf6f7ce051cdee10ceaaaee4cb"; }
-    { locale = "pl"; arch = "linux-i686"; sha1 = "6d8657b489008122b0a3dabc3b9bb5112529ae16"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha1 = "b5eff0843c96947d5aa7f7f74ec899630cb9e039"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "f2359b80b8afad50aab695d3cc14e461c21e46e3"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "b946a90928e0c7a389dbcf5728c08e7fc5042025"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "dbc60c45551b8db4be970efed6a397bf81d108e6"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "77c53b3a401dbfc930f2c5d94ebe6f1a090954e7"; }
-    { locale = "rm"; arch = "linux-i686"; sha1 = "290f420ba933251168dce7c8e588541cdec886da"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha1 = "7c40435683e29fd3c7b541cd3ed2a69e39a14245"; }
-    { locale = "ro"; arch = "linux-i686"; sha1 = "93d016bd3dfbd8b7ad4d8eceb94a638f6e66e751"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha1 = "2d05ef4da4eac47ee2b37d9d207a20b875ab6c3f"; }
-    { locale = "ru"; arch = "linux-i686"; sha1 = "4c80bf8509b725c861ee744676e5f8229edd9acd"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha1 = "60406c09cef691b892dfffffe05d06182a0f5b03"; }
-    { locale = "si"; arch = "linux-i686"; sha1 = "f7f98b929f290a757dcd67d2f0abc09272e1524f"; }
-    { locale = "si"; arch = "linux-x86_64"; sha1 = "f73185d1c4d78247154ff4133092f12bcace0189"; }
-    { locale = "sk"; arch = "linux-i686"; sha1 = "bc78cf179d1145771bc3d76808f47c3074aa848f"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha1 = "b6cd85fe49e367d36f75c89596cc6826de936c03"; }
-    { locale = "sl"; arch = "linux-i686"; sha1 = "cc7468c85efaae4ad8f3c4dd629c07420095d6b7"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha1 = "51236372848448ad80210d340ba5f03b851b1434"; }
-    { locale = "sq"; arch = "linux-i686"; sha1 = "1cd44cdb36f17d922b04e6f1f31721495b30d9a8"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha1 = "604de9669330503ea07e24d6f65c2586c6748730"; }
-    { locale = "sr"; arch = "linux-i686"; sha1 = "ea9f909fd9b7c9125fc109db81ed313bad19ca26"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha1 = "d71c0b6d31940f24562a74b30349ecd4645b0ee9"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "0c4193b4dc6eae8b5f9515ca8a534f127ee083d8"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "cd254aabf8c7cf63c83bec1005ef0e9f540eed7c"; }
-    { locale = "ta-LK"; arch = "linux-i686"; sha1 = "9944dd6c0cb20bcd8f513c0cdabe62245b0212dc"; }
-    { locale = "ta-LK"; arch = "linux-x86_64"; sha1 = "7452f16a96293f871ac9ac99b37f7b855b8e2acf"; }
-    { locale = "tr"; arch = "linux-i686"; sha1 = "2036043c9edcaf3e85c2c9b33ae4166d339c3185"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha1 = "6b4018c8c4f6f6161f51b1fd629fa5c0ddf452d2"; }
-    { locale = "uk"; arch = "linux-i686"; sha1 = "af09c61146d407ab2e6baa3f71ce859a246cb559"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha1 = "8b41790e1c6941c1b46c1e06b21c6254fee49c51"; }
-    { locale = "vi"; arch = "linux-i686"; sha1 = "fbaee422c7746c10e2537fbc8fdf86d322e49a6c"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha1 = "65d5ce60fc3848c46b88c5e7229e25f412e1d5bf"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "b865c22c6c60d21ba00a60a54a9d03a5c34254cf"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "648dec573c9d0f680be469bad8b38fe6d3550899"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "b3f58a6053079be6231f843f05daf481c39edf6d"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "bab9d483870909d705fa77bcfb9d8c08966bae50"; }
+    { locale = "ar"; arch = "linux-i686"; sha1 = "0b5babaeec839aedb879b98dc540a3c44e1c0a39"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha1 = "c70e123c8e04a8366e2a96a948006caf3b084d2f"; }
+    { locale = "ast"; arch = "linux-i686"; sha1 = "a17ad952ce2ec1dfe6dc797b4377ae694930578c"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha1 = "dbf6b871e6ac7a5701a5e8ce1aa1c974e43c62db"; }
+    { locale = "be"; arch = "linux-i686"; sha1 = "e7f9d73339eb55d374a172445c11da33ecff8f8f"; }
+    { locale = "be"; arch = "linux-x86_64"; sha1 = "b619fc248f8cd704eebbf92bd999949e0a0d2935"; }
+    { locale = "bg"; arch = "linux-i686"; sha1 = "09cb9ee2b5a9d25430467961657a4d60610437d2"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha1 = "c8b63f07ee7ac0d2f4e18f6e401d012c8bfcceae"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "d20033996503ad6f690e8fe8f8201bf02c453c98"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "f8b45a57a2ed4ce232d20224afdc6c4e0338743a"; }
+    { locale = "br"; arch = "linux-i686"; sha1 = "567ac67210f34a267e53f74f31cc91131f07eaa7"; }
+    { locale = "br"; arch = "linux-x86_64"; sha1 = "9cef9f6a5fbca4e1d0bc912dddf07200f1f8f8a4"; }
+    { locale = "ca"; arch = "linux-i686"; sha1 = "346d439ea1092f3c9a7d7077bb2fe3910d672935"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha1 = "b099cc648318d7826949110d75851108f8dd2669"; }
+    { locale = "cs"; arch = "linux-i686"; sha1 = "3b72f45ccd22beb2fdfbc92014b4a3ccfa80e76b"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha1 = "e38710c2d1f90202813d95b2fde32fdde4d4091e"; }
+    { locale = "cy"; arch = "linux-i686"; sha1 = "12a179f42fb8c3a11fc5985667e4f604e14ba8c5"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha1 = "6407a7b3cd5b4dcb306823a4085c85f960c292f9"; }
+    { locale = "da"; arch = "linux-i686"; sha1 = "9c49871f3ff4ecfe33077c6ebf05e166d19651a0"; }
+    { locale = "da"; arch = "linux-x86_64"; sha1 = "8d6299fe5998113da4c623083957a204296affd5"; }
+    { locale = "de"; arch = "linux-i686"; sha1 = "06a6c73f4a640060ae7b8aa02011558d2767acb2"; }
+    { locale = "de"; arch = "linux-x86_64"; sha1 = "8fffb7568b982c1202de754cb2a2e8fcb16910f5"; }
+    { locale = "dsb"; arch = "linux-i686"; sha1 = "31a8674c191829fa4abeb403053b8266f23b983c"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha1 = "bb86a2aafcf5d6d358eeda8e572956b90ca1e275"; }
+    { locale = "el"; arch = "linux-i686"; sha1 = "3db0fafa71f7e1fe0cc9036c343d12aa35988e04"; }
+    { locale = "el"; arch = "linux-x86_64"; sha1 = "4ddd0c373b00621fa271a1301e75930f5acc6657"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha1 = "6e240781d53a1853ee5be2eee18cdcb17949a228"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "d203791c4ce8da5d2e68a3485f3bed8933f929d3"; }
+    { locale = "en-US"; arch = "linux-i686"; sha1 = "0e4097922c16620c04bb68cd3474f813cf8c60e0"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "39bfc23dd04a59f3465e8a0b583ca72fc9bc2c8a"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha1 = "82887b30873baff493688a3d9b2b8acb0e335ed1"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "d48e6977535776e5547969c486abb68f4a7f70d2"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha1 = "d9aad735745addbbe619ce51c6b793ce10a967bf"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "c429c1b6e38523b9912d5c9ae1425a48075fb2fd"; }
+    { locale = "et"; arch = "linux-i686"; sha1 = "9fe1aaab4c8f53b4d01b1374511121a3cba3b38d"; }
+    { locale = "et"; arch = "linux-x86_64"; sha1 = "b5759e44971e09703f4112499c85347fc30a5ef1"; }
+    { locale = "eu"; arch = "linux-i686"; sha1 = "0e91e95057246a9843faca8a0c53b772f329d51d"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha1 = "b5cf9660cc877d3ca6943f4d365f02f3b5eb4ffa"; }
+    { locale = "fi"; arch = "linux-i686"; sha1 = "116118d2e4540502c2b71c9d1fcf121923016d8d"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha1 = "fdbefa73fb355d4a97b7be2cc7f2785757c62d72"; }
+    { locale = "fr"; arch = "linux-i686"; sha1 = "f9055260509b2bc85a7e8a95d13c90be4443054f"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha1 = "a5b880cea53c7ae278f6d6bb70208d697d2aa928"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "77ca3d79ff9d8ebef0dac367b0025515663d11b0"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "40f3c82cc93286032facea886636e95558ecedf3"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "1ecc581714b9ee079bea5de14cffdd35cea8a253"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "e5c270d9f4443068ba83dd6dcd7fb1bc318a8957"; }
+    { locale = "gd"; arch = "linux-i686"; sha1 = "c6db2b2d54257eb9376a95a63a8ec630661b859f"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha1 = "bb561dd4a2cd0e72f6ec8d4abd7d30505603fbdf"; }
+    { locale = "gl"; arch = "linux-i686"; sha1 = "00d3aa2504711fa89190068427e9c8c3fdb20f8e"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha1 = "4f0950bf70cea56969bf044d459799d54675b0ef"; }
+    { locale = "he"; arch = "linux-i686"; sha1 = "dbfc82675022ddf4ca69bd64aedd62b7c670b6e0"; }
+    { locale = "he"; arch = "linux-x86_64"; sha1 = "7c28e93a85543021861eb9314d3661edda04b086"; }
+    { locale = "hr"; arch = "linux-i686"; sha1 = "b39ac627848ade0617430e284fed55d3ae846b8d"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha1 = "3ae901876dbe64fa30969dedc1d60e092a4f7924"; }
+    { locale = "hsb"; arch = "linux-i686"; sha1 = "0d20bc9316882548fa3ce9797af3fdc95ff88cfe"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha1 = "3a94683a81a76ce73453f2b3466c256b3e3e1e66"; }
+    { locale = "hu"; arch = "linux-i686"; sha1 = "88998fc8b637cbde34c37120e637ebd1a080f75b"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha1 = "374cc24a23cc80c552044c43dbc2547d9adb2661"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "1a6ad2c0d105daadf68db573871f45e6a83a8781"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "a43817b520218e6f5b83365bb6d5784f82fd3c61"; }
+    { locale = "id"; arch = "linux-i686"; sha1 = "be03aa731ca6385f447d21e5b089fce89abdb605"; }
+    { locale = "id"; arch = "linux-x86_64"; sha1 = "dcadd18432c9dbd31c23ba260c1b278e96620c55"; }
+    { locale = "is"; arch = "linux-i686"; sha1 = "e40cba8fb39620ac3e065e27ae9bb2756d5f0808"; }
+    { locale = "is"; arch = "linux-x86_64"; sha1 = "81d7b1212a49d3e3f4cce405bb32ab8b57b53183"; }
+    { locale = "it"; arch = "linux-i686"; sha1 = "d1719489c95ad26dee243f4b13a7a3c13c80731a"; }
+    { locale = "it"; arch = "linux-x86_64"; sha1 = "a5a86761df367d015d6b63f85db7c091be9f7557"; }
+    { locale = "ja"; arch = "linux-i686"; sha1 = "cb934acf447a20761fb61be41a5093011962ed74"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha1 = "b08541d43c30c64df64f1fa9e3e444a00a1ce66b"; }
+    { locale = "ko"; arch = "linux-i686"; sha1 = "5f6b9a343ad93c969ff864775cacbf008fd5683c"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha1 = "e1551063d40661de6a0067bb6d51ad0e89ad08f6"; }
+    { locale = "lt"; arch = "linux-i686"; sha1 = "9c07080670ec9f1a57aec634f81cfd73defd9ccf"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha1 = "44eeb1185f75ba2a8e4a34c161161862a12dc54c"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "26d12843a80bcbe4ea8008429bd075794e9dab20"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "89fec10ec8be9a298fed4ae5ebda68b117ee35ad"; }
+    { locale = "nl"; arch = "linux-i686"; sha1 = "13bea7053d38cb7d00950cf4d13fe06cab33b4e7"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha1 = "1c927583ab814caac16ece34156110826ddbdf37"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "1c8ca9891483fe489f26b82d5b81562223af1210"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "88db986d9de826407f1692c1fddc64068eb190bb"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "db25c5d46fbab8692882bf32422eb334a5790ed4"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "a50bf1a7277a7bbbc162a547916abae63a49becd"; }
+    { locale = "pl"; arch = "linux-i686"; sha1 = "b4500262a14c781546966bc713c1a574b29bd221"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha1 = "196c388eb6bc00099196cc6774fa2fa327b36d81"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "19e5c34a64a0a2d7258f285ad3d4182e0c1859e2"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "cf17768842cdbfc3fb4f922655e102ace1420b4c"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "60cb1312edde3d610ba7b786f7e0030066c097fc"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "82535ac23e75f77767a844735b5950109ed7ef15"; }
+    { locale = "rm"; arch = "linux-i686"; sha1 = "15bdb9f7b06ad28ab5bb6a219afc2cf98bd94689"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha1 = "ba4aa04ea6380d6ca9e5776806f478da3a18acf2"; }
+    { locale = "ro"; arch = "linux-i686"; sha1 = "30319593b61aa454c72e372c47c97fd98e425cfa"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha1 = "364734483184c769370ca2948dc9335bfe6fe1ba"; }
+    { locale = "ru"; arch = "linux-i686"; sha1 = "5b5bf58fb96072590d4d3e9e1f7239c352910b49"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha1 = "bee00bc517deaa46d5e409d80b54f19bf8133e44"; }
+    { locale = "si"; arch = "linux-i686"; sha1 = "17d313829c47fc57256181b5a916605860f5c20f"; }
+    { locale = "si"; arch = "linux-x86_64"; sha1 = "69d536b6c14b29a86503cf9d492e20318e6ca550"; }
+    { locale = "sk"; arch = "linux-i686"; sha1 = "01e1fa5218459dc6e32d7a4d51bd120bc96c3f13"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha1 = "24cfbe861062ba1f3e5847b4b05c925a2db52518"; }
+    { locale = "sl"; arch = "linux-i686"; sha1 = "b01bd9bff5d31998f69cbc18c31df3798346d5bb"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha1 = "ab0a0ffc3816923384f519caef4b07830526a3b1"; }
+    { locale = "sq"; arch = "linux-i686"; sha1 = "e310ae1b0f32c67ccc03097fe9917f37eca3b271"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha1 = "2d746d4743ca5be9dfb082129f2527ef4453e8f8"; }
+    { locale = "sr"; arch = "linux-i686"; sha1 = "9053948612aa9de8898d7e3606eb08d855fff41a"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha1 = "b3c621a120756aba91c985deb06a31051b63468f"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "ef7480dc06af7376387a27da47e49bd2e5078453"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "c23f9b1832ab1d0317d09017c5a39824638da921"; }
+    { locale = "ta-LK"; arch = "linux-i686"; sha1 = "eea8f9b4832b6bdc61b0cd4dedb5d78aae02c953"; }
+    { locale = "ta-LK"; arch = "linux-x86_64"; sha1 = "75f4856b28f589098599a786a242681a911ff92e"; }
+    { locale = "tr"; arch = "linux-i686"; sha1 = "5ca3104abb9636ffcd5cdf913b14f48ba2a03977"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha1 = "8edb7885b506d1b4288bded01dccb00b89c929f2"; }
+    { locale = "uk"; arch = "linux-i686"; sha1 = "2776e9dc93263ac8c7cf757e0a03f71b0a3d2a9c"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha1 = "7ec1dc5df673394c3e61293d92d369045a0d2bd6"; }
+    { locale = "vi"; arch = "linux-i686"; sha1 = "1582f2552bc644729ffcb0d42b405e065a56ca9c"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha1 = "5e24d1ce8e6b74883dabb70dc1ac03c034e6e659"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "f8df723a211049e853628b5f2dd7240b4216871c"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "2cb69569638090ae09d552e95aaae40b876144e3"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "ca3790624a90e49e7271bccf3870a8da629df074"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "ebe6e83ee9f2fce3823d01c4900231bc00682fba"; }
   ];
 }
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index ddcf5ba71523..3af4b6e84b6b 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -2,11 +2,11 @@
 , libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "stellarium-0.13.2";
+  name = "stellarium-0.13.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/stellarium/${name}.tar.gz";
-    sha256 = "1asrq1v6vjzxd2zz92brdfs5f5b1qf8zwd7k2dpg3dl4shl8wwg5";
+    sha256 = "1ml6z2xda4vx61agdz54x8fw1b115gwc7rcy0zhz1jh6g5jvf0ij";
   };
 
   buildInputs = [ cmake freetype libpng mesa gettext openssl qt5.base qt5.quick1 perl libiconv ];
diff --git a/pkgs/development/compilers/rustc/1.0.0.nix b/pkgs/development/compilers/rustc/1.0.0.nix
deleted file mode 100644
index 5bb03b592b94..000000000000
--- a/pkgs/development/compilers/rustc/1.0.0.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, callPackage }:
-callPackage ./generic.nix {
-  shortVersion = "1.0.0";
-  isRelease = true;
-  srcSha = "14brziw91d3r88fa1kvpvhap5ws4z8h2mas7h6k9lpsc2zl9blak";
-  snapshotHashLinux686 = "1ef82402ed16f5a6d2f87a9a62eaa83170e249ec";
-  snapshotHashLinux64 = "ef2154372e97a3cb687897d027fd51c8f2c5f349";
-  snapshotHashDarwin686 = "0310b1a970f2da7e61770fd14dbbbdca3b518234";
-  snapshotHashDarwin64 = "5f35d9c920b8083a7420ef8cf5b00d5ef3085dfa";
-  snapshotDate = "2015-03-27";
-  snapshotRev = "5520801";
-  patches = [
-    ./patches/beta.patch
-    ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
-  configureFlags = [ "--release-channel=stable" ];
-}
diff --git a/pkgs/development/compilers/rustc/default.nix b/pkgs/development/compilers/rustc/default.nix
new file mode 100644
index 000000000000..b61a407223c7
--- /dev/null
+++ b/pkgs/development/compilers/rustc/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, callPackage }:
+callPackage ./generic.nix {
+  shortVersion = "1.1.0";
+  isRelease = true;
+  srcSha = "0lsfrclj5imxy6129ggya7rb2h04cgqq53f75z2jv40y5xk25sy8";
+
+  /* Rust is bootstrapped from an earlier built version. We need
+  to fetch these earlier versions, which vary per platform.
+  The shapshot info you want can be found at
+  https://github.com/rust-lang/rust/blob/{$shortVersion}/src/snapshots.txt
+  with the set you want at the top.
+  */
+
+  # linux-i386
+  snapshotHashLinux686 = "0bc8cffdce611fb71fd7d3d8e7cdbfaf748a4f16";
+
+  # linux-x86_64
+  snapshotHashLinux64 = "94089740e48167c5975c92c139ae9c286764012f";
+
+  # macos-i386
+  snapshotHashDarwin686 = "54cc35e76497e6e94fddf38d6e40e9d168491ddb";
+
+  # macos-x86_64
+  snapshotHashDarwin64 = "43a1c1fba0d1dfee4c2ca310d506f8f5f51b3f6f";
+
+  snapshotDate = "2015-04-27";
+  snapshotRev = "857ef6e";
+
+  patches = [
+    ./patches/beta.patch
+    ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
+  configureFlags = [ "--release-channel=stable" ];
+}
diff --git a/pkgs/development/compilers/rustc/generic.nix b/pkgs/development/compilers/rustc/generic.nix
index d1091643f779..f9e458738571 100644
--- a/pkgs/development/compilers/rustc/generic.nix
+++ b/pkgs/development/compilers/rustc/generic.nix
@@ -62,7 +62,7 @@ let version = if isRelease then
     meta = with stdenv.lib; {
       homepage = http://www.rust-lang.org/;
       description = "A safe, concurrent, practical language";
-      maintainers = with maintainers; [ madjar cstrahan wizeman globin ];
+      maintainers = with maintainers; [ madjar cstrahan wizeman globin havvy ];
       license = [ licenses.mit licenses.asl20 ];
       platforms = platforms.linux;
     };
@@ -125,11 +125,18 @@ stdenv.mkDerivation {
       --subst-var-by "ccPath" "${stdenv.cc}/bin/cc"
     substituteInPlace src/librustc_back/archive.rs \
       --subst-var-by "arPath" "${stdenv.cc.binutils}/bin/ar"
+    substituteInPlace src/librustc_back/target/mod.rs \
+      --subst-var-by "ccPath" "${stdenv.cc}/bin/cc" \
+      --subst-var-by "arPath" "${stdenv.cc.binutils}/bin/ar"
 
     substituteInPlace src/rust-installer/gen-install-script.sh \
       --replace /bin/echo "${coreutils}/bin/echo"
     substituteInPlace src/rust-installer/gen-installer.sh \
       --replace /bin/echo "${coreutils}/bin/echo"
+
+    # Workaround for NixOS/nixpkgs#8676
+    substituteInPlace mk/rustllvm.mk \
+      --replace "\$\$(subst  /,//," "\$\$(subst /,/,"
   '';
 
   buildInputs = [ which file perl curl python27 makeWrapper git valgrind procps ];
diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix
index 5e5b41e8b250..2e890f2fb760 100644
--- a/pkgs/development/compilers/rustc/head.nix
+++ b/pkgs/development/compilers/rustc/head.nix
@@ -1,16 +1,16 @@
 { stdenv, callPackage }:
 callPackage ./generic.nix {
-  shortVersion = "1.0.0-dev";
+  shortVersion = "2015-07-01";
   isRelease = false;
-  # src rev for master on 2015-05-13
-  srcRev = "67433c1a309d3c9457e49f15e80a2d927d165996";
-  srcSha = "0idc3nh0sfjlv7m9710azx7n6awzwj6mhw3aybsb9bbagzy2sdsg";
-  snapshotHashLinux686 = "0bc8cffdce611fb71fd7d3d8e7cdbfaf748a4f16";
-  snapshotHashLinux64 = "94089740e48167c5975c92c139ae9c286764012f";
-  snapshotHashDarwin686 = "54cc35e76497e6e94fddf38d6e40e9d168491ddb";
-  snapshotHashDarwin64 = "43a1c1fba0d1dfee4c2ca310d506f8f5f51b3f6f";
-  snapshotDate = "2015-04-27";
-  snapshotRev = "857ef6e";
+  # src rev for master on 2015-07-01
+  srcRev = "bf3c979ec";
+  srcSha = "1xp2fjffz5bwxfs37w80bdhy9lv091ps7xbnsvxid2i91rbxfrkk";
+  snapshotHashLinux686 = "a6f22e481eabf098cc65bda97bf7e434a1fcc20b";
+  snapshotHashLinux64 = "5fd8698fdfe953e6c4d86cf4fa1d5f3a0053248c";
+  snapshotHashDarwin686 = "9a273324a6b63a40f67a553029c0a9fb692ffd1f";
+  snapshotHashDarwin64 = "e5b12cb7c179fc98fa905a3c84803645d946a6ae";
+  snapshotDate = "2015-05-24";
+  snapshotRev = "ba0e1cd";
   patches = [
     ./patches/head.patch
   ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
diff --git a/pkgs/development/compilers/rustc/patches/head.patch b/pkgs/development/compilers/rustc/patches/head.patch
index cd2320e84dfe..d7bede68682b 100644
--- a/pkgs/development/compilers/rustc/patches/head.patch
+++ b/pkgs/development/compilers/rustc/patches/head.patch
@@ -1,49 +1,20 @@
-diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
-index ca59b1c..65ee7bf 100755
---- a/src/etc/local_stage0.sh
-+++ b/src/etc/local_stage0.sh
-@@ -50,11 +50,6 @@ if [ -z $TARG_DIR ]; then
- fi
- 
- cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
--cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
--cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
--cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
--cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
--cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
- 
- # do not fail if one of the above fails, as all we need is a working rustc!
- exit 0
-diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
-index 9f5751c..c98828f 100644
---- a/src/librustc_back/archive.rs
-+++ b/src/librustc_back/archive.rs
-@@ -57,7 +57,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option<String>,
-           paths: &[&Path]) -> Output {
-     let ar = match *maybe_ar_prog {
-         Some(ref ar) => &ar[..],
--        None => "ar"
-+        None => "@arPath@"
-     };
-     let mut cmd = Command::new(ar);
- 
-diff --git a/src/librustc_trans/back/link.rs b/src/librustc_trans/back/link.rs
-index ad77735..1764f71 100644
---- a/src/librustc_trans/back/link.rs
-+++ b/src/librustc_trans/back/link.rs
-@@ -360,8 +360,8 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
- 
- pub fn get_cc_prog(sess: &Session) -> String {
-     match sess.opts.cg.linker {
--        Some(ref linker) => return linker.to_string(),
--        None => sess.target.target.options.linker.clone(),
-+        Some(ref linker) => linker.to_string(),
-+        None => "@ccPath@".to_string(),
-     }
- }
- 
+diff --git a/src/librustc_back/target/mod.rs b/src/librustc_back/target/mod.rs
+index a42f861..bda4bde 100644
+--- a/src/librustc_back/target/mod.rs
++++ b/src/librustc_back/target/mod.rs
+@@ -172,8 +172,8 @@ impl Default for TargetOptions {
+     /// incomplete, and if used for compilation, will certainly not work.
+     fn default() -> TargetOptions {
+         TargetOptions {
+-            linker: "cc".to_string(),
+-            ar: "ar".to_string(),
++            linker: "@ccPath@".to_string(), // ignore-tidy-linelength
++            ar: "@arPath@".to_string(), // ignore-tidy-linelength
+             pre_link_args: Vec::new(),
+             post_link_args: Vec::new(),
+             cpu: "generic".to_string(),
 diff --git a/src/test/run-pass/issue-20797.rs b/src/test/run-pass/issue-20797.rs
-index 8b5e6f8..480ad79 100644
+index 2772fc8..3d37b08 100644
 --- a/src/test/run-pass/issue-20797.rs
 +++ b/src/test/run-pass/issue-20797.rs
 @@ -97,7 +97,7 @@ impl<S: Strategy> Iterator for Subpaths<S> {
diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix
index 29e3ecd20b1f..28f53f8ca95f 100644
--- a/pkgs/development/interpreters/python/2.6/default.nix
+++ b/pkgs/development/interpreters/python/2.6/default.nix
@@ -9,7 +9,6 @@ let
   majorVersion = "2.6";
   version = "${majorVersion}.9";
 
-  # python 2.6 will receive security fixes until Oct 2013
   src = fetchurl {
     url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
     sha256 = "0hbfs2691b60c7arbysbzr0w9528d5pl8a4x7mq5psh6a2cvprya";
@@ -118,6 +117,10 @@ let
       license = stdenv.lib.licenses.psfl;
       platforms = stdenv.lib.platforms.all;
       maintainers = with stdenv.lib.maintainers; [ simons chaoflow iElectric ];
+      # If you want to use Python 2.6, remove "broken = true;" at your own
+      # risk.  Python 2.6 has known security vulnerabilities is not receiving
+      # security updates as of October 2013.
+      broken = true;
     };
   };
 
diff --git a/pkgs/development/libraries/libspatialite/default.nix b/pkgs/development/libraries/libspatialite/default.nix
index 43c2a9089b73..eb3917b11928 100644
--- a/pkgs/development/libraries/libspatialite/default.nix
+++ b/pkgs/development/libraries/libspatialite/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libspatialite-4.2.0";
 
   src = fetchurl {
-    url = "http://www.gaia-gis.it/gaia-sins/${name}.tar.gz";
+    url = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/${name}.tar.gz";
     sha256 = "0b9ipmp09y2ij7yajyjsh0zcwps8n5g88lzfzlkph33lail8l4wz";
   };
 
diff --git a/pkgs/development/libraries/vigra/default.nix b/pkgs/development/libraries/vigra/default.nix
index 04bef5ef41c3..28852fd97d66 100644
--- a/pkgs/development/libraries/vigra/default.nix
+++ b/pkgs/development/libraries/vigra/default.nix
@@ -1,28 +1,31 @@
-{ stdenv, fetchurl, cmake, libtiff, libpng, libjpeg, doxygen, python,
-  fftw, fftwSinglePrec, hdf5, boost, numpy }:
+{ stdenv, fetchurl, boost, cmake, doxygen, fftw, fftwSinglePrec, hdf5, ilmbase
+, libjpeg, libpng, libtiff, numpy, openexr, python }:
+
 stdenv.mkDerivation rec {
-  name = "vigra-1.9.0";
+  name = "vigra-${version}";
+  version = "1.10.0";
 
   src = fetchurl {
-    urls = [
-      "${meta.homepage}/${name}-src.tar.gz"
-      "${meta.homepage}-old-versions/${name}-src.tar.gz"
-      ];
-    sha256 = "00fg64da6dj9k42d90dz6y7x91xw1xqppcla14im74m4afswrgcg";
+    url = "https://github.com/ukoethe/vigra/archive/Version-${stdenv.lib.replaceChars ["."] ["-"] version}.tar.gz";
+    sha256 = "1y3yii8wnyz68n0mzcmjylwd6jchqa3l913v39l2zsd2rv5nyvs0";
   };
 
-  buildInputs = [ cmake fftw fftwSinglePrec libtiff libpng libjpeg python boost
-    numpy hdf5 ];
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+  buildInputs = [ boost cmake fftw fftwSinglePrec hdf5 ilmbase libjpeg libpng
+                  libtiff numpy openexr python ];
 
   preConfigure = "cmakeFlags+=\" -DVIGRANUMPY_INSTALL_DIR=$out/lib/${python.libPrefix}/site-packages\"";
-  cmakeFlags = stdenv.lib.optionals (stdenv.system == "x86_64-linux")
-      [ "-DCMAKE_CXX_FLAGS=-fPIC" "-DCMAKE_C_FLAGS=-fPIC" ];
 
-  meta = {
+  cmakeFlags = [ "-DWITH_OPENEXR=1" ]
+            ++ stdenv.lib.optionals (stdenv.system == "x86_64-linux")
+                  [ "-DCMAKE_CXX_FLAGS=-fPIC" "-DCMAKE_C_FLAGS=-fPIC" ];
+
+  meta = with stdenv.lib; {
     description = "Novel computer vision C++ library with customizable algorithms and data structures";
     homepage = http://hci.iwr.uni-heidelberg.de/vigra;
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.mit;
+    maintainers = [ maintainers.viric ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 7d9cd92b75be..ab50d9d0c3c5 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -334,6 +334,7 @@ let
     sprint = [ pkgs.openmpi ];
     ssanv = [ pkgs.proj ];
     stsm = [ pkgs.gsl ];
+    stringi = [ pkgs.icu ];
     survSNP = [ pkgs.gsl ];
     sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype ];
     TAQMNGR = [ pkgs.zlib ];
diff --git a/pkgs/development/tools/build-managers/cargo/default.nix b/pkgs/development/tools/build-managers/cargo/default.nix
index e7a45f1c3484..d849ad5de944 100644
--- a/pkgs/development/tools/build-managers/cargo/default.nix
+++ b/pkgs/development/tools/build-managers/cargo/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, rustPlatform, file, curl, python, pkgconfig, openssl
 , cmake, zlib }:
 
-with ((import ./common.nix) { inherit stdenv; version = "2015-05-13"; });
+with ((import ./common.nix) { inherit stdenv; version = "0.3.0"; });
 
 with rustPlatform;
 
@@ -10,12 +10,12 @@ buildRustPackage rec {
 
   src = fetchgit {
     url = "https://github.com/rust-lang/cargo.git";
-    rev = "d814fcbf8efda3027d54c09e11aa7eaf0006a83c";
-    sha256 = "0sppd3x2cacmbnypcjip44amnh66lrrbwwzsbz8rqf3nq2ah496x";
+    rev = "refs/tags/0.3.0";
+    sha256 = "1ckb2xd7nm8357imw6b1ci2ar8grnihzan94kvmjrijq6sz8yv9i";
     leaveDotGit = true;
   };
 
-  depsSha256 = "1b0mpdxmp7inkg59n2phjwzpz5gx22wqg9rfd1s01a5ylara37jw";
+  depsSha256 = "1sgdr2akd9xrfmf5g0lbf842b2pdj1ymxk37my0cf2x349rjsf0w";
 
   buildInputs = [ file curl pkgconfig python openssl cmake zlib ];
 
diff --git a/pkgs/development/tools/build-managers/cargo/snapshot.nix b/pkgs/development/tools/build-managers/cargo/snapshot.nix
index a76fb4601e8b..f24bcc2d9ab8 100644
--- a/pkgs/development/tools/build-managers/cargo/snapshot.nix
+++ b/pkgs/development/tools/build-managers/cargo/snapshot.nix
@@ -2,19 +2,19 @@
 
 /* Cargo binary snapshot */
 
-let snapshotDate = "2015-04-02";
+let snapshotDate = "2015-06-17";
 in
 
 with ((import ./common.nix) { inherit stdenv; version = "snapshot-${snapshotDate}"; });
 
 let snapshotHash = if stdenv.system == "i686-linux"
-      then "ba6c162680d5509d89ba2363d7cae2047f40c034"
+      then "g2h9l35123r72hqdwayd9h79kspfb4y9"
       else if stdenv.system == "x86_64-linux"
-      then "94f715c9a52809a639f2ce6f8b1d5215a0c272b5"
+      then "fnx2rf1j8zvrplcc7xzf89czn0hf3397"
       else if stdenv.system == "i686-darwin"
-      then "cf333f16f89bfd50e8ce461c6f81ca30d33f7f73"
+      then "3viz3fi2jx18qjwrc90nfhm9cik59my6"
       else if stdenv.system == "x86_64-darwin"
-      then "1f7008a6ec860e2bc7580e71bdf320ac518ddeb8"
+      then "h2bf3db4vwz5cjjkn98lxayivdc6dflp"
       else throw "no snapshot for platform ${stdenv.system}";
     snapshotName = "cargo-nightly-${platform}.tar.gz";
 in
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 16b6981fdb8c..97136aa255ee 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -4,7 +4,7 @@
 assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
 
 let
-  version = "1.7.2";
+  version = "1.7.3";
   rake = buildRubyGem {
     inherit ruby;
     name = "rake-10.3.2";
@@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url    = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_x86_64.deb";
-        sha256 = "0s1rwzpcp0nc7v04fvbd5vsqfm79q2v23sr9ahniw09lf5c1qzwx";
+        sha256 = "0zg2sdxgrmwqvzqw4z8d6ji8d0cby33nggv0n9ncjxp0wjiv8nkm";
       }
     else
       fetchurl {
         url    = "https://dl.bintray.com/mitchellh/vagrant/vagrant_${version}_i686.deb";
-        sha256 = "1yj8iyhsgj6j3r7p3ppmsz01j6vnxqb18rjhsbp2sz45kbfs1wxz";
+        sha256 = "0r23w49jwl3c3g4nns5xnrsrqyfkqsgln91cj30hxkw50d0ldpvs";
       };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/web/iojs/default.nix b/pkgs/development/web/iojs/default.nix
index 6fef81300aba..1f7db61090ec 100644
--- a/pkgs/development/web/iojs/default.nix
+++ b/pkgs/development/web/iojs/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, python, utillinux, openssl_1_0_2, http-parser, zlib, libuv }:
 
 let
-  version = "2.3.3";
+  version = "2.3.4";
   inherit (stdenv.lib) optional maintainers licenses platforms;
 in stdenv.mkDerivation {
   name = "iojs-${version}";
 
   src = fetchurl {
     url = "https://iojs.org/dist/v${version}/iojs-v${version}.tar.gz";
-    sha256 = "12fdz0as1sa34bq4a701qwrznpn7y1wq0yxlr5yw494ifchfm103";
+    sha256 = "1h9cjrs93c8rdycc0ahhc27wv826211aljvfmxfg8jdmg6nvibhq";
   };
 
   prePatch = ''
diff --git a/pkgs/os-specific/linux/can-utils/default.nix b/pkgs/os-specific/linux/can-utils/default.nix
index 6a3fbd33d689..f181db0c5e3f 100644
--- a/pkgs/os-specific/linux/can-utils/default.nix
+++ b/pkgs/os-specific/linux/can-utils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit }:
+{ stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   name = "can-utils-${version}";
@@ -6,10 +6,11 @@ stdenv.mkDerivation rec {
   # latest commit in git master as version number.
   version = "20140227";
 
-  src = fetchgit {
-    url = "https://git.gitorious.org/linux-can/can-utils.git";
+  src = fetchFromGitHub {
+    owner = "linux-can";
+    repo = "can-utils";
     rev = "67a2bdcd336e6becfa5784742e18c88dbeddc973";
-    sha256 = "0pnnjl141wf3kbf256m6qz9mxz0144z36qqb43skialzcnlhga38";
+    sha256 = "1v73b0nk1kb3kp5nbxp4xiygny6nfjgjnm7zgzrjgryvdrnws32z";
   };
 
   preConfigure = ''makeFlagsArray+=(PREFIX="$out")'';
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index 99c99cd36628..af08d404b826 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -6,7 +6,7 @@ let
     version="0.9.26";
     name="${baseName}-${version}";
     hash="12n0kj95hfkzv4jir7j9x0mdpg20bq0fgifjsz1dbsmqi2cspdlq";
-    url="http://softlayer-ams.dl.sourceforge.net/project/firejail/firejail/firejail-0.9.26-rc2.tar.bz2";
+    url="mirror://sourceforge/firejail/firejail/firejail-0.9.26-rc2.tar.bz2";
     sha256="12n0kj95hfkzv4jir7j9x0mdpg20bq0fgifjsz1dbsmqi2cspdlq";
   };
   buildInputs = [
diff --git a/pkgs/os-specific/linux/jool/cli.nix b/pkgs/os-specific/linux/jool/cli.nix
new file mode 100644
index 000000000000..8fb37ed1c5b8
--- /dev/null
+++ b/pkgs/os-specific/linux/jool/cli.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchzip, autoreconfHook, pkgconfig, libnl }:
+
+let
+  sourceAttrs = (import ./source.nix) { inherit fetchzip; };
+in
+
+stdenv.mkDerivation {
+  name = "jool-cli-${sourceAttrs.version}";
+
+  src = sourceAttrs.src;
+
+  sourceRoot = "Jool-${sourceAttrs.version}.zip/usr";
+
+  buildInputs = [ autoreconfHook pkgconfig libnl ];
+
+  meta = with stdenv.lib; {
+    homepage = https://www.jool.mx/;
+    description = "Fairly compliant SIIT and Stateful NAT64 for Linux - CLI tools";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fpletz ];
+  };
+}
diff --git a/pkgs/os-specific/linux/jool/default.nix b/pkgs/os-specific/linux/jool/default.nix
new file mode 100644
index 000000000000..fdb2f041a658
--- /dev/null
+++ b/pkgs/os-specific/linux/jool/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchzip, kernel }:
+
+let
+  sourceAttrs = (import ./source.nix) { inherit fetchzip; };
+in
+
+stdenv.mkDerivation {
+  name = "jool-${sourceAttrs.version}-${kernel.version}";
+
+  src = sourceAttrs.src;
+
+  prePatch = ''
+    sed -e 's@/lib/modules/\$(.*)@${kernel.dev}/lib/modules/${kernel.modDirVersion}@' -i mod/*/Makefile
+  '';
+
+  buildPhase = ''
+    make -C mod
+  '';
+
+  installPhase = ''
+    make -C mod modules_install INSTALL_MOD_PATH=$out
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://www.jool.mx/;
+    description = "Fairly compliant SIIT and Stateful NAT64 for Linux - kernel modules";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fpletz ];
+  };
+}
diff --git a/pkgs/os-specific/linux/jool/source.nix b/pkgs/os-specific/linux/jool/source.nix
new file mode 100644
index 000000000000..196167667e07
--- /dev/null
+++ b/pkgs/os-specific/linux/jool/source.nix
@@ -0,0 +1,9 @@
+{ fetchzip }:
+
+rec {
+  version = "3.3.2";
+  src = fetchzip {
+    url = "https://www.jool.mx/download/Jool-${version}.zip";
+    sha256 = "0hc6vlxzmjrgf7vjcwprdqcbx3biq8kphks5k725mrd9rb84drgw";
+  };
+}
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 42b90a48097f..3d2b683ee72e 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.82";
+  version = "3.10.84";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "177rzyd9mxvbacy242abk7annhlm48rbdspr78y5qqsqsgihh88y";
+    sha256 = "042cybswcxxzi22h96i4h73a4hcb4drhifs6l9jqlqamdn6xabd3";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index 90a6a59ed4af..377f0271aeaa 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.47";
+  version = "3.14.48";
   # Remember to update grsecurity!
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1hh24p0axh0kn49b0rqfmb1h74a0ry1pgy0ps1hgxs5x3lxby783";
+    sha256 = "098a7kjfw4jf0f7h6z57f2719jfz3y3jjlcd8y6d95xvhy7xxyw9";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.18.nix b/pkgs/os-specific/linux/kernel/linux-3.18.nix
index 843172581cc7..b0b4c6ed5bd7 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.18.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.18.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.18.17";
+  version = "3.18.18";
   extraMeta.branch = "3.18";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "08512kqvy91jh26jld2h3d9xq3wsfbyylzawjgn75x4r5li6y5ha";
+    sha256 = "1fcd4xfnywwb3grdvcnf39njwzb40v10rnzagxqmancsaqy253jv";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.0.nix b/pkgs/os-specific/linux/kernel/linux-4.0.nix
index 3ea4257a1e91..8607bcf70cf3 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.0.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.0.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.0.7";
+  version = "4.0.8";
   # Remember to update grsecurity!
   extraMeta.branch = "4.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "01c68w6lygzjzllv7xgnd1hm3339rs0fvd8q26n6bdfa95aj554m";
+    sha256 = "1cggqi5kdan818xw5g5wmapcsf501f5m9bympsy6a2cpphknfdmn";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.1.nix b/pkgs/os-specific/linux/kernel/linux-4.1.nix
index 5d9a026f6147..5405ae9956d6 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.1.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.1.1";
+  version = "4.1.2";
   extraMeta.branch = "4.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "12bfih081cbqlgmgq1fqdvvpxga5saj4kkvhawsl4fpg4mybrml8";
+    sha256 = "1mdyjhnzhh254cblahqmpsk226z006z6sm9dmwvg6jlhpsw4cjhy";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index d305359061a1..a8fc01665082 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -65,17 +65,17 @@ rec {
   };
 
   grsecurity_stable = grsecPatch
-    { kversion  = "3.14.47";
-      revision  = "201507050832";
+    { kversion  = "3.14.48";
+      revision  = "201507111210";
       branch    = "stable";
-      sha256    = "0sv7aa7ca2n5jiz4j5vvji1x2p7cb1ah71h1iqmk0981dqs0isp8";
+      sha256    = "0phmqlkx6vqlv79ppf6g4wsx7rwsvwpakpkm9xsq8qazffk7s9qk";
     };
 
   grsecurity_unstable = grsecPatch
-    { kversion  = "4.0.7";
-      revision  = "201506300712";
+    { kversion  = "4.0.8";
+      revision  = "201507111211";
       branch    = "test";
-      sha256    = "0rw0wx5nc244m2q7f9y832mmkv8gb8yv1rn1w2pyq8brckiswni7";
+      sha256    = "1p9ym8hbwaan9pgxgn8k4rm3n33wl8ag1fzmyr5f4mxs634wgwgx";
     };
 
   grsec_fix_path =
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 87a4cc398a98..7888a772e2a5 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -8,6 +8,7 @@
 , ngx_lua ? false
 , set_misc ? false
 , fluent ? false
+, extraModules ? []
 }:
 
 with stdenv.lib;
@@ -57,8 +58,8 @@ let
   lua-ext = fetchFromGitHub {
     owner = "openresty";
     repo = "lua-nginx-module";
-    rev = "v0.9.16rc1";
-    sha256 = "0fdrzfkzdrxykbyxrpas7ns6kxzjf9s6h0fj7k4423wfwybi0kic";
+    rev = "v0.9.16";
+    sha256 = "0dvdam228jhsrayb22ishljdkgib08bakh8ygn84sq0c2xbidzlp";
   };
 
   set-misc-ext = fetchFromGitHub {
@@ -133,7 +134,8 @@ stdenv.mkDerivation rec {
     ++ optional set_misc "--add-module=${set-misc-ext}"
     ++ optionals (elem stdenv.system (with platforms; linux ++ freebsd)) 
         [ "--with-file-aio" "--with-aio_module" ]
-    ++ optional fluent "--add-module=${fluentd}";
+    ++ optional fluent "--add-module=${fluentd}"
+    ++ (map (m: "--add-module=${m}") extraModules);
 
 
   additionalFlags = optionalString stdenv.isDarwin "-Wno-error=deprecated-declarations -Wno-error=conditional-uninitialized";
diff --git a/pkgs/servers/mail/postfix/2.11.nix b/pkgs/servers/mail/postfix/2.11.nix
index 817f559cbd52..bfd10fb591b2 100644
--- a/pkgs/servers/mail/postfix/2.11.nix
+++ b/pkgs/servers/mail/postfix/2.11.nix
@@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
 
   name = "postfix-${version}";
 
-  version = "2.11.4";
+  version = "2.11.5";
 
   src = fetchurl {
     url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
-    sha256 = "07h3rdfgs449hb49rxcx4iapib0l0zchnhscgn4h00wcnlflq5gl";
+    sha256 = "11riz8ggaa09pi8d6xv2807qp7yjn918mrylfvkfwmvcdlgwck0a";
   };
 
   patches = [ ./postfix-2.11.0.patch ];
diff --git a/pkgs/servers/nosql/redis/3.0.nix b/pkgs/servers/nosql/redis/3.0.nix
deleted file mode 100644
index ae5a98d5f0ae..000000000000
--- a/pkgs/servers/nosql/redis/3.0.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  version = "3.0.2";
-  name = "redis-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/antirez/redis/archive/${version}.tar.gz";
-    sha256 = "00gazq98ccz64l4l5vzpynyk5wg15iwmwwvznaarkwm99b9rsz4g";
-  };
-
-  makeFlags = "PREFIX=$(out)";
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://redis.io;
-    description = "An open source, advanced key-value store";
-    license = stdenv.lib.licenses.bsd3;
-    platforms = platforms.unix;
-    maintainers = [ maintainers.berdario ];
-  };
-}
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 833a17246fc9..6da7ec11e7c6 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "redis-2.8.19";
+  version = "3.0.2";
+  name = "redis-${version}";
 
   src = fetchurl {
     url = "http://download.redis.io/releases/${name}.tar.gz";
-    sha256 = "29bb08abfc3d392b2f0c3e7f48ec46dd09ab1023f9a5575fc2a93546f4ca5145";
+    sha256 = "93e422c0d584623601f89b956045be158889ebe594478a2c24e1bf218495633f";
   };
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/shells/xonsh/default.nix b/pkgs/shells/xonsh/default.nix
index 3849c96ec131..6b33f5833d86 100644
--- a/pkgs/shells/xonsh/default.nix
+++ b/pkgs/shells/xonsh/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, python3Packages}:
+{stdenv, fetchFromGitHub, python3Packages}:
 
 python3Packages.buildPythonPackage rec {
   name = "xonsh-${version}";
@@ -16,9 +16,11 @@ python3Packages.buildPythonPackage rec {
 
   propagatedBuildInputs = [ python3Packages.ply ];
 
-  src = fetchurl {
-    url = "https://github.com/scopatz/xonsh/archive/${version}.zip";
-    sha256 = "0p2d7p892w77ii8yy51vpw7jlz2y53k8g61m7l8bar3hr3qrl306";
+  src = fetchFromGitHub {
+    owner = "scopatz";
+    repo = "xonsh";
+    rev = version;
+    sha256 = "04qnjqpz5y38g22irpph13j2a4hy7mk9pqvqz1mfimaf8zgmyh1n";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix
index 7b29e0a783be..3ec048592370 100644
--- a/pkgs/tools/filesystems/btrfsprogs/default.nix
+++ b/pkgs/tools/filesystems/btrfsprogs/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, attr, acl, zlib, libuuid, e2fsprogs, lzo
 , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt }:
 
-let version = "4.1"; in
+let version = "4.1.1"; in
 
 stdenv.mkDerivation (rec {
   name = "btrfs-progs-${version}";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "1s5pzvi30mivxgbkx7nbqn38pfiw20rdnd6xiqsyfj7rpffzzimb";
+    sha256 = "1d01f2i5fnnhkp184kfv8b9l37v1dmvqwqr22k71x6k2ss7nkwmp";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/debbindiff/default.nix b/pkgs/tools/misc/debbindiff/default.nix
new file mode 100644
index 000000000000..f5fcb37324ee
--- /dev/null
+++ b/pkgs/tools/misc/debbindiff/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchgit, pythonPackages, docutils
+, acl, binutils, bzip2, cdrkit, cpio, diffutils, e2fsprogs, file, gettext
+, gnupg, gzip, pdftk, poppler_utils, rpm, squashfsTools, unzip, vim, xz
+}:
+
+pythonPackages.buildPythonPackage rec {
+  name = "debbindiff-${version}";
+  version = "26";
+
+  namePrefix = "";
+
+  src = fetchgit {
+    url = "git://anonscm.debian.org/reproducible/debbindiff.git";
+    rev = "refs/tags/${version}";
+    sha256 = "18637gc7c92mwcpx3dvh6xild0sb9bwsgfcrjplmh7s8frvlvkv6";
+  };
+
+  postPatch = ''
+    # Different pkg name in debian
+    sed -i setup.py -e "s@'magic'@'Magic-file-extensions'@"
+
+    # Upstream doesn't provide a PKG-INFO file
+    sed -i setup.py -e "/'rpm',/d"
+  '';
+
+  # Still missing these tools: ghc javap showttf sng
+  propagatedBuildInputs = (with pythonPackages; [ debian magic ]) ++
+    [ acl binutils bzip2 cdrkit cpio diffutils e2fsprogs file gettext gnupg
+      gzip pdftk poppler_utils rpm squashfsTools unzip vim xz ];
+
+  doCheck = false; # Calls 'mknod' in squashfs tests, which needs root
+
+  postInstall = ''
+    mv $out/bin/debbindiff.py $out/bin/debbindiff
+    mkdir -p $out/share/man/man1
+    ${docutils}/bin/rst2man.py debian/debbindiff.1.rst $out/share/man/man1/debbindiff.1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Highlight differences between two builds of Debian packages, and even other kind of files";
+    homepage = https://wiki.debian.org/ReproducibleBuilds;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.dezgeg ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/file/python.patch b/pkgs/tools/misc/file/python.patch
deleted file mode 100644
index 8ecbc9a81fdc..000000000000
--- a/pkgs/tools/misc/file/python.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- file-5.11/python/magic.py	2011-09-22 18:57:41.000000000 +0200
-+++ file-5.11/python/magic.py.1	2012-04-30 15:00:31.750213810 +0200
-@@ -13,7 +13,7 @@
-     Loads the shared library through ctypes and returns a library
-     L{ctypes.CDLL} instance 
-     """
--    return ctypes.cdll.LoadLibrary(find_library('magic'))
-+    return ctypes.CDLL('libmagic.so')
- 
- _libraries = {}
- _libraries['magic'] = _init()
diff --git a/pkgs/tools/networking/dnscrypt-proxy/default.nix b/pkgs/tools/networking/dnscrypt-proxy/default.nix
index e975cb1e7382..206f7f2daace 100644
--- a/pkgs/tools/networking/dnscrypt-proxy/default.nix
+++ b/pkgs/tools/networking/dnscrypt-proxy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libsodium }:
+{ stdenv, fetchurl, libsodium, pkgconfig, systemd }:
 
 stdenv.mkDerivation rec {
   name = "dnscrypt-proxy-${version}";
@@ -9,7 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "1cp3ivxngrihil6i7b659d39v9v6iwjs16s2kj9wz1anzyx0j6nx";
   };
 
-  buildInputs = [ libsodium ];
+  configureFlags = ''
+    ${stdenv.lib.optionalString stdenv.isLinux "--with-systemd"}
+  '';
+
+  buildInputs = [ pkgconfig libsodium ] ++ stdenv.lib.optional stdenv.isLinux systemd;
 
   meta = {
     description = "A tool for securing communications between a client and a DNS resolver";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b3e7849dd1a4..c1f5961f3058 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1188,12 +1188,10 @@ let
 
   cudatoolkit65 = import ../development/compilers/cudatoolkit/6.5.nix {
     inherit callPackage;
-    python = python26;
   };
 
   cudatoolkit7 = import ../development/compilers/cudatoolkit/7.0.nix {
     inherit callPackage;
-    python = python26;
   };
 
   cudatoolkit = cudatoolkit5;
@@ -1242,6 +1240,8 @@ let
 
   dcfldd = callPackage ../tools/system/dcfldd { };
 
+  debbindiff = callPackage ../tools/misc/debbindiff { };
+
   debian_devscripts = callPackage ../tools/misc/debian-devscripts {
     inherit (perlPackages) CryptSSLeay LWP TimeDate DBFile FileDesktopEntry;
   };
@@ -2000,7 +2000,7 @@ let
 
   ninka = callPackage ../development/tools/misc/ninka { };
 
-  nodejs-0_12 = callPackage ../development/web/nodejs { libuv = libuvVersions.v1_2_0; };
+  nodejs-0_12 = callPackage ../development/web/nodejs { libuv = libuvVersions.v1_6_1; };
   nodejs-unstable = callPackage ../development/web/nodejs { libuv = libuvVersions.v1_2_0; unstableVersion = true; };
   nodejs-0_10 = callPackage ../development/web/nodejs/v0_10.nix { };
 
@@ -4655,7 +4655,7 @@ let
   };
 
   rustcMaster = callPackage ../development/compilers/rustc/head.nix {};
-  rustc = callPackage ../development/compilers/rustc/1.0.0.nix {};
+  rustc = callPackage ../development/compilers/rustc {};
 
   rustPlatform = rustStable;
 
@@ -4663,7 +4663,7 @@ let
   rustUnstable = recurseIntoAttrs (makeRustPlatform rustcMaster cargo rustUnstable);
 
   # rust platform to build cargo itself (with cargoSnapshot)
-  rustCargoPlatform = makeRustPlatform rustcMaster cargoSnapshot rustCargoPlatform;
+  rustCargoPlatform = makeRustPlatform rustc cargoSnapshot.cargo rustCargoPlatform;
 
   makeRustPlatform = rustc: cargo: self:
     let
@@ -5318,7 +5318,9 @@ let
     rustPlatform = rustCargoPlatform;
   };
 
-  cargoSnapshot = callPackage ../development/tools/build-managers/cargo/snapshot.nix { };
+  cargoSnapshot = {
+    cargo = callPackage ../development/tools/build-managers/cargo/snapshot.nix { };
+  };
 
   casperjs = callPackage ../development/tools/casperjs { };
 
@@ -9132,7 +9134,6 @@ let
   radius = callPackage ../servers/radius { };
 
   redis = callPackage ../servers/nosql/redis { };
-  redis3 = callPackage ../servers/nosql/redis/3.0.nix { };
 
   redstore = callPackage ../servers/http/redstore { };
 
@@ -9550,6 +9551,8 @@ let
 
   jfbview = callPackage ../os-specific/linux/jfbview { };
 
+  jool-cli = callPackage ../os-specific/linux/jool/cli.nix { };
+
   jujuutils = callPackage ../os-specific/linux/jujuutils { };
 
   kbd = callPackage ../os-specific/linux/kbd { };
@@ -9792,6 +9795,7 @@ let
 
     klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { });
 
+    jool = callPackage ../os-specific/linux/jool { };
 
     /* compiles but has to be integrated into the kernel somehow
        Let's have it uncommented and finish it..
@@ -10751,6 +10755,8 @@ let
 
   bitmeter = callPackage ../applications/audio/bitmeter { };
 
+  bleachbit = callPackage ../applications/misc/bleachbit { };
+
   blender = callPackage  ../applications/misc/blender {
     python = python34;
   };
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index c8b1b0bd7c8a..ef2b505eaa5e 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -839,6 +839,18 @@ let self = _self // overrides;
     meta = { license = gpl3Plus; };
   };
 
+  moe-theme = melpaBuild rec {
+    pname   = "moe-theme";
+    version = "1.0";
+    src = fetchFromGitHub {
+      owner  = "kuanyui";
+      repo   = "${pname}.el";
+      rev    = "39384a7a9e6886f3a3d79efac4009fcd800a4a14";
+      sha256 = "0i7m15x9sij5wh0gwbijsis8a4jm8izywj7xprk21644ndskvfiz";
+    };
+    meta = { license = gpl3Plus; };
+  };
+
   monokai-theme = melpaBuild rec {
     pname   = "monokai-theme";
     version = "1.0.0";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index d912e67eca0c..967fc8211625 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1117,6 +1117,17 @@ let
     };
   };
 
+  debian = buildPythonPackage rec {
+    name = "${pname}-${version}";
+    pname = "python-debian";
+    version = "0.1.23";
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/p/${pname}/${name}.tar.gz";
+      sha256 = "193faznwnjc3n5991wyzim6h9gyq1zxifmfrnpm3avgkh7ahyynh";
+    };
+    propagatedBuildInputs = with self; [ chardet six ];
+  };
+
   defusedxml = buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "defusedxml";
@@ -1710,7 +1721,7 @@ let
     };
   };
 
-  cassandraDriver = buildPythonPackage rec {
+  cassandra-driver = buildPythonPackage rec {
     name = "cassandra-driver-2.6.0c2";
 
     src = pkgs.fetchurl {
@@ -2647,19 +2658,21 @@ let
   };
 
   decorator = buildPythonPackage rec {
-    name = "decorator-3.4.0";
+    name = "decorator-${version}";
+    version = "3.4.2";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/d/decorator/${name}.tar.gz";
-      md5 = "1e8756f719d746e2fc0dd28b41251356";
+      sha256 = "7320002ce61dea6aa24adc945d9d7831b3669553158905cdd12f5d0027b54b44";
     };
 
     meta = {
       homepage = http://pypi.python.org/pypi/decorator;
+      description = "Better living through Python with decorators";
+      license = licenses.mit;
     };
   };
 
-
   deform = buildPythonPackage rec {
     name = "deform-2.0a2";
 
@@ -7081,7 +7094,10 @@ let
 
     src = pkgs.file.src;
 
-    patches = [ ../tools/misc/file/python.patch ];
+    patchPhase = ''
+      substituteInPlace python/magic.py --replace "find_library('magic')" "'${pkgs.file}/lib/libmagic.so'"
+    '';
+
     buildInputs = with self; [ python pkgs.file ];
 
     preConfigure = "cd python";
@@ -7367,11 +7383,11 @@ let
 
   rainbowstream = buildPythonPackage rec {
     name = "rainbowstream-${version}";
-    version = "1.2.5";
+    version = "1.2.7";
 
     src = pkgs.fetchurl {
       url    = "https://pypi.python.org/packages/source/r/rainbowstream/${name}.tar.gz";
-      sha256 = "1fch1vckzf4nmq67fk2jgfxpvyygviavx8di4xhjq2mib9nfc3mr";
+      sha256 = "1jvv07w9n7ca251l92alm2yq9w82sb7lvxz6if3gc3nbqzc587rf";
     };
 
     doCheck = false;
diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix
index fe723a038e27..9d74ab88fc01 100644
--- a/pkgs/top-level/rust-packages.nix
+++ b/pkgs/top-level/rust-packages.nix
@@ -7,15 +7,15 @@
 { runCommand, fetchFromGitHub, git }:
 
 let
-  version = "2015-06-12";
-  rev = "020d1f3344ed8e7bd8fa740372bb7f03675fa708";
+  version = "2015-07-07";
+  rev = "fd9e3e4a350f5df0d975913bcc29d2051a509199";
 
   src = fetchFromGitHub {
       inherit rev;
 
       owner = "rust-lang";
       repo = "crates.io-index";
-      sha256 = "0vkr0k1ga0jskvl8ss7m5m66b4wwi7ibjj5qw0x0khcg1b5skkq6";
+      sha256 = "1vm28gfq4fmialz5ab8cxk5q1kdf6hlg3ni41qpy9k61pp9bqdwr";
   };
 
 in