about summary refs log tree commit diff
path: root/pkgs/applications/networking
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-01-19 09:55:31 +0100
committerVladimír Čunát <vcunat@gmail.com>2016-01-19 09:55:31 +0100
commit716aac2519a7571e7f5fd984a886d579a4a051c5 (patch)
tree53cf89cf764d787f4dc8f08474479892b9733177 /pkgs/applications/networking
parentf8472457a440de3c44f6f604142d678b6ae2a762 (diff)
parent53b389327e34de319dc0dbda2b6bcab1a69db69d (diff)
downloadnixlib-716aac2519a7571e7f5fd984a886d579a4a051c5.tar
nixlib-716aac2519a7571e7f5fd984a886d579a4a051c5.tar.gz
nixlib-716aac2519a7571e7f5fd984a886d579a4a051c5.tar.bz2
nixlib-716aac2519a7571e7f5fd984a886d579a4a051c5.tar.lz
nixlib-716aac2519a7571e7f5fd984a886d579a4a051c5.tar.xz
nixlib-716aac2519a7571e7f5fd984a886d579a4a051c5.tar.zst
nixlib-716aac2519a7571e7f5fd984a886d579a4a051c5.zip
Merge branch 'staging' into closure-size
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r--pkgs/applications/networking/bittorrentsync/2.0.x.nix6
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix11
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix71
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix358
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix20
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix63
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/netsurf/default.nix86
-rw-r--r--pkgs/applications/networking/browsers/netsurf/haru.nix26
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libCSS.nix20
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libParserUtils.nix21
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsbmp.nix21
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsgif.nix21
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix22
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix22
-rw-r--r--pkgs/applications/networking/browsers/netsurf/netsurf.nix38
-rw-r--r--pkgs/applications/networking/browsers/surf/default.nix42
-rw-r--r--pkgs/applications/networking/browsers/vimb/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/w3m/default.nix42
-rw-r--r--pkgs/applications/networking/cluster/panamax/api/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/panamax/ui/default.nix7
-rw-r--r--pkgs/applications/networking/copy-com/default.nix14
-rw-r--r--pkgs/applications/networking/feedreaders/newsbeuter/default.nix9
-rw-r--r--pkgs/applications/networking/feedreaders/rawdog/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/gale/default.nix31
-rw-r--r--pkgs/applications/networking/instant-messengers/gale/gale-install.in.patch339
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/pybitmessage/default.nix39
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/utox/default.nix25
-rw-r--r--pkgs/applications/networking/irc/chatzilla/default.nix4
-rw-r--r--pkgs/applications/networking/irc/communi/default.nix30
-rw-r--r--pkgs/applications/networking/irc/hexchat/default.nix5
-rw-r--r--pkgs/applications/networking/irc/xchat/default.nix19
-rw-r--r--pkgs/applications/networking/irc/xchat/glib-top-level-header.patch75
-rw-r--r--pkgs/applications/networking/mailreaders/imapfilter.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix31
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix234
-rw-r--r--pkgs/applications/networking/mumble/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix2
-rw-r--r--pkgs/applications/networking/newsreaders/slrn/default.nix6
-rw-r--r--pkgs/applications/networking/notbit/default.nix24
-rw-r--r--pkgs/applications/networking/ostinato/default.nix64
-rw-r--r--pkgs/applications/networking/ostinato/drone_ini.patch14
-rw-r--r--pkgs/applications/networking/p2p/freenet/default.nix74
-rwxr-xr-xpkgs/applications/networking/p2p/freenet/freenetWrapper8
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix11
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/fix-lrelease.patch13
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix4
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix9
54 files changed, 1166 insertions, 892 deletions
diff --git a/pkgs/applications/networking/bittorrentsync/2.0.x.nix b/pkgs/applications/networking/bittorrentsync/2.0.x.nix
index 83b6151e4f79..1ae3041b4da9 100644
--- a/pkgs/applications/networking/bittorrentsync/2.0.x.nix
+++ b/pkgs/applications/networking/bittorrentsync/2.0.x.nix
@@ -5,15 +5,15 @@ let
     else if stdenv.system == "i686-linux" then "i386"
     else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
 
-  sha256 = if stdenv.system == "x86_64-linux" then "9e1427b7a6c6e960a378b97ac458ad53c445457ed0e5c8bf693f446597377b78"
-    else if stdenv.system == "i686-linux" then "4d446255ff6332da9a244737d6c20e7dcd32d24a8eaabffbaf73147e5898ed8f"
+  sha256 = if stdenv.system == "x86_64-linux" then "1ldhi0ydpxdbpd0ak5c3zv93wif5sqsgfj4ggav2b0djm76al2gb"
+    else if stdenv.system == "i686-linux" then "1fhki13isw3g7785b5jdl4warayg94ihah6wsr5h9gljjjghgi1c"
     else throw "Bittorrent Sync for: ${stdenv.system} not supported!";
 
   libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ];
 in
 stdenv.mkDerivation rec {
   name = "btsync-${version}";
-  version = "2.0.105";
+  version = "2.2.7";
 
   src  = fetchurl {
     url  = "https://download-cdn.getsyncapp.com/${version}/linux-${arch}/BitTorrent-Sync_${arch}.tar.gz";
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index c1f2cbbce4d5..2fb33fda6105 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -34,7 +34,7 @@ mkChromiumDerivation (base: rec {
   meta = {
     description = "An open source web browser from Google";
     homepage = http://www.chromium.org/;
-    maintainers = with maintainers; [ chaoflow aszlig ];
+    maintainers = with maintainers; [ chaoflow ];
     license = licenses.bsd3;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index bf870e144e56..c0c5e485e59c 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -64,20 +64,17 @@ let
 in stdenv.mkDerivation {
   name = "chromium${suffix}-${chromium.browser.version}";
 
-  buildInputs = [ makeWrapper ] ++ chromium.plugins.enabledPlugins;
+  buildInputs = [ makeWrapper ];
 
   buildCommand = let
     browserBinary = "${chromium.browser}/libexec/chromium/chromium";
-    mkEnvVar = key: val: "--set '${key}' '${val}'";
-    envVars = chromium.plugins.settings.envVars or {};
-    flags = chromium.plugins.settings.flags or [];
+    getWrapperFlags = plugin: "$(< \"${plugin}/nix-support/wrapper-flags\")";
   in with stdenv.lib; ''
     mkdir -p "$out/bin" "$out/share/applications"
 
     ln -s "${chromium.browser}/share" "$out/share"
-    makeWrapper "${browserBinary}" "$out/bin/chromium" \
-      ${concatStrings (mapAttrsToList mkEnvVar envVars)} \
-      --add-flags "${concatStringsSep " " flags}"
+    eval makeWrapper "${browserBinary}" "$out/bin/chromium" \
+      ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled}
 
     ln -s "$out/bin/chromium" "$out/bin/chromium-browser"
     ln -s "${chromium.browser}/share/icons" "$out/share/icons"
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index 0b0e5bd08382..dda976905610 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -8,6 +8,34 @@
 with stdenv.lib;
 
 let
+  # Generate a shell fragment that emits flags appended to the
+  # final makeWrapper call for wrapping the browser's main binary.
+  #
+  # Note that this is shell-escaped so that only the variable specified
+  # by the "output" attribute is substituted.
+  mkPluginInfo = { output ? "out", allowedVars ? [ output ]
+                 , flags ? [], envVars ? {}
+                 }: let
+    shSearch = ["'"] ++ map (var: "\$${var}") allowedVars;
+    shReplace = ["'\\''"] ++ map (var: "'\"\${${var}}\"'") allowedVars;
+    # We need to triple-escape "val":
+    #  * First because makeWrapper doesn't do any quoting of its arguments by
+    #    itself.
+    #  * Second because it's passed to the makeWrapper call separated by IFS but
+    #    not by the _real_ arguments, for example the Widevine plugin flags
+    #    contain spaces, so they would end up as separate arguments.
+    #  * Third in order to be correctly quoted for the "echo" call below.
+    shEsc = val: "'${replaceStrings ["'"] ["'\\''"] val}'";
+    mkSh = val: "'${replaceStrings shSearch shReplace (shEsc val)}'";
+    mkFlag = flag: ["--add-flags" (shEsc flag)];
+    mkEnvVar = key: val: ["--set" (shEsc key) (shEsc val)];
+    envList = mapAttrsToList mkEnvVar envVars;
+    quoted = map mkSh (flatten ((map mkFlag flags) ++ envList));
+  in ''
+    mkdir -p "''$${output}/nix-support"
+    echo ${toString quoted} > "''$${output}/nix-support/wrapper-flags"
+  '';
+
   plugins = stdenv.mkDerivation {
     name = "chromium-binary-plugins";
 
@@ -61,40 +89,29 @@ let
 
       install -vD PepperFlash/libpepflashplayer.so \
         "$flash/lib/libpepflashplayer.so"
-      mkdir -p "$flash/nix-support"
-      cat > "$flash/nix-support/chromium-plugin.nix" <<NIXOUT
-        { flags = [
-            "--ppapi-flash-path='$flash/lib/libpepflashplayer.so'"
-            "--ppapi-flash-version=$flashVersion"
-          ];
-        }
-      NIXOUT
+
+      ${mkPluginInfo {
+        output = "flash";
+        allowedVars = [ "flash" "flashVersion" ];
+        flags = [
+          "--ppapi-flash-path=$flash/lib/libpepflashplayer.so"
+          "--ppapi-flash-version=$flashVersion"
+        ];
+      }}
 
       install -vD libwidevinecdm.so \
         "$widevine/lib/libwidevinecdm.so"
       install -vD libwidevinecdmadapter.so \
         "$widevine/lib/libwidevinecdmadapter.so"
-      mkdir -p "$widevine/nix-support"
-      cat > "$widevine/nix-support/chromium-plugin.nix" <<NIXOUT
-        { flags = [ "--register-pepper-plugins='${wvModule}${wvInfo}'" ];
-          envVars.NIX_CHROMIUM_PLUGIN_PATH_WIDEVINE = "$widevine/lib";
-        }
-      NIXOUT
+
+      ${mkPluginInfo {
+        output = "widevine";
+        flags = [ "--register-pepper-plugins=${wvModule}${wvInfo}" ];
+        envVars.NIX_CHROMIUM_PLUGIN_PATH_WIDEVINE = "$widevine/lib";
+      }}
     '';
 
-    passthru = let
-      enabledPlugins = optional enablePepperFlash plugins.flash
+    passthru.enabled = optional enablePepperFlash plugins.flash
                     ++ optional enableWideVine    plugins.widevine;
-      getNix = plugin: import "${plugin}/nix-support/chromium-plugin.nix";
-      mergeAttrsets = let
-        f = v: if all isAttrs v then mergeAttrsets v
-          else if all isList  v then concatLists   v
-          else if tail v == []  then head          v
-          else head (tail v);
-      in fold (l: r: zipAttrsWith (_: f) [ l r ]) {};
-    in {
-      inherit enabledPlugins;
-      settings = mergeAttrsets (map getNix enabledPlugins);
-    };
   };
 in plugins
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
index 57f0550a793d..14806cef25a1 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
@@ -4,185 +4,185 @@
 # ruby generate_sources.rb > sources.nix
 
 {
-  version = "43.0.2";
+  version = "43.0.4";
   sources = [
-    { locale = "ach"; arch = "linux-i686"; sha256 = "da9307cb24c75665adc6a5e02d3045eac9babd33c6da778167644d13cc685de2"; }
-    { locale = "ach"; arch = "linux-x86_64"; sha256 = "1a8f13b44107e9689aa339f19c8247142ce82ef9a63bb4be077c212d4d4ad03c"; }
-    { locale = "af"; arch = "linux-i686"; sha256 = "b8dcbf287b350becd7a4e1d812a2251bf10861fe6fe3c85ea9b56e4aafa2a156"; }
-    { locale = "af"; arch = "linux-x86_64"; sha256 = "241a503d4cd2793c538a5cc1ad0990b2a5cd40a584504cf5dde77a28d2f47049"; }
-    { locale = "an"; arch = "linux-i686"; sha256 = "530f5e4743384e543e4cf829f00e5f37adccf64b4af5067aab1e316aba72c579"; }
-    { locale = "an"; arch = "linux-x86_64"; sha256 = "1bbde5a3c897ebed7c7820362257626835c1adfafb29a20e80bcc4b1c40407b4"; }
-    { locale = "ar"; arch = "linux-i686"; sha256 = "f254b2f7117b866e2c8611d5367fc1e2a8e20e1997746204234ae6869c01f6e9"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "bec6a50c9ce11906edb09591ed1f37d94291fb67b2d4ab9a8f5f87b0e837c0be"; }
-    { locale = "as"; arch = "linux-i686"; sha256 = "b894da79ba753489a3f0509aa54abb9cf67c84e80a73bc00d0e7e7483e1c4ac9"; }
-    { locale = "as"; arch = "linux-x86_64"; sha256 = "ef435b67eac29cf4024ad8df1d4efd413ea58fd76c0e4ec2f2595e7c90743953"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "96566e2de543bb4b3bba195b99efb8ec1c01f6ec969dc75293ed66033b52a92b"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "29f9ccdfc93a72db314df43564fce754ddc678b89a55035f23582bf4a7c66135"; }
-    { locale = "az"; arch = "linux-i686"; sha256 = "cc58914388b53df51d5bd78f0e63286166bbf278e691b8589bc7db18257627c5"; }
-    { locale = "az"; arch = "linux-x86_64"; sha256 = "7f1db3428190e1bbc01506a029df8c81a0ea67b301f161a5bb297c47d5db41d8"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "c8bd88c4ffb98d8611d760b144f46ab3cef4f7808f2b1008cd5aa75eadaf02eb"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "1b063e4e4a33b9d29f01d7c98a942446d738b195877a617dd454c2697fd6a539"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "1186851b6a27a2d23572c9fa0a9bfabcfca1925d36e7fa79e5918541892bcda9"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "d185c5eb1640d13ee9fd049db41d267af728de56f833bc32a182f69c4921d1c0"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "fcc0a0c46e913cb7b4d44c502f62ece83ae8d22703419edafd15321b77758625"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "d1e066c2347e109fab28e525b5780edb9c5c063322745d971e4ad79a110568f6"; }
-    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "3a85767878b840411c57d176af597666aaeaede9a290032f374629eac536eeca"; }
-    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "a3314e2a9f74d9f2c85e592a74e1353b2f048349ba65bf4cfdf35c72b130cd61"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "a6cd3445e65ca3c818856d6a3b9069aa437ea638f11bb8be520db73604150090"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "9c9f5720b568d768933d7d55bfa7853bb7918bcc651b7c2e281ccf3d2a5e2218"; }
-    { locale = "bs"; arch = "linux-i686"; sha256 = "9c0844cc1dde7712219626148988df642ab10e81494d4794a51a61bb92ddd110"; }
-    { locale = "bs"; arch = "linux-x86_64"; sha256 = "44d91b25d18aa108adf49677069ebd75236f82c7016ee9d518e2ff3f6ad40ffb"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "5669828dec411832064e790e65203dabd3703a86090e87a931c6bd495fd39bc7"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "1e1cec512fb7038327488ce884e171ecda23ae26f98d39159ca96b8acea2029a"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "a7bdf99153ae8351c3f4f98db5e65d2a0598457dc0774508fc6ebe26c40ff43e"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "16fd46498fa33334a5bd1cf06351b410f7df41526c195de21959bf837ce5d488"; }
-    { locale = "cy"; arch = "linux-i686"; sha256 = "8a251c77bbdb6a44163285cacb3a78ffe85835cbe0b9156ad300e733c9ee3934"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha256 = "61f2b6b13d9ce1066b6207b16865a038cb35c51f61a5bc05503cf948704320f7"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "d1e5d20f7b396bb8b823e7a15a6e220fb930601c2df6e9fc5ca588d3ffce1698"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "a5f20fb678a51a526ebd135b149c6769dda46827174259cabbc4912c6f0619d5"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "74e9e40b191fd56e99708910c8798d4a8588271a90eef6f7658e042a0765d0e5"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "470781e1debb2085fa538008cd3203c64b534b5a88c6a6ac01418a3ef344216b"; }
-    { locale = "dsb"; arch = "linux-i686"; sha256 = "459e0d6c55ad822bae10a47a7b14004153a3f3363026556568d7108411318104"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "97fd138bb33c80a3213b33d4796573b65d4659b888959730cc02e726bcc65388"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "41b684530ed9bd80c03cb0cd8b1e4de8b3af383f611884965e98215ade1dd8c7"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "b1a7f2a4de87510b9630c6cade94b7f628bbf04289119d3912ea0eb5260b55b2"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "3c40217b451bd28dd5f1aebcb9a9f7aafdfa3c9c7fd635d69674912a9e73f77c"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "6aa6cd0945bbe97b30e431fdb09a4deb45a0aba6e1283f881a35732b7403e247"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "dd6c585c24e1e9212b65eabee8e52c5dbc9e4acce4fc51c32aacd82b3c6333e3"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "9c56ff8734eb860a6038f6bd00d98aeabe57037e230c66d551aac451a27efa79"; }
-    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "0335775eb1a073d1889e8a43f913ea096bbd735a0b98687c75c7fde5eb636f44"; }
-    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "5ab68e226bfc141167a477779181c48a84cabe80f250c874182ad0364d0c3dd5"; }
-    { locale = "eo"; arch = "linux-i686"; sha256 = "99a0cf562a067cd30d1047814c1984364b1702e93e638016a4fe8910868cfcdf"; }
-    { locale = "eo"; arch = "linux-x86_64"; sha256 = "ba0bc0093bf2b0ea82eb958fdf06683f4941bd9a44138c793175a0b9e5a86ad4"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "3adaec2ccb2b1949492c27c466daa5809afc690bf0559418d2d60faae0b5456a"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "67f774442c64d653d624a270eea1202fad389f926c6b7dee56ef965e65311ef0"; }
-    { locale = "es-CL"; arch = "linux-i686"; sha256 = "ee56546d943795434a6759a55dec6e848f244691dc234f4c62746aa1f73cb85d"; }
-    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "cdbf12f21efb2e18d23ef9c6322c96469c72140200fa47c554067df3a9f89b8d"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "d3518ffe26d3c21beb009c657b93cf2f01be416f697d89beac497c71044f134a"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "ae34d9f586b28b1063cfebb755edc2a11214085f3a185f31d757c2358493ed13"; }
-    { locale = "es-MX"; arch = "linux-i686"; sha256 = "09a03624363efba7e5d707c312f58e577019b8b7987d817fe1cf77bf2afa7dfc"; }
-    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "820c50a0991779f664be8013e10a6db2833caa4b1fed370a7d6a8eb71f5766f3"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "bb2d259606836c5d01d149f2735639cad7411efcd5e0e5deacdc3f1bbae8d80d"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "17265f828cb3232cca73b3bf5b806cf361769c77bfef0e6571a16eb73036cccb"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "0bedcadc3b60ecb58af25d5950fe693063eb80f65d6d85e72ff0cdab3e7f2030"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "371d5648c7ffaf325ef34030ad0a9971246bc1df354fc11dd66bc461dce303fc"; }
-    { locale = "fa"; arch = "linux-i686"; sha256 = "a7c55492f08e5f44d5cccb015d00abf8b8e74dec7da37e937f8d0f76a4c49338"; }
-    { locale = "fa"; arch = "linux-x86_64"; sha256 = "6fe831c56d96dbed1c4a6859ba58dc20bbdf43efbc2bb225a707df7966f8b9dc"; }
-    { locale = "ff"; arch = "linux-i686"; sha256 = "5cf4f3235db02c385ffc355e0fa1060b79afd5a8899ff31da1d0dad4d065e4cf"; }
-    { locale = "ff"; arch = "linux-x86_64"; sha256 = "0576772ddcbdbe3d26ae20dd47b4e635de709c34eb6a797afab7743ac68815bf"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "8edd2e8058fc848456b2dc1bb54f669159b232b5423dcde6638e5d61294f1ffe"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "94bd189308502abea3d6d762378220097d3d743cc42872e6c43cdcd86aa51b4f"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "652f87501ba2a5baf1de865d7a607837a9ed623834c2d796baf4e3891fc78a6b"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "94c3725ea6fc2a7833e9ee60fdcd0ae3a53c80ce7f13ca00634b5d99b12a4607"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "8d9ed839afa148da954acfdca139dbcf9f235c097fc7c562a8ab52f9ece68b4b"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "650c8a50b8473fd09dbcd1c818ca8c3ab0c6618696198124f32e0153307e2aa3"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "a70af727b36bc7d084211a880318f3a9f73977ff75f728b50cc4bfa9398c61d2"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "01d3635c38068facc135fcca979517d729999db52f4a00c0b2ee27cf830df870"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "9763cbe0387cb86f91cdd6b1dfa6e257cc40c4525c753869ee091bfe49f172e8"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "16d3452fdbabada41626d981dee0e48282d672d9d6073b363ede9e86c4ed56ce"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "facde8f17e2f90e49a02b36d016535e1123c7f78ac44ee1110c80dc472e84133"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "b0955c4381f7f0013e9e0b1dcf8d8c53a3bf694af6970638b2e88dc080771ed7"; }
-    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "cb42e0750736bd14c81bbb76bb05e02c97e798b01d9f41bad091295f9bbb5655"; }
-    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "c497650eda2e4fc0f99b9d9c1ef0df33b0ea7b6e32d2eb7d4ee109e5ae1f2add"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "d4cc561b6ce55f0820e6bd8479de9fd1ed53fd228e7cef28a890aebd687c26aa"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "9294083a0ce8b06cc565c9d643d3e45d50393a5abff230dde8fe42aa29d8b870"; }
-    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "3493dda678fe94e13d34a62d194b612037f472546b96a94de2390706139636ef"; }
-    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "db45625e758d3db82705373004cc16176f8376bf087ac11da06c7c22e613dc2a"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "227399d033c4a7877387ac965d84ac265600bc16614de1b99618f39808b92894"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "a4f061ed24c66f936da13f8d93eb311f8fda7cc468d7cc9f71a4c747bbd9af19"; }
-    { locale = "hsb"; arch = "linux-i686"; sha256 = "41bc010d4cca63bc77b8d637e6ca2731e3c5900b6783955335aae0ee3d2eedae"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "4618d03269cad3fe8ca3d618de581d37fef37b9276e72613d2c12b212bb2c894"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "be456ef5df061985f7413fc7af45b4f0b86ac4a99a57d3574d8ad6dba727a8fe"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "c229ca2c9fba2ac98e912e5c5f4500d423b1f2cbf768e539112e97c0f0fe410b"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "0a569d1b8c8d685c3eb5701471420aa47110c737504a105f660dca72a82490af"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "b15c86feb6d69005244f409290489d8f5ffaff0c85ec876ba931be38c7de07b0"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "dc8ca98414ccc67087c896c84a0a223026f12ed9fec499eba6203b8ec0b3e6e7"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "6a831ab4c2605fdbac15ac81853a19f5c8633756ad5136f93c3eb76637e2b997"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "02e9a2022c0da27e069689d25ba80c1d04dc29e6a045833fa1c5e503b5ca9f9a"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "0ffd2b8f1fdafd91ae4e089c075446f57adcc748bea4994d40207e5cba9a5655"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "f84d5304a37e33883322c9c508f4d342f99901c9339d293308ef78bb561a3c40"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "78c5cb912d6c24d5a7636fd400470d298e4f58493ca6fd3e5f6b88e4b8037e77"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "a3d563846ef60176712574a9f66d24a785f749390afde21cbc4823e9d30cc3ba"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "56bdf673d645dff09e96970fc4cb33b1810d57051e7c12f6fe1ba01fa971e293"; }
-    { locale = "kk"; arch = "linux-i686"; sha256 = "a5b10502bacf265e2157b7246457c33adcf037e4e28291e26a7fdd9f53f94638"; }
-    { locale = "kk"; arch = "linux-x86_64"; sha256 = "2a7c74168d040653cbc31d6d03846b9165f617cebb74388818d73d681056561d"; }
-    { locale = "km"; arch = "linux-i686"; sha256 = "26e696f0a03d7d6c3541563f89ba08d06a47039ca93f15d2f1909db7ca1b8d08"; }
-    { locale = "km"; arch = "linux-x86_64"; sha256 = "18676450680d18631a855dcf91fd4592f8e3e908b04122476ae62d619bfbdd4f"; }
-    { locale = "kn"; arch = "linux-i686"; sha256 = "cf6c95c0f06381f3aa4eb03c8854a530e63b0b5c6d971dc019a5c6cf81f80b0b"; }
-    { locale = "kn"; arch = "linux-x86_64"; sha256 = "fabd1b824a4593454f8c9d7c6c47f7244ec9d1800cbe397042fb3bc41a75d09b"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "d3d9ff36de18ca424511df1ddbd4c49c84499491510a064a6f55f15599e1c172"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "e8eef3e4c6201e1d1e936ee6ec53f875b6c2a0496d308b8fbe03b5cbdf229bec"; }
-    { locale = "lij"; arch = "linux-i686"; sha256 = "de6b35a675539d1bf0ff1c8f3837ba030da64b0e51c30e594515ac13578495f5"; }
-    { locale = "lij"; arch = "linux-x86_64"; sha256 = "9d2351a7bed09127b618cfd86f2d394fdefcbbf2801da3a60a697982b5bbb9f1"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "5e5c3d5083b8d71a249f9e5009072132c9524063fa0cdb1f47ad0ff5260725c7"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "c57df2ce20d09070514f783a12e179ff05a4ac14e7ec67b0081f284f70079468"; }
-    { locale = "lv"; arch = "linux-i686"; sha256 = "30267f85939965eab0ec50f4c869a0a42fa0d0775ae516088f9a3ff57f1bf3d2"; }
-    { locale = "lv"; arch = "linux-x86_64"; sha256 = "c1389231d627df347910d28172a823da18f2ebd5697093035faa499da24755eb"; }
-    { locale = "mai"; arch = "linux-i686"; sha256 = "6dec829e1ea28f8c4480d0517f72909d2d652fd827693dc919298906b62b47d2"; }
-    { locale = "mai"; arch = "linux-x86_64"; sha256 = "29ed57ad173243d7cc2460a534c3f63709e235db74810a0d6f12dc460c5f4a52"; }
-    { locale = "mk"; arch = "linux-i686"; sha256 = "98d4c529ca979e4ba03b3c1640feb0c93ca1ac2a92ac07403a39a07adce8df44"; }
-    { locale = "mk"; arch = "linux-x86_64"; sha256 = "53d6752d67e3277afe3ea239ceb1f890edc5a15fe078d41bc074246598376603"; }
-    { locale = "ml"; arch = "linux-i686"; sha256 = "321d682e8e1e42e8e4522d791e7e7ae13d1622d740038f3586813099f0275d96"; }
-    { locale = "ml"; arch = "linux-x86_64"; sha256 = "f0dfba4cd8fd961ef6c088ef9139b8ce5e33fcefa8cda142c9f51bfae663c092"; }
-    { locale = "mr"; arch = "linux-i686"; sha256 = "b40b8fbbe5ab56055d57f7b9a67ff00e84b7c7d19afc7bb07b4311ef3fb6c66b"; }
-    { locale = "mr"; arch = "linux-x86_64"; sha256 = "3bb64e13d59a1c65460282e4236655a0c2997d894e9b897a8dc3b20a4baca3c9"; }
-    { locale = "ms"; arch = "linux-i686"; sha256 = "15aeda467f0c0c893dd923ee56fcf2547242f0a4089709ce0cbdb27778c71b1b"; }
-    { locale = "ms"; arch = "linux-x86_64"; sha256 = "32cea21ff68efd7c384746c32c0138464fbae4d25065fe58d6d56e191ee5b082"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "371af3de1ae68ba242cc55cb7c080008ca305c61d5c8c4e687f53568bcb8f416"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "54e17787e0d31893dcba314e98cfb795fd6f85e335a0e84ce35a0f44a56b6e1d"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "92df7a99107ccd938800161e759beb6269a6a30f69c892064e130280a3caa692"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "41c1bfc828917d58cf8f334b8d2b333ddb50dd416faaae41a0c063bd8c23942c"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "ad96e3c670c244d366ce0d600d87a308d95e51309ab86becf1c8c69245dbed0f"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "eee10d92a2bcc32507936c3c2c5c2c220a4de955aa8b48d23f0d923c9b0faa48"; }
-    { locale = "or"; arch = "linux-i686"; sha256 = "1ddaa000c9b3d5a7dccdddaeb8fda53ba821935bf24ee5c2ca0053e3b2900bd7"; }
-    { locale = "or"; arch = "linux-x86_64"; sha256 = "0d62ab80bdd5853d8dfae01d9420929d9321d1f6b9f40d372c6241f1345de76a"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "accdde423ac5c518d14b435d00e1f536cd240f31108b58f0b5e1a925637faab4"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "89ae2f460c6fdab846d6b41dba84f63c94a7bfc1f61e3e79da5d643d4c1a1fca"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "d8e043d8ba0c223f0232facef10b6d2e2ee13733bf8670a9101796bfddb3c2f1"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "f6ada91433d48b699c02fddf22e2d8aa36e6b0cc365b73625bf6fb80ed3fb877"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "b2d294d7761cfc3c8a58ee072bb8a0b82cc79724f6b103073632e682fda32f60"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "642c56b5d510f5efc8a365be956789d7760bfe983aa397ae194eef5bd15f601b"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "6bc224414c39047c42040ebaaa7e7d61bb09939a9878ec4a2d7d7e8c31a7ecfc"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "cc00a2fb38fed6ffef5a6a6931b043c65948c18f3d502a0e3ae641a1847203b7"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "2cebf2678e1a469447205a7495f17185259d73a72439f8fd400eee957e571bbc"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "32fe2ef01b0d495476768eff7e4750c2c82196e60f50c2e824adbf611f275289"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "289cef6b438a59bac459c203a6b1b2965b089f1487ea78ff524a6a68f5996862"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "7df67b1a5a12297a214d1f794c84b58ca12a182ee780e2574116214dfc785388"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "65fd6a9a90b4e5c8fc784850dd5bce41901b0d241dae9c37110bf99643d52d32"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "585683dca4c427ecbcc17d42465b6e374a76d5266b908df1b47f4a1ad81e7794"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "6567d5ab15a1bd20426569a6480d6e44f2c1917145fa607357f0d3d0502c840a"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "f0aad93013b6070516851a13352d1aabd0d10bd7891eaea878d3632c1b295296"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "c6da9d539302dca6ad8e3165ca595eb80438fb4caea11979c0e07ca215696929"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "236dd9171f471849e8cddb2b8ff0166e41bdedcb0bb3c1662fdffa83c3e89374"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "4b9160bfa7579fc893a40387f0185cb74d7db2cfb0eabd2aa032259ed53b7a97"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "56bc853e4e5e21d08b2ccd04687388473c45ac4403d0b51ed41d8a6a3a26e396"; }
-    { locale = "son"; arch = "linux-i686"; sha256 = "b73fcee703ce937ec25993da5e09163541fef9eaa4e65ec7d5358f1dfa1b596f"; }
-    { locale = "son"; arch = "linux-x86_64"; sha256 = "95ef838ac58e82ec435ddf7e2ea0bbf8b8d1bdb34832aa664d1ad8f5abbd9a13"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "370313d2cf543ab3aeaa5de11f748d69a168a82d6e29c27d4c398bb577fdb06d"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "a86a6604169ab6d9bc2657a0d26db0a3f96b2927223c5a43128dcf49bad243f1"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "a7ad2ec678944f37cfee69025871369b658013f77df9df0f1bbfd9cbc03666d2"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "b081bc35064722b4de95f4e29c4ee203bca124ebe0c33bbf91f0e11f904928f7"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "5a6fe1f1c7e1d5bd91a0c82e47ce5b88e31611cf51d6452afde3ef06d2d1a695"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "9a09a020acabfaef4fa25d94723fa437c57761f0dbd9bda880b8ca3acb5248df"; }
-    { locale = "ta"; arch = "linux-i686"; sha256 = "0e0839d5a899576f3fd796079748dba8612526bd5f855e8718eccb3ed05944c0"; }
-    { locale = "ta"; arch = "linux-x86_64"; sha256 = "cdcd8e06216289df7cdb4f82f01207a7112fa4f52040bd70c2f497b3d701730a"; }
-    { locale = "te"; arch = "linux-i686"; sha256 = "e4609f803edb243ba8c8fbfb7ecea2e652a9e94adeec2f6c03af42c2e8bc5b74"; }
-    { locale = "te"; arch = "linux-x86_64"; sha256 = "b9151a27be6a8de94fa25b53dfb85e765cc2ff823c2de6a0d0583883fc30ea48"; }
-    { locale = "th"; arch = "linux-i686"; sha256 = "48349866a10948cc0b4f8b6bc2fecd5dcbd4d09ff4ba569f7fb3e569edadd976"; }
-    { locale = "th"; arch = "linux-x86_64"; sha256 = "ef38e6a99cc8cb9e32e95af0ae7f7c99b82310e28b082b6aa085aa80f180ef60"; }
-    { locale = "tr"; arch = "linux-i686"; sha256 = "fbad5fa2196dddb5061fec1f47fa7af85c0a824f520588b7446d2740928e34cd"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "c644f251f1e43acc3baa550b540750fb7d11c2f440c7906e1955d34694a0d718"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "9db7dc494734011ed61c5286fcb1f4b4dfb418528792ef92fbfc3734a9618129"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "06cbcceb189bad7174cf46678535cd4bfb1062e5ac878fd313fc341315001106"; }
-    { locale = "uz"; arch = "linux-i686"; sha256 = "cfa94474277edc7739c11795b2907b894c87f5c573c43aaf5a951a2f13a9c8ef"; }
-    { locale = "uz"; arch = "linux-x86_64"; sha256 = "e3a581e965fbb3711e6ca6d6d5b378eded8e8ea9767f94993c50632b6f4a7aed"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "ecd4a5b8fa66e78cdb93b04eb2b3a5ac354bd5e231d8f4bcbf2acfb94b5190b5"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "1d52852d973d5d6bea8ef860b216aff4eea59dff576f13ae67aa9b96ef0c9878"; }
-    { locale = "xh"; arch = "linux-i686"; sha256 = "24befe5e2fe2001ab3827543f97b52ecd15f5cbad89d977584aa4dc08a0e9c11"; }
-    { locale = "xh"; arch = "linux-x86_64"; sha256 = "4cafc2a6028d8141e47b09a9d8d96404cb4b5806cfaab452566f9a7baff89f25"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "80ec43ed8918fa452271988d53875f184196460b15086fe793af4842458ab790"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "1d3fc933a5b3f4082fac9176f6a802e01f8a26d711c339116799e58629843f27"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "a255ce81f6ac1774ae6c8a5b9208169864a672f22f7037c93f01758c4eaa357b"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "27b048c3df2ff25fd6f7c33cc30016e8a657a2f30ef7b0da9a2f4097c1b5e494"; }
+    { locale = "ach"; arch = "linux-i686"; sha256 = "88e62cbc7a46a4bdc9822a7155a7a92fd856472323fe93c2c6684262b8e71056"; }
+    { locale = "ach"; arch = "linux-x86_64"; sha256 = "e0eb56995f078a72c0bcf8a38a68e3087ca6c229181d0ca75052d2b784acd6f3"; }
+    { locale = "af"; arch = "linux-i686"; sha256 = "826a7c46b08813698c6fc6cfa3faf8d8fb3c6bfa2d9126d2668f91f34fa5874a"; }
+    { locale = "af"; arch = "linux-x86_64"; sha256 = "74efde0018f1c0a0d8afab8a069c7dc2ace12a9c2e8ccc5021601aa472581ea1"; }
+    { locale = "an"; arch = "linux-i686"; sha256 = "bd7c8cd1473fa7b15905fc2a9aa5595a7ffe4e6a53a4c832dfbe3393236a2706"; }
+    { locale = "an"; arch = "linux-x86_64"; sha256 = "73e97be9965dea6416d88b7edb609ed1c7cecbb48c363370dec68854ebcc2b05"; }
+    { locale = "ar"; arch = "linux-i686"; sha256 = "30fbc1adfda1487093ed3ca3571bc4c02132b8fd65a67c937e10d5a53fffe2c5"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha256 = "5c7b899f37cd894b79c74e95c03e131e8809fd147316d21ac5d9e0165840bdbb"; }
+    { locale = "as"; arch = "linux-i686"; sha256 = "2dc43867cd934830c79050e2080570e86fe63ab9ce80252599a7ac29ef21408a"; }
+    { locale = "as"; arch = "linux-x86_64"; sha256 = "73c6712729087bbebc335e631505dca89fbfc9eedf6fcec220f66f50e013f938"; }
+    { locale = "ast"; arch = "linux-i686"; sha256 = "3b76e984e74737f0bd22e10c017bbfc3ff9346a9bf83ec09d959cdc0c5b4c36c"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha256 = "2b9b732d19498b78c72d8f0bcf0852c7d209c3a3e0c891fbef6be753e39bc9a3"; }
+    { locale = "az"; arch = "linux-i686"; sha256 = "8889cf66294a788b59754a4331c6fe4ceccf5d4efedb402d144f27384e491b46"; }
+    { locale = "az"; arch = "linux-x86_64"; sha256 = "cca620118720374edf45b8dba81ffa5086f640bb1c10b67cfe6286aa2afc3a6f"; }
+    { locale = "be"; arch = "linux-i686"; sha256 = "33543ed7c2f68457573729fa95fb306a3c509d8ecda937d5d638d6d158979ced"; }
+    { locale = "be"; arch = "linux-x86_64"; sha256 = "58c567f2b6657f533bcc20d39f29715a503a0a9d59e05ccf9b4f3f3ba64280ca"; }
+    { locale = "bg"; arch = "linux-i686"; sha256 = "5b87663b5887a8eeceee3c0e54c99c66ca673bbf78b434cdcac659891c1f3333"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha256 = "ebcf93c8b5ae952f244426988defbfe0638cf81a8dc4c372613be08f9e0d8f45"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "30af81108a6f9ea31a623666ebfb68d99ec256e27cc8d18921bfe2780753ba4c"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "082ddb0fce87e1399dc95cb94fcc71ebe334f7e611497c0b0bb8186edf46e8e5"; }
+    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "3e8af6555a65ee403b8fdd3a78842ec4f7c16fb3c590f77d9ddd76e9631d564c"; }
+    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "78bf008a03318c1d58788433a07b71b63bd52cd2befcc68f8c6320d5ff5dc387"; }
+    { locale = "br"; arch = "linux-i686"; sha256 = "77ff1b40b9cc81b1c6bc63d74e68687ad92f5eb0cee265cd5d9528c38a36bd12"; }
+    { locale = "br"; arch = "linux-x86_64"; sha256 = "a4784a6b2d356f633deefefbc237f5aa662334765a334f968d60afc0aa76ccab"; }
+    { locale = "bs"; arch = "linux-i686"; sha256 = "5fc7d9cbd892c83f40e0cda6b8e6b4e993948530bef355457015a6976ce097f6"; }
+    { locale = "bs"; arch = "linux-x86_64"; sha256 = "4fc83306fca0a6458e66fa082eb8afe6d07ecbf5a3b309d3906ca16f00fc5d31"; }
+    { locale = "ca"; arch = "linux-i686"; sha256 = "c72b7f343e62f479dd2fc37f22af3c462890a886727a2b5a1f140992e3069c92"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha256 = "81d44ab8e493816180ce46d86a0b061ddada85b820c21b91d18f62b3fdfa455e"; }
+    { locale = "cs"; arch = "linux-i686"; sha256 = "c2fb062c3fce0c4c174bcf3987108176d9cbe8da19a06b5db46e0b6d65b244ec"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha256 = "81afcae57081c20a7a1e03c28a4d8dd26b3c89608591b7a7171be91bd24789d6"; }
+    { locale = "cy"; arch = "linux-i686"; sha256 = "bf5f4bdb6fbaea7d0de662921d5e6096d413f799fd3ca1876d42146f14667e5d"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha256 = "cc4057fb04da6db0d2ba315fe9ff015a0e0fc1542843adb4a65621936f849d98"; }
+    { locale = "da"; arch = "linux-i686"; sha256 = "10468470db91eccc1234b34fc4f933b909df68284f9cee8125fbdb5c5802a45a"; }
+    { locale = "da"; arch = "linux-x86_64"; sha256 = "34e29284e753686f00e4019902b75aa071d0eb87bafec8c31cc4029989ec210f"; }
+    { locale = "de"; arch = "linux-i686"; sha256 = "f5b2e2c7fdbd0f91e0ce581dfcbbb253d627a4aac45a914eab763de6b2fb6750"; }
+    { locale = "de"; arch = "linux-x86_64"; sha256 = "7366de80f3717f62768055613bb6767a39716808e394d623cff18e649b1a5a02"; }
+    { locale = "dsb"; arch = "linux-i686"; sha256 = "1a69cb59bd213323ddf5576f2f060def74735b50576c5048f030170a8e4a54d1"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "89c431dc58a91ff9c7b31b9a5f988aabd7265a23697e870cd746320c0dde9760"; }
+    { locale = "el"; arch = "linux-i686"; sha256 = "cb6c72d842895714a7ce5f0acc7e2de721befd8605ce567811f5e626f9349a50"; }
+    { locale = "el"; arch = "linux-x86_64"; sha256 = "8b33af54b8e00acba75446a5921ebf41e570f66cf86d38bf46b9238d2b2b57ef"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha256 = "17685f4d47efa9ca8a2ca220960d7819e11c728516d4c0f67f789f5dc29e9606"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "702f8da239eadcbf92cc8e286716836ec889a64276a92e51ee26cc5338e4398e"; }
+    { locale = "en-US"; arch = "linux-i686"; sha256 = "be03a282b7da67899c988f89423594b91e017ce5f4569d55ea23f6ba28f59414"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "0ba5a1868386c715ea1f48393b035305d4bef67ed1838b7bfacf5bff8b36716f"; }
+    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "790462e745744b05a5fc27d9518f02e88f678bc1f95140dad970abdff0ec7aaf"; }
+    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "ab1ff49b84beb7a5a02a70cbaba9d3110cdd76653486799038fd05936b9db499"; }
+    { locale = "eo"; arch = "linux-i686"; sha256 = "d6be5d333050ca0d1ecd78082b9daf7955a068915af6ef2694b3f6d60595cd94"; }
+    { locale = "eo"; arch = "linux-x86_64"; sha256 = "6ea5dd2bd55bd0211ce67f398b24a37f26b012250b8e7b1b4a9d5ef619e19051"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha256 = "1b16ed83eed980b0ea8b99e989bab1882b6d2a497fd643f109f0610425c693d8"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "3aad55c9d10012c5b22154e8562a034e30ce6ef0b579047649a43afd0645d6e2"; }
+    { locale = "es-CL"; arch = "linux-i686"; sha256 = "f22705f5dee51be7bdced48c6c8f48780529f22a566d9d8784a10c2fe8427b92"; }
+    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "8dc4c8854169db3c22c09b723002852c452cdcf8d0bde94b089af9fcf0ae0f28"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha256 = "7bd24886bc72db5479c1aa2c8a48359858c1e87e8444a5cc8f0ef3e141744806"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "c69a6be864d1c865013b00a1b8fb748da96be2ddc65cb178eeca6e165aa1ccff"; }
+    { locale = "es-MX"; arch = "linux-i686"; sha256 = "a52775fe1038fbef208d760c4069187943387b0717076b32a54647d9e319890b"; }
+    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "56c2e14770c2c6d40213f159715a3c269bf3b6c5985ddb4851b6f50f2ca93a39"; }
+    { locale = "et"; arch = "linux-i686"; sha256 = "648fbeb1dc15d76685d80afdad2b6a797eb25f30b27bb405e11725ccc53ef164"; }
+    { locale = "et"; arch = "linux-x86_64"; sha256 = "400f9cd73854034edd7b392367a7961638c921e78885064bdbc567ed3c508d38"; }
+    { locale = "eu"; arch = "linux-i686"; sha256 = "727e0d1d692be4f472f1172d8901d94d58e201ab9c2e30b80684564b3ecaf325"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha256 = "476f207657fb9a5c3bc89493b06900b4fe46a06aca7854e4f37bbe8c8d98c064"; }
+    { locale = "fa"; arch = "linux-i686"; sha256 = "2de4b2b0f02918c8ff538db66272196479ad95cf8e239ccf9e1a244d5553456e"; }
+    { locale = "fa"; arch = "linux-x86_64"; sha256 = "3c04ec5ebd27b815a215ff815dcc86ec05f81a5a0d606e60ed14135b76679fe2"; }
+    { locale = "ff"; arch = "linux-i686"; sha256 = "07b19ce6be53c16c6f299a2640a3a597475644fef63edf702242e245001b1eb0"; }
+    { locale = "ff"; arch = "linux-x86_64"; sha256 = "d0a4e2d3b155c0fd5fa12162dd73d6077be30a9cdd3ccdf5566748a7af4fe2c6"; }
+    { locale = "fi"; arch = "linux-i686"; sha256 = "f5e9e4222bfc1c34d58befaccf501d741cdcf3ee9bfda034ea8600a906c9a912"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha256 = "d48f0673a768b6265119a3097061ae437711a81fbf7f665b8fec079f0516b1ca"; }
+    { locale = "fr"; arch = "linux-i686"; sha256 = "67eb797623354f037b49745c9ef7ddfa3a0cfce03f984add560a33ab2955fc97"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha256 = "6bcba534539f9b5f42397c82e2c1a6affa6eec473c09e6d71c5315f9acef35b0"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "fe4b44c9b50abc001bb4bcf6e046a9b18f30a42170b4662daf5d35c17089f4ad"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "8238342ac06af2d4e0b7ef8ea26d1960af996ac7d401f0e11b3b666ebafe0df8"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "9f59d32123141d624b9fa16f885ff9e1cc989628e33074bb2a546d9c54be07eb"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "29785a5a2cc09750c8ea391ca6b2d8812e5a68185807d76ec295c3ca86c21da9"; }
+    { locale = "gd"; arch = "linux-i686"; sha256 = "bd4dcb330e8733c3443e763a2fcd49085b5027ec032ee6f641ac1211534fdb6a"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha256 = "5508260caa85a450a2496a7e261aebff847301d4f981bd0caf0208aa65c0bc10"; }
+    { locale = "gl"; arch = "linux-i686"; sha256 = "7e6df6be5937c01d8bbf65cd6d107fba76f1c59794f7e2ed81ac9db1384abe34"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha256 = "b5370fd005569fa1544099fb4629ea344f81b43fc10188dbb3cbc5926b5df53a"; }
+    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "5256e889efd097decc2b55f4d928c9847f6e9499b25947de068d357db4d70c59"; }
+    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "2b51d50b49965c766081d35b1a426e1c3a858038bb88807522a7dcbc8c97b815"; }
+    { locale = "he"; arch = "linux-i686"; sha256 = "b71d83c274d82f63ab175978bd661e047ad73586249f6e24d33d17c1e9ba4ec6"; }
+    { locale = "he"; arch = "linux-x86_64"; sha256 = "4c3dd5066a9b5ca04ab222af8d7009419fe34d0bc41bf5f78e6370d6e975c4e5"; }
+    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "33f3591e2d75bcc539cc57e68e865183b307a8eb8153c0b48bacc0bc62ea48f4"; }
+    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "25eef40150db99b56dc46deaf78525951d8ae838886427838c9d78bab41c6b7e"; }
+    { locale = "hr"; arch = "linux-i686"; sha256 = "d83ab7b48cd7fc4637fbb4c19edd0974db121186289b04da01414fbdc78ad7e9"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha256 = "8a1d3055aedc504cf0f34e41931464752148dd1859c807f689978fb80504a5ab"; }
+    { locale = "hsb"; arch = "linux-i686"; sha256 = "d9dfc43216b0c6281a311edc6c0fed79344cbb4f4cfdcf153f3ba37a4221199b"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "2ec46b326249e0049de0a110896672191edf0837d4f224ff3b0f88a21edf1a22"; }
+    { locale = "hu"; arch = "linux-i686"; sha256 = "6c7cecaf0865bd80eceefe2541b5cbdbdc457a367b66a3cb7f8f3d73cf3118f4"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha256 = "d33903cda04f3be9e147dd69c55a58fa76f1bfc0abdb8346c641b76c5f20aacf"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "a7006e239fc119c1af332e1fdcd3ed42aed59deb6e22a092c9d3ed5c7eafa11e"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "89b0def0f9d9177fa0c0f1f7630d52bf3d6380ab27c475019fc6b1dddeca32b6"; }
+    { locale = "id"; arch = "linux-i686"; sha256 = "15fd16ebb3c82755a1ff70a172658c3928ad495194b975de8270b0dadf8fd10b"; }
+    { locale = "id"; arch = "linux-x86_64"; sha256 = "7cfe30a94db8722d0cf3c5f68f636c76e7e98c8f34f67f95724c80499c89ec64"; }
+    { locale = "is"; arch = "linux-i686"; sha256 = "0a066fed6ed9ca4a1514166c8b1ac5e097b5d32522dc39bee3a644f241f7448a"; }
+    { locale = "is"; arch = "linux-x86_64"; sha256 = "4fbef4c8c25690e3c23f3fcd27196714c691c9ea023d81b82763867a7547deab"; }
+    { locale = "it"; arch = "linux-i686"; sha256 = "451b17760fd2f3b99cda0f1711fc3e74320ef0e86b41ea89205c00395b1ac46a"; }
+    { locale = "it"; arch = "linux-x86_64"; sha256 = "e12206fd4993e75ecd3398130758cb1cc4f103c5792a9b59956766d975840653"; }
+    { locale = "ja"; arch = "linux-i686"; sha256 = "ef954070ef7f3eafb9727ee848627145dfc884fc46445374d5b618d344359432"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha256 = "6795c8d63e2cbad65d347bb07503725f85ef464767020df605bdc5dfbdd4cf60"; }
+    { locale = "kk"; arch = "linux-i686"; sha256 = "752594014a72770d33784a99782b24bebaadeb83bda57880f3d0bdb94c2ef56e"; }
+    { locale = "kk"; arch = "linux-x86_64"; sha256 = "a5b26f9f5b9194592e4749770e85cfe35d308ce5cffceea00e9aea5a90a5ef95"; }
+    { locale = "km"; arch = "linux-i686"; sha256 = "57c6072b4dd026daa11b7877fc05ff8aea383eb1d0a8cd1798bd26246f013145"; }
+    { locale = "km"; arch = "linux-x86_64"; sha256 = "fe5a4aae238d74a26614014547294226b49155a7c7fe5fe8a4d2955ee9bfc457"; }
+    { locale = "kn"; arch = "linux-i686"; sha256 = "53b5a81b33115e6892dc6d98a275d675a576eb721290af271262314f33a8a5d3"; }
+    { locale = "kn"; arch = "linux-x86_64"; sha256 = "7a73aea8c228b3491c12735240fbdb8715d8236e89b8634f8b8eae435a6b33f2"; }
+    { locale = "ko"; arch = "linux-i686"; sha256 = "7060ad8b0e78eaebcb6ef7b4976866ddbcca8123daca4ebd7e0ace9792c55a00"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha256 = "b3858ed759dc5c3bf383bff0620d28e939e2a906b266bf9ad28409c45835da82"; }
+    { locale = "lij"; arch = "linux-i686"; sha256 = "efda293d3583806b80695c0f102151574623180a192826e66e90c34599e13444"; }
+    { locale = "lij"; arch = "linux-x86_64"; sha256 = "235138d5b83242a50e194c09d687edfad8a4f912d8434c749dec15a271a38d8e"; }
+    { locale = "lt"; arch = "linux-i686"; sha256 = "0fccd7402f84ef47bc14cd91da4c9aecfceda90588293e47c3473ba5849e8ba2"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha256 = "de27a346f47ad06ade89b4da1809b7ab8aff10e491352b88185d4fab1aaa5613"; }
+    { locale = "lv"; arch = "linux-i686"; sha256 = "e4daced301792d86a7d5bb194da1ff4b9fb1ab7e8583ff3810ed5dca2c57c2c2"; }
+    { locale = "lv"; arch = "linux-x86_64"; sha256 = "e6f6b914d0b8e1a349087c893cd91807e6d8159f4f8db27c2c89b8304a21aca8"; }
+    { locale = "mai"; arch = "linux-i686"; sha256 = "f61a475f0646b6935abf6ca4b07d88a65e782ad6a5fbd17ab2c7cbc0e386f9b0"; }
+    { locale = "mai"; arch = "linux-x86_64"; sha256 = "091597ef122a51e27e69aa02d84c0de37b3bcc4aab38326a160d8836f82d9235"; }
+    { locale = "mk"; arch = "linux-i686"; sha256 = "336f74b4f6f0fc0ca24af1b287bb049ba37aedd760c60b71560c32aa21d902a4"; }
+    { locale = "mk"; arch = "linux-x86_64"; sha256 = "7026aaee3d615fd5401881728fce02d69a74dd08bcf4ad32cdbde6e48e9750fa"; }
+    { locale = "ml"; arch = "linux-i686"; sha256 = "412212198a4bfb35964baa84d55bdec89a30ad47be0e54c7be64e3bbaa8166f9"; }
+    { locale = "ml"; arch = "linux-x86_64"; sha256 = "50c0c3f6931e6a1a498d075847dec4796db804d296b0bcb7254576d910c88f51"; }
+    { locale = "mr"; arch = "linux-i686"; sha256 = "f457de6b5e6692cdac57f9cc8b5bace0f3c678cb40848963f91dad36aa53e7cb"; }
+    { locale = "mr"; arch = "linux-x86_64"; sha256 = "9a88a56a56d5448e6ffdcc2aa15b70bc6300750dae11c25047036873bd0f1bf7"; }
+    { locale = "ms"; arch = "linux-i686"; sha256 = "1254482bd8d0c2fef0a728415e0053b1e68951c1a4de32ea38e3a8435ef8be11"; }
+    { locale = "ms"; arch = "linux-x86_64"; sha256 = "6daecbd8ab6eaeab01139037a950e5e48766f20290bd13daa9f2177a0bed7a37"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "ae92dcc94f43a80e335b9dcbc82a1831ede646e173eb1a6b76a3a5c076f70598"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "813d1965cd6b15e8bd1b40f77e787086ff38dfbafbfdb6ef3d958543ec566d9e"; }
+    { locale = "nl"; arch = "linux-i686"; sha256 = "bfe3bd48305674bc3e7f9edc318585e605e31e59bf55c1095ba08f82f1e92fe6"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha256 = "d9f6062d09d4c505656e4f1c3fe098b896beffb9ee299ba5d544a91d97288d8c"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "9c5b3343070f2f986aa13cd6f03a184643cfa5a0214fe2d3696cfd5f81efa4cb"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "bb128791f7f9dc18b282aec0892987b2d315103bd56d646b22113f74e379db0f"; }
+    { locale = "or"; arch = "linux-i686"; sha256 = "2a5e0a25d654015bec541cca26491312746552b052a6ff1e93daa7e83d5c5539"; }
+    { locale = "or"; arch = "linux-x86_64"; sha256 = "97f524aa830ebbbe80396db69b798463c1bb973a57edb3bf04350cf343b9f345"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "f4e38e9124fc916766c1b7d3b1eb5612e5358d5ff7cb60127f6c9ef00360ca2f"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "415b0f6e0c9ca0c9a415d96c821ab72c15b5d2863109c6411d1d35f3835fc92a"; }
+    { locale = "pl"; arch = "linux-i686"; sha256 = "d001a0047d2ef866ae2ad7675b3e45a7055ceaf84e031a24c72b239b42fdd98e"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha256 = "cbea32c4b8989fc5f0bf948ab5d80ab715fac7fcc179dee169ac9d725ab2b43a"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "ea9073faecd9cb850dae9c69a85368f9ad8ec9e00c9aba988205aedfc2e63bd3"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "c3c57dcc4a5790b36668b8e255674945e61ee9d6ef69704f39d499ad57510a79"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "854692a0be4be1b34e958c34a7318dd818e310439d01ee552910a067cf6f6624"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "0143d2dc4cf2979f8744dd282f937f9e8084393e4c7836219eb182618062d1cc"; }
+    { locale = "rm"; arch = "linux-i686"; sha256 = "81f96f818ce68ee25fe1ed7b1c831ed95d26a3fb034bac836707bf93ffaa140a"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha256 = "3824d40ecbebc2df46f865e0375119c9fe5dd1dd5a0f4c193de984134ee6e7c7"; }
+    { locale = "ro"; arch = "linux-i686"; sha256 = "218b36a99038e08dde7677bc8e89f1b74b5456da2f5e5e1a081eea7ab19bb7e5"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha256 = "2007623afeacb1b11ed4e93dafad6f47d1365ff8505282c858168ef95d31b724"; }
+    { locale = "ru"; arch = "linux-i686"; sha256 = "708780c7f96b0f48f177780fe48c4613b3548eb5b08ba37d1471781de2fe5653"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha256 = "589e950adc3258ad2064233ecfc5e385d301096e0fc08b3a5cc9eebc0454ac6e"; }
+    { locale = "si"; arch = "linux-i686"; sha256 = "eec26f6c23c5e58913387264ad9cd52d5571ad95b1047490530c2c7cecee4584"; }
+    { locale = "si"; arch = "linux-x86_64"; sha256 = "3c71e67434e42be6ef9970c948030c58198cb941ee39d50845afc2a96c85abe0"; }
+    { locale = "sk"; arch = "linux-i686"; sha256 = "558f5ab75ade19ac57fc939c4314233004fbafb2232e9d4bdc6ee938cf0d0e2c"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha256 = "d8a19e75930a0e902b261b6a4872f47daa16baa736fcf4b6e86ba3e947a05fb2"; }
+    { locale = "sl"; arch = "linux-i686"; sha256 = "c69f8782bdfddc06e4fcce994ce8bf79031c47fd60132fbdab42083d7645fbac"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha256 = "ed1da31169d61b4eb6f3f7858dfd5ab7bb436a9c3ae66882d00a19929d48ded0"; }
+    { locale = "son"; arch = "linux-i686"; sha256 = "e1e4b663f699ed623ccf4d91966d1d0b6f17aa831a14b86316898590b559790f"; }
+    { locale = "son"; arch = "linux-x86_64"; sha256 = "5c51bfb471b8870aa04d3e66bb1cc465a7e3d7f36badb91bb0cdd56789ba9657"; }
+    { locale = "sq"; arch = "linux-i686"; sha256 = "7523bdbc44826267f710d1758c3d64fc5b2711ea26559e8eee8d803174a5f801"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha256 = "929bca0a3d2eb67d02c1af5df073fca04db1e70ec95cae622f87c70c5138559c"; }
+    { locale = "sr"; arch = "linux-i686"; sha256 = "464da5be343009f180d829cc88e01cc7eaef953195f4b3396156a019fd17a36e"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha256 = "f84234ba1c6c0eaaf9b73d40546e482dd024bad6bc1aa9b0f19351af064abacf"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "c1c25d2226f47102969272777fa985694430e227a6e58c1a3fc3da479ed6a69f"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "10ae8036fc64d7bd0226ec9b8e9614b5bb24d995d0701d23b471f65767de81cf"; }
+    { locale = "ta"; arch = "linux-i686"; sha256 = "ca3fb46ad1d80fb9d37bc0b3844b8d3972640772edba1ab6485eaf10d257654f"; }
+    { locale = "ta"; arch = "linux-x86_64"; sha256 = "f8d229cb8257262adac057831f7080f431e356eb4ffdd512e8ea8b6ba8e6d702"; }
+    { locale = "te"; arch = "linux-i686"; sha256 = "78d326fc7baed0aee612b542fda5333a83d2874c20a396a4cea0ae4d4c9b45e3"; }
+    { locale = "te"; arch = "linux-x86_64"; sha256 = "fc827807c3793c15fa7650614da558773fd884d5aabf8e181c8822e4109a6832"; }
+    { locale = "th"; arch = "linux-i686"; sha256 = "37681476c04f02dd5fe3e815da3c6569cfedf1d1627826122c934caab8bca74c"; }
+    { locale = "th"; arch = "linux-x86_64"; sha256 = "d63640093f26d53257b5f1b6ea3c8b620498a21cd7ad1144bb3b5d85d63967ac"; }
+    { locale = "tr"; arch = "linux-i686"; sha256 = "a37e2833f4ad4e9c13d4da88f22f8a9cf7ad77b238f2d00f914a27f276ba99da"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha256 = "869fc9c719a7a619e15b98007f60b3f92dd8f7c46fd27e4fc864a8b829e13da0"; }
+    { locale = "uk"; arch = "linux-i686"; sha256 = "c832506a00c22cbc2589814642340bbb1067fd31e414db4f426a8a451991083e"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha256 = "9597216b353369221867741de9f9fcd030adccf1d9ffe2b127c7b858b51e04f4"; }
+    { locale = "uz"; arch = "linux-i686"; sha256 = "d67274f1e39b479674b4909b0e072dff712db0146577f4ea36736ac0d94e3dae"; }
+    { locale = "uz"; arch = "linux-x86_64"; sha256 = "95477afad170df8efcedb493e5ffa9366f1abc8d451860b899457c8a296afbe0"; }
+    { locale = "vi"; arch = "linux-i686"; sha256 = "d453f7cb7f1fd662d1a1fecc701880a3d45c223d842d91061ab5f815333b8680"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha256 = "f19bf0b83a4389aa4bb1e1f7d434be12c266c0575b13cabed541a4ac38c2d810"; }
+    { locale = "xh"; arch = "linux-i686"; sha256 = "4d1c8c365511b195da7e18c10cda8f6599d840598e4623bffb445a67a42590cf"; }
+    { locale = "xh"; arch = "linux-x86_64"; sha256 = "607a62d71718fb2ba89c2a3b75acc13fde048f5d05a692783da955af344a16d1"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "635a980f48bd8c0f93ff2666ad7f761e80a255fb54647704e2514c6ba7b9bf60"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "3eb083c8de026db0727b4fd206fc9045981c5672af7ebf6e0653ee28f5aa8bc0"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "515749c690b64a7d047df00291aed071dc90e5582e9ab0e4bc560635ef7d888a"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "256316348c9d5cf525f0b2f2c09db968714135e21677d122b6bca6e87471a9f3"; }
   ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index 6ee926db693d..566247fc0d43 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -19,7 +19,7 @@ assert stdenv.cc ? libc && stdenv.cc.libc != null;
 let
 
 common = { pname, version, sha256 }: stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+  name = "${pname}-unwrapped-${version}";
 
   src = fetchurl {
     url =
@@ -83,8 +83,8 @@ common = { pname, version, sha256 }: stdenv.mkDerivation rec {
     ''
       mkdir ../objdir
       cd ../objdir
-      if [ -e ../${name} ]; then
-        configureScript=../${name}/configure
+      if [ -e ../${pname}-${version} ]; then
+        configureScript=../${pname}-${version}/configure
       else
         configureScript=../mozilla-*/configure
       fi
@@ -99,7 +99,7 @@ common = { pname, version, sha256 }: stdenv.mkDerivation rec {
   postInstall =
     ''
       # For grsecurity kernels
-      paxmark m $out/lib/${name}/{firefox,firefox-bin,plugin-container}
+      paxmark m $out/lib/${pname}-${version}/{firefox,firefox-bin,plugin-container}
 
       # Remove SDK cruft. FIXME: move to a separate output?
       rm -rf $out/share/idl $out/include $out/lib/firefox-devel-*
@@ -131,16 +131,16 @@ common = { pname, version, sha256 }: stdenv.mkDerivation rec {
 
 in {
 
-  firefox = common {
+  firefox-unwrapped = common {
     pname = "firefox";
-    version = "43.0";
-    sha256 = "1slg5m05z67q29mrpjv0a753c4vy1vxhx7p3f75494yfvi0ngcd5";
+    version = "43.0.4";
+    sha256 = "0xjs4j26h8fyy8izrcc482vfvgg4gqzap5kh17jfv7flhn9akkvn";
   };
 
-  firefox-esr = common {
+  firefox-esr-unwrapped = common {
     pname = "firefox-esr";
-    version = "38.5.0esr";
-    sha256 = "086vkhrls9g0cxf50izfzcf2h60syswqrlzyi2z21awhwg7r07ra";
+    version = "38.5.2esr";
+    sha256 = "0xqirpiys2pgzk9hs4s93svknc0sss8ry60zar7n9jj74cgz590m";
   };
 
 }
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index db51dc8b148b..8c805b0bf5fe 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -1,11 +1,58 @@
-{ stdenv, lib, browser, makeDesktopItem, makeWrapper, plugins, gst_plugins, libs, gtk_modules
-, browserName, desktopName, nameSuffix, icon, libtrick ? true
+{ stdenv, lib, makeDesktopItem, makeWrapper, config
+
+## various stuff that can be plugged in
+, gnash, flashplayer, hal-flash
+, MPlayerPlugin, gecko_mediaplayer, gst_all, xorg, libpulseaudio, libcanberra
+, supportsJDK, jrePlugin, icedtea_web
+, trezor-bridge, bluejeans, djview4
+, google_talk_plugin, fribid, gnome3/*.gnome_shell*/
+}:
+
+## configurability of the wrapper itself
+browser :
+{ browserName ? (lib.head (lib.splitString "-" browser.name))  # name of the executable
+, name ? (browserName + "-" + (builtins.parseDrvName browser.name).version)
+, desktopName ? # browserName with first letter capitalized
+  (lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
+, nameSuffix ? ""
+, icon ? browserName, libtrick ? true
 }:
 
-let p = builtins.parseDrvName browser.name; in
+let
+  cfg = stdenv.lib.attrByPath [ browserName ] {} config;
+  enableAdobeFlash = cfg.enableAdobeFlash or false;
+  enableGnash = cfg.enableGnash or false;
+  jre = cfg.jre or false;
+  icedtea = cfg.icedtea or false;
 
+  plugins =
+     assert !(enableGnash && enableAdobeFlash);
+     assert !(jre && icedtea);
+     ([ ]
+      ++ lib.optional enableGnash gnash
+      ++ lib.optional enableAdobeFlash flashplayer
+      ++ lib.optional (cfg.enableDjvu or false) (djview4)
+      ++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser)
+      ++ lib.optional (cfg.enableGeckoMediaPlayer or false) gecko_mediaplayer
+      ++ lib.optional (supportsJDK && jre && jrePlugin ? mozillaPlugin) jrePlugin
+      ++ lib.optional icedtea icedtea_web
+      ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin
+      ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid
+      ++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome_shell
+      ++ lib.optional (cfg.enableTrezor or false) trezor-bridge
+      ++ lib.optional (cfg.enableBluejeans or false) bluejeans
+     );
+  libs = [ gst_all.gstreamer gst_all.gst-plugins-base ]
+         ++ lib.optionals (cfg.enableQuakeLive or false)
+         (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ])
+         ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash
+         ++ lib.optional (config.pulseaudio or false) libpulseaudio;
+  gst-plugins = with gst_all; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg ];
+  gtk_modules = [ libcanberra ];
+
+in
 stdenv.mkDerivation {
-  name = "${p.name}-with-plugins-${p.version}";
+  inherit name;
 
   desktopItem = makeDesktopItem {
     name = browserName;
@@ -26,7 +73,7 @@ stdenv.mkDerivation {
     ];
   };
 
-  buildInputs = [makeWrapper] ++ gst_plugins;
+  buildInputs = [makeWrapper] ++ gst-plugins;
 
   buildCommand = ''
     if [ ! -x "${browser}/bin/${browserName}" ]
@@ -82,11 +129,15 @@ stdenv.mkDerivation {
   libs = map (x: x + "/lib") libs ++ map (x: x + "/lib64") libs;
   gtk_modules = map (x: x + x.gtkModule) gtk_modules;
 
-  meta = {
+  passthru = { unwrapped = browser; };
+
+  meta = browser.meta // {
     description =
       browser.meta.description
       + " (with plugins: "
       + lib.concatStrings (lib.intersperse ", " (map (x: x.name) plugins))
       + ")";
+    hydraPlatforms = [];
+    priority = (browser.meta.priority or 0) - 1; # prefer wrapper over the package
   };
 }
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix
index 5b3ceeae70a0..80c9b1b31d8e 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix
@@ -17,11 +17,11 @@ in
 stdenv.mkDerivation rec {
   name = "bluejeans-${version}";
 
-  version = "2.100.102.8";
+  version = "2.125.24.5";
 
   src = fetchurl {
     url = "https://swdl.bluejeans.com/skinny/bjnplugin_${version}-1_amd64.deb";
-    sha256 = "18f8jmhxvqy1yiiwlsssj7rjlfcb41xn16hnl6wv8r8r2mmic4v8";
+    sha256 = "0lxxd7icfqcpg5rb4njkk4ybxmisv4c509yisznxspi49qfxirwq";
   };
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
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 d60ae8ea1dbc..9521e1debd7c 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -57,11 +57,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "flashplayer-${version}";
-  version = "11.2.202.554";
+  version = "11.2.202.559";
 
   src = fetchurl {
     url = "https://fpdownload.macromedia.com/pub/flashplayer/installers/archive/fp_${version}_archive.zip";
-    sha256 = "0pjan07k419pk3lmfdl5vww0ipf5b76cxqhxwjrikb1fc4x993fi";
+    sha256 = "1vb01pd1jhhh86r01nwdzcf66d72jksiyiyp92hs4khy6n5qfsl3";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/netsurf/default.nix b/pkgs/applications/networking/browsers/netsurf/default.nix
deleted file mode 100644
index 07184bfd9f2c..000000000000
--- a/pkgs/applications/networking/browsers/netsurf/default.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ pkgs }:
-with pkgs;
-
-rec {
-
-  libParserUtils = import ./libParserUtils.nix {
-    inherit fetchurl pkgconfig stdenv lib;
-  };
-
-  libCSS = import ./libCSS.nix {
-    inherit fetchurl sourceFromHead stdenv lib pkgconfig libParserUtils
-      libwapcaplet;
-  };
-
-  libnsbmp = import ./libnsbmp.nix {
-    inherit fetchurl stdenv lib;
-  };
-
-  libnsgif = import ./libnsgif.nix {
-    inherit fetchurl stdenv lib;
-  };
-
-  libwapcaplet = import ./libwapcaplet.nix {
-    inherit fetchurl sourceFromHead stdenv lib;
-  };
-
-  libsvgtiny = import ./libsvgtiny.nix {
-    inherit fetchurl sourceFromHead stdenv lib pkgconfig gperf libxml2;
-  };
-
-  hubub = stdenv.mkDerivation {
-    name = "Hubbub-0.0.1";
-
-    src = fetchurl {
-      url = http://www.netsurf-browser.org/projects/releases/hubbub-0.0.1-src.tar.gz;
-      sha256 = "1pwcnxp3h5ysnr3nxhnwghaabri5zjaibrcarsrrnhkn2gvvv81v";
-    };
-
-    installPhase = "make PREFIX=$out install";
-    buildInputs = [pkgconfig libParserUtils];
-
-    meta = { 
-      description = "HTML5 compliant parsing library, written in C";
-      homepage = http://www.netsurf-browser.org/projects/hubbub/;
-      license = stdenv.lib.licenses.mit;
-      maintainers = [lib.maintainers.marcweber];
-      platforms = lib.platforms.linux;
-    };
-  };
-
-  /*
-  # unfinished - experimental
-  libdom = stdenv.mkDerivation {
-    name = "libdom-devel";
-
-    # REGION AUTO UPDATE:     { name="libdom"; type = "svn"; url = "svn://svn.netsurf-browser.org/trunk/dom"; groups = "netsurf_group"; }
-    src= sourceFromHead "libdom-9721.tar.gz"
-                 (fetchurl { url = "http://mawercer.de/~nix/repos/libdom-9721.tar.gz"; sha256 = "ca4b94a8dd32036787331a14133c36a49daded40bdb4c04edc3eab99e2193abc"; });
-    # END
-    installPhase = "make PREFIX=$out install";
-    buildInputs = [pkgconfig];
-
-    meta = { 
-      description = "implementation of the W3C DOM, written in C";
-      homepage = http://www.netsurf-browser.org/projects/hubbub/;
-      license = stdenv.lib.licenses.mit;
-      maintainers = [lib.maintainers.marcweber];
-      platforms = lib.platforms.linux;
-    };
-  };
-  */
-
-  netsurfHaru = import ./haru.nix {
-    inherit fetchurl sourceFromHead stdenv lib zlib libpng; 
-  };
-
-  browser = import ./netsurf.nix {
-    inherit fetchurl sourceFromHead stdenv lib pkgconfig
-      libnsbmp libnsgif libsvgtiny libwapcaplet hubub libParserUtils
-      libpng libxml2 libCSS lcms curl libmng glib gtk;
-    libharu = netsurfHaru;
-    inherit (gnome) libglade;
-  };
-
-
-}
diff --git a/pkgs/applications/networking/browsers/netsurf/haru.nix b/pkgs/applications/networking/browsers/netsurf/haru.nix
deleted file mode 100644
index 7aa362c613fd..000000000000
--- a/pkgs/applications/networking/browsers/netsurf/haru.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-args: with args;
-stdenv.mkDerivation {
-
-  name = "netsurf-haru-trunk";
-
-  # REGION AUTO UPDATE:     { name="netsurf_haru"; type = "svn"; url = "svn://svn.netsurf-browser.org/trunk/libharu"; groups = "netsurf_group"; }
-  src= sourceFromHead "netsurf_haru-9721.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/netsurf_haru-9721.tar.gz"; sha256 = "8113492823e1069f428ef8970c2c7a09b4c36c645480ce81f8351331ce097656"; });
-  # END
-
-  preConfigure = "cd upstream";
-  configureFlags = "--with-zlib=${zlib} --with-png=${libpng}";
-
-  buildInputs = [zlib libpng];
-
-  installPhase = "make PREFIX=$out install";
-
-  meta = {
-    description = "cross platform, open source library for generating PDF files";
-    homepage = http://libharu.org/wiki/Main_Page;
-    license = with stdenv.lib.licenses; [ libpng zlib ];
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/netsurf/libCSS.nix b/pkgs/applications/networking/browsers/netsurf/libCSS.nix
deleted file mode 100644
index 99192fda113a..000000000000
--- a/pkgs/applications/networking/browsers/netsurf/libCSS.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-args: with args;
-stdenv.mkDerivation {
-  name = "libCSS-devel";
-
-  # REGION AUTO UPDATE:       { name="libCSS"; type = "svn"; url = "svn://svn.netsurf-browser.org/trunk/libcss"; groups = "netsurf_group"; }
-  src= sourceFromHead "libCSS-9721.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/libCSS-9721.tar.gz"; sha256 = "47b44653f7b53c21da6224ffb1f81df934cc711d6a5795c5584755a8bd48e5ac"; });
-  # END
-
-  installPhase = "make PREFIX=$out install";
-  buildInputs = [pkgconfig libParserUtils libwapcaplet];
-
-  meta = { 
-    description = "A CSS parser and selection engine, written in C"; # used by netsurf
-    homepage = http://www.netsurf-browser.org/projects/libcss/;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix b/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix
deleted file mode 100644
index 3c2b7693be7f..000000000000
--- a/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-args: with args;
-stdenv.mkDerivation {
-  name = "libParserUtils-0.0.1";
-
-  src = fetchurl {
-    url = http://www.netsurf-browser.org/projects/releases/libparserutils-0.0.1-src.tar.gz;
-    sha256 = "0r9ia32kgvcfjy82xyiyihyg9yhh3l9pdzk6sp6d6gh2sbglxvas";
-  };
-
-  installPhase = "make PREFIX=$out install";
-  buildInputs = [pkgconfig];
-
-  meta = { 
-    description = "A library for building efficient parsers, written in C";
-    homepage = http://www.netsurf-browser.org/projects/libparserutils/;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
deleted file mode 100644
index 083850bb5450..000000000000
--- a/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-args: with args;
-stdenv.mkDerivation {
-  name = "libnsbmp-0.0.1";
-
-  src = fetchurl {
-    url = http://www.netsurf-browser.org/projects/releases/libnsbmp-0.0.1-src.tar.gz;
-    sha256 = "1ldng20w5f725rhfns3v58x1mh3d93zwrx4c8f88rsm6wym14ka2";
-  };
-
-  installPhase = "make PREFIX=$out install";
-  buildInputs = [];
-
-  meta = { 
-    description = "A decoding library for BMP and ICO image file formats"; # used by netsurf
-    homepage = http://www.netsurf-browser.org/projects/libnsbmp/;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
deleted file mode 100644
index 5e2acb4f313f..000000000000
--- a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-args: with args;
-stdenv.mkDerivation {
-  name = "libnsgif-0.0.1";
-
-  src = fetchurl {
-    url = http://www.netsurf-browser.org/projects/releases/libnsgif-0.0.1-src.tar.gz;
-    sha256 = "0lnvyhfdb9dm979fly33mi2jlf2rfx9ldx93viawvana63sidwsl";
-  };
-
-  installPhase = "make PREFIX=$out install";
-  buildInputs = [];
-
-  meta = {
-    description = "A decoding library for gif image file formats"; # used by netsurf
-    homepage = http://www.netsurf-browser.org/projects/libnsgif/;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
deleted file mode 100644
index 1e9f74a1ffd4..000000000000
--- a/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-args: with args;
-stdenv.mkDerivation {
-  name = "libsvgtiny-devel";
-
-  # REGION AUTO UPDATE:      { name="libsvgtiny"; type = "svn"; url = "svn://svn.netsurf-browser.org/trunk/libsvgtiny"; groups = "netsurf_group"; }
-  src= sourceFromHead "libsvgtiny-9721.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/libsvgtiny-9721.tar.gz"; sha256 = "0c4c8e357c220218a32ef789eb2ba8226a403d4c2b550d7c65f351a0af5d1a71"; });
-  # END
-
-  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
-
-  installPhase = "make PREFIX=$out install";
-  buildInputs = [pkgconfig gperf libxml2];
-
-  meta = { 
-    description = "implementation of SVG Tiny, written in C";
-    homepage = http://www.netsurf-browser.org/projects/libsvgtiny/;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
deleted file mode 100644
index a4cd09d1d860..000000000000
--- a/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-args: with args;
-stdenv.mkDerivation {
-  name = "libwapcaplet-devel";
-
-  # REGION AUTO UPDATE:     { name="libwapcaplet"; type = "svn"; url = "svn://svn.netsurf-browser.org/trunk/libwapcaplet"; groups = "netsurf_group"; }
-  src= sourceFromHead "libwapcaplet-9721.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/libwapcaplet-9721.tar.gz"; sha256 = "7f9f32ca772c939d67f3bc8bf0705544c2b2950760da3fe6a4e069ad0f77d91a"; });
-  # END
-
-  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
-
-  installPhase = "make PREFIX=$out install";
-  buildInputs = [];
-
-  meta = { 
-    description = "A string internment library, written in C";
-    homepage = http://www.netsurf-browser.org/projects/libwapcaplet/;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/netsurf/netsurf.nix b/pkgs/applications/networking/browsers/netsurf/netsurf.nix
deleted file mode 100644
index f7e90b61a941..000000000000
--- a/pkgs/applications/networking/browsers/netsurf/netsurf.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-args: with args;
-stdenv.mkDerivation {
-
-  name = "netsurf-devel";
-  # REGION AUTO UPDATE:      { name="netsurf"; type = "svn"; url = "svn://svn.netsurf-browser.org/trunk/netsurf"; groups = "netsurf_group"; }
-  src= sourceFromHead "netsurf-9721.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/netsurf-9721.tar.gz"; sha256 = "4705f059596fbd95b1a80d9a6c5d08daf051fd0e5e868ccd40b30af8a45e8f56"; });
-  # END
-
-  # name = "netsurf-2.1";
-  /*
-  src = fetchurl {
-    url = http://www.netsurf-browser.org/downloads/releases/netsurf-2.1-src.tar.gz;
-    sha256 = "10as2skm0pklx8bb8s0z2hh72f17snavkhj7dhi8r4sjr10wz8nd";
-  };
-  */
-
-  buildInputs = [pkgconfig
-    libnsbmp libnsgif libwapcaplet libsvgtiny hubub libParserUtils
-    curl libpng libxml2 lcms glib libharu libmng
-    gtk libglade libCSS];
-
-  buildPhase = "make PREFIX=$out";
-  installPhase = "make PREFIX=$out install";
-
-  meta = with args.lib; {
-    description = "free, open source web browser";
-    homepage = http://www.netsurf-browser.org;
-    license = with licenses; [
-      gpl2
-      mit /* visual work */
-    ];
-    maintainers = with maintainers; [ marcweber ];
-    platforms = platforms.linux;
-  };
-
-}
-
diff --git a/pkgs/applications/networking/browsers/surf/default.nix b/pkgs/applications/networking/browsers/surf/default.nix
new file mode 100644
index 000000000000..fcaaec63b9e6
--- /dev/null
+++ b/pkgs/applications/networking/browsers/surf/default.nix
@@ -0,0 +1,42 @@
+{stdenv, fetchurl, makeWrapper, gtk, webkit, pkgconfig, glib, glib_networking, libsoup, gsettings_desktop_schemas, patches ? null}:
+
+stdenv.mkDerivation rec {
+  name = "surf-${version}";
+  version="0.7";
+
+  src = fetchurl {
+    url = "http://dl.suckless.org/surf/surf-${version}.tar.gz";
+    sha256 = "0jj93izd8fizxfa6ln9w1h9bwki81sz5dhskh5x1rl34zd38aq4m";
+  };
+
+  buildInputs = [ gtk makeWrapper webkit gsettings_desktop_schemas pkgconfig glib libsoup ];
+
+  # Allow users set their own list of patches
+  inherit patches;
+
+  buildPhase = " make ";
+
+  # `-lX11' to make sure libX11's store path is in the RPATH
+  NIX_LDFLAGS = "-lX11";
+  preConfigure = ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'';
+  installFlags = [ "PREFIX=/" "DESTDIR=$(out)" ];
+
+  preFixup = ''
+    wrapProgram "$out/bin/surf" \
+      --prefix GIO_EXTRA_MODULES : ${glib_networking.out}/lib/gio/modules \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = {
+    description = "Simple web browser";
+    longDescription = ''
+      Surf is a simple web browser based on WebKit/GTK+. It is able to display
+      websites and follow links. It supports the XEmbed protocol which makes it
+      possible to embed it in another application. Furthermore, one can point
+      surf to another URI by setting its XProperties.
+      '';
+    homepage = http://surf.suckless.org;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
index d67c8abf4569..ddaaa68f60d4 100644
--- a/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "vimb-${version}";
-  version = "2.9";
+  version = "2.11";
 
   src = fetchurl {
     url = "https://github.com/fanglingsu/vimb/archive/${version}.tar.gz";
-    sha256 = "0h9m5qfs09lb0dz8a79yccmm3a5rv6z8gi5pkyfh8fqkgkh2940p";
+    sha256 = "0d9rankzgmnx5423pyfkbxy0qxw3ck2vrdjdnlhddy15wkk87i9f";
   };
 
   buildInputs = [ makeWrapper gtk libsoup pkgconfig webkit gsettings_desktop_schemas ];
diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix
index 6f37477c1b37..076b3faf11f5 100644
--- a/pkgs/applications/networking/browsers/w3m/default.nix
+++ b/pkgs/applications/networking/browsers/w3m/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, fetchpatch
+{ stdenv, fetchgit, fetchpatch
 , ncurses, boehmgc, gettext, zlib
 , sslSupport ? true, openssl ? null
 , graphicsSupport ? true, imlib2 ? null
 , x11Support ? graphicsSupport, libX11 ? null
 , mouseSupport ? !stdenv.isDarwin, gpm-ncurses ? null
-, perl, man
+, perl, man, pkgconfig
 }:
 
 assert sslSupport -> openssl != null;
@@ -15,11 +15,12 @@ assert mouseSupport -> gpm-ncurses != null;
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "w3m-0.5.3";
+  name = "w3m-0.5.3-2015-12-20";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/w3m/${name}.tar.gz";
-    sha256 = "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579";
+  src = fetchgit {
+    url = "git://anonscm.debian.org/collab-maint/w3m.git";
+    rev = "e0b6e022810271bd0efcd655006389ee3879e94d";
+    sha256 = "1vahm3719hb0m20nc8k88165z35f8b15qasa0whhk78r12bls1q6";
   };
 
   NIX_LDFLAGS = optionalString stdenv.isSunOS "-lsocket -lnsl";
@@ -29,44 +30,17 @@ stdenv.mkDerivation rec {
   PERL = "${perl}/bin/perl";
   MAN = "${man}/bin/man";
 
-  # the Arch patches were pulled from:
-  # https://aur.archlinux.org/cgit/aur.git/?h=w3m-mouse
   patches = [
     ./RAND_egd.libressl.patch
     (fetchpatch {
-      name = "file_handle.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/file_handle.patch?h=w3m-mouse&id=5b5f0fbb59f674575e87dd368fed834641c35f03";
-      sha256 = "0kkqm68ig9d658kf1iwa1dwcf651f6dy2j98gplcks1mn3bdlak4";
-    })
-    (fetchpatch {
-      name = "form_unknown.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/form_unknown.patch?h=w3m-mouse&id=5b5f0fbb59f674575e87dd368fed834641c35f03";
-      sha256 = "1mbfclid3bihb1xv7sxcahprn3slzd6ga8rjzlq4rbq80bl053fw";
-    })
-    (fetchpatch {
-      name = "gc72.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/gc72.patch?h=w3m-mouse&id=5b5f0fbb59f674575e87dd368fed834641c35f03";
-      sha256 = "1n6anaw17by0s6rn25bwkgj2mck7ffspizpwbijvx1ynk451459a";
-    })
-    (fetchpatch {
       name = "https.patch";
       url = "https://aur.archlinux.org/cgit/aur.git/plain/https.patch?h=w3m-mouse&id=5b5f0fbb59f674575e87dd368fed834641c35f03";
       sha256 = "08skvaha1hjyapsh8zw5dgfy433mw2hk7qy9yy9avn8rjqj7kjxk";
     })
-    (fetchpatch {
-      name = "perl.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/perl.patch?h=w3m-mouse&id=5b5f0fbb59f674575e87dd368fed834641c35f03";
-      sha256 = "15cq7cwh0d2v64i8by44rgxw48156sgh872921hxrqdakr95p3gy";
-    })
-    (fetchpatch {
-      name = "w3m_rgba.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/w3m_rgba.patch?h=w3m-mouse&id=5b5f0fbb59f674575e87dd368fed834641c35f03";
-      sha256 = "1dhp1p6z621ayyl9zip9w35x2cxyhhj72jv5dvf0zp4rk6cjm781";
-    })
   ] ++ optional (graphicsSupport && !x11Support) [ ./no-x11.patch ]
     ++ optional stdenv.isCygwin ./cygwin.patch;
 
-  buildInputs = [ncurses boehmgc gettext zlib]
+  buildInputs = [ pkgconfig ncurses boehmgc gettext zlib ]
     ++ optional sslSupport openssl
     ++ optional mouseSupport gpm-ncurses
     ++ optional graphicsSupport imlib2
diff --git a/pkgs/applications/networking/cluster/panamax/api/default.nix b/pkgs/applications/networking/cluster/panamax/api/default.nix
index dcfef83f1bec..6e20f7c23038 100644
--- a/pkgs/applications/networking/cluster/panamax/api/default.nix
+++ b/pkgs/applications/networking/cluster/panamax/api/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, buildEnv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler_HEAD
+{ stdenv, buildEnv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler
 , ruby, libxslt, libxml2, sqlite, openssl, docker
-, dataDir ? "/var/lib/panamax-api" }:
+, dataDir ? "/var/lib/panamax-api" }@args:
 
 with stdenv.lib;
 
@@ -14,9 +14,9 @@ stdenv.mkDerivation rec {
     gemset = ./gemset.nix;
     gemfile = ./Gemfile;
     lockfile = ./Gemfile.lock;
-    buildInputs = [ openssl ];
   };
-  bundler = bundler_HEAD.override { inherit ruby; };
+
+  bundler = args.bundler.override { inherit ruby; };
 
   database_yml = builtins.toFile "database.yml" ''
     production:
diff --git a/pkgs/applications/networking/cluster/panamax/ui/default.nix b/pkgs/applications/networking/cluster/panamax/ui/default.nix
index 3dac10613625..88e0efc18a64 100644
--- a/pkgs/applications/networking/cluster/panamax/ui/default.nix
+++ b/pkgs/applications/networking/cluster/panamax/ui/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler_HEAD
-, ruby, rubygemsFun, openssl, sqlite, dataDir ? "/var/lib/panamax-ui"}:
+{ stdenv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler
+, ruby, openssl, sqlite, dataDir ? "/var/lib/panamax-ui"}@args:
 
 with stdenv.lib;
 
@@ -13,10 +13,9 @@ stdenv.mkDerivation rec {
     gemset = ./gemset.nix;
     gemfile = ./Gemfile;
     lockfile = ./Gemfile.lock;
-    buildInputs = [ openssl ];
   };
 
-  bundler = bundler_HEAD.override { inherit ruby; };
+  bundler = args.bundler.override { inherit ruby; };
 
   src = fetchgit {
     rev = "refs/tags/v${version}";
diff --git a/pkgs/applications/networking/copy-com/default.nix b/pkgs/applications/networking/copy-com/default.nix
index c9fecd9daeda..21dc23739775 100644
--- a/pkgs/applications/networking/copy-com/default.nix
+++ b/pkgs/applications/networking/copy-com/default.nix
@@ -44,25 +44,19 @@ in stdenv.mkDerivation {
       patchelf --set-interpreter ${stdenv.glibc.out}/lib/${interpreter} "$binary"
     done
 
-    # Older versions of this package happily installed broken copies of
-    # anything other than CopyConsole - which was then also mangled to
-    # copy_console for some reason. Keep backwards compatibility (only
-    # for CopyConsole) for now; the NixOS service is already fixed.
-    ln -sv "$out/bin"/{CopyConsole,copy_console}
-
     RPATH=${libPaths}:$out/${appdir}
     echo "Updating rpaths to $RPATH in:"
     find "$out/${appdir}" -type f -a -perm -0100 \
       -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://copy.com;
     description = "Copy.com graphical & command-line clients";
     # Closed Source unfortunately.
-    license = stdenv.lib.licenses.unfree;
-    maintainers = with stdenv.lib.maintainers; [ nathan-gs nckx ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ nathan-gs nckx ];
     # NOTE: Copy.com itself only works on linux, so this is ok.
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/feedreaders/newsbeuter/default.nix b/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
index 8158c458afc7..ec604e9918bf 100644
--- a/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsbeuter/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, sqlite, curl, pkgconfig, libxml2, stfl, json-c-0-11, ncurses
-, gettext, libiconv, makeWrapper, perl }:
+, gettext, libiconv, makeWrapper, perl, fetchpatch }:
 
 stdenv.mkDerivation rec {
   name = "newsbeuter-2.9";
@@ -22,6 +22,13 @@ stdenv.mkDerivation rec {
     export LDFLAGS=-lncursesw
   '';
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/akrennmair/newsbeuter/commit/cdacfbde9fe3ae2489fc96d35dfb7d263ab03f50.patch";
+      sha256 = "1lhvn63cqjpikwsr6zzndb1p5y140vvphlg85fazwx4xpzd856d9";
+    })
+  ];
+
   installFlags = [ "DESTDIR=$(out)" "prefix=" ];
 
   installPhase = stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/applications/networking/feedreaders/rawdog/default.nix b/pkgs/applications/networking/feedreaders/rawdog/default.nix
index 231b3195b5f0..749e1864fda9 100644
--- a/pkgs/applications/networking/feedreaders/rawdog/default.nix
+++ b/pkgs/applications/networking/feedreaders/rawdog/default.nix
@@ -1,21 +1,24 @@
 { stdenv, fetchurl, pythonPackages }:
 
+let version = "2.21"; in
 pythonPackages.buildPythonPackage rec {
-  name = "rawdog-2.20";
+  name = "rawdog-${version}";
 
   src = fetchurl {
     url = "http://offog.org/files/${name}.tar.gz";
-    sha256 = "0a63b26cc111b0deca441f498177b49be0330760c5c0e24584cdb9ba1e7fd5a6";
+    sha256 = "0f5z7b70pyhjl6s28hgxninsr86s4dj5ycd50sv6bfz4hm1c2030";
   };
 
   propagatedBuildInputs = with pythonPackages; [ feedparser ];
 
   namePrefix = "";
   
-  meta = {
+  meta = with stdenv.lib; {
+    inherit version;
     homepage = "http://offog.org/code/rawdog/";
-    description = "An RSS Aggregator Without Delusions Of Grandeur";
-    license = stdenv.lib.licenses.gpl2;
-    platform = stdenv.lib.platforms.unix;
+    description = "RSS Aggregator Without Delusions Of Grandeur";
+    license = licenses.gpl2;
+    platform = platforms.unix;
+    maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index 2b60b3a7a463..a2f9ebc83173 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -4,11 +4,11 @@
 , gsm, speex, portaudio, spandsp, libuuid
 }:
 stdenv.mkDerivation rec {
-  version = "0.4.15";
+  version = "0.4.16";
   name = "baresip-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
-    sha256 = "13712li6y3ikwzl17j46w25xyv3z98yqj7zpr3jifyvbna9ls5r3";
+    sha256 = "04a9d7il39b1kfqh7al0g0q8v32hphgjx8gkixrlp5qsqlzvk876";
   };
   buildInputs = [zlib openssl libre librem pkgconfig
     cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index b2325e87e0d5..fa61876bf161 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -7,6 +7,7 @@
 , enableRST ? true
 , enableSpelling ? true, gtkspell ? null
 , enableNotifications ? false
+, extraPythonPackages ? pkgs: []
 }:
 
 assert enableJingle -> farstream != null && gst_plugins_bad != null
@@ -20,11 +21,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "gajim-${version}";
-  version = "0.16.4";
+  version = "0.16.5";
 
   src = fetchurl {
     url = "http://www.gajim.org/downloads/0.16/gajim-${version}.tar.bz2";
-    sha256 = "0zyfs7q1qg8iqszr8l1gb18gqla6zrrfsgpmbxblpi9maqxas5i1";
+    sha256 = "14fhcqnkqygh91132dnf1idayj4r3iqbwb44sd3mxv20n6ribh55";
   };
 
   patches = [
@@ -61,7 +62,8 @@ stdenv.mkDerivation rec {
   ] ++ optionals enableJingle [ farstream gst_plugins_bad libnice ]
     ++ optional enableE2E pythonPackages.pycrypto
     ++ optional enableRST pythonPackages.docutils
-    ++ optional enableNotifications pythonPackages.notify;
+    ++ optional enableNotifications pythonPackages.notify
+    ++ extraPythonPackages pythonPackages;
 
   postInstall = ''
     install -m 644 -t "$out/share/gajim/icons/hicolor" \
diff --git a/pkgs/applications/networking/instant-messengers/gale/default.nix b/pkgs/applications/networking/instant-messengers/gale/default.nix
new file mode 100644
index 000000000000..65f6cab6e81c
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/gale/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, adns, boehmgc, openssl, automake, m4, autoconf
+, libtool, pkgconfig }:
+
+stdenv.mkDerivation {
+  name = "gale-1.1happy";
+
+  src = fetchFromGitHub {
+    owner = "grawity";
+    repo = "gale";
+    rev = "b34a67288e8bd6f0b51b60abb704858172a3665c";
+    sha256 = "19mcisxxqx70m059rqwv7wpmp94fgyckzjwywpmdqd7iwvppnsqf";
+  };
+
+  nativeBuildInputs = [ m4 libtool automake autoconf ];
+  buildInputs = [ boehmgc openssl adns pkgconfig ];
+
+  patches = [ ./gale-install.in.patch ];
+
+  preConfigure = ''
+    substituteInPlace configure.ac --replace \$\{sysconfdir\} /etc
+    ./bootstrap
+  '';
+  configureArgs = [ "--sysconfdir=/etc" ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://gale.org/";
+    description = "chat/messaging system (server and client)";
+    platforms = platforms.all;
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/gale/gale-install.in.patch b/pkgs/applications/networking/instant-messengers/gale/gale-install.in.patch
new file mode 100644
index 000000000000..f9c3e3c55922
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/gale/gale-install.in.patch
@@ -0,0 +1,339 @@
+diff --git a/gale-install.in b/gale-install.in
+index 50e8ad8..eec0ed2 100644
+--- a/gale-install.in
++++ b/gale-install.in
+@@ -29,22 +29,78 @@ testkey_stdin() {
+ 	gkinfo -x 2>/dev/null | qgrep "^Public key: <$1>"
+ }
+ 
+-if [ -n "$GALE_SYS_DIR" ]; then
+-	SYS_DIR="$GALE_SYS_DIR"
+-elif [ -n "$sysconfdir" ]; then
+-	SYS_DIR="$sysconfdir/gale"
++INST_SYS_DIR="$sysconfdir/gale"
++
++if [ `id -u` -eq 0 ]; then
++	is_root=yes
++	SYS_DIR=/etc/gale
++else
++	is_root=no
++	SYS_DIR="$HOME/.gale"
++fi
++
++if [ -f /etc/NIXOS ]; then
++	is_nixos=yes
++else
++	is_nixos=no
++fi
++
++if [ -u /var/setuid-wrappers/gksign ]; then
++	cat <<EOM
++
++Gale appears to have already been set up via the NixOS module system (check
++/etc/nixos/configuration.nix).
++
++EOM
++
++	exit 0
++fi
++
++if [ $is_root = yes ]; then
++	cat <<EOM
++
++You are running gale-install as root, so I'm going to assume you want to set up
++Gale for system-wide use.  Unfortunately, Gale expects to be able to run the
++"gksign" program via setuid, and we can't change gksign's permissions once it's
++already been installed because the Nix store is immutable by design.
++
++EOM
++
++	if [ $is_nixos = no ]; then
++		cat <<EOM
++
++This isn't a NixOS system.  Gale can only be installed for a single user on
++non-NixOS systems.  If you want a system-wide installation, you'll have to
++install Gale the old-fashioned way.  Sorry.
++
++EOM
++
++		exit 1
++	fi
++	cat <<EOM
++
++This script will generate a domain key for you, and after you get it signed, you
++can finish the setup process by configuring Gale via the NixOS module system
++(i.e. /etc/nixos/configuration.nix).
++
++EOM
++
+ else
+-	echo "Error: cannot locate Gale system configuration directory."
+-	exit 1
++	cat <<EOM
++
++Hi.  You are running gale-install as a normal user, so I'm going to assume you
++want to set up Gale for your own (i.e. non-system-wide) use.
++
++EOM
++
+ fi
+ 
+-CONF="$SYS_DIR/conf"
+ umask 022
+-PATH="$bindir:$sbindir:$PATH:/usr/ucb"
++PATH="$bindir:$sbindir:$PATH"
+ export PATH
+ 
+-if [ -f "$CONF" ]; then
+-	exec 3<"$CONF"
++if [ -n "$SYS_DIR" ] && [ -f "$SYS_DIR/conf" ]; then
++	exec 3<"$SYS_DIR/conf"
+ 
+ 	while read var value <&3 ; do
+ 		case "$var" in
+@@ -58,52 +114,14 @@ if [ -f "$CONF" ]; then
+ 	exec 3<&-
+ fi
+ 
+-USER="`whoami`"
+-if [ -z "$USER" ]; then
+-	echo "Error: cannot determine your username."
+-	exit 1
+-fi
+-
+-# -----------------------------------------------------------------------------
+-# check directory structure
+-
+-if [ ! -d "$SYS_DIR" ]; then
+-	echo "Error: Invalid SYS_DIR: \"$SYS_DIR\"."
+-	exit 1
+-fi
+-
+ # -----------------------------------------------------------------------------
+-# get settings for important variables: user, domain, server
++# get settings for important variables: domain, server
+ 
+-[ -n "$CONF_GALE_USER" ] && GALE_USER="$CONF_GALE_USER"
+ [ -n "$CONF_GALE_DOMAIN" ] && GALE_DOMAIN="$CONF_GALE_DOMAIN"
+ [ -n "$CONF_GALE_SERVER" ] && GALE_SERVER="$CONF_GALE_SERVER"
+ 
+-if [ -z "$GALE_USER" ]; then
+-cat << EOM
+-
+-Hi.  You need to denote a user to own the Gale domain secret key.  You must
+-trust this user with Gale authentication for your domain; the "gksign" program
+-will run as this user.  I recommend using a special "gale" user; if you don't
+-have administrative privileges here, you'll probably have to use your own
+-account.  I do not recommend the use of "root".
+-
+-No harm done if you stop this script now to set up such a user.
+-
+-EOM
+-
+-	printf "Enter the Gale username: "
+-	read GALE_USER
+-	if [ -z "$GALE_USER" ]; then
+-		echo "Error: Invalid username or no home dir: \"$GALE_USER\"."
+-		exit 1
+-	fi
+-else
+-	echo "Using \"$GALE_USER\" as the Gale owner."
+-fi
+-
+ if [ -z "$GALE_DOMAIN" ] ; then
+-cat << EOM
++	cat << EOM
+ 
+ You need to identify the name of your Gale domain for two purposes:
+ 
+@@ -140,97 +158,56 @@ else
+ fi
+ 
+ # -----------------------------------------------------------------------------
+-# create configuration file
+-
+-if [ ! -f "$CONF" ]; then
+-cat > "$CONF" <<EOM
+-# $CONF -- created by Gale installer; edit to suit.
+-EOM
++# create configuration file (if this is a single-user setup)
++
++if [ $is_root = no ]; then
++	CONF="$SYS_DIR/conf"
++
++	if [ ! -d "$SYS_DIR" ]; then
++		run mkdir -m 0700 -p "$SYS_DIR"
++		run mkdir -m 0700 -p "$SYS_DIR/auth"
++		run mkdir -m 0755 -p "$SYS_DIR/auth/trusted"
++		run cp -f "$INST_SYS_DIR/auth/trusted/ROOT" "$SYS_DIR/auth/trusted"
++		run mkdir -m 0700 -p "$SYS_DIR/auth/private"
++		run mkdir -p "$SYS_DIR/auth/local" "$SYS_DIR/auth/cache"
++	fi
+ 
+-cat <<EOM
++	if [ ! -f "$CONF" ]; then
++		cat <<EOM
+ 
+ *** Creating "$CONF".
+ Examine and edit this file to your taste and local needs.
+ If you want to recreate it from scratch, remove it and re-run this.
+-EOM
+-fi
+-
+-[ -n "$CONF_GALE_USER" ] || cat >> "$CONF" <<EOM
+ 
+-# The user who owns the domain secret key.  (Used in installation and upgrade)
+-GALE_USER $GALE_USER
+ EOM
+ 
+-[ -n "$CONF_GALE_DOMAIN" ] || cat >> "$CONF" << EOM
++		cat > "$CONF" <<EOF
++# $CONF -- created by Gale installer; edit to suit.
+ 
+ # The authentication domain to use.  (Mandatory)
+ GALE_DOMAIN $GALE_DOMAIN
+-EOM
+-
+-# -----------------------------------------------------------------------------
+-# make gksign setuid
++EOF
+ 
+-gksign="$sbindir/gksign"
+-readlink="`which readlink 2>/dev/null`"
+-[ -x "$readlink" ] && gksignlink="`"$readlink" "$gksign" 2>/dev/null`"
+-[ -f "$gksignlink" ] && gksign="$gksignlink"
+-
+-echo ""
+-if copy chown "$GALE_USER" "$gksign" ; then
+-	:
+-else
+-	echo "*** We need to chown $GALE_USER '$gksign'."
+-	echo "    Please run this script as a user that can do so,"
+-	echo "    or do so yourself and re-run this script."
+-	exit 1
++	fi
+ fi
+-run chmod 4755 "$gksign"
+ 
+-# -----------------------------------------------------------------------------
+-# create a domain, if necessary
++if [ $is_root = no ]; then
++	GALE_SYS_DIR="$SYS_DIR"
++	export GALE_SYS_DIR
+ 
+-echo ""
+-if test -u "$gksign" || copy chmod u+s "$gksign" ; then
+-	:
++	testkey "$GALE_DOMAIN" && exit 0
++	echo "*** You lack a signed key for your domain, \"$GALE_DOMAIN\"."
++	GALE="$SYS_DIR"
+ else
+-	echo "*** We need to chmod u+s '$gksign'."
+-	echo "    Please run this script as a user that can do so,"
+-	echo "    or do so yourself and re-run this script."
+-	exit 1
+-fi
+-
+-testkey "$GALE_DOMAIN" && exit 0
+-echo "*** You lack a signed key for your domain, \"$GALE_DOMAIN\"."
+-
+-if [ "x$GALE_USER" != "x$USER" ]; then
+-cat <<EOM
+-Become user "$GALE_USER" (you are now "$USER") and run this script again
+-to create a new domain; contact your domain administrator if you wish to 
+-become part of an existing domain.
+-EOM
+-	exit 1
+-fi
+-
+-if [ -z "$HOME" ]; then
+-	cd
+-	HOME="`pwd`"
+-	echo "Warning: \$HOME not set, assuming \"$HOME\"."
+-fi
+-
+-GALE="$HOME/.gale"
+-mkdir -p "$GALE"
+-if [ ! -w "$GALE" ]; then
+-	echo "Error: Cannot create \"$GALE\"."
+-	exit 1
++	GALE="`pwd`"
+ fi
+ 
+ unsigned="$GALE/$GALE_DOMAIN.unsigned"
+ signer="`echo "$GALE_DOMAIN" | sed 's%^[^.@:/]*[.@:/]%%'`"
+ [ -z "$signer" ] && signer="ROOT"
+ 
+-if [ -f "$unsigned" ]; then
+-
+-cat << EOM
++if [ $is_root = no ] && [ -f "$unsigned" ]; then
++	cat << EOM
+ 
+ Okay, so we've already been here.  Last time, I created the file
+ "$unsigned" for you to have signed.
+@@ -275,16 +252,12 @@ EOM
+ 		exit 1
+ 	fi
+ 
+-cat << EOM
+-
+-The domain should be properly configured now.  Assuming users can access a
+-version of "gksign" setuid to "$GALE_USER" (this user), they should be
+-able to start running clients and generating IDs for themselves.
++	cat << EOM
+ 
+-The installation process is complete!
++The domain should be properly configured now.  The installation process is
++complete!
+ 
+ EOM
+-
+ 	exit 0
+ fi
+ 
+@@ -300,7 +273,10 @@ printf "Enter the description: "
+ read descr
+ 
+ echo "We will generate the key now.  Have patience."
+-gkgen -r "$GALE/auth/private/$GALE_DOMAIN.gpri" \
++if [ $is_root = no ]; then
++	install_gpri=auth/private/
++fi
++gkgen -r "$GALE/${install_gpri}$GALE_DOMAIN.gpri" \
+       -u "$unsigned" "$GALE_DOMAIN" /"$descr" || exit 1
+ 
+ cat << EOM
+@@ -311,8 +284,29 @@ the owner of the "$signer" domain through appropriate means.
+ Take care to preseve the file's binary data; you may need to uuencode it.
+ 
+ Assuming they trust you with your subdomain, they should pass the key through
+-"gksign" as a filter, returning the signed output to you.  When you have this
+-signed key file available, re-run this script, and we will move on to the
+-next step.
++"gksign" as a filter, returning the signed output to you.
++
++EOM
++
++if [ $is_nixos = yes ]; then
++	cat <<EOM
++
++When you have this signed key file available, you can finish the setup process
++by placing the private key and signed public key in a directory (they will be
++copied) and setting "services.gale.keyPath" in /etc/nixos/configuration.nix.
+ 
+ EOM
++else
++	cat <<EOM
++
++When you have this signed key file available, re-run this script, and we will
++move on to the next step.
++
++*** IMPORTANT ***
++You must set GALE_SYS_DIR="$GALE_SYS_DIR" in your environment before re-running
++this script and before running any Gale programs once setup is finished!  Make
++sure to set it now, and consider setting it via your shell initialization files
++so that you don't forget to do it next login.
++
++EOM
++fi
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
index 7cfa12eccb4d..367c837228a7 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
@@ -1,5 +1,4 @@
-{ stdenv, fetchFromGitHub, libtoxcore, pidgin, autoconf, automake, libtool
-, libsodium } :
+{ stdenv, fetchFromGitHub, libtoxcore, pidgin, autoreconfHook, libsodium }:
 
 let
   version = "dd181722ea";
@@ -17,11 +16,9 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = "-lssp -lsodium";
 
-  preConfigure = "autoreconf -vfi";
-
   postInstall = "mv $out/lib/purple-2 $out/lib/pidgin";
 
-  buildInputs = [ libtoxcore pidgin autoconf automake libtool libsodium ];
+  buildInputs = [ libtoxcore pidgin autoreconfHook libsodium ];
 
   meta = {
     homepage = http://tox.dhs.org/;
diff --git a/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix b/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix
new file mode 100644
index 000000000000..c19b5ff31f9d
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, python, pythonPackages, pyqt4, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "pybitmessage-${version}";
+
+  version = "0.4.4";
+
+  src = fetchFromGitHub {
+    owner = "bitmessage";
+    repo = "PyBitmessage";
+    rev = "v${version}";
+    sha256 = "1f4h0yc1mfjnxzvxiv9hxgak59mgr3a5ykv50vlyiay82za20jax";
+  };
+
+  buildInputs = [ python pyqt4 openssl pythonPackages.wrapPython pythonPackages.sqlite3 ];
+
+  preConfigure = ''
+    substituteInPlace Makefile \
+      --replace "PREFIX?=/usr/local" "" \
+      --replace "/usr" ""
+  '';
+
+  makeFlags = [ "DESTDIR=$(out)" ];
+
+  postInstall = ''
+    substituteInPlace $out/bin/pybitmessage \
+      --replace "exec python2" "exec ${python}/bin/python" \
+      --replace "/opt/openssl-compat-bitcoin/lib/" "${openssl}/lib/"
+    wrapProgram $out/bin/pybitmessage \
+      --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://bitmessage.org/;
+    description = "The official Bitmessage client";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jgillich ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
index 0a7b44ba8cbc..72619e417adb 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -1,26 +1,27 @@
 { stdenv, fetchgit, pkgconfig, libtoxcore-dev, openal, opencv,
   libsodium, libXScrnSaver, glib, gdk_pixbuf, gtk2, cairo,
   pango, atk, qrencode, ffmpeg, filter-audio, makeWrapper,
-  qtbase, qtsvg, qttools, qttranslations }:
+  qtbase, qtsvg, qttools, qttranslations, sqlcipher }:
 
 let
-  revision = "1673b43e26c853f6446f228fec083af166cbf446";
+  revision = "8b671916abdcc1d553a367a502b23ec4ea7568a1";
 in
 
 stdenv.mkDerivation rec {
-  name = "qtox-dev-20150925";
+  name = "qtox-dev-20151221";
 
   src = fetchgit {
       url = "https://github.com/tux3/qTox.git";
       rev = "${revision}";
-      md5 = "785f5b305cdcdf777d93ee823a5b9f49";
+      md5 = "a93a63d35e506be4b21abda0986f19e7";
   };
 
   buildInputs =
     [
       libtoxcore-dev openal opencv libsodium filter-audio
-      qtbase qttools libXScrnSaver glib gtk2 cairo
+      qtbase qttools qtsvg libXScrnSaver glib gtk2 cairo
       pango atk qrencode ffmpeg qttranslations makeWrapper
+      sqlcipher
     ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix
index 17a7f11cccea..61b7e8ec5105 100644
--- a/pkgs/applications/networking/instant-messengers/utox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/utox/default.nix
@@ -1,35 +1,38 @@
-{ stdenv, fetchFromGitHub, pkgconfig, libtoxcore, dbus, libvpx, libX11, openal, freetype, libv4l
-, libXrender, fontconfig, libXext, libXft }:
+{ stdenv, fetchFromGitHub, pkgconfig, libtoxcore-dev, dbus, libvpx, libX11, openal, freetype, libv4l
+, libXrender, fontconfig, libXext, libXft, utillinux, git, libsodium }:
 
 let
 
   filteraudio = stdenv.mkDerivation rec {
-    name = "filter_audio-20150128";
+    name = "filter_audio-20150516";
 
     src = fetchFromGitHub {
       owner = "irungentoo";
       repo = "filter_audio";
-      rev = "76428a6cda";
-      sha256 = "0c4wp9a7dzbj9ykfkbsxrkkyy0nz7vyr5map3z7q8bmv9pjylbk9";
+      rev = "612c5a102550c614e4c8f859e753ea64c0b7250c";
+      sha256 = "0bmf8dxnr4vb6y36lvlwqd5x68r4cbsd625kbw3pypm5yqp0n5na";
     };
 
+    buildInputs = [ utillinux ];
+
     doCheck = false;
 
     makeFlags = "PREFIX=$(out)";
   };
 
 in stdenv.mkDerivation rec {
-  name = "utox-dev-20150130";
+  name = "utox-dev-20151220";
 
   src = fetchFromGitHub {
-    owner = "notsecure";
+    owner = "GrayHatter";
     repo = "uTox";
-    rev = "cb7b8d09b08";
-    sha256 = "0vg9h07ipwyf7p54p43z9bcymy0skiyjbm7zvyjg7r5cvqxv1vpa";
+    rev = "7e2907470835746b6819d631b48dd54bc9c4de66";
+    sha256 = "074wa0np8hyqwy9xqgyyds94pdfv2i1jh019m98d8apxc5vn36wk";
   };
 
-  buildInputs = [ pkgconfig libtoxcore dbus libvpx libX11 openal freetype
-                  libv4l libXrender fontconfig libXext libXft filteraudio ];
+  buildInputs = [ pkgconfig libtoxcore-dev dbus libvpx libX11 openal freetype
+                  libv4l libXrender fontconfig libXext libXft filteraudio 
+                  git libsodium ];
 
   doCheck = false;
   
diff --git a/pkgs/applications/networking/irc/chatzilla/default.nix b/pkgs/applications/networking/irc/chatzilla/default.nix
index 765066bb4371..82d9912192ed 100644
--- a/pkgs/applications/networking/irc/chatzilla/default.nix
+++ b/pkgs/applications/networking/irc/chatzilla/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, firefox, makeWrapper }:
+{ stdenv, fetchurl, unzip, firefox-unwrapped, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "chatzilla-0.9.91";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/libexec/chatzilla
     unzip $src -d $out/libexec/chatzilla
 
-    makeWrapper ${firefox}/bin/firefox $out/bin/chatzilla \
+    makeWrapper ${firefox-unwrapped}/bin/firefox $out/bin/chatzilla \
       --add-flags "-app $out/libexec/chatzilla/application.ini"
 
     sed -i $out/libexec/chatzilla/application.ini -e 's/.*MaxVersion.*/MaxVersion=99.*/'
diff --git a/pkgs/applications/networking/irc/communi/default.nix b/pkgs/applications/networking/irc/communi/default.nix
new file mode 100644
index 000000000000..05a597199025
--- /dev/null
+++ b/pkgs/applications/networking/irc/communi/default.nix
@@ -0,0 +1,30 @@
+{ fetchgit, libcommuni, qt5, stdenv
+}:
+
+stdenv.mkDerivation rec {
+  name = "communi-${version}";
+  version = "2016-01-03";
+
+  src = fetchgit {
+    url = "https://github.com/communi/communi-desktop.git";
+    rev = "ad1b9a30ed6c51940c0d2714b126a32b5d68c876";
+    sha256 = "0gk6gck09zb44qfsal7bs4ln2vl9s9x3vfxh7jvfc7mmf7l3sspd";
+  };
+
+  buildInputs = [ libcommuni qt5.qtbase ];
+
+  enableParallelBuild = true;
+
+  configurePhase = ''
+    export QMAKEFEATURES=${libcommuni}/features
+    qmake -r COMMUNI_INSTALL_PREFIX=$out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A simple and elegant cross-platform IRC client";
+    homepage = https://github.com/communi/communi-desktop;
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ hrdinka ];
+  };
+}
diff --git a/pkgs/applications/networking/irc/hexchat/default.nix b/pkgs/applications/networking/irc/hexchat/default.nix
index dfe5c3b0182f..65d365b5981c 100644
--- a/pkgs/applications/networking/irc/hexchat/default.nix
+++ b/pkgs/applications/networking/irc/hexchat/default.nix
@@ -20,6 +20,11 @@ stdenv.mkDerivation rec {
     desktop_file_utils hicolor_icon_theme
   ];
 
+ #hexchat and heachat-text loads enchant spell checking library at run time and so it needs to have route to the path
+  patchPhase = ''
+    sed -i "s,libenchant.so.1,${enchant}/lib/libenchant.so.1,g" src/fe-gtk/sexy-spell-entry.c
+  '';
+
   configureFlags = [ "--enable-shm" "--enable-textfe" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/irc/xchat/default.nix b/pkgs/applications/networking/irc/xchat/default.nix
deleted file mode 100644
index 1999bd030cbc..000000000000
--- a/pkgs/applications/networking/irc/xchat/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{stdenv, fetchurl, pkgconfig, tcl, gtk}:
-
-stdenv.mkDerivation {
-  name = "xchat-2.8.8";
-  src = fetchurl {
-    url = http://www.xchat.org/files/source/2.8/xchat-2.8.8.tar.bz2;
-    sha256 = "0d6d69437b5e1e45f3e66270fe369344943de8a1190e498fafa5296315a27db0";
-  };
-  buildInputs = [pkgconfig tcl gtk];
-  configureFlags = "--disable-nls";
-
-  patches = [ ./glib-top-level-header.patch ];
-
-  meta = {
-    description = "IRC client using GTK";
-    homepage = http://www.xchat.org;
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/applications/networking/irc/xchat/glib-top-level-header.patch b/pkgs/applications/networking/irc/xchat/glib-top-level-header.patch
deleted file mode 100644
index b1413b357537..000000000000
--- a/pkgs/applications/networking/irc/xchat/glib-top-level-header.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff -Naur xchat-2.8.8-orig/src/common/dbus/dbus-plugin.c xchat-2.8.8/src/common/dbus/dbus-plugin.c
---- xchat-2.8.8-orig/src/common/dbus/dbus-plugin.c	2009-08-16 05:40:15.000000000 -0400
-+++ xchat-2.8.8/src/common/dbus/dbus-plugin.c	2012-07-15 23:07:33.678948703 -0400
-@@ -24,7 +24,7 @@
- #include <config.h>
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
--#include <glib/gi18n.h>
-+#include <glib.h>
- #include "../xchat-plugin.h"
- 
- #define PNAME _("remote access")
-diff -Naur xchat-2.8.8-orig/src/common/modes.c xchat-2.8.8/src/common/modes.c
---- xchat-2.8.8-orig/src/common/modes.c	2010-05-29 21:52:18.000000000 -0400
-+++ xchat-2.8.8/src/common/modes.c	2012-07-15 23:07:33.654948723 -0400
-@@ -20,7 +20,7 @@
- #include <stdlib.h>
- #include <stdio.h>
- #include <glib.h>
--#include <glib/gprintf.h>
-+#include <glib.h>
- 
- #include "xchat.h"
- #include "xchatc.h"
-diff -Naur xchat-2.8.8-orig/src/common/servlist.c xchat-2.8.8/src/common/servlist.c
---- xchat-2.8.8-orig/src/common/servlist.c	2010-05-16 03:24:26.000000000 -0400
-+++ xchat-2.8.8/src/common/servlist.c	2012-07-15 23:07:33.643948732 -0400
-@@ -24,7 +24,7 @@
- #include <unistd.h>
- 
- #include "xchat.h"
--#include <glib/ghash.h>
-+#include <glib.h>
- 
- #include "cfgfiles.h"
- #include "fe.h"
-diff -Naur xchat-2.8.8-orig/src/common/text.c xchat-2.8.8/src/common/text.c
---- xchat-2.8.8-orig/src/common/text.c	2010-05-29 22:14:41.000000000 -0400
-+++ xchat-2.8.8/src/common/text.c	2012-07-15 23:07:33.671948706 -0400
-@@ -28,7 +28,7 @@
- #include <sys/mman.h>
- 
- #include "xchat.h"
--#include <glib/ghash.h>
-+#include <glib.h>
- #include "cfgfiles.h"
- #include "chanopt.h"
- #include "plugin.h"
-diff -Naur xchat-2.8.8-orig/src/common/util.c xchat-2.8.8/src/common/util.c
---- xchat-2.8.8-orig/src/common/util.c	2009-08-16 05:40:16.000000000 -0400
-+++ xchat-2.8.8/src/common/util.c	2012-07-15 23:07:33.649948724 -0400
-@@ -39,7 +39,7 @@
- #include <errno.h>
- #include "xchat.h"
- #include "xchatc.h"
--#include <glib/gmarkup.h>
-+#include <glib.h>
- #include <ctype.h>
- #include "util.h"
- #include "../../config.h"
-diff -Naur xchat-2.8.8-orig/src/common/xchat.h xchat-2.8.8/src/common/xchat.h
---- xchat-2.8.8-orig/src/common/xchat.h	2009-08-16 05:40:16.000000000 -0400
-+++ xchat-2.8.8/src/common/xchat.h	2012-07-15 23:08:20.855910521 -0400
-@@ -1,10 +1,6 @@
- #include "../../config.h"
- 
--#include <glib/gslist.h>
--#include <glib/glist.h>
--#include <glib/gutils.h>
--#include <glib/giochannel.h>
--#include <glib/gstrfuncs.h>
-+#include <glib.h>
- #include <time.h>			/* need time_t */
- 
- #ifndef XCHAT_H
diff --git a/pkgs/applications/networking/mailreaders/imapfilter.nix b/pkgs/applications/networking/mailreaders/imapfilter.nix
index d7aff753e237..1aa30ddcb67e 100644
--- a/pkgs/applications/networking/mailreaders/imapfilter.nix
+++ b/pkgs/applications/networking/mailreaders/imapfilter.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, lua, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "imapfilter-2.5.7";
+  name = "imapfilter-2.6.3";
 
   src = fetchurl {
-    url = "https://github.com/lefcha/imapfilter/archive/v2.5.7.tar.gz";
-    sha256 = "1l7sg7pyw1i8cxqnyb5xv983fakj8mxq6w44qd7w3kc7l6ixd4n7";
+    url = "https://github.com/lefcha/imapfilter/archive/v2.6.3.tar.gz";
+    sha256 = "0i6j9ilzh43b9gyqs3y3rv0d9yvbbg12gcbqbar9i92wdlnqcx0i";
   };
 
   makeFlagsArray = "PREFIX=$(out)";
diff --git a/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix b/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix
new file mode 100644
index 000000000000..3b90bc9f0ac1
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, pkgconfig, glib, notmuch }:
+
+stdenv.mkDerivation rec {
+  name = "notmuch-addrlookup-${version}";
+  version = "7";
+
+  src = fetchFromGitHub {
+    owner = "aperezdc";
+    repo = "notmuch-addrlookup-c";
+    rev ="v${version}";
+    sha256 = "0mz0llf1ggl1k46brgrqj3i8qlg1ycmkc5a3a0kg8fg4s1c1m6xk";
+  };
+
+
+  buildInputs = [ pkgconfig glib notmuch ];
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp notmuch-addrlookup "$out/bin"
+  '';
+
+
+
+  meta = with stdenv.lib; {
+    description = "Address lookup tool for Notmuch in C";
+    homepage = https://github.com/aperezdc/notmuch-addrlookup-c;
+    maintainers = with maintainers; [ mog ];
+    platforms = platforms.linux;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
index 8b06d083dc0e..b758bf996d26 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_sources.rb > sources.nix
 
 {
-  version = "38.5.0";
+  version = "38.5.1";
   sources = [
-    { locale = "ar"; arch = "linux-i686"; sha256 = "29237bd1fff3790d891fcfa18959b808afa88c35b9c7036cc3cf79737560c3a5"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "480120055452c284eef26329419faa176cc5abff90c3dd986ea1d3478b869984"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "e659e19bc053a95bb4d753ff452637a29f792e61247fd1b70f70e90f62e8a268"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "1755ad5c097b92342224f7d659fc1c0db899b15f6874fcd256f76fac1bf27488"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "3682652d2aae978ceef32b4dccb2e20c4dc5584b6840df823664c214495e89bd"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "99a5e05ea1cd5a302b24b0bf8a87e495de1bd044d7335609016fbae49786a6b0"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "cd0b6cf8b620d619040a64f8692f78fcacf5500b5c092a6a40552397f56e2757"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "4001a26df6cee9182b85370e51d9e54284a066e8f8002c6dafc2ca872153ca36"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "bcdc5791b3a95c12e8cb19f92d57191360fff12ddf116d92b8ca1b32aa977827"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "037459abe2bf39d0ca05b0abfb18d112b9e56b4888b64ae956a6317800cc0047"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "1c907debf9f9c9a949bd1c7e7329ebc2fbdd6ff19ecf9411a67ce27079dae1ee"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "ace19a987e0a5fb10cf73d1b031e96c9333054083ab380e9a602f00b3347f334"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "5553dcde7e432643516405f465a981f52d5eaf3e53f7cec7d179034778d74122"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "1d3ee5b1487ff62243147aaaa1ba984976a969ddc0c7697b1f361db6a5d66023"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "d22a52c3e5d66a4cb8d084e7127f0acf79a36fbc1e96cccbb66adb205a4eb7a6"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "f75b81a8a984ef52bd5a11fbd98f00b16a1696c5dca9b2315ca35d23ed6ad4b9"; }
-    { locale = "cy"; arch = "linux-i686"; sha256 = "0cae8f5bcff66cea0ea7a92f4503039078402eb149bca9a1bbbb170423a9625f"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha256 = "e4d5c5d920489ad73ceb2a0582285d35bc9fdf2e817a14a20d563b3f36dca71b"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "7cdbc0622b71ead86d7d180fab328b4346bba324f43381680cb9e4cad026667d"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "95cb578a1b9d271c7597852be14c18bd057eae01ef62429197ea47cb97f367b7"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "5e7a7d84bba7e3ce06a31678e2b97439597b5185866586c69f61d3eeaead7bf8"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "6d221dc885188ae683eb0c103b8551d25f2c26a82456abfcaea695b4555c83e1"; }
-    { locale = "dsb"; arch = "linux-i686"; sha256 = "d5cc9990acc678c483bc19649d67af96dda0308f66eea61f5917fcb40db13a4f"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "01ad8dbd1b9fac2dfe269ed171ab6fe32751892147f136f9ab8c8d023ed0fe11"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "7040a9d0c51ce310e74e9d3b1c04f5088ba688212100700f78e1c7b4f8722739"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "e2a3b0f3b022c320b0b7b372442cb85ac716f85e757cdf107246a6b7d4715835"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "c7258c7864087eb90d59f763ed0b23ee99f2a6a45c433d97e89583ea37ccdb32"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "af32ae7ba6d7b61d46c074ec0086fce4150b5b6255eb43c3c17c97f597b688d1"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "c7794f3e1d51fa7e0935d689078b348114d3abf010a0525b22e5375950b6098e"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "01bb4a3bd43aa5dde30197178cb50ac35ac62cde637227aca8bdd410c9f62546"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "f89e5f28d792161cd5b791ad68eb64c6a55a5de15dc00d5b042153b8fe549ab4"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "a7c3102c5c5c6999723fa889af88f1d14630867334db8703ca9b5f5368359127"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "a01fc84e9ce676f9b163e882cee5b6ca70b98a43b2937c6f5298f800b7ee3d78"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "030840e14241776d60cbd1ce9d0790df4e4f7b1fd5f554df9a3a51c9421af573"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "f6da6a171f4a00afaf5af2fbcc6cdd7504e00cc38f62baad1f9aad51467ef191"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "8fed1407c48e0f7f39c888f08001ec0705c09b587a6921b2644e91020e8f2763"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "0f1c30b2e5c6d1a2359a1714605ab382c617a00fb2a3ab9aa0570c27df6bc1a6"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "5192b9230659a8ec35abf4353201d6f2ac66c1ffce33d0dd68c38dbb1302029c"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "5812be19808c789c6f36484aad72ead4a5b75ce52d91047794da0c5919a4f68f"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "64243724356329e81f8754f4bc1d3e848a6544f598ceec44ac63a69d52003944"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "63117d10a3fa00b86eaf9023d562ca817ea44b89788de190d7870c22df6ee5b1"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "22715532882458ff60ccf52c5502eddb5f7a9ef646a22915c3928ff6ca244bdf"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "9be2f10d9f5dcddc7b5119609ac9b864aa61b2e1839e3bdce3f4e742f5e94c12"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "a71900daca5ac832240fa27c15ad76afca75b8b86c101899c58f6ee20bd33fc2"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "4426fcb698d40fc796a3affafda1f142e4f252e3861354915a8ba4db41e28754"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "a7533879eda14dd1b6e8ce4e68006fd1d1fff9b7fec12c14f30871084625581c"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "82593c88c14b6ac518d0da17aced0ffe4a78e06faf4275508218fd09da535f4b"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "3ec0a23d6ac098dd97dec52778202d6dc24cd76d7f142a452b4309be32d9cc29"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "64cd467c054da7506b5e72e159c0829a6d41db1482d9343a8cdd5b0bf7166d0f"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "a9ec09c8cbc54f071f80226bb203f4f5823f71cf376978d0e69cefc5562cd5bf"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "bb21099de57446c1a9284fa54ed491bbd1d104b64f9c479b8d0ded607fb79c7d"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "4397b52af2d90e0642b7e66fc39b60987dbba94737666e205df8b1b0b4c280de"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "65164ae7e551458bcb8afef5da13d1a632c7ddb181e112833b1fe0a0ab391c17"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "e026eae7e0eb85558ad58616a90240e14bd9011bbe6ed5bcf68788ad21d182eb"; }
-    { locale = "hsb"; arch = "linux-i686"; sha256 = "c2bd24db8c46a11108241a3aa6f57f234aa52e982af013e081c4b45621878b7b"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "b01690e94a2f8b5d8049ac62061206fc296b6a7e2c609d3368facefa246f06e5"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "7ea9be32fc7b198e300273a973162364a4dbe17bfa6b7e5fe39bd01fbd93c79e"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "d9ca99cb52265fe8cf89c9b48469479dcb9e251f8c3f3527540c19f44439234b"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "899906072114caaab0e7f48a7b67f77dbeca7d2130171a2277c98116479951ea"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "6a636b312c1a38474cd26700b0419e2cb174c440e4ac652a6d29bf6837a2bdd1"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "9827c378de89d3eed6bd297233c934fa7a84796efb02d82a4be1f8235c2dbe6c"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "23075b98ac7a1674cd1189806680062eb0eb35cbe08d7d0592242295184932bc"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "e64f2b7dfa4654bb681bfa5c34adc9d64400c3c7dfb1f9dd7ab0c04d998c6784"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "2049e8c19e3a58f1f0f08926e786c3a2d81292d94eb0346b54ae86edba35bf3b"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "12941cb1feec8beacc8cf62b94f902ddacadc424abe511226be2e85248496a60"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "9da22cef1e8b5d92c048c8bee59ca88b9801f95073083c218412de0406af6dc4"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "bdd5fee3bc2d807b1b6329f0f8f14bed85f8eacfc1210f4a5204687b7c0e250b"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "c48477523b11d7ec6314f54c2d0d62b35c6474b06bbd7c0bd0317971303a1073"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "d887a32f4073231856522ba034c4e952eb56d7ed06895e0d26dfc3d3a7488b0f"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "c02ff12289d32d5d3ad5f88a5c851f46f8d31c66ce8013622959f537cae1101b"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "99095f5f55c3ce6d0bb485d25eff1afdadb63e8f41caaddacceced71a92bbb9e"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "a4de32255d7334bf1eabda06332f8665a9d60bdf667a43c219ba2de08865f1e8"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "8b547faa6f76d1aa1f0f33235380e5379663c5d6e66e55ea0baa61a62f37e272"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "17873b2664d665d1d53fe69c4041aa6474f58a18cf5dc0f86b739d95d193bb48"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "ba36cb5c4b008f878b181ed3ff56198cd83739fb9d2018d6710288daafa6df7a"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "04afe1c59bfdfb9573623e9e84165863465356ec7872f1afc448c841c4e9392d"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "2fa6cc0e585574d3460597b25c6549b2aebd2b2af203edef960dea2b81bae954"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "ca8bdb92d16a89f7baca59e0c11662d2dfead62eb209746d738fbccbea8d00c5"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "79575806b00f77adae3b2ad794c2e268436e2b4b2904186ea88caa2bbcc5e232"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "2220b6bc45f98f088c653ee255718613b43e93691173441f0825c39e3ea8c263"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "829788db6afdb0f09b23d0230abf176153a252a76964ae4ad6df161568e03b6b"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "89792685c6ff26bae9d42326dbe0ca77b6a651df51ba02bd76a85692c83aba5a"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "b7898b8fde2c32c8d7fe105ab88751fb9acaa756f3826dfaab3fa33fa7bfd5a4"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "691e722d24695960574fb5423d2d5713d3729a0cf3bbffdbe3f550b1b0a8a91b"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "06e9c005c45b6d71e4f4957ae0d92578baf2b0ff783f38dca4a5018f84319bfd"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "5422bf1e694a462864759374bc3afdf9f0033121b879413a3edc18a20d406b4e"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "54c0f6dfc40b748f74ab9fd79dd4b0987ce17eced23b293cf83b1867f38d7c53"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "a164dfa18736b3f84ce2a80fea1f6441bbd3de113c26eab503ab7710866f7555"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "3135adfb8c2b674545d3e80a8f3d77a89332dbe4cdff0f05817d5ae2edac8025"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "7a95f8853d5776267ab62fcc208214a7a4f2a7d82350ac7967ca90ab2178e737"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "df9cb429c6fe10e7aeae06d49329fed27cf9cd84b3b28e7fef82008399dfe453"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "aa97b360bd5cfd0686b0d75df21500249e0f7ab1586e37774d60040abdd2ecd8"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "ba1ef9b8576589a9bf8523f26fe42416f14f4c38b74b4519792aff6896a4c34b"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "bcd73d4a1187d8e43dcbfd7bb4df3c0f7893175785d633113b0a5b526bb718d8"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "004423ed395fcc4cba02e703f5086f9255758edd2bd3125adeb8fb006a4f769e"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "9abb27a35c2076fc3c85e18b20f909ba41b4618afda51f2adbb0ef960b67483f"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "ff2dca954720bcb1947c18b1013666c6568f6638b204adf5a0277e6bff64f468"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "a334a65d54efaacdafcddad336f313d24b594c14bfc874159cd9a4ca9ded2b03"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "b5e53cd682a8b4494074c1c0c7e4d4fb94a36a06e81522cb4b7289b4ed6bd486"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "747174de108fcf0a7201e22df90f613846a0b66384b007ccddeb51b6dc651aca"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "fa53bfe3c00878b462e6aa3a0bf76a6e1e4dc6d9095f2104a355ac5b773e936c"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "308965f1b97405e7c6db95e7cffae69fe6a899539782c06b1446ab97ddb19d45"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "0b2e6e13cd30b46b81c8fb9fd195d27ce96c40f03d17ba0f8095d4ddd226ff45"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "dc47f9c38a845461db14a08d67f143c8b5ba04aa441aeecae8bd8f3cbf79fca6"; }
-    { locale = "ta-LK"; arch = "linux-i686"; sha256 = "3f5afc0975aebe8981202927fe5507065c47ccd64f1ddd8adb426c0032ee267e"; }
-    { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "8a9b241836c0b495865e9d64d2e89cb054a01e8e3fb55ee8a1cbbd0def7d5a93"; }
-    { locale = "tr"; arch = "linux-i686"; sha256 = "c104cbdfaee89946ab11b3bc0de6cfaf5d88f5e18a6be400dc573e7b1c10319d"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "717c460478cdb986fbfcd5fcd16f7fb66af930e3ca2826176b7158ff865d51a5"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "dcfbdd8ba1897bdfcb26b0ec1c50a88808c2ca988418cca56eab74e1f870ba1c"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "648764a8aad2ea954416f2293023598cd26d4bae1bb44da1406868d1286c3f58"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "2b938e4c4614de013b9e0f7d4bdde0353cea42c7651491f2d92323a25d9157d6"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "82571f95eaf3a88c7cc7fc056779ed4f4ea5664333c5e015ccd4995fc48ca0a7"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "db6a5619c7fcd9487ecd5518590a7ad28ee4a9fd12348c950ce1b12de5232dfe"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "36ac3599d3bba4a4e982df6cbb355becc0e0e237b127c3b2afea3618754fafbe"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "269dccd617074567654a053186d6830fff38503431156db5a00d70bef093bf0e"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "c78e2ad7df58f86a26bb81c13a27a8722884573278a1dd179ffba577902c92e5"; }
+    { locale = "ar"; arch = "linux-i686"; sha256 = "428fb92fe6a30f528c13f59d321eb479638133b98692e9abb2821550312027ed"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha256 = "aaa65b171336d8fac42d94f2b7e41ea286415ee0337afcff2c8dc55ea4d01d09"; }
+    { locale = "ast"; arch = "linux-i686"; sha256 = "432e71e48a46bc7e90bfac8820b470346fe6b95e8545a7b6a8b5e799c7658fb6"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha256 = "d8ee8d92f9635396cfe8a27dc57b407a428a0fb210c849b5faa9d7a1458328db"; }
+    { locale = "be"; arch = "linux-i686"; sha256 = "19b33c2683b5ee20264533d64c717320fb82187074c1b4d42e902b3021ac8907"; }
+    { locale = "be"; arch = "linux-x86_64"; sha256 = "8b7659c5327cd6552c4a743cd92100bbdc10b6623021eab79265027b9a0f1550"; }
+    { locale = "bg"; arch = "linux-i686"; sha256 = "02a0d0858de83abb9c732787522b45e8cfad419b765a0922426197c9f9a00f9f"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha256 = "dd0ae9d067365b66a55e337c6b294d672c997c88024b17223583d9ccfb667488"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "422b42cc56b3fda6aecece1e0d934f43970fa7a8dfed0bbe859bf0e7daf6f8fd"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "f4edee91b6101aa4b8c308cf02d1cb926cff4beb44f840b86e0d01232dc5b88f"; }
+    { locale = "br"; arch = "linux-i686"; sha256 = "d64078fe9092e9288cb270b0d35be25a5d8d225f70d4a902d8a5c89b36b0a1a2"; }
+    { locale = "br"; arch = "linux-x86_64"; sha256 = "68b3234560f9678f3b9b1f11ccdfa2109026ca3dce321bb2732b024fbd77ce0e"; }
+    { locale = "ca"; arch = "linux-i686"; sha256 = "a7082da8adf2098449ecaf6750607e394fb03e3e1ba974852bf596c4dc961531"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha256 = "6a81e6713b0b4e01d575c4709137eb8b50811f3ce4fb7222c3466e5dcedcd244"; }
+    { locale = "cs"; arch = "linux-i686"; sha256 = "512a02a544c522b59fd86705668264b2fa85fc738dd93878289230e05f38bd71"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha256 = "809ff680e80ffc8b5aaa631b346d8a34df4b99362e048d16e4d415f32d721710"; }
+    { locale = "cy"; arch = "linux-i686"; sha256 = "c0a3b6f3e8b78e624a7b8f3d68185063fcc2cfb4b8f06942586a384de738eabb"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha256 = "bba5556ed1f3873b9111d47ff978a2ca5fd43a48e7e32bf25cc7ad4650d5b37b"; }
+    { locale = "da"; arch = "linux-i686"; sha256 = "4b296fdd61f2cdf2d644503befafed114f5d18fd8e8bbd37d3f6a06275e8d11d"; }
+    { locale = "da"; arch = "linux-x86_64"; sha256 = "30fd49c129cee05a86a60147ea706286c0dd9a48fe6b43178d80b2a2726fcc48"; }
+    { locale = "de"; arch = "linux-i686"; sha256 = "814d073fc127b74d9edcace83c38ad2e80c74bafa327d2eac44de7673e0b2958"; }
+    { locale = "de"; arch = "linux-x86_64"; sha256 = "00dfd1ed1b981ba5bb66dc86ded8a7aee25e1a67d0c5e739a5ec252e4b4f0764"; }
+    { locale = "dsb"; arch = "linux-i686"; sha256 = "97473204548f40f6b806c1de5835477998f58ad4e9be8a1eb2bc7097def7ceb6"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "42042946079e486c24ff5e76c2e572d81a4e996dfb9ca37a9b19417933defd32"; }
+    { locale = "el"; arch = "linux-i686"; sha256 = "9056a466e7e99efa10b30be00d7f0ff2c64c077725a57397ea7462fa2de6bac0"; }
+    { locale = "el"; arch = "linux-x86_64"; sha256 = "06b223ca8ec5e47b2876c7261b94fbb82fefec50527a777802c74ebbc71c6256"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha256 = "8f74bee700e9d6414d379e723e5be952725a96fc4155f1652701327fe36b493c"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "dccdf5e29b19852895eccfd479c2d04d7ae3d7847af050028a6cada9700ef948"; }
+    { locale = "en-US"; arch = "linux-i686"; sha256 = "d2d564f048a9cbc9a956fb1b937c0d43758c97315fd19bde79d63bb0bdd7b9a5"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "70a8bdd408cea0d015a560969083445046c3a8e02c7777b2b22eedf6b46888b6"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha256 = "c03ca2ea86db9dc6428e96f50cf8fc86343faa539b5ebff0e476f0e0bcb2c6c3"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "eedc718bc25219803666e95870ce4a0ddfec7443392aa0f3840b2689bb09ab55"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha256 = "962de04ebaa81296a04c84e1dd3574ec1ed5fe1784f1b0345b30fdf6de214301"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "3821a77b83cfe174b10a9b472d8a4a29dc069a8e1c82b536923d90761fa31a4d"; }
+    { locale = "et"; arch = "linux-i686"; sha256 = "17ee3d2c863d7e8c0562a1ba75d7b1b6e469e93d3665aa2de662e98eaff1d921"; }
+    { locale = "et"; arch = "linux-x86_64"; sha256 = "84ffe20179728d1ab3dffd93428b330c6958b3c825ffdca6c8cf63dc831a7519"; }
+    { locale = "eu"; arch = "linux-i686"; sha256 = "424de9056f295b710be3db287a9ee48759efed25e311881750a49c1b30c33fe1"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha256 = "5fdaafd1b691d29df5d1056555a052a0feeaa6d7b01a0383241bbc8b988da7d2"; }
+    { locale = "fi"; arch = "linux-i686"; sha256 = "1037c3d031d00eb4fea5aab50215108d0fcce6668d7226e594f47784a8aa3edb"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha256 = "71f6a24995b16b1e5dfcdd5b3758940a69bf348430d71f800522bc1c0eeb6341"; }
+    { locale = "fr"; arch = "linux-i686"; sha256 = "095f6a9c8876aabbd890a97724060a704336605655a7b1feb890b05e051ae810"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha256 = "97f3b49f91724608520202384d82accd3705290cb6c295dfd88d49ec33dd76c4"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "59be75d317a2ebef649adf7eff64a8e9706d5e6f58971e12ab3de3e9da306fe7"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "b5c4dc6e07d17fb4150d04e5c377e4c2ec18fe6304fb84a2bb19bdf554113b4a"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "59afa36ca0b31e9f0cfdaedb5e49889ef1d5d1f9c08b6fb9e6cd21a282ecacae"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "6e9c48d531cc65f08e08f54170721ce0cecde785978cbca0bffad6847433a5e3"; }
+    { locale = "gd"; arch = "linux-i686"; sha256 = "2c6e63a2c89f74df52d06c8bb6bd46871c04b4c91506c166acd28de1aeba8d8a"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha256 = "73c4923a5a425e2b96cf1e1b05584e282f5802b76337a5180b9c89c0163fb47f"; }
+    { locale = "gl"; arch = "linux-i686"; sha256 = "4ca2c0ab487eb79272fcfe253cef93838eb57925bb2631c29de36f2510fedc1d"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha256 = "7b731eb0ece93a1944ffd8dd7b0f91cad1292955e967a511ab72080b3dc66fdf"; }
+    { locale = "he"; arch = "linux-i686"; sha256 = "056cff554994ef984356b7fb27759548ac546c10b918c727e130adb970430018"; }
+    { locale = "he"; arch = "linux-x86_64"; sha256 = "5592613852a34b7b5990a06ba31b1713bb9b277a5472e153a26e780f0620f2c4"; }
+    { locale = "hr"; arch = "linux-i686"; sha256 = "abe18e183a2b26315dbad115c187eb56fe70daffd8eac3465e1ee2c3b2f364b6"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha256 = "d657795e84fe1ca238e986438d5501e4baf628a890835258bcbd3a32040fef4c"; }
+    { locale = "hsb"; arch = "linux-i686"; sha256 = "806e9da32095fbb5dd6610f715006a3cf0732b69759e8b88d6c3f39617a9fd2c"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "3c0c1cdd739d1d82aef6ce864e0a65c735591acdb127a50ebdb8e5999a524b17"; }
+    { locale = "hu"; arch = "linux-i686"; sha256 = "a052932572784bdc90e8a16ffafa855a5817ea28bdd3365fa18f40685bb2f77e"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha256 = "1f98b63f900ab64989ee8860ce3580394dad438078e574e4c7d997bf5a840fd9"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "b7148002a1f1790bbc52c1c3fbab837acc9a7681077aad115cc81bd05f1e1a33"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "cc18eaa5b72c57438c11b8fd5a77f677218d1323ad844f8eb8d294132e40d86c"; }
+    { locale = "id"; arch = "linux-i686"; sha256 = "a1c7fadbb96293391e99ee0abe16b20331a9ee274e5c56d5972a339ccf62b1da"; }
+    { locale = "id"; arch = "linux-x86_64"; sha256 = "7ac143a557c5f913966c81235f6dd398516c3e153e667442297cef82024f2af9"; }
+    { locale = "is"; arch = "linux-i686"; sha256 = "f884769780d273d7e921a236ad6fc21b1749ae8c1c483b9b57943e42bc23206e"; }
+    { locale = "is"; arch = "linux-x86_64"; sha256 = "b10fd3af349285bcecbf0334ec22b93b6811abb9c580f5a38e84b5dede4264d1"; }
+    { locale = "it"; arch = "linux-i686"; sha256 = "1ac48c611c6ae2163ae27970dcef5c20e1ba932a2210eec659ea31cb4967dfd1"; }
+    { locale = "it"; arch = "linux-x86_64"; sha256 = "23930f00a7b9b47d43a23611d4f804025d11aa489101c120449428d866179517"; }
+    { locale = "ja"; arch = "linux-i686"; sha256 = "148df7f75b69757a64427bb96bcb9a2a0d8f885b907130c1d7c519bf6e7a1718"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha256 = "4992ae5d3f348648a9febadb058f558dce7659d18065e352a1d560e552d27e6e"; }
+    { locale = "ko"; arch = "linux-i686"; sha256 = "b4f9668d9d56b15c6af69d7a23716c70074adbb90100725c951d913682003789"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha256 = "43f134ad246b5896a003cb75c73339cc27cc7bdf02584d5b5455a4606112a7a3"; }
+    { locale = "lt"; arch = "linux-i686"; sha256 = "b3e48defce4416d32c968056f07498c268428746c2e99f68c91c08cd623f2741"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha256 = "f8cb85d3f033e6a7c6ea8d7af7e31604a3f67e2435557d108d8bff18a5612785"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "ebe6134f09bcd52b7da5461247372b5e352aa78b882039993f0f7e6d08e19047"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "c2137e014c37c149dfe847dd4516af45307f1ee7ae9f915b48c78b882f7e4b0b"; }
+    { locale = "nl"; arch = "linux-i686"; sha256 = "d2edd221ef00a02a38b037f961671a8f82595ea6796556bbc5cb94041a2e131c"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha256 = "af2110f44b303d5182140771001d3d10b9ed7b44c31261f740b15ea4caa21545"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "c0db7cd88d5f0e38e6683181729a2de5ba63abdc4d0af17fbd72de723c909426"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "040da2abe7aaef427386e31aa24e67aeb389f8294f14f445ab68fb8714f74094"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "ca2e02b0ac8f4b5ab6b4af3e905a1c65274dd17bea6c4b84bfa0afa99f5bb6d3"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "3324461c1d47872b96d6fcfdfe10971e70b7698789fa8a7b439d5d226f87d0fb"; }
+    { locale = "pl"; arch = "linux-i686"; sha256 = "2094e2136ccdac7572203772b0a2cfed2f78116e2ee72c7038137ca198b0f404"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha256 = "59f9d72974f84c2b349a7fd7c614b7473b6dba4fdaf0c57b267369624b13f2b6"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "beeb965afb626565155ca1f882ed27fc5489ab650f3eee94064227c213aa9100"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "a72296d59a7971aaba395fa058b8ecfa4889ccbede3ee0161744b70e848436df"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "b8e0925a64aab9e23bf13bd9b2afd1baab7d964e6c1c3af3973201fc6b7a71c9"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "bd12cfcb485b85bc0444111f7bf7f1e9ecff42a1bf03515e46aeff668da690a8"; }
+    { locale = "rm"; arch = "linux-i686"; sha256 = "220767594e50de01d636d29d38ef87d0ad4871c718ba2f5e9c8f8bdc13023408"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha256 = "298f69008f20a23eda68a92912fbd050eff73f806e0cb8ce0c40f1fc53b76fc2"; }
+    { locale = "ro"; arch = "linux-i686"; sha256 = "3be80143bb1affa8df3c94bcb048bcd2f22f39f60db02d2f9afeeb44b45c67ae"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha256 = "715963ac282e8f972e22f3fcc5b51e03346f011b8848f16b8a8cb9b6a23c864c"; }
+    { locale = "ru"; arch = "linux-i686"; sha256 = "0c793708c8501df82582f5d820c65ee11a46819f012b7d616c7fd4b1424e7eef"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha256 = "5f4fbfaa52b4eca748dd12da12c6bc38286e5fdee2fd81d337d926ea4e0df378"; }
+    { locale = "si"; arch = "linux-i686"; sha256 = "ede99dd26481f9864dbd0ad276f3b10a1bea8a2267a3f0055f10de4c185a3e3d"; }
+    { locale = "si"; arch = "linux-x86_64"; sha256 = "15ca9bb30fe45879bfaac936187951f36af45a134cdf756314e7c1b1d508db22"; }
+    { locale = "sk"; arch = "linux-i686"; sha256 = "9ac426f0148d232de2c11fb0404bfd317aa26d0fecca710c63dda52eb73841d5"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha256 = "8f67b9449e4b0759b82d748c1c0aab3ba42da1c3643e1579f3f0e1cda00cf61f"; }
+    { locale = "sl"; arch = "linux-i686"; sha256 = "12d52efd990e472230cbee546b544f01b2aa7bf8e1812cc561102e9cba58bfa0"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha256 = "432071992c94ae8964db97f02d7c26d1584ab6ba43a3bb87bb605d9933f37673"; }
+    { locale = "sq"; arch = "linux-i686"; sha256 = "b070ecb797dae27d66c449feb34c57d383f64ddbe6dc37cd836658e3e8c28e54"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha256 = "065eebd594fa00315bd017f76eb35ff64e371347b346ec54eef6edbc738476b4"; }
+    { locale = "sr"; arch = "linux-i686"; sha256 = "a76a9b519fbfa5e3ac305522fe313c3f1c52c2bdb1c44878341a0ff5f50c5a36"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha256 = "e90a8c3dd54d69de3e092d1e63288365807238ec3ab01383778bb10aa9799309"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "da60ffb3131d7ff150d9a2f70b1071d0399cfaf671003c5b5b598911561eddb8"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "686162ef37b00757ff49784fb6c2fd04ea55103c78af6f97bf5e7e6be34cb46a"; }
+    { locale = "ta-LK"; arch = "linux-i686"; sha256 = "ad8702ca5223fd9a17dce9e71360299938f53548e357d93a5bc23d24cbec8039"; }
+    { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "f6178474338c75f1b216176ae40a9e09df68697d9cc1ccdc661293b51ae133ed"; }
+    { locale = "tr"; arch = "linux-i686"; sha256 = "54c88fd15417a271368a981b79467064a968993e7076e2f4a87f0cb280b4954f"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha256 = "d1943ef072cfc40ab90d0b008527d6e4607db2299eb536573db5a7e832babb9c"; }
+    { locale = "uk"; arch = "linux-i686"; sha256 = "276ed6dac2090fdd53c967daadda3d39c8f05b70f6d91779af2998b446a831dd"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha256 = "f18455e1df20364ff0c4e2f44397b068faf387f7efa25941f167750f349f93a5"; }
+    { locale = "vi"; arch = "linux-i686"; sha256 = "3a72f5935f32de88a0bf88eb5252864b19b8bdd1f01fa49b14d54021a88fb2cf"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha256 = "3f53c378fce2c5a7245103510714b2d99b8915ef78452d469cbd4f0343a3767d"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "6ac29a8081a339f334ea0b22ac49b81d79d26a22995ea592f1a78fe9c66a4edc"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "82733b4f96f42fe3d0fd7e429e8f23bd1aa059890a6403cc991b3236f31399c6"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "4d376644e762630bd7e9077d616cd4b4c0175ea3fd3df04c4c76ac489d87cecf"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "0044c3e78014df76fd09009142d75858fd8ac5abea54920d52870bf2d6599310"; }
   ];
 }
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index dac1a9ada3b4..12c250ab28bb 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -54,6 +54,8 @@ let
       cp man/mum* $out/share/man/man1
     '' + (overrides.installPhase or "");
 
+    enableParallelBuilding = true;
+
     meta = {
       description = "Low-latency, high quality voice chat software";
       homepage = "http://mumble.sourceforge.net/";
@@ -95,7 +97,7 @@ let
     type = "murmur";
 
     postPatch = optional iceSupport ''
-      sed -i 's,/usr/share/Ice/,${zeroc_ice}/,g' src/murmur/murmur.pro
+      grep -Rl '/usr/share/Ice' . | xargs sed -i 's,/usr/share/Ice/,${zeroc_ice}/,g'
     '';
 
     configureFlags = [
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index fecc88d36bfc..8948ca22ee93 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A GTK-based news feed agregator";
+    description = "A GTK-based news feed aggregator";
     homepage = http://lzone.de/liferea/;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ vcunat romildo ];
diff --git a/pkgs/applications/networking/newsreaders/slrn/default.nix b/pkgs/applications/networking/newsreaders/slrn/default.nix
index 6aa1ec762532..dcfadbfa05f0 100644
--- a/pkgs/applications/networking/newsreaders/slrn/default.nix
+++ b/pkgs/applications/networking/newsreaders/slrn/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, slang, ncurses }:
+, slang, ncurses, openssl }:
 
 let version = "1.0.2"; in
 
@@ -18,9 +18,9 @@ stdenv.mkDerivation {
       -e "s|/bin/rm|rm|"
   '';
 
-  configureFlags = "--with-slang=${slang}";
+  configureFlags = "--with-slang=${slang} --with-ssl=${openssl}";
 
-  buildInputs = [ slang ncurses ];
+  buildInputs = [ slang ncurses openssl ];
 
   meta = with stdenv.lib; {
     description = "The slrn (S-Lang read news) newsreader";
diff --git a/pkgs/applications/networking/notbit/default.nix b/pkgs/applications/networking/notbit/default.nix
deleted file mode 100644
index aa5d47730a4a..000000000000
--- a/pkgs/applications/networking/notbit/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchgit, autoconf, automake, pkgconfig, openssl }:
-
-stdenv.mkDerivation rec {
-  name = "notbit-git-6f1ca59";
-
-  src = fetchgit {
-    url = "git://github.com/bpeel/notbit";
-    rev = "6f1ca5987c7f217c9c3dd27adf6ac995004c29a1";
-    sha256 = "0h9nzm248pw9wrdsfkr580ghiqvh6mk6vx7r2r752awrc13wvgis";
-  };
-
-  buildInputs = [ autoconf automake pkgconfig openssl ];
-
-  preConfigure = "autoreconf -vfi";
-
-  meta = with stdenv.lib; { 
-    homepage = http://busydoingnothing.co.uk/notbit/;
-    description = "A minimal bitmessage client";
-    license = licenses.mit;
-
-    # This is planned to change when the project officially supports other platforms
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/ostinato/default.nix b/pkgs/applications/networking/ostinato/default.nix
new file mode 100644
index 000000000000..1d5986dbfa64
--- /dev/null
+++ b/pkgs/applications/networking/ostinato/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchgit, fetchurl, writeText
+, qt4, protobuf, libpcap
+, wireshark, gzip, diffutils, gawk
+}:
+
+stdenv.mkDerivation rec {
+  name = "ostinato-2015-12-24";
+  src = fetchgit {
+    url = "https://github.com/pstavirs/ostinato.git";
+    rev = "414d89860de0987843295d149bcabeac7c6fd9e5";
+    sha256 = "0hb78bq51r93p0yr4l1z5xlf1i666v5pa3zkdj7jmpb879kj05dx";
+  };
+
+  ostinato_png = fetchurl {
+    url = "http://ostinato.org/images/site-logo.png";
+    sha256 = "f5c067823f2934e4d358d76f65a343efd69ad783a7aeabd7ab4ce3cd03490d70";
+  };
+
+  buildInputs = [ qt4 protobuf libpcap ];
+
+  patches = [ ./drone_ini.patch ];
+
+  configurePhase = "qmake PREFIX=$out"
+    + stdenv.lib.optionalString stdenv.isDarwin " -spec macx-g++";
+
+  postInstall = ''
+    cat > $out/bin/ostinato.ini <<EOF
+    WiresharkPath=${wireshark}/bin/wireshark
+    TsharkPath=${wireshark}/bin/tshark
+    GzipPath=${gzip}/bin/gzip
+    DiffPath=${diffutils}/bin/diff
+    AwkPath=${gawk}/bin/awk
+    EOF
+
+    mkdir -p $out/share/pixmaps
+    cp ${ostinato_png} $out/share/pixmaps/ostinato.png
+
+    # Create a desktop item.
+    mkdir -p $out/share/applications
+    cat > $out/share/applications/ostinato.desktop <<EOF
+    [Desktop Entry]
+    Type=Application
+    Encoding=UTF-8
+    Name=Ostinato
+    GenericName=Packet/Traffic Generator and Analyzer
+    GenericName[it]=Generatore ed Analizzatore di pacchetti di rete
+    Comment=Network packet and traffic generator and analyzer with a friendly GUI
+    Comment[it]=Generatore ed Analizzatore di pacchetti di rete con interfaccia amichevole
+    Icon=$out/share/pixmaps/ostinato.png
+    Exec=$out/bin/ostinato
+    Terminal=false
+    Categories=Network;
+    StartupNotify=true
+    EOF
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A packet traffic generator and analyzer";
+    homepage = http://ostinato.org;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ rick68 ];
+    platforms = platforms.linux;  # also OS X and cygwin
+  };
+}
diff --git a/pkgs/applications/networking/ostinato/drone_ini.patch b/pkgs/applications/networking/ostinato/drone_ini.patch
new file mode 100644
index 000000000000..5818f4e94c30
--- /dev/null
+++ b/pkgs/applications/networking/ostinato/drone_ini.patch
@@ -0,0 +1,14 @@
+diff -Nru ostinato-414d89860de0987843295d149bcabeac7c6fd9e5/server/drone_main.cpp ostinato-414d89860de0987843295d149bcabeac7c6fd9e5.new/server/drone_main.cpp
+--- ostinato-414d89860de0987843295d149bcabeac7c6fd9e5/server/drone_main.cpp	2015-12-24 16:46:35.000000000 +0800
++++ ostinato-414d89860de0987843295d149bcabeac7c6fd9e5.new/server/drone_main.cpp	2015-12-30 20:59:04.319199699 +0800
+@@ -62,8 +62,8 @@
+     /* (Portable Mode) If we have a .ini file in the same directory as the 
+        executable, we use that instead of the platform specific location
+        and format for the settings */
+-    QString portableIni = QCoreApplication::applicationDirPath() 
+-            + "/drone.ini";
++    QString portableIni = argc > 2 ? argv[2] :
++            QCoreApplication::applicationDirPath() + "/drone.ini";
+     if (QFile::exists(portableIni))
+         appSettings = new QSettings(portableIni, QSettings::IniFormat);
+     else
diff --git a/pkgs/applications/networking/p2p/freenet/default.nix b/pkgs/applications/networking/p2p/freenet/default.nix
index 80f8eb840f13..51d7a49cac79 100644
--- a/pkgs/applications/networking/p2p/freenet/default.nix
+++ b/pkgs/applications/networking/p2p/freenet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchgit, ant, jdk, makeWrapper }:
+{ stdenv, fetchurl, fetchgit, ant, jdk, bash, coreutils, substituteAll }:
 
 let
   freenet_ext = fetchurl {
@@ -15,46 +15,56 @@ let
     sha256 = "109zn9w8axdkjwhkkcm2s8dvib0mq0n8imjgs3r8hvi128cjsmg9";
   };
   version = "build01470";
-in
-stdenv.mkDerivation {
-  name = "freenet-${version}";
 
+  freenet-jars = stdenv.mkDerivation {
+    name = "freenet-jars-${version}";
 
-  src = fetchgit {
-    url = https://github.com/freenet/fred;
-    rev = "refs/tags/${version}";
-    sha256 = "1b6e6fec2b9a729d4a25605fa142df9ea42e59b379ff665f580e32c6178c9746";
-  };
+    src = fetchgit {
+      url = https://github.com/freenet/fred;
+      rev = "refs/tags/${version}";
+      sha256 = "1b6e6fec2b9a729d4a25605fa142df9ea42e59b379ff665f580e32c6178c9746";
+    };
 
-  patchPhase = ''
-    cp ${freenet_ext} lib/freenet/freenet-ext.jar
-    cp ${bcprov} lib/bcprov-jdk15on-152.jar
+    patchPhase = ''
+      cp ${freenet_ext} lib/freenet/freenet-ext.jar
+      cp ${bcprov} lib/bcprov-jdk15on-152.jar
 
-    sed '/antcall.*-ext/d' -i build.xml
-    sed 's/@unknown@/${version}/g' -i build-clean.xml
-  '';
+      sed '/antcall.*-ext/d' -i build.xml
+      sed 's/@unknown@/${version}/g' -i build-clean.xml
+    '';
 
-  buildInputs = [ ant jdk makeWrapper ];
+    buildInputs = [ ant jdk ];
 
-  buildPhase = "ant package-only";
+    buildPhase = "ant package-only";
 
-  freenetWrapper = ./freenetWrapper;
+    installPhase = ''
+      mkdir -p $out/share/freenet
+      cp lib/bcprov-jdk15on-152.jar $out/share/freenet
+      cp lib/freenet/freenet-ext.jar $out/share/freenet
+      cp dist/freenet.jar $out/share/freenet
+    '';
+  };
 
-  installPhase = ''
-    mkdir -p $out/share/freenet $out/bin
-    cp lib/bcprov-jdk15on-152.jar $out/share/freenet
-    cp lib/freenet/freenet-ext.jar $out/share/freenet
-    cp dist/freenet.jar $out/share/freenet
+in stdenv.mkDerivation {
+  name = "freenet-${version}";
+  inherit version;
 
-    cat <<EOF > $out/bin/freenet.wrapped
-    #!${stdenv.shell}
-    ${jdk.jre}/bin/java -cp $out/share/freenet/bcprov-jdk15on-152.jar:$out/share/freenet/freenet-ext.jar:$out/share/freenet/freenet.jar \\
-      -Xmx1024M freenet.node.NodeStarter
-    EOF
-    chmod +x $out/bin/freenet.wrapped
-    makeWrapper $freenetWrapper $out/bin/freenet \
-      --set FREENET_ROOT "$out" \
-      --set FREENET_SEEDNODES "${seednodes}"
+  src = substituteAll {
+    src = ./freenetWrapper;
+    inherit bash coreutils seednodes;
+    freenet = freenet-jars;
+    jre = jdk.jre;
+  };
+
+  jars = freenet-jars;
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp $src $out/bin/freenet
+    chmod +x $out/bin/freenet
+    ln -s ${freenet-jars}/share $out/share
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/p2p/freenet/freenetWrapper b/pkgs/applications/networking/p2p/freenet/freenetWrapper
index c1667f158b97..6df7f4924587 100755
--- a/pkgs/applications/networking/p2p/freenet/freenetWrapper
+++ b/pkgs/applications/networking/p2p/freenet/freenetWrapper
@@ -1,4 +1,6 @@
-#! /usr/bin/env bash
+#! @bash@/bin/bash
+
+PATH=@coreutils@/bin:$PATH
 
 export FREENET_HOME="$HOME/.local/share/freenet"
 if [ -n "$XDG_DATA_HOME" ]
@@ -9,8 +11,8 @@ if [ ! -d $FREENET_HOME ]; then
   mkdir -p $FREENET_HOME
 fi
 
-cp -u $FREENET_SEEDNODES $FREENET_HOME/seednodes.fref
+cp -u @seednodes@ $FREENET_HOME/seednodes.fref
 chmod u+rw $FREENET_HOME/seednodes.fref
 
 cd $FREENET_HOME
-exec $FREENET_ROOT/bin/freenet.wrapped "$@"
+@jre@/bin/java -cp @freenet@/share/freenet/bcprov-jdk15on-152.jar:@freenet@/share/freenet/freenet-ext.jar:@freenet@/share/freenet/freenet.jar -Xmx1024M freenet.node.NodeStarter
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index f8c025ba2418..bc5289f80935 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, which
-, boost, libtorrentRasterbar, qt4
+, boost, libtorrentRasterbar, qt5
 , debugSupport ? false # Debugging
 , guiSupport ? true, dbus_libs ? null # GUI (disable to run headless)
 , webuiSupport ? true # WebUI
@@ -10,16 +10,16 @@ assert guiSupport -> (dbus_libs != null);
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "qbittorrent-${version}";
-  version = "3.2.3";
+  version = "3.3.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
-    sha256 = "05590ak4nnqkah8dy71cxf7mqv6phw0ih1719dm761mxf8vrz9w6";
+    sha256 = "1li9law732n4vc7sn6i92pwxn8li7ypqaxcmfpm17kk978immlfs";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
 
-  buildInputs = [ boost libtorrentRasterbar qt4 ]
+  buildInputs = [ boost libtorrentRasterbar qt5.qtbase qt5.qttools ]
     ++ optional guiSupport dbus_libs;
 
   configureFlags = [
@@ -29,6 +29,9 @@ stdenv.mkDerivation rec {
     (if webuiSupport then "" else "--disable-webui")
   ] ++ optional debugSupport "--enable-debug";
 
+  # The lrelease binary is named lrelease instead of lrelease-qt4
+  patches = [ ./fix-lrelease.patch];
+
   # https://github.com/qbittorrent/qBittorrent/issues/1992 
   enableParallelBuilding = false;
 
diff --git a/pkgs/applications/networking/p2p/qbittorrent/fix-lrelease.patch b/pkgs/applications/networking/p2p/qbittorrent/fix-lrelease.patch
new file mode 100644
index 000000000000..9e3e484667fe
--- /dev/null
+++ b/pkgs/applications/networking/p2p/qbittorrent/fix-lrelease.patch
@@ -0,0 +1,13 @@
+diff --git a/qm_gen.pri b/qm_gen.pri
+index ed29b76..2d5990c 100644
+--- a/qm_gen.pri
++++ b/qm_gen.pri
+@@ -5,7 +5,7 @@ isEmpty(QMAKE_LRELEASE) {
+     win32|os2:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe
+     else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
+     unix {
+-        !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease-qt4 }
++        !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease }
+     } else {
+         !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease }
+     }
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index 2c70d44570cf..dd947d86daf8 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, xdg_utils, pkgs, pkgsi686Linux }:
 
 let
-  version = "11.0.52520";
+  version = "11.0.53191";
 
   ld32 =
     if stdenv.system == "i686-linux" then "${stdenv.cc}/nix-support/dynamic-linker"
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
     # There is a 64-bit package, but it has no differences apart from Debian dependencies.
     # Generic versioned packages (teamviewer_${version}_i386.tar.xz) are not available for some reason.
     url = "http://download.teamviewer.com/download/teamviewer_${version}_i386.deb";
-    sha256 = "1430dimcv69plpj0ad0wsn10k15x9fwlk6fiq7yz51qbcr5l9wk6";
+    sha256 = "1yr4c7d6hymw7kvca2jqxzaz6rw5xr66iby77aknd0v4afh4yzz3";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index b49c309f5ba6..58be839d737a 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, pkgconfig, perl, flex, bison, libpcap, libnl, c-ares
 , gnutls, libgcrypt, geoip, openssl, lua5, makeDesktopItem, python, libcap, glib
-, withGtk ? false, gtk ? null
+, zlib
+, withGtk ? false, gtk ? null, pango ? null, cairo ? null, gdk_pixbuf ? null
 , withQt ? false, qt4 ? null
 }:
 
@@ -24,9 +25,9 @@ stdenv.mkDerivation {
 
   buildInputs = [
     bison flex perl pkgconfig libpcap lua5 openssl libgcrypt gnutls
-    geoip libnl c-ares python libcap glib
+    geoip libnl c-ares python libcap glib zlib
   ] ++ optional withQt qt4
-    ++ optional withGtk gtk;
+    ++ (optionals withGtk [gtk pango cairo gdk_pixbuf]);
 
   patches = [ ./wireshark-lookup-dumpcap-in-path.patch ];
 
@@ -52,8 +53,6 @@ stdenv.mkDerivation {
     mkdir -p "$out"/share/icons/
     cp "$desktopItem/share/applications/"* "$out/share/applications/"
     cp image/wsicon.svg "$out"/share/icons/wireshark.svg
-  '' + optionalString withQt ''
-    mv "$out/bin/wireshark-qt" "$out/bin/wireshark"
   '';
 
   enableParallelBuilding = true;