summary refs log tree commit diff
path: root/pkgs/applications/networking
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/build_fixes_46.patch14
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_46.patch (renamed from pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_42.patch)32
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/sources.nix24
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/update.nix1
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.sh39
-rw-r--r--pkgs/applications/networking/browsers/conkeror/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/dillo/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/dwb/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix14
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb2
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix358
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix68
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix1
-rw-r--r--pkgs/applications/networking/browsers/links2/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/midori/default.nix3
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix18
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix42
-rw-r--r--pkgs/applications/networking/browsers/vimb/default.nix7
-rw-r--r--pkgs/applications/networking/browsers/vimprobable2/default.nix7
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix21
-rw-r--r--pkgs/applications/networking/cluster/mesos/default.nix13
-rw-r--r--pkgs/applications/networking/cluster/mesos/rb36610.patch11
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/panamax/api/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/panamax/ui/default.nix2
-rw-r--r--pkgs/applications/networking/copy-com/default.nix44
-rw-r--r--pkgs/applications/networking/dropbox/default.nix10
-rw-r--r--pkgs/applications/networking/feedreaders/canto-curses/default.nix4
-rw-r--r--pkgs/applications/networking/feedreaders/canto-daemon/default.nix4
-rw-r--r--pkgs/applications/networking/feedreaders/rsstail/default.nix13
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/ekiga/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/fuze/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/default.nix13
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/fix-deprecated.patch35
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-mra/default.nix30
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix31
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix28
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/client.nix30
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram-cli/default.nix30
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix4
-rw-r--r--pkgs/applications/networking/irc/quassel/default.nix55
-rw-r--r--pkgs/applications/networking/irc/shout/default.nix49
-rw-r--r--pkgs/applications/networking/irc/shout/package.nix5049
-rw-r--r--pkgs/applications/networking/irc/sic/default.nix18
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix13
-rw-r--r--pkgs/applications/networking/mailreaders/mutt-kz/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix1
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb2
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix234
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix12
-rw-r--r--pkgs/applications/networking/mumble/default.nix8
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix8
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix4
-rw-r--r--pkgs/applications/networking/pond/default.nix30
-rw-r--r--pkgs/applications/networking/remote/putty/default.nix10
-rw-r--r--pkgs/applications/networking/remote/teamviewer/10.nix2
-rw-r--r--pkgs/applications/networking/remote/x2goclient/default.nix4
-rw-r--r--pkgs/applications/networking/sync/backintime/common.nix4
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/networking/znc/default.nix4
69 files changed, 5888 insertions, 670 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 1b5da0763e70..9a7f4a2757ef 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -41,8 +41,8 @@ let
 
   desktopItem = makeDesktopItem {
     name = "chromium";
-    exec = "chromium";
-    icon = "${chromium.browser}/share/icons/hicolor/48x48/apps/chromium.png";
+    exec = "chromium %U";
+    icon = "chromium";
     comment = "An open source web browser from Google";
     desktopName = "Chromium";
     genericName = "Web browser";
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index 5bb6a93d8d74..0b0e5bd08382 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -53,7 +53,7 @@ let
       wvDescription = "Playback of encrypted HTML audio/video content";
       wvMimeTypes = "application/x-ppapi-widevine-cdm";
       wvModule = "$widevine/lib/libwidevinecdmadapter.so";
-      wvInfo = "#${wvName}#${wvDescription}:${wvMimeTypes}";
+      wvInfo = "#${wvName}#${wvDescription};${wvMimeTypes}";
     in ''
       flashVersion="$(
         sed -n -r 's/.*"version": "([^"]+)",.*/\1/p' PepperFlash/manifest.json
diff --git a/pkgs/applications/networking/browsers/chromium/source/build_fixes_46.patch b/pkgs/applications/networking/browsers/chromium/source/build_fixes_46.patch
new file mode 100644
index 000000000000..c0aeb5d3a56c
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/source/build_fixes_46.patch
@@ -0,0 +1,14 @@
+diff --git a/chrome/test/data/webui_test_resources.grd b/chrome/test/data/webui_test_resources.grd
+index 6f8530d..f92a76a 100644
+--- a/chrome/test/data/webui_test_resources.grd
++++ b/chrome/test/data/webui_test_resources.grd
+@@ -6,9 +6,4 @@
+     </output>
+     <output filename="webui_test_resources.pak" type="data_package" />
+   </outputs>
+-  <release seq="1">
+-    <includes>
+-      <include name="IDR_WEBUI_TEST_I18N_PROCESS_CSS_TEST" file="webui/i18n_process_css_test.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" />
+-    </includes>
+-  </release>
+ </grit>
diff --git a/pkgs/applications/networking/browsers/chromium/source/default.nix b/pkgs/applications/networking/browsers/chromium/source/default.nix
index e8ad569adbfc..732568291d34 100644
--- a/pkgs/applications/networking/browsers/chromium/source/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/source/default.nix
@@ -17,8 +17,6 @@ let
     "s,^/,,"
   ]);
 
-  pre44 = versionOlder version "44.0.0.0";
-
 in stdenv.mkDerivation {
   name = "chromium-source-${version}";
 
@@ -46,9 +44,11 @@ in stdenv.mkDerivation {
     done
   '';
 
-  patches = if pre44
-            then singleton ./nix_plugin_paths_42.patch
-            else singleton ./nix_plugin_paths_44.patch;
+  patches =
+    if versionOlder version "45.0.0.0"
+    then singleton ./nix_plugin_paths_44.patch
+    else singleton ./nix_plugin_paths_46.patch ++
+         optional (!versionOlder version "46.0.0.0") ./build_fixes_46.patch;
 
   patchPhase = let
     diffmod = sym: "/^${sym} /{s/^${sym} //;${transform ""};s/^/${sym} /}";
diff --git a/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_42.patch b/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_46.patch
index fb09763c997a..7482be7062d0 100644
--- a/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_42.patch
+++ b/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_46.patch
@@ -1,8 +1,8 @@
 diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc
-index 8a205a6..d5c24e1 100644
+index 74bf041..5f34198 100644
 --- a/chrome/common/chrome_paths.cc
 +++ b/chrome/common/chrome_paths.cc
-@@ -97,21 +97,14 @@ static base::LazyInstance<base::FilePath>
+@@ -66,21 +66,14 @@ static base::LazyInstance<base::FilePath>
      g_invalid_specified_user_data_dir = LAZY_INSTANCE_INITIALIZER;
  
  // Gets the path for internal plugins.
@@ -31,8 +31,8 @@ index 8a205a6..d5c24e1 100644
 +      *result = base::FilePath(value);
  }
  
- }  // namespace
-@@ -248,11 +241,11 @@ bool PathProvider(int key, base::FilePath* result) {
+ #if defined(OS_WIN)
+@@ -253,11 +246,11 @@ bool PathProvider(int key, base::FilePath* result) {
        create_dir = true;
        break;
      case chrome::DIR_INTERNAL_PLUGINS:
@@ -46,25 +46,7 @@ index 8a205a6..d5c24e1 100644
          return false;
        cur = cur.Append(kPepperFlashBaseDirectory);
        break;
-@@ -285,7 +278,7 @@ bool PathProvider(int key, base::FilePath* result) {
-       cur = cur.Append(FILE_PATH_LITERAL("script.log"));
-       break;
-     case chrome::FILE_FLASH_PLUGIN:
--      if (!GetInternalPluginsDirectory(&cur))
-+      if (!GetInternalPluginsDirectory(&cur, "FILEFLASH"))
-         return false;
-       cur = cur.Append(kInternalFlashPluginFileName);
-       break;
-@@ -295,7 +288,7 @@ bool PathProvider(int key, base::FilePath* result) {
-       cur = cur.Append(chrome::kPepperFlashPluginFilename);
-       break;
-     case chrome::FILE_EFFECTS_PLUGIN:
--      if (!GetInternalPluginsDirectory(&cur))
-+      if (!GetInternalPluginsDirectory(&cur, "FILE_EFFECTS"))
-         return false;
-       cur = cur.Append(kEffectsPluginFileName);
-       break;
-@@ -308,7 +301,7 @@ bool PathProvider(int key, base::FilePath* result) {
+@@ -314,7 +307,7 @@ bool PathProvider(int key, base::FilePath* result) {
      // We currently need a path here to look up whether the plugin is disabled
      // and what its permissions are.
      case chrome::FILE_NACL_PLUGIN:
@@ -73,7 +55,7 @@ index 8a205a6..d5c24e1 100644
          return false;
        cur = cur.Append(kInternalNaClPluginFileName);
        break;
-@@ -343,7 +336,7 @@ bool PathProvider(int key, base::FilePath* result) {
+@@ -349,7 +342,7 @@ bool PathProvider(int key, base::FilePath* result) {
          cur = cur.DirName();
        }
  #else
@@ -82,7 +64,7 @@ index 8a205a6..d5c24e1 100644
          return false;
  #endif
        cur = cur.Append(FILE_PATH_LITERAL("pnacl"));
-@@ -372,7 +365,7 @@ bool PathProvider(int key, base::FilePath* result) {
+@@ -366,7 +359,7 @@ bool PathProvider(int key, base::FilePath* result) {
      // In the component case, this is the source adapter. Otherwise, it is the
      // actual Pepper module that gets loaded.
      case chrome::FILE_WIDEVINE_CDM_ADAPTER:
diff --git a/pkgs/applications/networking/browsers/chromium/source/sources.nix b/pkgs/applications/networking/browsers/chromium/source/sources.nix
index 5410293a7924..16aa67db30f6 100644
--- a/pkgs/applications/networking/browsers/chromium/source/sources.nix
+++ b/pkgs/applications/networking/browsers/chromium/source/sources.nix
@@ -1,21 +1,21 @@
 # This file is autogenerated from update.sh in the parent directory.
 {
   dev = {
-    version = "45.0.2454.6";
-    sha256 = "09bhbq3hvsfiac7w6ajd6n1lcdzf2isg1s9sqabrnx9blyds7msh";
-    sha256bin32 = "1f38rfd9v91inhd9m2sfcj4bpvq5f03zn8ypvacr9mpwc47rylx3";
-    sha256bin64 = "1bfjpjisa0hqiy8kmmgh2mr6zyifpmhr7k5ai44h5szf36768bn6";
+    version = "47.0.2498.0";
+    sha256 = "1dvp7wwfbdzyvbqcfn538gf0dk6w6gc88nms0wl0ir4ka7rf7mz1";
+    sha256bin32 = "15jsmvhyzscf6g6czkg5vxzyj7vnkndmsapx0xf8hlw8d5zw3nq7";
+    sha256bin64 = "1mx605dh93ak0p68rrpb6xf46jygggk0jwj7k6ks21l4wnxha8d5";
   };
   beta = {
-    version = "44.0.2403.89";
-    sha256 = "161shml5w2i0crl57hkfnizgmii6d70lxxg4rjxmays8g6lrmpds";
-    sha256bin32 = "1vk022m9kz9fw82sd94zqzi988ald3p2vlha7pz5wm2dgibwr25g";
-    sha256bin64 = "0kvrpqy3fpfzchly65nrh8z2z2i49xpa3pm2k7k18sn0x4bycji0";
+    version = "45.0.2454.78";
+    sha256 = "1n3yp0jm3jqyw0xwji1451qjjpkvpsqabn7d2r9fj75gspsiwv6z";
+    sha256bin32 = "11x8f2nyhf4n1jdd8npvr3ddkp3himi6lxpml64h5gjd5j9gf32b";
+    sha256bin64 = "16gk14q3pc1fzg9dbwlqsay4jwddsh5b37h4p8zkqqymv9fp5qq9";
   };
   stable = {
-    version = "43.0.2357.134";
-    sha256 = "0nbn25pl3rgyqmy4p5dqr0v08xzkm08lpzsaxzszqpa4w7ivp8fk";
-    sha256bin32 = "1xmybw4vs8x2rrg43f7x7yn763wfzr5f8d1jpq49r42qr365q6vs";
-    sha256bin64 = "1y79135pmkhvv4cdhdy93jhm0jdx132a6spqqyyhbcr2sn26cq62";
+    version = "45.0.2454.85";
+    sha256 = "14acjc80dmypybbvm087szp0g0m1gil5hjj02x8c6k7alsjh731y";
+    sha256bin32 = "1945m765a05wfdfslrb22r1jpicyghfkf4h7ijzw1z9whmxa9y1v";
+    sha256bin64 = "0d63akpr3yp128v01xgz1nd364w7p89gkvjpr4qz99q67dh3z1q1";
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/source/update.nix b/pkgs/applications/networking/browsers/chromium/source/update.nix
index e639cdb087bc..49864cf1c7b0 100644
--- a/pkgs/applications/networking/browsers/chromium/source/update.nix
+++ b/pkgs/applications/networking/browsers/chromium/source/update.nix
@@ -18,6 +18,7 @@ let
   debMirrors = [
     "http://95.31.35.30/chrome/pool/main/g"
     "http://mirror.pcbeta.com/google/chrome/deb/pool/main/g"
+    "http://repo.fdzh.org/chrome/deb/pool/main/g"
   ];
 
   tryChannel = channel: let
diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh
index e82d22f34fd0..e079762420be 100755
--- a/pkgs/applications/networking/browsers/chromium/update.sh
+++ b/pkgs/applications/networking/browsers/chromium/update.sh
@@ -11,22 +11,6 @@ source "$(nix-build --no-out-link "$base_path/update.nix" -A updateHelpers)";
 
 ver_sha_table=""; # list of version:sha256
 
-sha_lookup()
-{
-    version="$1";
-
-    for ver_sha in $ver_sha_table;
-    do
-        if [ "x${ver_sha%:*}" = "x$version" ];
-        then
-            echo "${ver_sha##*:}";
-            return 0;
-        fi;
-    done;
-
-    return 1;
-}
-
 sha_insert()
 {
     version="$1";
@@ -72,22 +56,15 @@ get_channel_exprs()
         channel="${chline%%,*}";
         version="${chline##*,}";
 
-        echo -n "Checking if sha256 of version $version is cached..." >&2;
-        if sha256="$(sha_lookup "$version")";
+        sha256="$(get_sha256 "$channel" "$version")";
+        if [ $? -ne 0 ];
         then
-            echo " yes: $sha256" >&2;
-        else
-            echo " no." >&2;
-            sha256="$(get_sha256 "$channel" "$version")";
-            if [ $? -ne 0 ];
-            then
-                echo "Whoops, failed to fetch $version, trying previous" \
-                     "versions:" >&2;
-
-                sha_ver="$(get_prev_sha256 "$channel" "$version")";
-                sha256="${sha_ver%:*}";
-                version="${sha_ver#*:}";
-            fi;
+            echo "Whoops, failed to fetch $version, trying previous" \
+                 "versions:" >&2;
+
+            sha_ver="$(get_prev_sha256 "$channel" "$version")";
+            sha256="${sha_ver%:*}";
+            version="${sha_ver#*:}";
         fi;
 
         sha_insert "$version" "$sha256";
diff --git a/pkgs/applications/networking/browsers/conkeror/default.nix b/pkgs/applications/networking/browsers/conkeror/default.nix
index 9715b46ed507..007c49b2733b 100644
--- a/pkgs/applications/networking/browsers/conkeror/default.nix
+++ b/pkgs/applications/networking/browsers/conkeror/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, unzip, firefox, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "conkeror-1.0pre-20150319";
+  name = "conkeror-1.0pre-20150730";
 
   src = fetchgit {
     url = git://repo.or.cz/conkeror.git;
-    rev = "6450632b3f0c315f79e7a9856658083fe8fc9c29";
-    sha256 = "18cqz1n2n6aimmgd69mdrgmkjf4207k7yz11wihka6b5z1hfiv64";
+    rev = "a1f7e879b129df5cf14ea4ce80a9c1407380ed58";
+    sha256 = "12d8949a81a670037664dd930f7efe3d54b321aad48deea68343eba9aaea8785";
   };
 
   buildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/applications/networking/browsers/dillo/default.nix b/pkgs/applications/networking/browsers/dillo/default.nix
index 6760e123ccb5..a54e5e0c3701 100644
--- a/pkgs/applications/networking/browsers/dillo/default.nix
+++ b/pkgs/applications/networking/browsers/dillo/default.nix
@@ -6,18 +6,16 @@
 , libXcursor, libXi, libXinerama }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.4.1";
+  version = "3.0.5";
   name = "dillo-${version}";
 
   src = fetchurl {
     url = "http://www.dillo.org/download/${name}.tar.bz2";
-    sha256 = "0iw617nnrz3541jkw5blfdlk4x8jxb382pshi8nfc7xd560c95zd";
+    sha256 = "12ql8n1lypv3k5zqgwjxlw1md90ixz3ag6j1gghfnhjq3inf26yv";
   };
 
   buildInputs = with stdenv.lib;
-    [ fltk openssl libjpeg libpng libXcursor libXi libXinerama ];
-
-  nativeBuildInputs = [ perl ];
+  [ perl fltk openssl libjpeg libpng libXcursor libXi libXinerama ];
 
   configureFlags =  "--enable-ssl";
 
diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix
index 6f6ffd67a539..d79a5215ce21 100644
--- a/pkgs/applications/networking/browsers/dwb/default.nix
+++ b/pkgs/applications/networking/browsers/dwb/default.nix
@@ -30,5 +30,9 @@ stdenv.mkDerivation {
     platforms = platforms.mesaPlatforms;
     maintainers = with maintainers; [ pSub ];
     license = licenses.gpl3;
+
+    # dwb is no longer maintained by portix and efforts to keep it alive
+    # were not successful, see issue #7952 for discussion.
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index ebc05a79af9e..336c727ea151 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -129,19 +129,9 @@ stdenv.mkDerivation {
           "$out/usr/lib/firefox-bin-${version}/$executable"
       done
 
-      for executable in \
-        firefox firefox-bin plugin-container \
-        updater crashreporter webapprt-stub \
-        components/libdbusservice.so components/libmozgnome.so \
-        gmp-clearkey/0.1/libclearkey.so \
-        browser/components/libbrowsercomps.so \
-        libnssdbm3.so libsmime3.so libxul.so  libnss3.so libplc4.so \
-        libfreebl3.so libmozsqlite3.so libmozalloc.so libnspr4.so libssl3.so \
-        libsoftokn3.so libnssutil3.so libnssckbi.so libplds4.so
-      do
+      find . -executable -type f -exec \
         patchelf --set-rpath "$libPath" \
-          "$out/usr/lib/firefox-bin-${version}/$executable"
-      done
+          "$out/usr/lib/firefox-bin-${version}/{}" \;
 
       # Create a desktop item.
       mkdir -p $out/share/applications
diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
index eabff067f750..b7627e52068d 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
+++ b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
@@ -8,7 +8,7 @@ version = if ARGV.empty?
             ARGV[0]
           end
 
-base_path = "http://download-installer.cdn.mozilla.net/pub/firefox/releases"
+base_path = "http://archive.mozilla.org/pub/firefox/releases"
 
 Source = Struct.new(:hash, :arch, :locale, :filename)
 
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
index ebb5348795c3..b29cdec27e97 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_source.rb > source.nix
 
 {
-  version = "39.0";
+  version = "40.0.3";
   sources = [
-    { locale = "ach"; arch = "linux-i686"; sha1 = "802ac533ba95ecfb4780f84d52698a2cc2d7ac82"; }
-    { locale = "ach"; arch = "linux-x86_64"; sha1 = "3c000ef496165cb4e0e104d72a381040a3bc6787"; }
-    { locale = "af"; arch = "linux-i686"; sha1 = "6fa249f63fe690f3459f4b0112f4945a502a79eb"; }
-    { locale = "af"; arch = "linux-x86_64"; sha1 = "f22b92d0fb0ed21f0e6a3a47c5f2fe873b3bfb56"; }
-    { locale = "an"; arch = "linux-i686"; sha1 = "650c772ef89bc5ef6efe5129ddf8feaf993c8f1d"; }
-    { locale = "an"; arch = "linux-x86_64"; sha1 = "e722d65e3b9b706e6b9214ae79543130ad6dba95"; }
-    { locale = "ar"; arch = "linux-i686"; sha1 = "8ff6fbc92e5b9cedfa17eda240fc89f14eb68f73"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha1 = "a1e94f56148a554e522cd317d0f2384073020278"; }
-    { locale = "as"; arch = "linux-i686"; sha1 = "c6815876c23117a462d79eb5da291610c1d96feb"; }
-    { locale = "as"; arch = "linux-x86_64"; sha1 = "629997b112da84852a01606f7fa4f15448c0ebb3"; }
-    { locale = "ast"; arch = "linux-i686"; sha1 = "acda6aefe872e4982d0e8f3ac337d4243bb5e00f"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha1 = "181d998305bb75ea5e99bb1b4b5059b54a724ab9"; }
-    { locale = "az"; arch = "linux-i686"; sha1 = "230ebfaf61efac65c9daae983ec2fd854a9c1dac"; }
-    { locale = "az"; arch = "linux-x86_64"; sha1 = "a8ddb38542bce008924e4b593691ae84a839e564"; }
-    { locale = "be"; arch = "linux-i686"; sha1 = "47a242cd2c91cd7435c8c959d5eaa8595710f6aa"; }
-    { locale = "be"; arch = "linux-x86_64"; sha1 = "db62ad921f9df2683522db1968db9b79edfbadf2"; }
-    { locale = "bg"; arch = "linux-i686"; sha1 = "c2fddb3667c5bb50fee3011cfb782b2dff7f4063"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha1 = "1b891a9df513e9f099f68fe2f0429b00bd12505b"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "0ad965be5c9ce5468e65667dcb0390a9afabd7b0"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "301b659d5689de81ca60f7092176efaf48a50a18"; }
-    { locale = "bn-IN"; arch = "linux-i686"; sha1 = "df99d9e80ebda8c146724f893ae2de77cf2518ab"; }
-    { locale = "bn-IN"; arch = "linux-x86_64"; sha1 = "4b4cc8e588a518af8a922d32163249af115fac42"; }
-    { locale = "br"; arch = "linux-i686"; sha1 = "39976bf6a0c7bdfc1832a6f2c48e92324f4a6727"; }
-    { locale = "br"; arch = "linux-x86_64"; sha1 = "ea66a36ea70486f39c7cf7abbf637d37c04d32ef"; }
-    { locale = "bs"; arch = "linux-i686"; sha1 = "71eeeccd5bf5757d6ec4f9e1442c4fcfbf312d79"; }
-    { locale = "bs"; arch = "linux-x86_64"; sha1 = "10911d28d56d4083aea7eb2174d0d7dd78772215"; }
-    { locale = "ca"; arch = "linux-i686"; sha1 = "434532ff2cca7a0401a7aed8753d1c5578e98c1a"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha1 = "2a6aaed334856d06ce8c426282f3345d9bcaa435"; }
-    { locale = "cs"; arch = "linux-i686"; sha1 = "e2445b13ab680f5dfd5d67e4e796170fbd6bd120"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha1 = "ef1df48bd465a3b05d1046bf4627c1ae4f60ee06"; }
-    { locale = "cy"; arch = "linux-i686"; sha1 = "f95974e478e2d0fec7400424a33202e1e2b1e5b9"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha1 = "c521abab2bffe24863c087f02d57ffafae47def7"; }
-    { locale = "da"; arch = "linux-i686"; sha1 = "f11b050caae304029ccf23ce2906fe18115adbc8"; }
-    { locale = "da"; arch = "linux-x86_64"; sha1 = "800e0f3b649c9a03d4e9cd2a4ccd8f14bbb5ed95"; }
-    { locale = "de"; arch = "linux-i686"; sha1 = "b9502be9396e00b69946f0094c5939a8a57da64b"; }
-    { locale = "de"; arch = "linux-x86_64"; sha1 = "84fab2779bc055821afdb5d7ff45e3ffe95e2858"; }
-    { locale = "dsb"; arch = "linux-i686"; sha1 = "5eee946bc2182990b310ed57fbf527e82f93bc8b"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha1 = "8b3219b071e836ecc4966e153ec0adb4e691de89"; }
-    { locale = "el"; arch = "linux-i686"; sha1 = "9759c69061d6419edb949c55f7e797302b477c78"; }
-    { locale = "el"; arch = "linux-x86_64"; sha1 = "db5025d393a763c7cd4ed447d61b640ee77e7e79"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha1 = "4fdc423d6d15bd6a14030a526ad7017fd5bdf937"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "0d8637f1ca6acfe494f963c936d8510c6c11f8bf"; }
-    { locale = "en-US"; arch = "linux-i686"; sha1 = "e05722e42ea1d844d8fe40672026cacb19575ccf"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "8143b339d0ceedaf797b49ca4b54bcc0c91925e3"; }
-    { locale = "en-ZA"; arch = "linux-i686"; sha1 = "fac507eebec642fd50f248ac184dbde4538ad0bb"; }
-    { locale = "en-ZA"; arch = "linux-x86_64"; sha1 = "2670a80c7ca5d5390df9fcee907afbe7a01f9f37"; }
-    { locale = "eo"; arch = "linux-i686"; sha1 = "a134117ddd446b63f325a38f818a80921adb5b2f"; }
-    { locale = "eo"; arch = "linux-x86_64"; sha1 = "5b073a912221e8e734ba17ecfe735d820f5febf3"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha1 = "0e518d9fe0644a6ada9463ae14fa67c2c49bfd5f"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "fa33935aa4abb696ea9a399cff0c1dc29beffab0"; }
-    { locale = "es-CL"; arch = "linux-i686"; sha1 = "3c7df32ed5d2570e62e35dcb9f9d91588d7584d2"; }
-    { locale = "es-CL"; arch = "linux-x86_64"; sha1 = "ced3821f7e334b2f0d5b5115cc04cbaf5bcdbe15"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha1 = "6af75a3e116162591dd6a15c8903ee5182afe03b"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "fa1ddbc5a3d9bd7c9cc424fe6c5e94c87d51eab2"; }
-    { locale = "es-MX"; arch = "linux-i686"; sha1 = "8110bdf4c8657e88f71b8a6bec1ca92f2eac0538"; }
-    { locale = "es-MX"; arch = "linux-x86_64"; sha1 = "30df4777fde7eba8724fab002cb7387203eeb82e"; }
-    { locale = "et"; arch = "linux-i686"; sha1 = "2f16472e5cd030a14e3cfa761a32c0ef5ffd395e"; }
-    { locale = "et"; arch = "linux-x86_64"; sha1 = "19a96b008a49e7a223ea2463edab7cda504e2ba5"; }
-    { locale = "eu"; arch = "linux-i686"; sha1 = "786db5ad8d92324d3086f7b2b8da71767829a8f2"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha1 = "31273f797cb90615032611d2d86cac8cf6d28994"; }
-    { locale = "fa"; arch = "linux-i686"; sha1 = "e2980430f1cd25edb401862b83fb49f2d730ff5e"; }
-    { locale = "fa"; arch = "linux-x86_64"; sha1 = "dae850824c3eaaa31fec4aad19e38e2073d96f10"; }
-    { locale = "ff"; arch = "linux-i686"; sha1 = "f865672eaa7815f3bb527baf3946c62c01c76dbb"; }
-    { locale = "ff"; arch = "linux-x86_64"; sha1 = "aa207b51d24ca275b0cbd5ba4cd93ce16a6bd28a"; }
-    { locale = "fi"; arch = "linux-i686"; sha1 = "30ef856ecdadeba171977859324f010d441a51e9"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha1 = "3ebbabc2346eeac01aaf88e91fd1fd55538c0770"; }
-    { locale = "fr"; arch = "linux-i686"; sha1 = "4dd376ccc6811d46be052fcf1aab82e50a3e0999"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha1 = "f6409e276b400ecaa689d92fe5387662d1b5f2ab"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "751cd1092a58a8b6cde5d9e80790715d249ac11b"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "3cc75c55220f81b0291c16d2f237cb6a2d2609f0"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "2bfa436c566a4e2f0fe7847feccf3c157e026d4b"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "0b2ce0b246e107d99b13e497c64ad169e85eec51"; }
-    { locale = "gd"; arch = "linux-i686"; sha1 = "3afc8ad8747bfcbc5a7e6f2e6de37cbefb3967e7"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha1 = "5bec8bcc0a67f304485b1efa7be5d952ce7985ce"; }
-    { locale = "gl"; arch = "linux-i686"; sha1 = "8fa3dfdc0d2da19f6c98dc76363c9e0d9d10f978"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha1 = "4345cf5673267fb41c2c38f5fb92a3b0a9208cf0"; }
-    { locale = "gu-IN"; arch = "linux-i686"; sha1 = "e57883626a22d3935716417194e78a689c5535c2"; }
-    { locale = "gu-IN"; arch = "linux-x86_64"; sha1 = "be6095129ee3f3fc80f6705594a53c6ced996cb2"; }
-    { locale = "he"; arch = "linux-i686"; sha1 = "7ca70c0648b2f3928c1dc33288b48f488cf1d19b"; }
-    { locale = "he"; arch = "linux-x86_64"; sha1 = "f2eb7c6c33e8b4bc9a03bee587de4fe5b442ac95"; }
-    { locale = "hi-IN"; arch = "linux-i686"; sha1 = "32b242a2c6865fdad63ba4de701c566ffb33ef99"; }
-    { locale = "hi-IN"; arch = "linux-x86_64"; sha1 = "f83ceece81a71e6fb1494863b2970b2dc384d4c4"; }
-    { locale = "hr"; arch = "linux-i686"; sha1 = "77f9c855e5f728dcd3b4ff27ed656aa67217dd35"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha1 = "f48bcf72d740f4a34bb7f888d977d4d39c141567"; }
-    { locale = "hsb"; arch = "linux-i686"; sha1 = "2db09bd59f3761bfdba8bad565e27e1b42a93727"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha1 = "99e0f119e5e79df5b20f686dd065fee5bda4511f"; }
-    { locale = "hu"; arch = "linux-i686"; sha1 = "0d601a679675c517a535bf706e7cbad9882a5d7c"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha1 = "dbd3d180342d0946ab857bdd8d6bc30373e991b5"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "5f3e01cf375af38bee7014ff21fe75daf4e27071"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "a78fbb1cc4e6d10056cc7a3ccecf4750979c5953"; }
-    { locale = "id"; arch = "linux-i686"; sha1 = "7efc031614247ddb93a27531d3fa1d19ce21d516"; }
-    { locale = "id"; arch = "linux-x86_64"; sha1 = "e409bb73aad373791d83569dfb4a475bc617eac8"; }
-    { locale = "is"; arch = "linux-i686"; sha1 = "0e5c4e9173379457b6c8edd1812121fce84cda07"; }
-    { locale = "is"; arch = "linux-x86_64"; sha1 = "dc6cbffde61b6188080e458b4a31b634f4c0434c"; }
-    { locale = "it"; arch = "linux-i686"; sha1 = "d75318f8421f634eeacf15aaa91a28261324044c"; }
-    { locale = "it"; arch = "linux-x86_64"; sha1 = "b024d0e3498c3dd32757997a273d9f1051ccd47f"; }
-    { locale = "ja"; arch = "linux-i686"; sha1 = "f74c1c567582a207efb501892845d1c28d7b8751"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha1 = "cb4151c0c1c6efa4c8ec5e4656de60b1abd65bac"; }
-    { locale = "kk"; arch = "linux-i686"; sha1 = "1e9d43eedb0bab9f428a80ee3c2721a944961562"; }
-    { locale = "kk"; arch = "linux-x86_64"; sha1 = "18a55f6ea18663922052411ebaed18c16c9f3050"; }
-    { locale = "km"; arch = "linux-i686"; sha1 = "f4f6af5a09072e004e7c8db7a10edc9ab8d474c3"; }
-    { locale = "km"; arch = "linux-x86_64"; sha1 = "43694f66fea7caf9b2f4d976564c00a99f7092e7"; }
-    { locale = "kn"; arch = "linux-i686"; sha1 = "3a94f8a0cadc729e97bb6a7b273b02d79c9012dd"; }
-    { locale = "kn"; arch = "linux-x86_64"; sha1 = "ec51644f69354aebac67f36e387d1a5b45d0dfa8"; }
-    { locale = "ko"; arch = "linux-i686"; sha1 = "599de739c08799b8e4082190a53de3ae0dfc6617"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha1 = "338825804362d34911beaad146ca6d104bc69788"; }
-    { locale = "lij"; arch = "linux-i686"; sha1 = "f2a6112a81043cc9608594cd56680a2e075dfd36"; }
-    { locale = "lij"; arch = "linux-x86_64"; sha1 = "8650de76d89abdcba3d0e4bba8c2b90533e54ce6"; }
-    { locale = "lt"; arch = "linux-i686"; sha1 = "0ea6e49b51dfd12150334b6023e26419716cdb65"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha1 = "a16c9e916462e3780159677528ffa35b9569a80b"; }
-    { locale = "lv"; arch = "linux-i686"; sha1 = "0255634959aa739ae6807a1c249e4c78f51f8316"; }
-    { locale = "lv"; arch = "linux-x86_64"; sha1 = "ada8dc2d3ea22c2afffac88b581dfc72a27f2f89"; }
-    { locale = "mai"; arch = "linux-i686"; sha1 = "fa932b9e6d9798753e7b89b91a5db6565fe2b695"; }
-    { locale = "mai"; arch = "linux-x86_64"; sha1 = "8a9252658d549d2cbc764197265275461db605b6"; }
-    { locale = "mk"; arch = "linux-i686"; sha1 = "641c882870dfa7fb23bed9c07def585477ff459d"; }
-    { locale = "mk"; arch = "linux-x86_64"; sha1 = "4b68d11f2a613bc8350d37dae899c2c65afe5dc9"; }
-    { locale = "ml"; arch = "linux-i686"; sha1 = "f636e9b8d5e268f7c124ef3f35f6933de83fed62"; }
-    { locale = "ml"; arch = "linux-x86_64"; sha1 = "ed98b20d8eb88a73b119c3a1435904f69529eabd"; }
-    { locale = "mr"; arch = "linux-i686"; sha1 = "d5ef4d4dbf4d0b63f526d102e95f28078096032a"; }
-    { locale = "mr"; arch = "linux-x86_64"; sha1 = "8e92bf456593359afb256c387578042c6085916f"; }
-    { locale = "ms"; arch = "linux-i686"; sha1 = "d94320d0c8aee23b6d3c603664caab45180b6069"; }
-    { locale = "ms"; arch = "linux-x86_64"; sha1 = "b9fdc0248d9656b3555c475643c7e07ca3c6b222"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "d49719c255a43151ed5e94d7024c39914ea27ec7"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "f2b1f00254ef350f817b5c1958384a9f5144f83e"; }
-    { locale = "nl"; arch = "linux-i686"; sha1 = "cc54828041f57f623de691a49e4bb055bd059c54"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha1 = "5728a30bf53644a3b13bc00f5652e067cbe9100b"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "0f69ddbd963a19d104ee96589c405c55aa7140b2"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "26af2b8cf928fedb5442c5257289f5e38c4f8432"; }
-    { locale = "or"; arch = "linux-i686"; sha1 = "2da0842ebe8ae5a8e80061d0fc159a5d408c4464"; }
-    { locale = "or"; arch = "linux-x86_64"; sha1 = "b7cc446178a493589d8654236f6e9113aee48455"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "dd81dc403366a7fd0d395338878b8b8fcb858365"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "2ca8cc4c491f0ded4cef8e3826a3c1419a580051"; }
-    { locale = "pl"; arch = "linux-i686"; sha1 = "468d45392126ac7852012ed43d76d83e238dc2ac"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha1 = "ed20af16563516671f32bb588728e90f29955964"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "b197bca20e972ce2f8851dc128fb212a7d293454"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "2cd05329c3612330fdc1354fe651cc13ab8d9a5f"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "1087ba6ba17aa102888e929ccf7acc6b2476e447"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "aa1907c10e980a8466c1604519ffa08aaabb2d7c"; }
-    { locale = "rm"; arch = "linux-i686"; sha1 = "fdb717a0f40b94a53077ff036a55c0f93b61a2cc"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha1 = "af10206080a7ad21e5fda9cdf66a734ee33b07ac"; }
-    { locale = "ro"; arch = "linux-i686"; sha1 = "f08c67c6ea2a63c216f944453b4ce8b36f4ed840"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha1 = "07efb37804ffab35f117eb32f9f645b554ac1dd8"; }
-    { locale = "ru"; arch = "linux-i686"; sha1 = "874f588d7ac5554ae4e8e134bfc272897f839f97"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha1 = "af64b6eb8d33d6bd78ce86e4785be50babe5c919"; }
-    { locale = "si"; arch = "linux-i686"; sha1 = "672523b996c7021e06b4a713f7ac1239a3b1800f"; }
-    { locale = "si"; arch = "linux-x86_64"; sha1 = "2e594b56230c079a9f1735e9bab9dc4a9d9e31ab"; }
-    { locale = "sk"; arch = "linux-i686"; sha1 = "6edffa576d9829673c65400d4570b34dc787faad"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha1 = "7b506fedbf3a25cd1ed54b05c9b5cb7b8c237ad8"; }
-    { locale = "sl"; arch = "linux-i686"; sha1 = "e8d1fea389b7cb75b7ccbf22ad5b8691e9bf1b6a"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha1 = "20163798733ee36ffa510987b18d1eb67b82aca1"; }
-    { locale = "son"; arch = "linux-i686"; sha1 = "9076d0e9de6adb7fbd26dbd3cd89dd5728939aab"; }
-    { locale = "son"; arch = "linux-x86_64"; sha1 = "352aeb9f5ccb1e3bb87c8e47f93e96a049991412"; }
-    { locale = "sq"; arch = "linux-i686"; sha1 = "838c4c525a9f93117704851ad81b2c199a9c28fc"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha1 = "0139a064056da0ed1730fd768da1322a9661bca9"; }
-    { locale = "sr"; arch = "linux-i686"; sha1 = "7d74018cd9948ee31e05b30ff1fb45a84d417494"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha1 = "85c43e2359f444faf111efd83fb0dc3e1b0edb48"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "bc95ee926f82aba58691d923eb4cb963aa4cb64a"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "7c8946d6180e2c48a80958b6a790bf6c9231591e"; }
-    { locale = "ta"; arch = "linux-i686"; sha1 = "dfaad8f934869d714c94a95a775bcdcd67fda3c4"; }
-    { locale = "ta"; arch = "linux-x86_64"; sha1 = "5523c6df4e2b03ae71c865aabe6bb0dd0446fc87"; }
-    { locale = "te"; arch = "linux-i686"; sha1 = "7a61ca88c832af3d15f197ba01d66c6fc43465d3"; }
-    { locale = "te"; arch = "linux-x86_64"; sha1 = "696823890791a05c6cf0230d1063a30012873090"; }
-    { locale = "th"; arch = "linux-i686"; sha1 = "4a3b932813ad0ab07f467a598e9e85b847bbe142"; }
-    { locale = "th"; arch = "linux-x86_64"; sha1 = "f847f3f0fb07f97053066f4b4314d93e9614e6cf"; }
-    { locale = "tr"; arch = "linux-i686"; sha1 = "59eee567e30cf6321c234c60002b416faec07aa4"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha1 = "b64dfdbdc75f87003f00883173084646a2617a29"; }
-    { locale = "uk"; arch = "linux-i686"; sha1 = "44e6b53ede97835847ed84defe4235cad513c653"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha1 = "bb6f84f58a19c6287bbc84e0e7101fcd48bd720a"; }
-    { locale = "uz"; arch = "linux-i686"; sha1 = "1aec3ba9efd52a1f386e0bb075745a7c01c443a2"; }
-    { locale = "uz"; arch = "linux-x86_64"; sha1 = "2ce2caccb638c0467ba1382a15146ef1cc33fa72"; }
-    { locale = "vi"; arch = "linux-i686"; sha1 = "d8b339892c152254c89ec1d42ff9b7f128455aab"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha1 = "e4503686f2a997e1c793ef8e3c80bccd3dc0e2f0"; }
-    { locale = "xh"; arch = "linux-i686"; sha1 = "d130fae691b91a1f1f7d15ca84f643ccf299b0e3"; }
-    { locale = "xh"; arch = "linux-x86_64"; sha1 = "18b5d09571f4db7b18dbbdb3f3c29c80480a16aa"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "303816f99659e2bbb8ecc4f9b1c83932a0c9205d"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "238b50b8bb745f2d80099354592c9b710c55f1d8"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "9159a6fea44a97a33390c527abf7730cdbbc9216"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "74e3c2292aed9c2a7de24d6f3693ac1d0ba4c41f"; }
+    { locale = "ach"; arch = "linux-i686"; sha1 = "68adee53b26075e18d0ef4d43da4260ec274d861"; }
+    { locale = "ach"; arch = "linux-x86_64"; sha1 = "8e2cc81fc414fb71e5a83c40b4a4197f6648af78"; }
+    { locale = "af"; arch = "linux-i686"; sha1 = "f36ae5a72738cfa70c6824a5929cb14faa60be1b"; }
+    { locale = "af"; arch = "linux-x86_64"; sha1 = "4b7a01e76db920d4aa1cbeb556cbe91b37070304"; }
+    { locale = "an"; arch = "linux-i686"; sha1 = "a71cc4c7f988f1b5470dec60a73643f53104a1b2"; }
+    { locale = "an"; arch = "linux-x86_64"; sha1 = "1c47a2b37a88d405a819c7bdbe84489a31e838dd"; }
+    { locale = "ar"; arch = "linux-i686"; sha1 = "d25ec2c169ea9a953636e0cbd4049095834c808d"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha1 = "5f588ffb8e21ea15fb78dca128a33be734575e3e"; }
+    { locale = "as"; arch = "linux-i686"; sha1 = "aadbbc147c65d2436916e81bb43ca342f5c19a9d"; }
+    { locale = "as"; arch = "linux-x86_64"; sha1 = "9e04c39967e0a667b5a33f7436d555ac25ea4240"; }
+    { locale = "ast"; arch = "linux-i686"; sha1 = "9062edea598e4ec354259268be1fa2f85b8ba6d0"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha1 = "98e6cac1de95a571ea6f88b18970c11b8056b8cb"; }
+    { locale = "az"; arch = "linux-i686"; sha1 = "4c23a1fb7e8ecdd1e20f9d398c387fbd766fa51e"; }
+    { locale = "az"; arch = "linux-x86_64"; sha1 = "5b4bb2a9906c7475c718ad0abd299606718c3880"; }
+    { locale = "be"; arch = "linux-i686"; sha1 = "e10d45e9c2de22d9af5db6750f5466d0fddce6d8"; }
+    { locale = "be"; arch = "linux-x86_64"; sha1 = "ce70351af3ce9f27051ae14e9a529cba9876aeb8"; }
+    { locale = "bg"; arch = "linux-i686"; sha1 = "e9546468eb2ddf67ea93563bd1a1c69736effa6b"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha1 = "fb734bc851775335e4dbd795fb7a56ca30a2a7ae"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "36aeba40a75a80ab186bab0024607a263c92a8b5"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "e6f3833728864120906a7409561c09ace56713bb"; }
+    { locale = "bn-IN"; arch = "linux-i686"; sha1 = "c641603161439f8c982952db76a9a947a5e68f5f"; }
+    { locale = "bn-IN"; arch = "linux-x86_64"; sha1 = "97f560a79f9dffd208cc572875c9bd683ce7e0f7"; }
+    { locale = "br"; arch = "linux-i686"; sha1 = "08e490ecf22f1e6e2646ddb1bba508835593b6ae"; }
+    { locale = "br"; arch = "linux-x86_64"; sha1 = "e0b84df55b0ae2e216196037f62004d11074c618"; }
+    { locale = "bs"; arch = "linux-i686"; sha1 = "8f2f9e0870b27f4d184ee98052a78eff64192981"; }
+    { locale = "bs"; arch = "linux-x86_64"; sha1 = "8fbf417d8e2fe33d926bafc0fe4a4b433bd4ac93"; }
+    { locale = "ca"; arch = "linux-i686"; sha1 = "db308680eda482ebe59bd7807e433a3761b69160"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha1 = "888fe735b223b2d233900c1f356de187a92eca02"; }
+    { locale = "cs"; arch = "linux-i686"; sha1 = "c3a185149605ec5818de19047c3a9be4cc8800b6"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha1 = "6e6477d578bec18d7e67d35012c5d019f4055c65"; }
+    { locale = "cy"; arch = "linux-i686"; sha1 = "7990f07ca2fc0f28bdd2e96d5fe227b29f6eebaf"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha1 = "11457870a82224739a5b02e7645703613b7c207b"; }
+    { locale = "da"; arch = "linux-i686"; sha1 = "9d96c67f5b22e6f8c114dd39230c666778d872b6"; }
+    { locale = "da"; arch = "linux-x86_64"; sha1 = "bff7b7716f2195fbb8e746b8e65498283c872710"; }
+    { locale = "de"; arch = "linux-i686"; sha1 = "7de018d1749c18a37da19db55a3070ef84e62ce4"; }
+    { locale = "de"; arch = "linux-x86_64"; sha1 = "44fe11de7503409417ad9c7ae0bf39c425c2dc90"; }
+    { locale = "dsb"; arch = "linux-i686"; sha1 = "2f9a019ff89e8b20d22d2e22cf58002a4d627228"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha1 = "f708084b81a3a98ac64e0e2ea4b6f97fe48a7209"; }
+    { locale = "el"; arch = "linux-i686"; sha1 = "77ddde8a32e0d81d5d7e136324117a4e07aaf7f0"; }
+    { locale = "el"; arch = "linux-x86_64"; sha1 = "dce4f745d77da895075b10f921b445e0df349edd"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha1 = "7de8827e2929114f869af44e90dbac306b0ce9e7"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "ead42059b82f9ab565a34fa3d6b3bc0f5a211a50"; }
+    { locale = "en-US"; arch = "linux-i686"; sha1 = "765f0120c223d07e84bc3ebf00eeef2e2907640e"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "0a317d7a0926e29e6dc8c563cf09fe667141da7d"; }
+    { locale = "en-ZA"; arch = "linux-i686"; sha1 = "52629a4afcc9f3224e3a8fdd12f2385ffd21cf00"; }
+    { locale = "en-ZA"; arch = "linux-x86_64"; sha1 = "d2fa0d6970a88de5125d89ae8263517a9bbc2346"; }
+    { locale = "eo"; arch = "linux-i686"; sha1 = "fbd01eae326465a8f4efeb08ff44d27f04e2ed66"; }
+    { locale = "eo"; arch = "linux-x86_64"; sha1 = "08b0f4d181ce1f0db0a799a7876315c6752c76af"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha1 = "1a6d77533438619715e37b43c97f131ac7066ac0"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "fae63a4b373d2074775dfa67ba7d4320cad59e61"; }
+    { locale = "es-CL"; arch = "linux-i686"; sha1 = "6068e7326eddf2d36afdd20dee1dd433abb0e3d0"; }
+    { locale = "es-CL"; arch = "linux-x86_64"; sha1 = "010544ad413acf7210c10aa3dc99ef0cdab6b475"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha1 = "0378eb7346f686a8a25c71febfd933f3080e7e29"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "01647b2981d62e2171f9e7b6e8286c542a00583a"; }
+    { locale = "es-MX"; arch = "linux-i686"; sha1 = "0f6194bce1a065d7b41fd8a46c52ea38874e9e56"; }
+    { locale = "es-MX"; arch = "linux-x86_64"; sha1 = "04f6cb55cb4f9171adf14c7a11ec0271d6c2cf3e"; }
+    { locale = "et"; arch = "linux-i686"; sha1 = "1da33a7e75efca19810ab7e739f2b81e0d48c379"; }
+    { locale = "et"; arch = "linux-x86_64"; sha1 = "44d8f989b04b16eff2bcf4945d3fa4387279dfc7"; }
+    { locale = "eu"; arch = "linux-i686"; sha1 = "60306283826c048acb1ad0232e9c1461f49f2a95"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha1 = "16de3bde630a31c9330fd87ed7d994443371d84e"; }
+    { locale = "fa"; arch = "linux-i686"; sha1 = "728780b2668bb107db51f3804a53923d1a7c8298"; }
+    { locale = "fa"; arch = "linux-x86_64"; sha1 = "b31affd14286e7462e6c3bca472d88025c2b917b"; }
+    { locale = "ff"; arch = "linux-i686"; sha1 = "52d009168db00b167df1890dee39580ccca36ab6"; }
+    { locale = "ff"; arch = "linux-x86_64"; sha1 = "d65def2945ea4222965fa16e653cd0db8eec9454"; }
+    { locale = "fi"; arch = "linux-i686"; sha1 = "f62e88efed3d68b1ad88dfe9e8111d213b2c713b"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha1 = "708ffd36d036b4c652ac1f20bf0cba2140035bc9"; }
+    { locale = "fr"; arch = "linux-i686"; sha1 = "310076f077abdd7834f341091a9541a27ce1f6ce"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha1 = "5b2e56cf8173b5c4ab0949d9f5d099dbca8f27cb"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "de33f286bf9c6461335dc7cc9b997c6f52de34f6"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "b53848124a0d3d1d71a4e802d99a4344edd91e03"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "f3bdd90591fbaa6a15b1ae671e8633af3a2765ea"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "c8594b0932650c5850a84a35953b7116c432d0a9"; }
+    { locale = "gd"; arch = "linux-i686"; sha1 = "546818b38dc2e21afa2a51a29c2148bfe39ce33b"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha1 = "a70e63927324099122edc032bb699e058c1ef36c"; }
+    { locale = "gl"; arch = "linux-i686"; sha1 = "75d6dc5dc3adc964be970dddc128e13baaac23dd"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha1 = "2eba733d65e7582a23d84392288d10336e978009"; }
+    { locale = "gu-IN"; arch = "linux-i686"; sha1 = "97285fae817794cc05e9a121c33aafeff77442cb"; }
+    { locale = "gu-IN"; arch = "linux-x86_64"; sha1 = "063536c1cbc29c430a8e01674f3bb62ed94e18d9"; }
+    { locale = "he"; arch = "linux-i686"; sha1 = "a4be53b79cd1027f517562a0723233643b6e2020"; }
+    { locale = "he"; arch = "linux-x86_64"; sha1 = "4fcaf3a6347beaac041f9095609a92c03700e911"; }
+    { locale = "hi-IN"; arch = "linux-i686"; sha1 = "80d5db7c9a65de398663b3dc659723b12cdbe502"; }
+    { locale = "hi-IN"; arch = "linux-x86_64"; sha1 = "920bd570abce26d713f11666852fcf5d37d00331"; }
+    { locale = "hr"; arch = "linux-i686"; sha1 = "5de961d08a5bba30245b714271ab4ed5d24a3bc4"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha1 = "fb30c3ab5b224a38416eb783ee30c3aa8b4a743b"; }
+    { locale = "hsb"; arch = "linux-i686"; sha1 = "31113c1b61217820f9a9e3dcace821aef612edd7"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha1 = "381bce247ea65fee04ee94d56e70cd30cc6959bd"; }
+    { locale = "hu"; arch = "linux-i686"; sha1 = "90515b7c36553cdf6b88b44146766c52d1a7acd5"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha1 = "be0542fc76fedf82b46031dbeb9f4173be2a5313"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "4389ed68236bdc4697f3c8e5c53fe986ccb5f277"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "0bb311890b604d1300ffa887984b4217cfb3b925"; }
+    { locale = "id"; arch = "linux-i686"; sha1 = "8415b519f19a3c52a5d8418046a7a67d118a38e1"; }
+    { locale = "id"; arch = "linux-x86_64"; sha1 = "e492caab12e6dace9dc763209a8b0803e8216d2f"; }
+    { locale = "is"; arch = "linux-i686"; sha1 = "663d406a587449f33561173d6e6d275964b9172d"; }
+    { locale = "is"; arch = "linux-x86_64"; sha1 = "0f649b13c2dad302b0cf449915f5c1a5ab7e198c"; }
+    { locale = "it"; arch = "linux-i686"; sha1 = "490aeed8cd9878d0f22ea99df674d1dbe134a6f3"; }
+    { locale = "it"; arch = "linux-x86_64"; sha1 = "2fbe0baed7379d717174be8dee4b879e6e4afd81"; }
+    { locale = "ja"; arch = "linux-i686"; sha1 = "64144069a001bce53651aa5b8ec835c8c61bce1b"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha1 = "66563588c41fed8e542c89756dc235773c6d201b"; }
+    { locale = "kk"; arch = "linux-i686"; sha1 = "c7e4a6544d4062958d48be26df3738b15871edcd"; }
+    { locale = "kk"; arch = "linux-x86_64"; sha1 = "5a0c5b2dd2dfe83ea9551fd63c249bc6b41c8afc"; }
+    { locale = "km"; arch = "linux-i686"; sha1 = "5f8bbbd2b77447660022464d19b3bb316eeb6b53"; }
+    { locale = "km"; arch = "linux-x86_64"; sha1 = "8211373a9ab45f43f2a895049f49c2b9b7af3670"; }
+    { locale = "kn"; arch = "linux-i686"; sha1 = "48b72a568ea55462d0d80194292ada525d24ee10"; }
+    { locale = "kn"; arch = "linux-x86_64"; sha1 = "27fbe84930417244c900ae864589fd063358e741"; }
+    { locale = "ko"; arch = "linux-i686"; sha1 = "f185c79195b7018edc97bd698d2f2f4f0f619968"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha1 = "bcb4ceb162ae954a6c79ac6e83655b981eb0c168"; }
+    { locale = "lij"; arch = "linux-i686"; sha1 = "037516a147c18d03a74243ea680ec2da7b893b2f"; }
+    { locale = "lij"; arch = "linux-x86_64"; sha1 = "1a2efb6b3253da2e525b25b1e5cf794da203a112"; }
+    { locale = "lt"; arch = "linux-i686"; sha1 = "0200e608a4339158bafdafe32f39581d11ca4fea"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha1 = "b5dd68b8d170b577f49508db110a7e3ef9aa1504"; }
+    { locale = "lv"; arch = "linux-i686"; sha1 = "5d9a22b515130e8c351fbbc71c5ee9c2586a98ca"; }
+    { locale = "lv"; arch = "linux-x86_64"; sha1 = "2b49dc4f3e43c4812239798b9096f4e89c5dc101"; }
+    { locale = "mai"; arch = "linux-i686"; sha1 = "530dfc4740f6c9c45163d51a49d4f6da8a1442c2"; }
+    { locale = "mai"; arch = "linux-x86_64"; sha1 = "927c9ca797e463336a8a7c66fef59fa585a0e985"; }
+    { locale = "mk"; arch = "linux-i686"; sha1 = "71984f44931f8c6e21a0e5a78d33301e9efd0c56"; }
+    { locale = "mk"; arch = "linux-x86_64"; sha1 = "14df4792bebc70fb27aba0e8fa9fa570b3c66cd2"; }
+    { locale = "ml"; arch = "linux-i686"; sha1 = "8301bc4d6919b849e1e0529d79fd56dfd7941e96"; }
+    { locale = "ml"; arch = "linux-x86_64"; sha1 = "5f7f352c4c6a316bfd8aa825771178be5e15def0"; }
+    { locale = "mr"; arch = "linux-i686"; sha1 = "2da181729cd1b9816d9530bfe2da47324595ceae"; }
+    { locale = "mr"; arch = "linux-x86_64"; sha1 = "4665e54e425d3b783c2ef045c7d4908862a604db"; }
+    { locale = "ms"; arch = "linux-i686"; sha1 = "48c57c3952cd918b4547f3aa17e52f856cb441d6"; }
+    { locale = "ms"; arch = "linux-x86_64"; sha1 = "769b7e80547be03bc81153c56da69b0660672a5b"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "c5123a9df2463883c38d748c360476ec16afafbd"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "50899fd2ddeeaa0011aa68f80ea23af808a2b13d"; }
+    { locale = "nl"; arch = "linux-i686"; sha1 = "8d2fa9624fe78538ac3be7afef67b5f077ea9087"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha1 = "1ce05cc5d619ad8056720ee0a3aa1c142d323577"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "fc1e15e364b4b35ee097cb8a8e58f193cfab07fe"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "750189f10439b7d0592b5b1e5478571778a7b80c"; }
+    { locale = "or"; arch = "linux-i686"; sha1 = "562b5113560d43ab0332f12eb5b77f700adc3cac"; }
+    { locale = "or"; arch = "linux-x86_64"; sha1 = "7eea2b63095baaaf4077d21aec79a0262014231f"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "a474b711304003f7872f4d89482e460d6a5c6809"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "b44b52752754082dafa7cc2fe3ab820c15ad9dee"; }
+    { locale = "pl"; arch = "linux-i686"; sha1 = "5b4b8acd59a82feed1015e96efef60693bebc670"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha1 = "be13540ad54f006884e5b15c80e60c24739a3afd"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "289f94519a382e07e9ea85c09c50ee0c1e4c78f8"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "ee789e0347ae16caeb803db227f917c2dec7402f"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "fdef92aba85eb308f77d5d218eab13ce1869720d"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "dac1e72db319e193b014d53ec2a937939bfda4ee"; }
+    { locale = "rm"; arch = "linux-i686"; sha1 = "8bdee17c004721832b978028c8249151522d1a53"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha1 = "876ea6b07a58dcab72cc431bd4a956f6631616a4"; }
+    { locale = "ro"; arch = "linux-i686"; sha1 = "4de224d9b431e802274878b1ded2831a7976772d"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha1 = "a620baccf62ead31da80d384ea65db816240180f"; }
+    { locale = "ru"; arch = "linux-i686"; sha1 = "979efbef49bbe7bdd21bb8b6cddf1c79d21e6d7c"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha1 = "cce4b5be59a7072aee27b27496cfd2b36995592e"; }
+    { locale = "si"; arch = "linux-i686"; sha1 = "64fce36b5536da41b0d6e2144b1d8458fd29c1ec"; }
+    { locale = "si"; arch = "linux-x86_64"; sha1 = "cdf1ccb39f324ada803ebc606ef86f96b813151b"; }
+    { locale = "sk"; arch = "linux-i686"; sha1 = "a9933f868908c2dd361df41836c8af32e5849f48"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha1 = "5462d38f1ea28c5a0abf7523f039f5ae0b4e860a"; }
+    { locale = "sl"; arch = "linux-i686"; sha1 = "a7e555402c5d7460696b86a2001333f66951a4b1"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha1 = "ded2864cea9cdb70f25eaea61d6be6d4d5aaf822"; }
+    { locale = "son"; arch = "linux-i686"; sha1 = "fe596ad2b09ada772a38e7504f56776ee382851e"; }
+    { locale = "son"; arch = "linux-x86_64"; sha1 = "c920476a3e726708b447a7c3f9b38223fb5c705c"; }
+    { locale = "sq"; arch = "linux-i686"; sha1 = "16b4033cd9a05717ba5b32e57935a2a9b2e86e1e"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha1 = "dfbf24d40bd5c098aa4c00be18db9adeb278b8a1"; }
+    { locale = "sr"; arch = "linux-i686"; sha1 = "18e143882f23f6bd2ea7b99849d840c5649b67da"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha1 = "c748cbc2444151a2df6dc497b26bb6107cf603a0"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "36abc5c42eaf284249612e2bcf5940aeedadc6b7"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "73e1b14a3f00d73f85aced9b83cc281da6fff8eb"; }
+    { locale = "ta"; arch = "linux-i686"; sha1 = "621451f0be0f7d3edab0f4fdfaa2199d7e18941b"; }
+    { locale = "ta"; arch = "linux-x86_64"; sha1 = "89a750bd28b600375823f92fac3c1ac28e26f24a"; }
+    { locale = "te"; arch = "linux-i686"; sha1 = "0cab27456eb5b5124a848c1fcda70e3d8f2fd9d9"; }
+    { locale = "te"; arch = "linux-x86_64"; sha1 = "80c1b1e5cc6385f1e8b6922024726c36bc3360fb"; }
+    { locale = "th"; arch = "linux-i686"; sha1 = "4c23cebce4f2548f8692d5d36ab4295bc05a4597"; }
+    { locale = "th"; arch = "linux-x86_64"; sha1 = "e06d1ae0f6dc90766de010102864da5cccca14df"; }
+    { locale = "tr"; arch = "linux-i686"; sha1 = "0916aaa3a68831ad887708d13770e29edd129ea9"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha1 = "a875fa64a788e3fe4b115fc01ad47b631d8aba27"; }
+    { locale = "uk"; arch = "linux-i686"; sha1 = "d9054dcf7d37ee6e88e462926d5f769bc1392342"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha1 = "da23b4a2c9e4434ff927c6af81a3c823e546c24e"; }
+    { locale = "uz"; arch = "linux-i686"; sha1 = "ee12407db146542b1094342fd618678a8f6d20a3"; }
+    { locale = "uz"; arch = "linux-x86_64"; sha1 = "e4c433f31561006c5ba891ca701a03713d30e115"; }
+    { locale = "vi"; arch = "linux-i686"; sha1 = "07d95dbe0e967732a90b8c6dd1366010791a5286"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha1 = "18b0a04c1e38476d85457b0a79942dbe2a0b6b04"; }
+    { locale = "xh"; arch = "linux-i686"; sha1 = "c4e1f30a92da9ded560209d9a4b8784ec19f9fa8"; }
+    { locale = "xh"; arch = "linux-x86_64"; sha1 = "22bfdd2d772f6080dc569b86f27e736c38e99374"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "1d72f825659eec22f52cacdcf4f5890957e8a38e"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "cd1cea8be94c3c4318e0bf9c283acade45f846ff"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "8ddfad29ebeccdddd3e5cdff3d8167a671e6821c"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "b4b36e9624ba93ddea2cca52d974acb67ba3407b"; }
   ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index 31375bd5a5bf..12d581b15666 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -3,8 +3,8 @@
 , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
 , yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
 , hunspell, libevent, libstartup_notification, libvpx
-, cairo, gstreamer, gst_plugins_base, icu
-, enableGTK3 ? false
+, cairo, gstreamer, gst_plugins_base, icu, libpng, jemalloc, libpulseaudio
+, enableGTK3 ? false, fetchpatch
 , debugBuild ? false
 , # If you want the resulting program to call itself "Firefox" instead
   # of "Shiretoko" or whatever, enable this option.  However, those
@@ -16,16 +16,27 @@
 
 assert stdenv.cc ? libc && stdenv.cc.libc != null;
 
-let version = "39.0"; in
+let
 
-stdenv.mkDerivation rec {
-  name = "firefox-${version}";
+common = { pname, version, sha1 }: stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
-    sha1 = "32785daee7ddb9da8d7509ef095258fc58fe838e";
+    inherit sha1;
   };
 
+  patches = if !enableGTK3 then null else [(fetchpatch {
+    name = "crash_OTMC+GTK3.patch";
+    # backported from 40.1
+    # https://bugzilla.mozilla.org/show_bug.cgi?id=1127752
+    # https://bugzilla.redhat.com/show_bug.cgi?id=1256875
+    url = "http://pkgs.fedoraproject.org/cgit/firefox.git/plain/"
+      + "mozilla-1127752.patch?id=571fefe2c8f741b92c865e9122af56f6258b3fc1";
+    sha256 = "04yq4lcq8ln2fmknz4c0zah77wxqp2mcgr8pjx860dmcmzvyi3p5";
+  })];
+  patchFlags = "-p2";
+
   buildInputs =
     [ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2
       python dbus dbus_glib pango freetype fontconfig xlibs.libXi
@@ -33,8 +44,9 @@ stdenv.mkDerivation rec {
       alsaLib nspr nss libnotify xlibs.pixman yasm mesa
       xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
       xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
-      hunspell libevent libstartup_notification libvpx cairo
-      gstreamer gst_plugins_base icu
+      hunspell libevent libstartup_notification libvpx /* cairo */
+      gstreamer gst_plugins_base icu libpng jemalloc
+      libpulseaudio # only headers are needed
     ]
     ++ lib.optional enableGTK3 gtk3;
 
@@ -48,26 +60,26 @@ stdenv.mkDerivation rec {
       "--with-system-nss"
       "--with-system-libevent"
       "--with-system-libvpx"
-      # "--with-system-png" # needs APNG support
-      # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0
+      "--with-system-png" # needs APNG support
+      "--with-system-icu"
       "--enable-system-ffi"
       "--enable-system-hunspell"
       "--enable-system-pixman"
       "--enable-system-sqlite"
-      "--enable-system-cairo"
+      #"--enable-system-cairo"
       "--enable-gstreamer"
       "--enable-startup-notification"
-      # "--enable-content-sandbox"            # available since 26.0, but not much info available
-      # "--enable-content-sandbox-reporter"   # keeping disabled for now
+      "--enable-content-sandbox"            # available since 26.0, but not much info available
+      "--disable-content-sandbox-reporter"  # keeping disabled for now
       "--disable-crashreporter"
       "--disable-tests"
       "--disable-necko-wifi" # maybe we want to enable this at some point
       "--disable-installer"
       "--disable-updater"
-      "--disable-pulseaudio"
+      "--enable-jemalloc"
     ]
     ++ lib.optional enableGTK3 "--enable-default-toolkit=cairo-gtk3"
-    ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
+    ++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ]
                       else [ "--disable-debug" "--enable-release"
                              "--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}"
                              "--enable-strip" ])
@@ -79,7 +91,7 @@ stdenv.mkDerivation rec {
     ''
       mkdir ../objdir
       cd ../objdir
-      configureScript=../mozilla-release/configure
+      configureScript=../mozilla-*/configure
     '';
 
   preInstall =
@@ -96,14 +108,20 @@ stdenv.mkDerivation rec {
       # Remove SDK cruft. FIXME: move to a separate output?
       rm -rf $out/share/idl $out/include $out/lib/firefox-devel-*
     '' + lib.optionalString enableGTK3
+      # argv[0] must point to firefox itself
     ''
       wrapProgram "$out/bin/firefox" \
+        --argv0 "$out/bin/.firefox-wrapped" \
         --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:" \
         --suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
+    '' +
+      # some basic testing
+    ''
+      "$out/bin/firefox" --version
     '';
 
   meta = {
-    description = "Web browser";
+    description = "A web browser" + lib.optionalString (pname == "firefox-esr") " (Extended Support Release)";
     homepage = http://www.mozilla.com/en-US/firefox/;
     maintainers = with lib.maintainers; [ eelco ];
     platforms = lib.platforms.linux;
@@ -113,4 +131,20 @@ stdenv.mkDerivation rec {
     inherit gtk nspr version;
     isFirefox3Like = true;
   };
+};
+
+in {
+
+  firefox = common {
+    pname = "firefox";
+    version = "40.0.3";
+    sha1 = "6ddda46bd6540ab3ae932fbb5ffec8e9a85cab13";
+  };
+
+  firefox-esr = common {
+    pname = "firefox-esr";
+    version = "38.2.1esr";
+    sha1 = "c596174e7273be5079bf55aecde33ec191d99538";
+  };
+
 }
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 409f7d29ba2f..db51dc8b148b 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -47,7 +47,6 @@ stdenv.mkDerivation {
 
     ${ lib.optionalString libtrick
     ''
-    sed -e "s@exec @exec -a '$out/bin/${browserName}${nameSuffix}' @" -i "$out/bin/${browserName}${nameSuffix}"
     libdirname="$(echo "${browser}/lib/${browserName}"*)"
     libdirbasename="$(basename "$libdirname")"
     mkdir -p "$out/lib/$libdirbasename"
diff --git a/pkgs/applications/networking/browsers/links2/default.nix b/pkgs/applications/networking/browsers/links2/default.nix
index 9b9d9ab6db17..dcc61d4061dd 100644
--- a/pkgs/applications/networking/browsers/links2/default.nix
+++ b/pkgs/applications/networking/browsers/links2/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
-, gpm, openssl, pkgconfig # Misc.
-, libpng, libjpeg, libtiff # graphic formats
+, gpm, openssl, pkgconfig, libev # Misc.
+, libpng, libjpeg, libtiff, librsvg # graphic formats
 , bzip2, zlib, xz # Transfer encodings
 , enableFB ? true
 , enableDirectFB ? false, directfb
@@ -8,16 +8,16 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.8";
+  version = "2.10";
   name = "links2-${version}";
 
   src = fetchurl {
     url = "${meta.homepage}/download/links-${version}.tar.bz2";
-    sha256 = "15h07498z52jfdahzgvkphg1f7qvxnpbyfn2xmsls0d2dwwdll3r";
+    sha256 = "0lqxg55sp1kphl7ykm2km0s2vsn92a0gmlgypmkqb984r060n3l4";
   };
 
   buildInputs =
-    [ libpng libjpeg libtiff gpm openssl xz bzip2 zlib ]
+    [ libev librsvg libpng libjpeg libtiff gpm openssl xz bzip2 zlib ]
     ++ stdenv.lib.optionals enableX11 [ libX11 libXau libXt ]
     ++ stdenv.lib.optional enableDirectFB [ directfb ];
 
diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix
index d398cdd29421..5cdfcf5e975a 100644
--- a/pkgs/applications/networking/browsers/midori/default.nix
+++ b/pkgs/applications/networking/browsers/midori/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, cmake, pkgconfig, intltool, vala, makeWrapper
 , gtk3, webkitgtk, librsvg, libnotify, sqlite
-, glib_networking, gsettings_desktop_schemas
+, glib_networking, gsettings_desktop_schemas, libsoup
 }:
 
 let
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     cmake pkgconfig intltool vala makeWrapper
     webkitgtk librsvg libnotify sqlite
+    (libsoup.override {gnomeSupport = true;})
   ];
 
   cmakeFlags = ''
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix
index 64ceebfa527c..65f9ef50f778 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, xorg, gtk, glib, gdk_pixbuf, dpkg, libXext, libXfixes
-, libXrender, libuuid, libXrandr, libXcomposite
+, libXrender, libuuid, libXrandr, libXcomposite, libpulseaudio
 }:
 
 with stdenv.lib;
@@ -10,18 +10,18 @@ let
     [gtk glib stdenv.cc.cc];
 
   rpathPlugin = makeLibraryPath
-    [ stdenv.cc.cc gtk glib xorg.libX11 gdk_pixbuf libXext libXfixes libXrender libXrandr libuuid libXcomposite ];
+    [ stdenv.cc.cc gtk glib xorg.libX11 gdk_pixbuf libXext libXfixes libXrender libXrandr libuuid libXcomposite libpulseaudio ];
 
 in
 
 stdenv.mkDerivation rec {
-  name = "bluejeans-2.100.41.8";
+  name = "bluejeans-${version}";
 
-  version = "2.100.41.8";
+  version = "2.100.102.8";
 
   src = fetchurl {
-    url = "https://swdl.bluejeans.com/skinny/bjnplugin_2.100.41.8-1_amd64.deb";
-    sha256 = "013m17lpgi6nhw2df10wvrsnsjxy5n7z41ab69vj5m9h0prw9vd1";
+    url = "https://swdl.bluejeans.com/skinny/bjnplugin_${version}-1_amd64.deb";
+    sha256 = "18f8jmhxvqy1yiiwlsssj7rjlfcb41xn16hnl6wv8r8r2mmic4v8";
   };
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
@@ -36,11 +36,11 @@ stdenv.mkDerivation rec {
       plugins=$out/lib/mozilla/plugins
       patchelf \
         --set-rpath "${rpathPlugin}" \
-        $plugins/npbjnplugin_2.100.41.8.so
+        $plugins/npbjnplugin_${version}.so
 
       patchelf \
         --set-rpath "${rpathInstaller}" \
-        $plugins/npbjninstallplugin_2.100.41.8.so
+        $plugins/npbjninstallplugin_${version}.so
     '';
 
   dontStrip = true;
@@ -51,6 +51,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://bluejeans.com;
     license = stdenv.lib.licenses.unfree;
-    maintainers = [ stdenv.lib.maintainers.ocharles ];
+    maintainers = with maintainers; [ ocharles kamilchm ];
   };
 }
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 0ded56b8aba5..01c643408757 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -36,7 +36,7 @@
 
 let
   # -> http://get.adobe.com/flashplayer/
-  version = "11.2.202.491";
+  version = "11.2.202.508";
 
   src =
     if stdenv.system == "x86_64-linux" then
@@ -47,7 +47,7 @@ let
       else rec {
         inherit version;
         url = "http://fpdownload.adobe.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
-        sha256 = "150zlnkq8jhhphfmyzdrpgi1y2sniqgx0a5ij994in3gvari9gpl";
+        sha256 = "1i0301vnz94pxcwm9wk1jjyv7gwywy6p7z26ikd5cg259myxbg75";
       }
     else if stdenv.system == "i686-linux" then
       if debug then
@@ -60,7 +60,7 @@ let
       else rec {
         inherit version;
         url = "http://fpdownload.adobe.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
-        sha256 = "0lwff46gjazjv04fpck0nhv47b4z1x79n09q5444npm1w5zjfgxy";
+        sha256 = "1483bi34ymchv1cqg57whxhlrhhvwhcw33zjgwzmy7bacxbkj9ia";
       }
     else throw "Flash Player is not supported on this platform";
 
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix
index 37d5cbe039f1..17012850a319 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix
@@ -1,36 +1,30 @@
-a :  
-let 
-  fetchurl = a.fetchurl;
+{ stdenv, fetchurl, firefox, libX11, xproto }:
+
+stdenv.mkDerivation rec {
+  name = "mozplugger-${version}";
+  version = "2.1.6";
 
-  version = a.lib.attrByPath ["version"] "1.12.0" a; 
-  buildInputs = with a; [
-    firefox libX11 xproto
-  ];
-in
-rec {
   src = fetchurl {
     url = "http://mozplugger.mozdev.org/files/mozplugger-${version}.tar.gz";
-    sha256 = "1vpggfmbv4h3srk80rgidd020i03hrkpb7cfxkwagkcd0zcal4hk";
+    sha256 = "1vszkq4kdbaxsrqr2xn9rq6ipza9fngdri79gvjqk3bvsdmg0k19";
   };
 
-  inherit buildInputs;
-  configureFlags = [];
-  makeFlags = ["linux" "prefix=" "root=$out"];
+  buildInputs = [ firefox libX11 xproto ];
 
-  preBuild = a.fullDepEntry(''
-    sed -e s@/usr/@"$out/"@g -i mozplugger.c
-  '') ["doUnpack" "minInit"];
+  installPhase = ''
+    mkdir -p "$out/etc" "$out/bin" "$out/lib/mozilla/plugins" "$out/share/man/man7"
+    cp mozpluggerrc "$out/etc"
+    cp mozplugger-{helper,controller,linker,update} "$out/bin"
+    cp mozplugger.so "$out/lib/mozilla/plugins"
+    cp mozplugger.7 "$out/share/man/man7"
 
-  postInstall = a.fullDepEntry(''
-    mkdir -p $out/share/${name}/plugin
-    ln -s $out/lib/mozilla/plugins/mozplugger.so $out/share/${name}/plugin
-  '') ["doMakeInstall" "minInit" "defEnsureDir"];
+    mkdir -p "$out/share/${name}/plugin"
+    ln -s "$out/lib/mozilla/plugins/mozplugger.so" "$out/share/${name}/plugin"
+  '';
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["preBuild" "doMakeInstall" "postInstall"];
-      
-  name = "mozplugger-" + version;
   meta = {
     description = "Mozilla plugin for launching external program for handling in-page objects";
+    homepage = http://mozplugger.mozdev.org/;
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
index 3222e87ac650..84a2870b6d0a 100644
--- a/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libsoup, webkit, gtk, glib_networking
-, gsettings_desktop_schemas, makeWrapper, cacert
+, gsettings_desktop_schemas, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
@@ -11,11 +11,6 @@ stdenv.mkDerivation rec {
     sha256 = "0h9m5qfs09lb0dz8a79yccmm3a5rv6z8gi5pkyfh8fqkgkh2940p";
   };
 
-  # Nixos default ca bundle
-  patchPhase = ''
-    sed -i s,/etc/ssl/certs/ca-certificates.crt,${cacert}/etc/ssl/certs/ca-bundle.crt, src/config.def.h
-  '';
-
   buildInputs = [ makeWrapper gtk libsoup pkgconfig webkit gsettings_desktop_schemas ];
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix
index ad5f8aa46912..6f8eede9b3f8 100644
--- a/pkgs/applications/networking/browsers/vimprobable2/default.nix
+++ b/pkgs/applications/networking/browsers/vimprobable2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, glib, glib_networking, gtk, libsoup, libX11, perl,
-  pkgconfig, webkit, gsettings_desktop_schemas, cacert }:
+  pkgconfig, webkit, gsettings_desktop_schemas }:
 
 stdenv.mkDerivation rec {
   version = "1.4.2";
@@ -9,11 +9,6 @@ stdenv.mkDerivation rec {
     sha256 = "13jdximksh9r3cgd2f8vms0pbsn3x0gxvyqdqiw16xp5fmdx5kzr";
   };
 
-  # Nixos default ca bundle
-  patchPhase = ''
-    sed -i s,/etc/ssl/certs/ca-certificates.crt,${cacert}/etc/ssl/certs/ca-bundle.crt, config.h
-  '';
-
   buildInputs = [ makeWrapper gtk libsoup libX11 perl pkgconfig webkit gsettings_desktop_schemas ];
 
   installPhase = ''
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index a096d43b11cc..56d4cc7e769b 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, which, go, makeWrapper, iptables, rsync, utillinux, coreutils }:
+{ stdenv, fetchFromGitHub, which, go, makeWrapper, iptables, rsync, utillinux, coreutils, e2fsprogs, procps-ng }:
 
 stdenv.mkDerivation rec {
   name = "kubernetes-${version}";
-  version = "0.18.0";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "1adbd5n2fs1278f6kz6pd23813w2k4pgcxjl21idflh8jafxsyj7";
+    sha256 = "12wqw9agiz07wlw1sd0n41fn6xf74zn5sv37hslfa77w2d4ri5yb";
   };
 
   buildInputs = [ makeWrapper which go iptables rsync ];
@@ -26,14 +26,23 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p "$out/bin"
-    cp _output/local/go/bin/* "$out/bin/"
+    mkdir -p "$out/bin" "$out"/libexec/kubernetes/cluster
+    cp _output/local/go/bin/{kube*,hyperkube} "$out/bin/"
     cp cluster/addons/dns/kube2sky/kube2sky "$out/bin/"
+    cp cluster/saltbase/salt/helpers/safe_format_and_mount "$out/libexec/kubernetes"
+    cp -R hack "$out/libexec/kubernetes"
+    cp cluster/update-storage-objects.sh "$out/libexec/kubernetes/cluster"
+    makeWrapper "$out"/libexec/kubernetes/cluster/update-storage-objects.sh "$out"/bin/kube-update-storage-objects \
+      --prefix KUBE_BIN : "$out/bin"
   '';
 
   preFixup = ''
     wrapProgram "$out/bin/kube-proxy" --prefix PATH : "${iptables}/bin"
-    wrapProgram "$out/bin/kubelet" --prefix PATH : "${utillinux}/bin"
+    wrapProgram "$out/bin/kubelet" --prefix PATH : "${utillinux}/bin:${procps-ng}/bin"
+    chmod +x "$out/libexec/kubernetes/safe_format_and_mount"
+    wrapProgram "$out/libexec/kubernetes/safe_format_and_mount" --prefix PATH : "${e2fsprogs}/bin:${utillinux}/bin"
+    substituteInPlace "$out"/libexec/kubernetes/cluster/update-storage-objects.sh \
+      --replace KUBE_OUTPUT_HOSTBIN KUBE_BIN
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix
index c330b8acfbf3..6f92ca5a6b70 100644
--- a/pkgs/applications/networking/cluster/mesos/default.nix
+++ b/pkgs/applications/networking/cluster/mesos/default.nix
@@ -9,16 +9,21 @@ let
   soext = if stdenv.system == "x86_64-darwin" then "dylib" else "so";
 
 in stdenv.mkDerivation rec {
-  version = "0.22.1";
+  version = "0.23.0";
   name = "mesos-${version}";
 
   dontDisableStatic = true;
 
   src = fetchurl {
     url = "http://www.apache.org/dist/mesos/${version}/mesos-${version}.tar.gz";
-    sha256 = "0ry0ppzgpab68fz5bzd7ry5rjbg8xjz73x1x4c5id42cpsqnn7x5";
+    sha256 = "1v5xpn4wal4vcrvcklchx9slkpa8xlwqkdbnxzy9zkzpq5g3arxr";
   };
 
+  patches = [
+    # https://reviews.apache.org/r/36610/
+    ./rb36610.patch
+  ];
+
   buildInputs = [
     makeWrapper autoconf automake114x libtool curl sasl jdk maven
     python wrapPython boto distutils-cfg setuptools leveldb
@@ -93,13 +98,15 @@ in stdenv.mkDerivation rec {
     echo "export MESOS_NATIVE_LIBRARY=$MESOS_NATIVE_JAVA_LIBRARY" >> $out/nix-support/setup-hook
 
     # Inspired by: pkgs/development/python-modules/generic/default.nix
+    pushd src/python
     mkdir -p $out/lib/${python.libPrefix}/site-packages
     export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
-    ${python}/bin/${python.executable} src/python/setup.py install \
+    ${python}/bin/${python.executable} setup.py install \
       --install-lib=$out/lib/${python.libPrefix}/site-packages \
       --old-and-unmanageable \
       --prefix="$out"
     rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+    popd
   '';
 
   postFixup = ''
diff --git a/pkgs/applications/networking/cluster/mesos/rb36610.patch b/pkgs/applications/networking/cluster/mesos/rb36610.patch
new file mode 100644
index 000000000000..c3b1b290422a
--- /dev/null
+++ b/pkgs/applications/networking/cluster/mesos/rb36610.patch
@@ -0,0 +1,11 @@
+diff --git a/src/linux/fs.cpp b/src/linux/fs.cpp
+index ea0891e320154b85a21ed2d138c192821efae9cd..7b24c377c9a28cad91738305c273fb53a4dc7365 100644
+--- a/src/linux/fs.cpp
++++ b/src/linux/fs.cpp
+@@ -19,6 +19,7 @@
+ #include <errno.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <syscall.h>
+
+ #include <linux/limits.h>
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index 527ddd99af1e..e5f813fcd7d5 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.openshift.org;
     maintainers = with maintainers; [offline];
     platforms = [ "x86_64-linux" ];
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/cluster/panamax/api/default.nix b/pkgs/applications/networking/cluster/panamax/api/default.nix
index 524433b45fbc..dcfef83f1bec 100644
--- a/pkgs/applications/networking/cluster/panamax/api/default.nix
+++ b/pkgs/applications/networking/cluster/panamax/api/default.nix
@@ -1,5 +1,5 @@
 { stdenv, buildEnv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler_HEAD
-, ruby, libxslt, libxml2, sqlite, openssl, cacert, docker
+, ruby, libxslt, libxml2, sqlite, openssl, docker
 , dataDir ? "/var/lib/panamax-api" }:
 
 with stdenv.lib;
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
       --prefix "PATH" : "$out/share/panamax-api/bin:${env.ruby}/bin:$PATH" \
       --prefix "HOME" : "$out/share/panamax-api" \
       --prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \
-      --prefix "SSL_CERT_FILE" : "${cacert}/etc/ssl/certs/ca-bundle.crt" \
+      --prefix "SSL_CERT_FILE" : /etc/ssl/certs/ca-certificates.crt \
       --prefix "GEM_PATH" : "$out/share/panamax-api:${bundler}/${env.ruby.gemPath}"
   '';
 
diff --git a/pkgs/applications/networking/cluster/panamax/ui/default.nix b/pkgs/applications/networking/cluster/panamax/ui/default.nix
index 572deb62ba00..3dac10613625 100644
--- a/pkgs/applications/networking/cluster/panamax/ui/default.nix
+++ b/pkgs/applications/networking/cluster/panamax/ui/default.nix
@@ -37,6 +37,8 @@ stdenv.mkDerivation rec {
     find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Local|NixOS Local|g' -i "{}" \;
     find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Host|NixOS Host|g' -i "{}" \;
     sed -e 's|CoreOS Local|NixOS Local|g' -i "spec/features/manage_application_spec.rb"
+    # fix libv8 dependency
+    substituteInPlace Gemfile.lock --replace "3.16.14.7" "3.16.14.11"
   '';
 
   configurePhase = ''
diff --git a/pkgs/applications/networking/copy-com/default.nix b/pkgs/applications/networking/copy-com/default.nix
index 9ef8caafa98d..7dd2702325b2 100644
--- a/pkgs/applications/networking/copy-com/default.nix
+++ b/pkgs/applications/networking/copy-com/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, coreutils, fetchurl, patchelf, gcc }:
+{ stdenv, fetchurl, patchelf, fontconfig, freetype
+, gcc, glib, libICE, libSM, libX11, libXext, libXrender }:
 
 let
   arch = if stdenv.system == "x86_64-linux" then "x86_64"
@@ -13,45 +14,54 @@ let
 
   appdir = "opt/copy";
   
+  libPackages = [ fontconfig freetype gcc.cc glib libICE libSM libX11 libXext
+    libXrender ];
+  libPaths = stdenv.lib.concatStringsSep ":"
+    (map (path: "${path}/lib") libPackages);
+
 in stdenv.mkDerivation {
   
-  name = "copy-com-1.47.0410";
+  name = "copy-com-3.2.01.0481";
 
   src = fetchurl {
     # Note: copy.com doesn't version this file. Annoying.
     url = "https://copy.com/install/linux/Copy.tgz";
-    sha256 = "a48c69f6798f888617cfeef5359829e619057ae0e6edf3940b4ea6c81131012a";
+    sha256 = "0bpphm71mqpaiygs57kwa23nli0qm64fvgl1qh7fkxyqqabh4g7k";
   };
 
-  buildInputs = [ coreutils patchelf ];
+  nativeBuildInputs = [ patchelf ];
 
   phases = "unpackPhase installPhase";
 
   installPhase = ''
     mkdir -p $out/opt
     cp -r ${arch} "$out/${appdir}"
-    ensureDir "$out/bin"
-    ln -s "$out/${appdir}/CopyConsole" "$out/bin/copy_console"
-    ln -s "$out/${appdir}/CopyAgent" "$out/bin/copy_agent"
-    ln -s "$out/${appdir}/CopyCmd" "$out/bin/copy_cmd"
-    patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
-      "$out/${appdir}/CopyConsole"
-
-    RPATH=${gcc.cc}/lib:$out/${appdir}
-    echo "updating rpaths to: $RPATH"
-    find "$out/${appdir}" -type f -a -perm +0100 \
-      -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
 
+    mkdir -p "$out/bin"
+    for binary in Copy{Agent,Console,Cmd}; do
+      binary="$out/${appdir}/$binary"
+      ln -sv "$binary" "$out/bin"
+      patchelf --set-interpreter ${stdenv.glibc}/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 = {
     homepage = http://copy.com;
-    description = "Copy.com Client";
+    description = "Copy.com graphical & command-line clients";
     # Closed Source unfortunately.
     license = stdenv.lib.licenses.unfree;
-    maintainers = with stdenv.lib.maintainers; [ nathan-gs ];
+    maintainers = with stdenv.lib.maintainers; [ nathan-gs nckx ];
     # NOTE: Copy.com itself only works on linux, so this is ok.
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 33df71c62c38..3fa6fb51ee14 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -19,11 +19,11 @@
 
 let
   # NOTE: When updating, please also update in current stable, as older versions stop working
-  version = "3.6.7";
+  version = "3.8.5";
   sha256 =
     {
-      "x86_64-linux" = "1jwzrpw382amx0jap9m411a3yvkc9iwnw6n35kwq3infmbwjs6q8";
-      "i686-linux" = "0rjd908bhfk00qh6gvizf2fyfb3cccd78spyvh435z377x2pmxzy";
+      "x86_64-linux" = "1r0wz2fsx2piasl04qsgwbl88bi0ajr0dm2swbslxwkf789vk18y";
+      "i686-linux" = "1dvfgp9dg3frhwmchwa6fyws4im9vgicchfsv0zzflvc7rm9fcig";
     }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch =
@@ -101,12 +101,12 @@ in stdenv.mkDerivation {
     rm "$out/${appdir}/qt.conf"
     rm -fr "$out/${appdir}/plugins"
 
-    find "$out/${appdir}" -type f -a -perm +0100 \
+    find "$out/${appdir}" -type f -a -perm /0100 \
       -print -exec patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} {} \;
 
     RPATH=${ldpath}:${gcc.cc}/lib:$out/${appdir}
     echo "updating rpaths to: $RPATH"
-    find "$out/${appdir}" -type f -a -perm +0100 \
+    find "$out/${appdir}" -type f -a -perm /0100 \
       -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
 
     mkdir -p "$out/share/applications"
diff --git a/pkgs/applications/networking/feedreaders/canto-curses/default.nix b/pkgs/applications/networking/feedreaders/canto-curses/default.nix
index a73cf63e76b9..8db1dac3b4b6 100644
--- a/pkgs/applications/networking/feedreaders/canto-curses/default.nix
+++ b/pkgs/applications/networking/feedreaders/canto-curses/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, python34Packages, readline, ncurses, canto-daemon }:
 
 python34Packages.buildPythonPackage rec {
-  version = "0.9.4";
+  version = "0.9.6";
   name = "canto-curses-${version}";
 
   src = fetchFromGitHub {
     owner = "themoken";
     repo = "canto-curses";
     rev = "v${version}";
-    sha256 = "0g1ckcb9xcfb0af17zssiqcrfry87agx578vd40nb6gbw90ql4fn";
+    sha256 = "0hxzpx314cflxq68gswjf2vrqf1z1ci9mxhxgwrk7sa6di86ygy0";
   };
 
   buildInputs = [ readline ncurses canto-daemon ];
diff --git a/pkgs/applications/networking/feedreaders/canto-daemon/default.nix b/pkgs/applications/networking/feedreaders/canto-daemon/default.nix
index 63fefae9dfe1..0de38c259a34 100644
--- a/pkgs/applications/networking/feedreaders/canto-daemon/default.nix
+++ b/pkgs/applications/networking/feedreaders/canto-daemon/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, python34Packages, }:
 
 python34Packages.buildPythonPackage rec {
-  version = "0.9.3";
+  version = "0.9.5";
   name = "canto-daemon-${version}";
   namePrefix = "";
 
@@ -9,7 +9,7 @@ python34Packages.buildPythonPackage rec {
     owner = "themoken";
     repo = "canto-next";
     rev = "v${version}";
-    sha256 = "1x875qdyhab89nwwa2bzbfvcrkx34zwyy8dlbxm8wg3vz9b78l61";
+    sha256 = "1ycwrg5n2il833mdxgzz07r0vb4rxz89rk5c6l9g5x33ifinykdq";
   };
 
   propagatedBuildInputs = with python34Packages; [ feedparser ];
diff --git a/pkgs/applications/networking/feedreaders/rsstail/default.nix b/pkgs/applications/networking/feedreaders/rsstail/default.nix
index 2d4b9741375a..e6f6c162067c 100644
--- a/pkgs/applications/networking/feedreaders/rsstail/default.nix
+++ b/pkgs/applications/networking/feedreaders/rsstail/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, cppcheck, libmrss }:
 
-let version = "1.9.1"; in
+let version = "2.0"; in
 stdenv.mkDerivation rec {
   name = "rsstail-${version}";
 
   src = fetchFromGitHub {
-    sha256 = "0jhf7vr7y56r751wy4ix80iwhgxhk6mbbin8gnx59i457gf6sjl1";
-    rev = "1220d63aaa233961636f859d9a406536fffb64f4";
+    sha256 = "0fbsyl5bdxr2g25ps7kd34sa0mzggklbg4v7qss68gh82zdp16ch";
+    rev = "69dc5e30439b89c037aa49c5af861f28df607c72";
     repo = "rsstail";
     owner = "flok99";
   };
@@ -28,14 +28,11 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional doCheck cppcheck;
 
   postPatch = ''
-    substituteInPlace Makefile --replace /usr $out
+    substituteInPlace Makefile --replace -liconv ""
   '';
 
+  makeFlags = "prefix=$(out)";
   enableParallelBuilding = true;
 
   doCheck = true;
-
-  preInstall = ''
-    mkdir -p $out/{bin,share/man/man1}
-  '';
 }
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index 5dde5b62ddab..d41ba5fcdb3a 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.13";
+  version = "0.4.14";
   name = "baresip-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
-    sha256 = "1mndpcclp5cqlm5jfbh37ig8dmga75qxqfinp4dyd1c0wnd0f0jg";
+    sha256 = "19vn63j6dpybjy14mgnwf0yk2jbcbfdjs50whzwyrrkcv6ipj6hc";
   };
   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/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
index 7ce47d53d141..b7b923159117 100644
--- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
 
   preAutoreconf = ''
     substituteInPlace configure.ac --replace AM_GCONF_SOURCE_2 ""
+    substituteInPlace configure.ac --replace gnome-icon-theme adwaita-icon-theme
   '';
 
   configureFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/fuze/default.nix b/pkgs/applications/networking/instant-messengers/fuze/default.nix
index 6b85e107d06c..33ffe87a4ffb 100644
--- a/pkgs/applications/networking/instant-messengers/fuze/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fuze/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, dpkg, openssl, alsaLib, libXext, libXfixes, libXrandr
 , libjpeg, curl, libX11, libXmu, libXv, libXtst, qt4, mesa, zlib
-, gnome, libidn, rtmpdump, c-ares, openldap, makeWrapper, cacert
+, gnome, libidn, rtmpdump, c-ares, openldap, makeWrapper
 }:
 assert stdenv.system == "x86_64-linux";
 let
   curl_custom =
     stdenv.lib.overrideDerivation curl (args: { 
-      configureFlags = args.configureFlags ++ ["--with-ca-bundle=${cacert}/etc/ssl/certs/ca-bundle.crt"] ; 
+      configureFlags = args.configureFlags ++ ["--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt"] ; 
     } );
 in
 stdenv.mkDerivation {
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index fbd9954d3aab..69497f87c6b2 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -22,11 +22,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "gajim-${version}";
-  version = "0.16.1";
+  version = "0.16.3";
 
   src = fetchurl {
     url = "http://www.gajim.org/downloads/0.16/gajim-${version}.tar.bz2";
-    sha256 = "1gp8mdn6sz2pks5irsf563zbz98ldqksfky84ga9fzqndmq35bi6";
+    sha256 = "05a59hf9wna6n9fi0a4bhz1hifqj21bwb4ff9rd0my23rdwmij51";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/instant-messengers/linphone/default.nix b/pkgs/applications/networking/instant-messengers/linphone/default.nix
index f9bd941b2f66..c894a49c20e3 100644
--- a/pkgs/applications/networking/instant-messengers/linphone/default.nix
+++ b/pkgs/applications/networking/instant-messengers/linphone/default.nix
@@ -1,14 +1,15 @@
 { stdenv, fetchurl, intltool, pkgconfig, readline, openldap, cyrus_sasl, libupnp
 , zlib, libxml2, gtk2, libnotify, speex, ffmpeg, libX11, polarssl, libsoup, udev
 , ortp, mediastreamer, sqlite, belle-sip, libosip, libexosip
+, mediastreamer-openh264, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
-  name = "linphone-3.8.1";
+  name = "linphone-3.8.5";
 
   src = fetchurl {
     url = "mirror://savannah/linphone/3.8.x/sources/${name}.tar.gz";
-    sha256 = "19xwar8z5hyp1bap1s437ipv90gspmjwcq5zznds55d7r6gbqicd";
+    sha256 = "10brlbwkk61nhd5v2sim1vfv11xm138l1cqqh3imhs2sigmzzlax";
   };
 
   buildInputs = [
@@ -16,7 +17,7 @@ stdenv.mkDerivation rec {
     polarssl libsoup udev ortp mediastreamer sqlite belle-sip libosip libexosip
   ];
 
-  nativeBuildInputs = [ intltool pkgconfig ];
+  nativeBuildInputs = [ intltool pkgconfig makeWrapper ];
 
   configureFlags = [
     "--enable-ldap"
@@ -27,6 +28,12 @@ stdenv.mkDerivation rec {
     "--enable-external-mediastreamer"
   ];
 
+  postInstall = ''
+    for i in $(cd $out/bin && ls); do
+      wrapProgram $out/bin/$i --set MEDIASTREAMER_PLUGINS_DIR ${mediastreamer-openh264}/lib/mediastreamer/plugins
+    done
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://www.linphone.org/;
     description = "Open Source video SIP softphone";
diff --git a/pkgs/applications/networking/instant-messengers/linphone/fix-deprecated.patch b/pkgs/applications/networking/instant-messengers/linphone/fix-deprecated.patch
deleted file mode 100644
index 8978e6e66525..000000000000
--- a/pkgs/applications/networking/instant-messengers/linphone/fix-deprecated.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/gtk/main.c b/gtk/main.c
-index 7079bc8..f076127 100644
---- a/gtk/main.c
-+++ b/gtk/main.c
-@@ -1643,7 +1643,7 @@ int main(int argc, char *argv[]){
- 	GdkPixbuf *pbuf;
- 	const char *app_name="Linphone";
- 
--	g_thread_init(NULL);
-+	g_type_init();
- 	gdk_threads_init();
- 	
- 	progpath = strdup(argv[0]);
-diff --git a/gtk/setupwizard.c b/gtk/setupwizard.c
-index 1c54fca..45c9091 100644
---- a/gtk/setupwizard.c
-+++ b/gtk/setupwizard.c
-@@ -270,7 +270,7 @@ static void account_username_changed(GtkEntry *entry, GtkWidget *w) {
- 	linphone_account_creator_set_username(creator, gtk_entry_get_text(username));
- 
- 	if (g_regex_match_simple("^[a-zA-Z]+[a-zA-Z0-9.\\-_]{3,}$", gtk_entry_get_text(username), 0, 0)) {
--		g_thread_create(check_username_availability, (void*)w, FALSE, NULL);
-+		g_thread_new (NULL, check_username_availability, (void*)w);
- 	}
- 	else {
- 		if (gtk_entry_get_text_length(username) < LOGIN_MIN_SIZE) {
-@@ -534,7 +534,7 @@ GtkWidget * linphone_gtk_create_assistant(void){
- 	ok = create_pixbuf(linphone_gtk_get_ui_config("ok","ok.png"));
- 	notok = create_pixbuf(linphone_gtk_get_ui_config("notok","notok.png"));
- 
--	g_thread_init (NULL);
-+	g_type_init ();
- 	gdk_threads_init ();
- 
- 	GtkWidget *p1=create_intro();
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-mra/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-mra/default.nix
new file mode 100644
index 000000000000..ba7396db9d67
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-mra/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, pkgconfig, pidgin } :
+
+let
+  version = "54b2992";
+in
+stdenv.mkDerivation rec {
+  name = "pidgin-mra-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/dreadatour/pidgin-mra";
+    rev = "${version}";
+    sha256 = "1nhfx9gi5lhh2xjr9rw600bb53ly2nwiqq422vc0f297qkm1q9y0";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ pidgin ];
+
+  preConfigure = ''
+    sed -i 's|-I/usr/include/libpurple|$(shell pkg-config --cflags purple)|' Makefile
+    export DESTDIR=$out
+    export LIBDIR=/lib
+    export DATADIR=/share
+  '';
+
+  meta = {
+    homepage = https://github.com/dreadatour/pidgin-mra;
+    description = "Mail.ru Agent plugin for Pidgin / libpurple";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
new file mode 100644
index 000000000000..e03b61b61824
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, pidgin, unzip, glib, json_glib, nss, nspr, libgnome_keyring } :
+
+stdenv.mkDerivation rec {
+  name = "pidgin-opensteamworks-${version}";
+  version = "1.6.1";
+
+  src = fetchFromGitHub {
+    owner = "EionRobb";
+    repo = "pidgin-opensteamworks";
+    rev = "${version}";
+    sha256 = "6ab27831e454ad3b440e4f06b52e0b3671a4f8417ba4da3ab6f56c56d82cc29b";
+  };
+
+  preConfigure = "cd steam-mobile";
+  postInstall = ''
+    mkdir -p $out/lib/pidgin/
+    mkdir -p $out/share/pixmaps/pidgin/protocols/
+    cp libsteam.so $out/lib/pidgin/
+    unzip releases/icons.zip -d $out/share/pixmaps/pidgin/protocols/
+  '';
+
+  buildInputs = [ pidgin unzip glib json_glib nss nspr libgnome_keyring ];
+
+  meta = with stdenv.lib; {
+    homepage = https://code.google.com/p/pidgin-opensteamworks;
+    description = "Plugin for Pidgin 2.x which implements Steam Friends/Steam IM compatibility";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainters = with maintainers; [ arobyn ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix
new file mode 100644
index 000000000000..0a96d8749aef
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-vk-plugin/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchhg, pidgin, cmake, libxml2 } :
+
+let
+  version = "40ddb6d";
+in
+stdenv.mkDerivation rec {
+  name = "purple-vk-plugin-${version}";
+
+  src = fetchhg {
+    url = "https://bitbucket.org/olegoandreev/purple-vk-plugin";
+    rev = "${version}";
+    sha256 = "02p57fgx8ml00cbrb4f280ak2802svz80836dzk9f1zwm1bcr2qc";
+  };
+
+  buildInputs = [ pidgin cmake libxml2 ];
+
+  preConfigure = ''
+    sed -i -e 's|DESTINATION.*PURPLE_PLUGIN_DIR}|DESTINATION lib/purple-2|' CMakeLists.txt
+  '';
+
+  cmakeFlags = "-DCMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT=1";
+
+  meta = {
+    homepage = https://bitbucket.org/olegoandreev/purple-vk-plugin;
+    description = "Vk (russian social network) plugin for Pidgin / libpurple";
+    license = stdenv.lib.licenses.gpl3;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
index b387ed350af2..8b19f338d3e6 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pidgin, intltool, libxml2 }:
+{ stdenv, fetchurl, pidgin, intltool, libxml2, nss, nspr }:
 
 let version = "1.18.1"; in
 
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
 
   postInstall = "find $out -ls; ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe";
 
-  buildInputs = [pidgin intltool libxml2];
+  buildInputs = [ pidgin intltool libxml2 nss nspr ];
+
 }
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
index cba5bdeec7e9..5c8a03eb8efc 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchgit, pkgconfig, libtoxcore-dev, qt5, openal, opencv,
   libsodium, libXScrnSaver, glib, gdk_pixbuf, gtk2, cairo,
-  pango, atk, qrencode, ffmpeg, filter-audio }:
+  pango, atk, qrencode, ffmpeg, filter-audio, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "qtox-dev-20150624";
+  name = "qtox-dev-20150821";
 
   src = fetchgit {
       url = "https://github.com/tux3/qTox.git";
-      rev = "9f386135a2cf428d2802b158c70be4beee5abf86";
-      sha256 = "1m2y50q5yim1q75k48cy5daq5qm77cvb3kcla7lpqv54xnfdwxk8";
+      rev = "2f6b5e052f2a625d506e83f880c5d68b49118f95";
+      md5 = "b2f9cf283136b6e558876ca2e6d128a3";
   };
 
   buildInputs =
     [
       libtoxcore-dev openal opencv libsodium filter-audio
       qt5.base qt5.tools libXScrnSaver glib gtk2 cairo
-      pango atk qrencode ffmpeg qt5.translations
+      pango atk qrencode ffmpeg qt5.translations makeWrapper
     ];
 
   nativeBuildInputs = [ pkgconfig ];
@@ -37,8 +37,12 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     cp qtox $out/bin
+    wrapProgram $out/bin/qtox \
+      --prefix QT_PLUGIN_PATH : ${qt5.svg}/lib/qt5/plugins
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "QT Tox client";
     license = licenses.gpl3;
@@ -46,4 +50,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
   };
 }
-
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
index 51707d2dca65..13798061b71b 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, makeWrapper, zlib, glib, libpng, freetype, xorg
-, fontconfig, xlibs, qt5, xkeyboard_config, alsaLib, libpulseaudio ? null
-, libredirect, quazip, less, which
+{ stdenv, fetchurl, makeWrapper, makeDesktopItem, zlib, glib, libpng, freetype
+, xorg, fontconfig, xlibs, qt5, xkeyboard_config, alsaLib, libpulseaudio ? null
+, libredirect, quazip, less, which, unzip
 }:
 
 let
@@ -15,6 +15,16 @@ let
       xlibs.libxcb fontconfig xorg.libXext xorg.libX11 alsaLib qt5.base libpulseaudio
     ];
 
+  desktopItem = makeDesktopItem {
+    name = "teamspeak";
+    exec = "ts3client";
+    icon = "teamspeak";
+    comment = "The TeamSpeak voice communication tool";
+    desktopName = "TeamSpeak";
+    genericName = "TeamSpeak";
+    categories = "Network";
+  };
+
 in
 
 stdenv.mkDerivation rec {
@@ -33,7 +43,13 @@ stdenv.mkDerivation rec {
                 else "1b3nbvfpd8lx3dig8z5yk6zjkbmsy6y938dhj1f562wc8adixciz";
   };
 
-  buildInputs = [ makeWrapper less which ];
+  # grab the plugin sdk for the desktop icon
+  pluginsdk = fetchurl {
+    url = "http://dl.4players.de/ts/client/pluginsdk/pluginsdk_3.0.16.zip";
+    sha256 = "1qpqpj3r21wff3ly9ail4l6b57pcqycsh2hca926j14sdlvpv7kl";
+  };
+
+  buildInputs = [ makeWrapper less which unzip ];
 
   unpackPhase =
     ''
@@ -62,6 +78,12 @@ stdenv.mkDerivation rec {
       mkdir -p $out/lib/teamspeak
       mv * $out/lib/teamspeak/
 
+      # Make a desktop item
+      mkdir -p $out/share/applications/ $out/share/icons/
+      unzip ${pluginsdk}
+      cp pluginsdk/docs/client_html/images/logo.png $out/share/icons/teamspeak.png
+      cp ${desktopItem}/share/applications/* $out/share/applications/
+
       # Make a symlink to the binary from bin.
       mkdir -p $out/bin/
       ln -s $out/lib/teamspeak/ts3client $out/bin/ts3client
diff --git a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
index a68e0ee11045..b5bd22f88771 100644
--- a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix
@@ -1,28 +1,29 @@
-{ stdenv, fetchgit, libconfig, lua5_2, openssl, readline, zlib
+{ stdenv, fetchgit, bash, libconfig, libevent, openssl,
+  readline, zlib, lua5_2, python, pkgconfig, jansson
 }:
 
 stdenv.mkDerivation rec {
-  name = "telegram-cli-2014-03-04";
+  name = "telegram-cli-2015-07-30";
 
   src = fetchgit {
     url = "https://github.com/vysheng/tg.git";
-    rev = "ac6079a00ac66bb37a3179a82af130b41ec39bc9";
-    sha256 = "1rpwnyzmqk7p97n5pd00m5c6rypc39mb3hs94qxxrdcpwpgcb73q";
+    sha256 = "0phn9nl0sf2fylzfwi427xq60cfrnpsvhh8bp55y1wcjkmp0fxsn";
+    rev = "2052f4b381337d75e783facdbfad56b04dec1a9c";
   };
 
-  buildInputs = [ libconfig lua5_2 openssl readline zlib ];
-
-  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # CPPFunction
-
+  buildInputs = [
+    libconfig libevent openssl readline zlib
+    lua5_2 python pkgconfig jansson
+  ];
   installPhase = ''
     mkdir -p $out/bin
-    cp ./telegram $out/bin/telegram-wo-key
-    cp ./tg.pub $out/
-    cat > $out/bin/telegram <<EOF
-    #!/usr/bin/env bash
-    $out/bin/telegram-wo-key -k $out/tg.pub
+    cp ./bin/telegram-cli $out/bin/telegram-wo-key
+    cp ./tg-server.pub $out/
+    cat > $out/bin/telegram-cli <<EOF
+    #!${bash}/bin/sh
+    $out/bin/telegram-wo-key -k $out/tg-server.pub "\$@"
     EOF
-    chmod +x $out/bin/telegram
+    chmod +x $out/bin/telegram-cli
   '';
 
   meta = {
@@ -30,5 +31,6 @@ stdenv.mkDerivation rec {
     homepage = https://telegram.org/;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.jagajaga ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
index a74885b2ce30..971a834f4096 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libxslt, telepathy_glib, libxml2, dbus_glib, dbus_daemon
-, sqlite, libsoup, libnice, gnutls, cacert }:
+, sqlite, libsoup, libnice, gnutls }:
 
 stdenv.mkDerivation rec {
   name = "telepathy-gabble-0.18.2";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libxml2 dbus_glib sqlite libsoup libnice telepathy_glib gnutls ]
     ++ stdenv.lib.optional doCheck dbus_daemon;
 
-  configureFlags = "--with-ca-certificates=${cacert}/etc/ssl/certs/ca-bundle.crt";
+  configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt";
 
   enableParallelBuilding = true;
   doCheck = true;
diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix
index a8bd2e801b98..c1944cf6d0de 100644
--- a/pkgs/applications/networking/irc/quassel/default.nix
+++ b/pkgs/applications/networking/irc/quassel/default.nix
@@ -1,20 +1,27 @@
 { monolithic ? true # build monolithic Quassel
 , daemon ? false # build Quassel daemon
 , client ? false # build Quassel client
-, withKDE ? stdenv.isLinux # enable KDE integration
 , previews ? false # enable webpage previews on hovering over URLs
 , tag ? "" # tag added to the package name
-, kdelibs ? null # optional
-, useQt5 ? false
-, phonon_qt5, libdbusmenu_qt5
-, stdenv, fetchurl, cmake, makeWrapper, qt, automoc4, phonon, dconf, qca2, qca-qt5 }:
+, useQt5 ? false, phonon_qt5, libdbusmenu_qt5, qca-qt5
+, withKDE ? stdenv.isLinux # enable KDE integration
+, kf5 ? null, kdelibs ? null
 
+, stdenv, fetchurl, cmake, makeWrapper, qt, automoc4, phonon, dconf, qca2 }:
+
+let useKF5 = useQt5 && withKDE;
+    useKDE4 = withKDE && !useQt5;
+    buildClient = monolithic || client;
+    buildCore = monolithic || daemon;
+in
 
 assert stdenv.isLinux;
 
 assert monolithic -> !client && !daemon;
 assert client || daemon -> !monolithic;
-assert withKDE -> kdelibs != null;
+assert useKDE4 -> kdelibs != null;
+assert useKF5 -> kf5 != null;
+assert !buildClient -> !withKDE; # KDE is used by the client only
 
 let
   edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
@@ -31,15 +38,21 @@ in with stdenv; mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ cmake makeWrapper ]
-    ++ (if useQt5 then [ qt.base qca-qt5 ] else [ qt qca2 ])
-    ++ (if useQt5 && (monolithic || daemon) then [ qt.script ] else [])
-    ++ (if useQt5 && previews then [ qt.webkit qt.webkitwidgets ] else [])
-    ++ lib.optional withKDE kdelibs
-    ++ lib.optional withKDE automoc4
-    ++ lib.optional withKDE phonon
-    ++ lib.optional useQt5 phonon_qt5
-    ++ lib.optional useQt5 libdbusmenu_qt5;
+  buildInputs =
+       [ cmake makeWrapper ]
+    ++ [(if useQt5 then qt.base else qt)]
+    ++ lib.optionals buildCore (if useQt5 then [qt.script qca-qt5] else [qca2])
+    ++ lib.optionals buildClient
+       (   lib.optionals (previews && useQt5) [qt.webkit qt.webkitwidgets]
+        ++ lib.optionals useQt5 [libdbusmenu_qt5 phonon_qt5]
+        ++ lib.optionals useKDE4 [automoc4 kdelibs phonon]
+        ++ lib.optionals useKF5
+           (with kf5; [
+             extra-cmake-modules kconfigwidgets kcoreaddons
+             knotifications knotifyconfig ktextwidgets kwidgetsaddons
+             kxmlgui
+           ])
+       );
 
   cmakeFlags = [
     "-DEMBED_DATA=OFF"
@@ -52,24 +65,20 @@ in with stdenv; mkDerivation rec {
     ++ edf useQt5 "USE_QT5";
 
   preFixup =
-    lib.optionalString client ''
-        wrapProgram "$out/bin/quasselclient" \
-          --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
-    '' +
-    lib.optionalString monolithic ''
-        wrapProgram "$out/bin/quassel" \
+    lib.optionalString buildClient ''
+        wrapProgram "$out/bin/quassel${lib.optionalString client "client"}" \
           --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
     '';
 
   meta = with stdenv.lib; {
     homepage = http://quassel-irc.org/;
-    description = "Qt4/KDE4/Qt5 distributed IRC client suppporting a remote daemon";
+    description = "Qt/KDE distributed IRC client suppporting a remote daemon";
     longDescription = ''
       Quassel IRC is a cross-platform, distributed IRC client,
       meaning that one (or multiple) client(s) can attach to
       and detach from a central core -- much like the popular
       combination of screen and a text-based IRC client such
-      as WeeChat, but graphical (based on Qt4/KDE4 or Qt5).
+      as WeeChat, but graphical (based on Qt4/KDE4 or Qt5/KF5).
     '';
     license = stdenv.lib.licenses.gpl3;
     maintainers = with maintainers; [ phreedom ttuegel ];
diff --git a/pkgs/applications/networking/irc/shout/default.nix b/pkgs/applications/networking/irc/shout/default.nix
new file mode 100644
index 000000000000..9d3e3ba449c3
--- /dev/null
+++ b/pkgs/applications/networking/irc/shout/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchFromGitHub, callPackage, python, utillinux }:
+
+with stdenv.lib;
+
+let
+  nodePackages = callPackage (import ../../../../top-level/node-packages.nix) {
+    neededNatives = [ python ] ++ optional (stdenv.isLinux) utillinux;
+    self = nodePackages;
+    generated = ./package.nix;
+  };
+
+in nodePackages.buildNodePackage rec {
+  name = "shout-${version}";
+  version = "0.51.1";
+
+  src = fetchFromGitHub {
+    owner = "erming";
+    repo = "shout";
+    rev = "2cee0ea6ef5ee51de0190332f976934b55bbc8e4";
+    sha256 = "1kci1qha1csb9sqb4ig487q612hgdn5lycbcpad7m9r6chn835qg";
+  };
+
+  buildInputs = nodePackages.nativeDeps."shout" or [];
+
+  deps = [
+    nodePackages.by-spec."bcrypt-nodejs"."0.0.3"
+    nodePackages.by-spec."cheerio"."^0.17.0"
+    nodePackages.by-spec."commander"."^2.3.0"
+    nodePackages.by-spec."event-stream"."^3.1.7"
+    nodePackages.by-spec."express"."^4.9.5"
+    nodePackages.by-spec."lodash"."~2.4.1"
+    nodePackages.by-spec."mkdirp"."^0.5.0"
+    nodePackages.by-spec."moment"."~2.7.0"
+    nodePackages.by-spec."read"."^1.0.5"
+    nodePackages.by-spec."request"."^2.51.0"
+    nodePackages.by-spec."slate-irc"."~0.7.3"
+    nodePackages.by-spec."socket.io"."~1.0.6"
+  ];
+
+  peerDependencies = [];
+
+  meta = {
+    description = "Web IRC client that you host on your own server";
+    license = licenses.mit;
+    homepage = http://shout-irc.com/;
+    maintainers = with maintainers; [ benley ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/irc/shout/package.nix b/pkgs/applications/networking/irc/shout/package.nix
new file mode 100644
index 000000000000..cd9677e1ccc7
--- /dev/null
+++ b/pkgs/applications/networking/irc/shout/package.nix
@@ -0,0 +1,5049 @@
+{ self, fetchurl, fetchgit ? null, lib }:
+
+{
+  by-spec."CSSselect"."~0.4.0" =
+    self.by-version."CSSselect"."0.4.1";
+  by-version."CSSselect"."0.4.1" = self.buildNodePackage {
+    name = "CSSselect-0.4.1";
+    version = "0.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz";
+      name = "CSSselect-0.4.1.tgz";
+      sha1 = "f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2";
+    };
+    deps = {
+      "CSSwhat-0.4.7" = self.by-version."CSSwhat"."0.4.7";
+      "domutils-1.4.3" = self.by-version."domutils"."1.4.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."CSSwhat"."0.4" =
+    self.by-version."CSSwhat"."0.4.7";
+  by-version."CSSwhat"."0.4.7" = self.buildNodePackage {
+    name = "CSSwhat-0.4.7";
+    version = "0.4.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz";
+      name = "CSSwhat-0.4.7.tgz";
+      sha1 = "867da0ff39f778613242c44cfea83f0aa4ebdf9b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."abbrev"."1" =
+    self.by-version."abbrev"."1.0.7";
+  by-version."abbrev"."1.0.7" = self.buildNodePackage {
+    name = "abbrev-1.0.7";
+    version = "1.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz";
+      name = "abbrev-1.0.7.tgz";
+      sha1 = "5b6035b2ee9d4fb5cf859f08a9be81b208491843";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."accepts"."~1.2.10" =
+    self.by-version."accepts"."1.2.11";
+  by-version."accepts"."1.2.11" = self.buildNodePackage {
+    name = "accepts-1.2.11";
+    version = "1.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/accepts/-/accepts-1.2.11.tgz";
+      name = "accepts-1.2.11.tgz";
+      sha1 = "d341c6e3b420489632f0f4f8d2ad4fd9ddf374e0";
+    };
+    deps = {
+      "mime-types-2.1.3" = self.by-version."mime-types"."2.1.3";
+      "negotiator-0.5.3" = self.by-version."negotiator"."0.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."after"."0.8.1" =
+    self.by-version."after"."0.8.1";
+  by-version."after"."0.8.1" = self.buildNodePackage {
+    name = "after-0.8.1";
+    version = "0.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/after/-/after-0.8.1.tgz";
+      name = "after-0.8.1.tgz";
+      sha1 = "ab5d4fb883f596816d3515f8f791c0af486dd627";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."amdefine".">=0.0.4" =
+    self.by-version."amdefine"."1.0.0";
+  by-version."amdefine"."1.0.0" = self.buildNodePackage {
+    name = "amdefine-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz";
+      name = "amdefine-1.0.0.tgz";
+      sha1 = "fd17474700cb5cc9c2b709f0be9d23ce3c198c33";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi-regex"."^0.2.0" =
+    self.by-version."ansi-regex"."0.2.1";
+  by-version."ansi-regex"."0.2.1" = self.buildNodePackage {
+    name = "ansi-regex-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz";
+      name = "ansi-regex-0.2.1.tgz";
+      sha1 = "0d8e946967a3d8143f93e24e298525fc1b2235f9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi-regex"."^0.2.1" =
+    self.by-version."ansi-regex"."0.2.1";
+  by-spec."ansi-regex"."^2.0.0" =
+    self.by-version."ansi-regex"."2.0.0";
+  by-version."ansi-regex"."2.0.0" = self.buildNodePackage {
+    name = "ansi-regex-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz";
+      name = "ansi-regex-2.0.0.tgz";
+      sha1 = "c5061b6e0ef8a81775e50f5d66151bf6bf371107";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi-styles"."^1.1.0" =
+    self.by-version."ansi-styles"."1.1.0";
+  by-version."ansi-styles"."1.1.0" = self.buildNodePackage {
+    name = "ansi-styles-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz";
+      name = "ansi-styles-1.1.0.tgz";
+      sha1 = "eaecbf66cd706882760b2f4691582b8f55d7a7de";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi-styles"."^2.1.0" =
+    self.by-version."ansi-styles"."2.1.0";
+  by-version."ansi-styles"."2.1.0" = self.buildNodePackage {
+    name = "ansi-styles-2.1.0";
+    version = "2.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz";
+      name = "ansi-styles-2.1.0.tgz";
+      sha1 = "990f747146927b559a932bf92959163d60c0d0e2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."argparse"."~ 0.1.11" =
+    self.by-version."argparse"."0.1.16";
+  by-version."argparse"."0.1.16" = self.buildNodePackage {
+    name = "argparse-0.1.16";
+    version = "0.1.16";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz";
+      name = "argparse-0.1.16.tgz";
+      sha1 = "cfd01e0fbba3d6caed049fbd758d40f65196f57c";
+    };
+    deps = {
+      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
+      "underscore.string-2.4.0" = self.by-version."underscore.string"."2.4.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."array-flatten"."1.1.0" =
+    self.by-version."array-flatten"."1.1.0";
+  by-version."array-flatten"."1.1.0" = self.buildNodePackage {
+    name = "array-flatten-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.0.tgz";
+      name = "array-flatten-1.1.0.tgz";
+      sha1 = "ac3efac717b0e7bbdc778ce0bde7381ac6604393";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."arraybuffer.slice"."0.0.6" =
+    self.by-version."arraybuffer.slice"."0.0.6";
+  by-version."arraybuffer.slice"."0.0.6" = self.buildNodePackage {
+    name = "arraybuffer.slice-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz";
+      name = "arraybuffer.slice-0.0.6.tgz";
+      sha1 = "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."asn1"."0.1.11" =
+    self.by-version."asn1"."0.1.11";
+  by-version."asn1"."0.1.11" = self.buildNodePackage {
+    name = "asn1-0.1.11";
+    version = "0.1.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+      name = "asn1-0.1.11.tgz";
+      sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."assert-plus"."^0.1.5" =
+    self.by-version."assert-plus"."0.1.5";
+  by-version."assert-plus"."0.1.5" = self.buildNodePackage {
+    name = "assert-plus-0.1.5";
+    version = "0.1.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
+      name = "assert-plus-0.1.5.tgz";
+      sha1 = "ee74009413002d84cec7219c6ac811812e723160";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."async"."^1.2.1" =
+    self.by-version."async"."1.4.0";
+  by-version."async"."1.4.0" = self.buildNodePackage {
+    name = "async-1.4.0";
+    version = "1.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-1.4.0.tgz";
+      name = "async-1.4.0.tgz";
+      sha1 = "35f86f83c59e0421d099cd9a91d8278fb578c00d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."async"."~0.1.22" =
+    self.by-version."async"."0.1.22";
+  by-version."async"."0.1.22" = self.buildNodePackage {
+    name = "async-0.1.22";
+    version = "0.1.22";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
+      name = "async-0.1.22.tgz";
+      sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."async"."~0.2.6" =
+    self.by-version."async"."0.2.10";
+  by-version."async"."0.2.10" = self.buildNodePackage {
+    name = "async-0.2.10";
+    version = "0.2.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
+      name = "async-0.2.10.tgz";
+      sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."async"."~0.2.9" =
+    self.by-version."async"."0.2.10";
+  by-spec."aws-sign2"."~0.5.0" =
+    self.by-version."aws-sign2"."0.5.0";
+  by-version."aws-sign2"."0.5.0" = self.buildNodePackage {
+    name = "aws-sign2-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+      name = "aws-sign2-0.5.0.tgz";
+      sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64-arraybuffer"."0.1.2" =
+    self.by-version."base64-arraybuffer"."0.1.2";
+  by-version."base64-arraybuffer"."0.1.2" = self.buildNodePackage {
+    name = "base64-arraybuffer-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz";
+      name = "base64-arraybuffer-0.1.2.tgz";
+      sha1 = "474df4a9f2da24e05df3158c3b1db3c3cd46a154";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64id"."0.1.0" =
+    self.by-version."base64id"."0.1.0";
+  by-version."base64id"."0.1.0" = self.buildNodePackage {
+    name = "base64id-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz";
+      name = "base64id-0.1.0.tgz";
+      sha1 = "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bcrypt-nodejs"."0.0.3" =
+    self.by-version."bcrypt-nodejs"."0.0.3";
+  by-version."bcrypt-nodejs"."0.0.3" = self.buildNodePackage {
+    name = "bcrypt-nodejs-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bcrypt-nodejs/-/bcrypt-nodejs-0.0.3.tgz";
+      name = "bcrypt-nodejs-0.0.3.tgz";
+      sha1 = "c60917f26dc235661566c681061c303c2b28842b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "bcrypt-nodejs" = self.by-version."bcrypt-nodejs"."0.0.3";
+  by-spec."better-assert"."~1.0.0" =
+    self.by-version."better-assert"."1.0.2";
+  by-version."better-assert"."1.0.2" = self.buildNodePackage {
+    name = "better-assert-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz";
+      name = "better-assert-1.0.2.tgz";
+      sha1 = "40866b9e1b9e0b55b481894311e68faffaebc522";
+    };
+    deps = {
+      "callsite-1.0.0" = self.by-version."callsite"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bl"."~1.0.0" =
+    self.by-version."bl"."1.0.0";
+  by-version."bl"."1.0.0" = self.buildNodePackage {
+    name = "bl-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bl/-/bl-1.0.0.tgz";
+      name = "bl-1.0.0.tgz";
+      sha1 = "ada9a8a89a6d7ac60862f7dec7db207873e0c3f5";
+    };
+    deps = {
+      "readable-stream-2.0.2" = self.by-version."readable-stream"."2.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."blob"."0.0.2" =
+    self.by-version."blob"."0.0.2";
+  by-version."blob"."0.0.2" = self.buildNodePackage {
+    name = "blob-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/blob/-/blob-0.0.2.tgz";
+      name = "blob-0.0.2.tgz";
+      sha1 = "b89562bd6994af95ba1e812155536333aa23cf24";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bluebird"."^2.9.30" =
+    self.by-version."bluebird"."2.9.34";
+  by-version."bluebird"."2.9.34" = self.buildNodePackage {
+    name = "bluebird-2.9.34";
+    version = "2.9.34";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bluebird/-/bluebird-2.9.34.tgz";
+      name = "bluebird-2.9.34.tgz";
+      sha1 = "2f7b4ec80216328a9fddebdf69c8d4942feff7d8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."boom"."2.x.x" =
+    self.by-version."boom"."2.8.0";
+  by-version."boom"."2.8.0" = self.buildNodePackage {
+    name = "boom-2.8.0";
+    version = "2.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/boom/-/boom-2.8.0.tgz";
+      name = "boom-2.8.0.tgz";
+      sha1 = "317bdfd47018fe7dd79b0e9da73efe244119fdf1";
+    };
+    deps = {
+      "hoek-2.14.0" = self.by-version."hoek"."2.14.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."boom"."^2.8.x" =
+    self.by-version."boom"."2.8.0";
+  by-spec."browserify-zlib"."^0.1.4" =
+    self.by-version."browserify-zlib"."0.1.4";
+  by-version."browserify-zlib"."0.1.4" = self.buildNodePackage {
+    name = "browserify-zlib-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
+      name = "browserify-zlib-0.1.4.tgz";
+      sha1 = "bb35f8a519f600e0fa6b8485241c979d0141fb2d";
+    };
+    deps = {
+      "pako-0.2.7" = self.by-version."pako"."0.2.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."callsite"."1.0.0" =
+    self.by-version."callsite"."1.0.0";
+  by-version."callsite"."1.0.0" = self.buildNodePackage {
+    name = "callsite-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz";
+      name = "callsite-1.0.0.tgz";
+      sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."camelcase"."^1.0.2" =
+    self.by-version."camelcase"."1.1.0";
+  by-version."camelcase"."1.1.0" = self.buildNodePackage {
+    name = "camelcase-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/camelcase/-/camelcase-1.1.0.tgz";
+      name = "camelcase-1.1.0.tgz";
+      sha1 = "953b25c3bc98671ee59a44cb9d542672da7331b9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."caseless"."~0.11.0" =
+    self.by-version."caseless"."0.11.0";
+  by-version."caseless"."0.11.0" = self.buildNodePackage {
+    name = "caseless-0.11.0";
+    version = "0.11.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz";
+      name = "caseless-0.11.0.tgz";
+      sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."chalk"."^0.5.0" =
+    self.by-version."chalk"."0.5.1";
+  by-version."chalk"."0.5.1" = self.buildNodePackage {
+    name = "chalk-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz";
+      name = "chalk-0.5.1.tgz";
+      sha1 = "663b3a648b68b55d04690d49167aa837858f2174";
+    };
+    deps = {
+      "ansi-styles-1.1.0" = self.by-version."ansi-styles"."1.1.0";
+      "escape-string-regexp-1.0.3" = self.by-version."escape-string-regexp"."1.0.3";
+      "has-ansi-0.1.0" = self.by-version."has-ansi"."0.1.0";
+      "strip-ansi-0.3.0" = self.by-version."strip-ansi"."0.3.0";
+      "supports-color-0.2.0" = self.by-version."supports-color"."0.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."chalk"."^0.5.1" =
+    self.by-version."chalk"."0.5.1";
+  by-spec."chalk"."^1.0.0" =
+    self.by-version."chalk"."1.1.0";
+  by-version."chalk"."1.1.0" = self.buildNodePackage {
+    name = "chalk-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chalk/-/chalk-1.1.0.tgz";
+      name = "chalk-1.1.0.tgz";
+      sha1 = "09b453cec497a75520e4a60ae48214a8700e0921";
+    };
+    deps = {
+      "ansi-styles-2.1.0" = self.by-version."ansi-styles"."2.1.0";
+      "escape-string-regexp-1.0.3" = self.by-version."escape-string-regexp"."1.0.3";
+      "has-ansi-2.0.0" = self.by-version."has-ansi"."2.0.0";
+      "strip-ansi-3.0.0" = self.by-version."strip-ansi"."3.0.0";
+      "supports-color-2.0.0" = self.by-version."supports-color"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cheerio"."^0.17.0" =
+    self.by-version."cheerio"."0.17.0";
+  by-version."cheerio"."0.17.0" = self.buildNodePackage {
+    name = "cheerio-0.17.0";
+    version = "0.17.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cheerio/-/cheerio-0.17.0.tgz";
+      name = "cheerio-0.17.0.tgz";
+      sha1 = "fa5ae42cc60121133d296d0b46d983215f7268ea";
+    };
+    deps = {
+      "CSSselect-0.4.1" = self.by-version."CSSselect"."0.4.1";
+      "entities-1.1.1" = self.by-version."entities"."1.1.1";
+      "htmlparser2-3.7.3" = self.by-version."htmlparser2"."3.7.3";
+      "dom-serializer-0.0.1" = self.by-version."dom-serializer"."0.0.1";
+      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "cheerio" = self.by-version."cheerio"."0.17.0";
+  by-spec."coffee-script"."~1.3.3" =
+    self.by-version."coffee-script"."1.3.3";
+  by-version."coffee-script"."1.3.3" = self.buildNodePackage {
+    name = "coffee-script-1.3.3";
+    version = "1.3.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz";
+      name = "coffee-script-1.3.3.tgz";
+      sha1 = "150d6b4cb522894369efed6a2101c20bc7f4a4f4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."colors"."~0.6.2" =
+    self.by-version."colors"."0.6.2";
+  by-version."colors"."0.6.2" = self.buildNodePackage {
+    name = "colors-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+      name = "colors-0.6.2.tgz";
+      sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."combined-stream"."^1.0.3" =
+    self.by-version."combined-stream"."1.0.5";
+  by-version."combined-stream"."1.0.5" = self.buildNodePackage {
+    name = "combined-stream-1.0.5";
+    version = "1.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz";
+      name = "combined-stream-1.0.5.tgz";
+      sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009";
+    };
+    deps = {
+      "delayed-stream-1.0.0" = self.by-version."delayed-stream"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."combined-stream"."~1.0.1" =
+    self.by-version."combined-stream"."1.0.5";
+  by-spec."commander"."0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-version."commander"."0.6.1" = self.buildNodePackage {
+    name = "commander-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+      name = "commander-0.6.1.tgz";
+      sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."commander"."2.3.0" =
+    self.by-version."commander"."2.3.0";
+  by-version."commander"."2.3.0" = self.buildNodePackage {
+    name = "commander-2.3.0";
+    version = "2.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-2.3.0.tgz";
+      name = "commander-2.3.0.tgz";
+      sha1 = "fd430e889832ec353b9acd1de217c11cb3eef873";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."commander"."^2.3.0" =
+    self.by-version."commander"."2.8.1";
+  by-version."commander"."2.8.1" = self.buildNodePackage {
+    name = "commander-2.8.1";
+    version = "2.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/commander/-/commander-2.8.1.tgz";
+      name = "commander-2.8.1.tgz";
+      sha1 = "06be367febfda0c330aa1e2a072d3dc9762425d4";
+    };
+    deps = {
+      "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "commander" = self.by-version."commander"."2.8.1";
+  by-spec."commander"."^2.8.1" =
+    self.by-version."commander"."2.8.1";
+  by-spec."commander"."~0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-spec."component-bind"."1.0.0" =
+    self.by-version."component-bind"."1.0.0";
+  by-version."component-bind"."1.0.0" = self.buildNodePackage {
+    name = "component-bind-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz";
+      name = "component-bind-1.0.0.tgz";
+      sha1 = "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."component-emitter"."1.1.2" =
+    self.by-version."component-emitter"."1.1.2";
+  by-version."component-emitter"."1.1.2" = self.buildNodePackage {
+    name = "component-emitter-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
+      name = "component-emitter-1.1.2.tgz";
+      sha1 = "296594f2753daa63996d2af08d15a95116c9aec3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."component-inherit"."0.0.3" =
+    self.by-version."component-inherit"."0.0.3";
+  by-version."component-inherit"."0.0.3" = self.buildNodePackage {
+    name = "component-inherit-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz";
+      name = "component-inherit-0.0.3.tgz";
+      sha1 = "645fc4adf58b72b649d5cae65135619db26ff143";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."concat-stream"."^1.4.1" =
+    self.by-version."concat-stream"."1.5.0";
+  by-version."concat-stream"."1.5.0" = self.buildNodePackage {
+    name = "concat-stream-1.5.0";
+    version = "1.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz";
+      name = "concat-stream-1.5.0.tgz";
+      sha1 = "53f7d43c51c5e43f81c8fdd03321c631be68d611";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "typedarray-0.0.6" = self.by-version."typedarray"."0.0.6";
+      "readable-stream-2.0.2" = self.by-version."readable-stream"."2.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."content-disposition"."0.5.0" =
+    self.by-version."content-disposition"."0.5.0";
+  by-version."content-disposition"."0.5.0" = self.buildNodePackage {
+    name = "content-disposition-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz";
+      name = "content-disposition-0.5.0.tgz";
+      sha1 = "4284fe6ae0630874639e44e80a418c2934135e9e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."content-type"."~1.0.1" =
+    self.by-version."content-type"."1.0.1";
+  by-version."content-type"."1.0.1" = self.buildNodePackage {
+    name = "content-type-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz";
+      name = "content-type-1.0.1.tgz";
+      sha1 = "a19d2247327dc038050ce622b7a154ec59c5e600";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie"."0.1.3" =
+    self.by-version."cookie"."0.1.3";
+  by-version."cookie"."0.1.3" = self.buildNodePackage {
+    name = "cookie-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz";
+      name = "cookie-0.1.3.tgz";
+      sha1 = "e734a5c1417fce472d5aef82c381cabb64d1a435";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cookie-signature"."1.0.6" =
+    self.by-version."cookie-signature"."1.0.6";
+  by-version."cookie-signature"."1.0.6" = self.buildNodePackage {
+    name = "cookie-signature-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
+      name = "cookie-signature-1.0.6.tgz";
+      sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."core-util-is"."~1.0.0" =
+    self.by-version."core-util-is"."1.0.1";
+  by-version."core-util-is"."1.0.1" = self.buildNodePackage {
+    name = "core-util-is-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
+      name = "core-util-is-1.0.1.tgz";
+      sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cryptiles"."2.x.x" =
+    self.by-version."cryptiles"."2.0.4";
+  by-version."cryptiles"."2.0.4" = self.buildNodePackage {
+    name = "cryptiles-2.0.4";
+    version = "2.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz";
+      name = "cryptiles-2.0.4.tgz";
+      sha1 = "09ea1775b9e1c7de7e60a99d42ab6f08ce1a1285";
+    };
+    deps = {
+      "boom-2.8.0" = self.by-version."boom"."2.8.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ctype"."0.5.3" =
+    self.by-version."ctype"."0.5.3";
+  by-version."ctype"."0.5.3" = self.buildNodePackage {
+    name = "ctype-0.5.3";
+    version = "0.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
+      name = "ctype-0.5.3.tgz";
+      sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dateformat"."1.0.2-1.2.3" =
+    self.by-version."dateformat"."1.0.2-1.2.3";
+  by-version."dateformat"."1.0.2-1.2.3" = self.buildNodePackage {
+    name = "dateformat-1.0.2-1.2.3";
+    version = "1.0.2-1.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
+      name = "dateformat-1.0.2-1.2.3.tgz";
+      sha1 = "b0220c02de98617433b72851cf47de3df2cdbee9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."*" =
+    self.by-version."debug"."2.2.0";
+  by-version."debug"."2.2.0" = self.buildNodePackage {
+    name = "debug-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
+      name = "debug-2.2.0.tgz";
+      sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
+    };
+    deps = {
+      "ms-0.7.1" = self.by-version."ms"."0.7.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."0.6.0" =
+    self.by-version."debug"."0.6.0";
+  by-version."debug"."0.6.0" = self.buildNodePackage {
+    name = "debug-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-0.6.0.tgz";
+      name = "debug-0.6.0.tgz";
+      sha1 = "ce9d5d025d5294b3f0748a494bebaf3c9fd8734f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."0.7.4" =
+    self.by-version."debug"."0.7.4";
+  by-version."debug"."0.7.4" = self.buildNodePackage {
+    name = "debug-0.7.4";
+    version = "0.7.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
+      name = "debug-0.7.4.tgz";
+      sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."2.0.0" =
+    self.by-version."debug"."2.0.0";
+  by-version."debug"."2.0.0" = self.buildNodePackage {
+    name = "debug-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
+      name = "debug-2.0.0.tgz";
+      sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
+    };
+    deps = {
+      "ms-0.6.2" = self.by-version."ms"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."~0.7.0" =
+    self.by-version."debug"."0.7.4";
+  by-spec."debug"."~0.7.2" =
+    self.by-version."debug"."0.7.4";
+  by-spec."debug"."~2.2.0" =
+    self.by-version."debug"."2.2.0";
+  by-spec."decamelize"."^1.0.0" =
+    self.by-version."decamelize"."1.0.0";
+  by-version."decamelize"."1.0.0" = self.buildNodePackage {
+    name = "decamelize-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/decamelize/-/decamelize-1.0.0.tgz";
+      name = "decamelize-1.0.0.tgz";
+      sha1 = "5287122f71691d4505b18ff2258dc400a5b23847";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."delayed-stream"."~1.0.0" =
+    self.by-version."delayed-stream"."1.0.0";
+  by-version."delayed-stream"."1.0.0" = self.buildNodePackage {
+    name = "delayed-stream-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+      name = "delayed-stream-1.0.0.tgz";
+      sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."depd"."~1.0.1" =
+    self.by-version."depd"."1.0.1";
+  by-version."depd"."1.0.1" = self.buildNodePackage {
+    name = "depd-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/depd/-/depd-1.0.1.tgz";
+      name = "depd-1.0.1.tgz";
+      sha1 = "80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."destroy"."1.0.3" =
+    self.by-version."destroy"."1.0.3";
+  by-version."destroy"."1.0.3" = self.buildNodePackage {
+    name = "destroy-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+      name = "destroy-1.0.3.tgz";
+      sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."diff"."1.0.8" =
+    self.by-version."diff"."1.0.8";
+  by-version."diff"."1.0.8" = self.buildNodePackage {
+    name = "diff-1.0.8";
+    version = "1.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
+      name = "diff-1.0.8.tgz";
+      sha1 = "343276308ec991b7bc82267ed55bc1411f971666";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dom-serializer"."0" =
+    self.by-version."dom-serializer"."0.1.0";
+  by-version."dom-serializer"."0.1.0" = self.buildNodePackage {
+    name = "dom-serializer-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz";
+      name = "dom-serializer-0.1.0.tgz";
+      sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
+    };
+    deps = {
+      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
+      "entities-1.1.1" = self.by-version."entities"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."dom-serializer"."~0.0.0" =
+    self.by-version."dom-serializer"."0.0.1";
+  by-version."dom-serializer"."0.0.1" = self.buildNodePackage {
+    name = "dom-serializer-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/dom-serializer/-/dom-serializer-0.0.1.tgz";
+      name = "dom-serializer-0.0.1.tgz";
+      sha1 = "9589827f1e32d22c37c829adabd59b3247af8eaf";
+    };
+    deps = {
+      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
+      "entities-1.1.1" = self.by-version."entities"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."domelementtype"."1" =
+    self.by-version."domelementtype"."1.3.0";
+  by-version."domelementtype"."1.3.0" = self.buildNodePackage {
+    name = "domelementtype-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz";
+      name = "domelementtype-1.3.0.tgz";
+      sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."domelementtype"."~1.1.1" =
+    self.by-version."domelementtype"."1.1.3";
+  by-version."domelementtype"."1.1.3" = self.buildNodePackage {
+    name = "domelementtype-1.1.3";
+    version = "1.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz";
+      name = "domelementtype-1.1.3.tgz";
+      sha1 = "bd28773e2642881aec51544924299c5cd822185b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."domhandler"."2.2" =
+    self.by-version."domhandler"."2.2.1";
+  by-version."domhandler"."2.2.1" = self.buildNodePackage {
+    name = "domhandler-2.2.1";
+    version = "2.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz";
+      name = "domhandler-2.2.1.tgz";
+      sha1 = "59df9dcd227e808b365ae73e1f6684ac3d946fc2";
+    };
+    deps = {
+      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."domutils"."1.4" =
+    self.by-version."domutils"."1.4.3";
+  by-version."domutils"."1.4.3" = self.buildNodePackage {
+    name = "domutils-1.4.3";
+    version = "1.4.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz";
+      name = "domutils-1.4.3.tgz";
+      sha1 = "0865513796c6b306031850e175516baf80b72a6f";
+    };
+    deps = {
+      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."domutils"."1.5" =
+    self.by-version."domutils"."1.5.1";
+  by-version."domutils"."1.5.1" = self.buildNodePackage {
+    name = "domutils-1.5.1";
+    version = "1.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
+      name = "domutils-1.5.1.tgz";
+      sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+    };
+    deps = {
+      "dom-serializer-0.1.0" = self.by-version."dom-serializer"."0.1.0";
+      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."duplexer"."~0.1.1" =
+    self.by-version."duplexer"."0.1.1";
+  by-version."duplexer"."0.1.1" = self.buildNodePackage {
+    name = "duplexer-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
+      name = "duplexer-0.1.1.tgz";
+      sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ee-first"."1.1.1" =
+    self.by-version."ee-first"."1.1.1";
+  by-version."ee-first"."1.1.1" = self.buildNodePackage {
+    name = "ee-first-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
+      name = "ee-first-1.1.1.tgz";
+      sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."emitter"."http://github.com/component/emitter/archive/1.0.1.tar.gz" =
+    self.by-version."emitter"."1.0.1";
+  by-version."emitter"."1.0.1" = self.buildNodePackage {
+    name = "emitter-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://github.com/component/emitter/archive/1.0.1.tar.gz";
+      name = "emitter-1.0.1.tgz";
+      sha256 = "0eae744826723877457f7a7ac7f31d68a5a060673b3a883f6a8e325bf48f313d";
+    };
+    deps = {
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."engine.io"."1.3.1" =
+    self.by-version."engine.io"."1.3.1";
+  by-version."engine.io"."1.3.1" = self.buildNodePackage {
+    name = "engine.io-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/engine.io/-/engine.io-1.3.1.tgz";
+      name = "engine.io-1.3.1.tgz";
+      sha1 = "2d968308fffae5d17f5209b6775246e90d8a705e";
+    };
+    deps = {
+      "debug-0.6.0" = self.by-version."debug"."0.6.0";
+      "ws-0.4.31" = self.by-version."ws"."0.4.31";
+      "engine.io-parser-1.0.6" = self.by-version."engine.io-parser"."1.0.6";
+      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."engine.io-client"."1.3.1" =
+    self.by-version."engine.io-client"."1.3.1";
+  by-version."engine.io-client"."1.3.1" = self.buildNodePackage {
+    name = "engine.io-client-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/engine.io-client/-/engine.io-client-1.3.1.tgz";
+      name = "engine.io-client-1.3.1.tgz";
+      sha1 = "1c5a65d5c5af6d04b44c22c3dbcd95c39ed1c989";
+    };
+    deps = {
+      "has-cors-1.0.3" = self.by-version."has-cors"."1.0.3";
+      "ws-0.4.31" = self.by-version."ws"."0.4.31";
+      "xmlhttprequest-1.5.0" = self.by-version."xmlhttprequest"."1.5.0";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+      "engine.io-parser-1.0.6" = self.by-version."engine.io-parser"."1.0.6";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "parseuri-0.0.2" = self.by-version."parseuri"."0.0.2";
+      "parsejson-0.0.1" = self.by-version."parsejson"."0.0.1";
+      "parseqs-0.0.2" = self.by-version."parseqs"."0.0.2";
+      "component-inherit-0.0.3" = self.by-version."component-inherit"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."engine.io-parser"."1.0.6" =
+    self.by-version."engine.io-parser"."1.0.6";
+  by-version."engine.io-parser"."1.0.6" = self.buildNodePackage {
+    name = "engine.io-parser-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.0.6.tgz";
+      name = "engine.io-parser-1.0.6.tgz";
+      sha1 = "d38813143a411cb3b914132ab05bf99e6f7a248e";
+    };
+    deps = {
+      "base64-arraybuffer-0.1.2" = self.by-version."base64-arraybuffer"."0.1.2";
+      "after-0.8.1" = self.by-version."after"."0.8.1";
+      "arraybuffer.slice-0.0.6" = self.by-version."arraybuffer.slice"."0.0.6";
+      "blob-0.0.2" = self.by-version."blob"."0.0.2";
+      "utf8-2.0.0" = self.by-version."utf8"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."entities"."1.0" =
+    self.by-version."entities"."1.0.0";
+  by-version."entities"."1.0.0" = self.buildNodePackage {
+    name = "entities-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz";
+      name = "entities-1.0.0.tgz";
+      sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."entities"."~1.1.1" =
+    self.by-version."entities"."1.1.1";
+  by-version."entities"."1.1.1" = self.buildNodePackage {
+    name = "entities-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/entities/-/entities-1.1.1.tgz";
+      name = "entities-1.1.1.tgz";
+      sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escape-html"."1.0.2" =
+    self.by-version."escape-html"."1.0.2";
+  by-version."escape-html"."1.0.2" = self.buildNodePackage {
+    name = "escape-html-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz";
+      name = "escape-html-1.0.2.tgz";
+      sha1 = "d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escape-string-regexp"."1.0.2" =
+    self.by-version."escape-string-regexp"."1.0.2";
+  by-version."escape-string-regexp"."1.0.2" = self.buildNodePackage {
+    name = "escape-string-regexp-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz";
+      name = "escape-string-regexp-1.0.2.tgz";
+      sha1 = "4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escape-string-regexp"."^1.0.0" =
+    self.by-version."escape-string-regexp"."1.0.3";
+  by-version."escape-string-regexp"."1.0.3" = self.buildNodePackage {
+    name = "escape-string-regexp-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz";
+      name = "escape-string-regexp-1.0.3.tgz";
+      sha1 = "9e2d8b25bc2555c3336723750e03f099c2735bb5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escape-string-regexp"."^1.0.2" =
+    self.by-version."escape-string-regexp"."1.0.3";
+  by-spec."esprima"."~ 1.0.2" =
+    self.by-version."esprima"."1.0.4";
+  by-version."esprima"."1.0.4" = self.buildNodePackage {
+    name = "esprima-1.0.4";
+    version = "1.0.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
+      name = "esprima-1.0.4.tgz";
+      sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."etag"."~1.7.0" =
+    self.by-version."etag"."1.7.0";
+  by-version."etag"."1.7.0" = self.buildNodePackage {
+    name = "etag-1.7.0";
+    version = "1.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/etag/-/etag-1.7.0.tgz";
+      name = "etag-1.7.0.tgz";
+      sha1 = "03d30b5f67dd6e632d2945d30d6652731a34d5d8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."event-stream"."^3.1.7" =
+    self.by-version."event-stream"."3.3.1";
+  by-version."event-stream"."3.3.1" = self.buildNodePackage {
+    name = "event-stream-3.3.1";
+    version = "3.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/event-stream/-/event-stream-3.3.1.tgz";
+      name = "event-stream-3.3.1.tgz";
+      sha1 = "b8cf6c00119181e688f335363daa7915ce890bdb";
+    };
+    deps = {
+      "through-2.3.8" = self.by-version."through"."2.3.8";
+      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
+      "from-0.1.3" = self.by-version."from"."0.1.3";
+      "map-stream-0.1.0" = self.by-version."map-stream"."0.1.0";
+      "pause-stream-0.0.11" = self.by-version."pause-stream"."0.0.11";
+      "split-0.3.3" = self.by-version."split"."0.3.3";
+      "stream-combiner-0.0.4" = self.by-version."stream-combiner"."0.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "event-stream" = self.by-version."event-stream"."3.3.1";
+  by-spec."eventemitter2"."~0.4.13" =
+    self.by-version."eventemitter2"."0.4.14";
+  by-version."eventemitter2"."0.4.14" = self.buildNodePackage {
+    name = "eventemitter2-0.4.14";
+    version = "0.4.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz";
+      name = "eventemitter2-0.4.14.tgz";
+      sha1 = "8f61b75cde012b2e9eb284d4545583b5643b61ab";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."exit"."~0.1.1" =
+    self.by-version."exit"."0.1.2";
+  by-version."exit"."0.1.2" = self.buildNodePackage {
+    name = "exit-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
+      name = "exit-0.1.2.tgz";
+      sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express"."^4.9.5" =
+    self.by-version."express"."4.13.1";
+  by-version."express"."4.13.1" = self.buildNodePackage {
+    name = "express-4.13.1";
+    version = "4.13.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-4.13.1.tgz";
+      name = "express-4.13.1.tgz";
+      sha1 = "f117aa1d1f6bedbc8de5b6d71fc31a5acd0f63df";
+    };
+    deps = {
+      "accepts-1.2.11" = self.by-version."accepts"."1.2.11";
+      "array-flatten-1.1.0" = self.by-version."array-flatten"."1.1.0";
+      "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
+      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
+      "cookie-0.1.3" = self.by-version."cookie"."0.1.3";
+      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "depd-1.0.1" = self.by-version."depd"."1.0.1";
+      "escape-html-1.0.2" = self.by-version."escape-html"."1.0.2";
+      "etag-1.7.0" = self.by-version."etag"."1.7.0";
+      "finalhandler-0.4.0" = self.by-version."finalhandler"."0.4.0";
+      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
+      "merge-descriptors-1.0.0" = self.by-version."merge-descriptors"."1.0.0";
+      "methods-1.1.1" = self.by-version."methods"."1.1.1";
+      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "path-to-regexp-0.1.6" = self.by-version."path-to-regexp"."0.1.6";
+      "proxy-addr-1.0.8" = self.by-version."proxy-addr"."1.0.8";
+      "qs-4.0.0" = self.by-version."qs"."4.0.0";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.13.0" = self.by-version."send"."0.13.0";
+      "serve-static-1.10.0" = self.by-version."serve-static"."1.10.0";
+      "type-is-1.6.5" = self.by-version."type-is"."1.6.5";
+      "vary-1.0.1" = self.by-version."vary"."1.0.1";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "express" = self.by-version."express"."4.13.1";
+  by-spec."extend"."~3.0.0" =
+    self.by-version."extend"."3.0.0";
+  by-version."extend"."3.0.0" = self.buildNodePackage {
+    name = "extend-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/extend/-/extend-3.0.0.tgz";
+      name = "extend-3.0.0.tgz";
+      sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."faye-websocket"."~0.4.3" =
+    self.by-version."faye-websocket"."0.4.4";
+  by-version."faye-websocket"."0.4.4" = self.buildNodePackage {
+    name = "faye-websocket-0.4.4";
+    version = "0.4.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz";
+      name = "faye-websocket-0.4.4.tgz";
+      sha1 = "c14c5b3bf14d7417ffbfd990c0a7495cd9f337bc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."figures"."^1.0.1" =
+    self.by-version."figures"."1.3.5";
+  by-version."figures"."1.3.5" = self.buildNodePackage {
+    name = "figures-1.3.5";
+    version = "1.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/figures/-/figures-1.3.5.tgz";
+      name = "figures-1.3.5.tgz";
+      sha1 = "d1a31f4e1d2c2938ecde5c06aa16134cf29f4771";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."finalhandler"."0.4.0" =
+    self.by-version."finalhandler"."0.4.0";
+  by-version."finalhandler"."0.4.0" = self.buildNodePackage {
+    name = "finalhandler-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz";
+      name = "finalhandler-0.4.0.tgz";
+      sha1 = "965a52d9e8d05d2b857548541fb89b53a2497d9b";
+    };
+    deps = {
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "escape-html-1.0.2" = self.by-version."escape-html"."1.0.2";
+      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
+      "unpipe-1.0.0" = self.by-version."unpipe"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."findup-sync"."~0.1.2" =
+    self.by-version."findup-sync"."0.1.3";
+  by-version."findup-sync"."0.1.3" = self.buildNodePackage {
+    name = "findup-sync-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz";
+      name = "findup-sync-0.1.3.tgz";
+      sha1 = "7f3e7a97b82392c653bf06589bd85190e93c3683";
+    };
+    deps = {
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."forever-agent"."~0.6.0" =
+    self.by-version."forever-agent"."0.6.1";
+  by-version."forever-agent"."0.6.1" = self.buildNodePackage {
+    name = "forever-agent-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+      name = "forever-agent-0.6.1.tgz";
+      sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."form-data"."~1.0.0-rc1" =
+    self.by-version."form-data"."1.0.0-rc2";
+  by-version."form-data"."1.0.0-rc2" = self.buildNodePackage {
+    name = "form-data-1.0.0-rc2";
+    version = "1.0.0-rc2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/form-data/-/form-data-1.0.0-rc2.tgz";
+      name = "form-data-1.0.0-rc2.tgz";
+      sha1 = "5bc9c9b3dd3dec1977b0abf58790192081d95235";
+    };
+    deps = {
+      "async-1.4.0" = self.by-version."async"."1.4.0";
+      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
+      "mime-types-2.1.3" = self.by-version."mime-types"."2.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."forwarded"."~0.1.0" =
+    self.by-version."forwarded"."0.1.0";
+  by-version."forwarded"."0.1.0" = self.buildNodePackage {
+    name = "forwarded-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
+      name = "forwarded-0.1.0.tgz";
+      sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fresh"."0.3.0" =
+    self.by-version."fresh"."0.3.0";
+  by-version."fresh"."0.3.0" = self.buildNodePackage {
+    name = "fresh-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz";
+      name = "fresh-0.3.0.tgz";
+      sha1 = "651f838e22424e7566de161d8358caa199f83d4f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."from"."~0" =
+    self.by-version."from"."0.1.3";
+  by-version."from"."0.1.3" = self.buildNodePackage {
+    name = "from-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/from/-/from-0.1.3.tgz";
+      name = "from-0.1.3.tgz";
+      sha1 = "ef63ac2062ac32acf7862e0d40b44b896f22f3bc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."gaze"."~0.5.1" =
+    self.by-version."gaze"."0.5.1";
+  by-version."gaze"."0.5.1" = self.buildNodePackage {
+    name = "gaze-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gaze/-/gaze-0.5.1.tgz";
+      name = "gaze-0.5.1.tgz";
+      sha1 = "22e731078ef3e49d1c4ab1115ac091192051824c";
+    };
+    deps = {
+      "globule-0.1.0" = self.by-version."globule"."0.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."generate-function"."^2.0.0" =
+    self.by-version."generate-function"."2.0.0";
+  by-version."generate-function"."2.0.0" = self.buildNodePackage {
+    name = "generate-function-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
+      name = "generate-function-2.0.0.tgz";
+      sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."generate-object-property"."^1.1.0" =
+    self.by-version."generate-object-property"."1.2.0";
+  by-version."generate-object-property"."1.2.0" = self.buildNodePackage {
+    name = "generate-object-property-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz";
+      name = "generate-object-property-1.2.0.tgz";
+      sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
+    };
+    deps = {
+      "is-property-1.0.2" = self.by-version."is-property"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."getobject"."~0.1.0" =
+    self.by-version."getobject"."0.1.0";
+  by-version."getobject"."0.1.0" = self.buildNodePackage {
+    name = "getobject-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz";
+      name = "getobject-0.1.0.tgz";
+      sha1 = "047a449789fa160d018f5486ed91320b6ec7885c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."glob"."3.2.3" =
+    self.by-version."glob"."3.2.3";
+  by-version."glob"."3.2.3" = self.buildNodePackage {
+    name = "glob-3.2.3";
+    version = "3.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz";
+      name = "glob-3.2.3.tgz";
+      sha1 = "e313eeb249c7affaa5c475286b0e115b59839467";
+    };
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."glob"."~3.1.21" =
+    self.by-version."glob"."3.1.21";
+  by-version."glob"."3.1.21" = self.buildNodePackage {
+    name = "glob-3.1.21";
+    version = "3.1.21";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
+      name = "glob-3.1.21.tgz";
+      sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd";
+    };
+    deps = {
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
+      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."glob"."~3.2.9" =
+    self.by-version."glob"."3.2.11";
+  by-version."glob"."3.2.11" = self.buildNodePackage {
+    name = "glob-3.2.11";
+    version = "3.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
+      name = "glob-3.2.11.tgz";
+      sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."global"."https://github.com/component/global/archive/v2.0.1.tar.gz" =
+    self.by-version."global"."2.0.1";
+  by-version."global"."2.0.1" = self.buildNodePackage {
+    name = "global-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "https://github.com/component/global/archive/v2.0.1.tar.gz";
+      name = "global-2.0.1.tgz";
+      sha256 = "42be02b7148745447f6ba21137c972ca82d2cad92d30d63bd4fc310623901785";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."globule"."~0.1.0" =
+    self.by-version."globule"."0.1.0";
+  by-version."globule"."0.1.0" = self.buildNodePackage {
+    name = "globule-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/globule/-/globule-0.1.0.tgz";
+      name = "globule-0.1.0.tgz";
+      sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
+    };
+    deps = {
+      "lodash-1.0.2" = self.by-version."lodash"."1.0.2";
+      "glob-3.1.21" = self.by-version."glob"."3.1.21";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."graceful-fs"."~1.2.0" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-version."graceful-fs"."1.2.3" = self.buildNodePackage {
+    name = "graceful-fs-1.2.3";
+    version = "1.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
+      name = "graceful-fs-1.2.3.tgz";
+      sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."graceful-fs"."~2.0.0" =
+    self.by-version."graceful-fs"."2.0.3";
+  by-version."graceful-fs"."2.0.3" = self.buildNodePackage {
+    name = "graceful-fs-2.0.3";
+    version = "2.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
+      name = "graceful-fs-2.0.3.tgz";
+      sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."graceful-readlink".">= 1.0.0" =
+    self.by-version."graceful-readlink"."1.0.1";
+  by-version."graceful-readlink"."1.0.1" = self.buildNodePackage {
+    name = "graceful-readlink-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+      name = "graceful-readlink-1.0.1.tgz";
+      sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."growl"."1.8.1" =
+    self.by-version."growl"."1.8.1";
+  by-version."growl"."1.8.1" = self.buildNodePackage {
+    name = "growl-1.8.1";
+    version = "1.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/growl/-/growl-1.8.1.tgz";
+      name = "growl-1.8.1.tgz";
+      sha1 = "4b2dec8d907e93db336624dcec0183502f8c9428";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."grunt"."~0.4.0" =
+    self.by-version."grunt"."0.4.5";
+  by-version."grunt"."0.4.5" = self.buildNodePackage {
+    name = "grunt-0.4.5";
+    version = "0.4.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz";
+      name = "grunt-0.4.5.tgz";
+      sha1 = "56937cd5194324adff6d207631832a9d6ba4e7f0";
+    };
+    deps = {
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "coffee-script-1.3.3" = self.by-version."coffee-script"."1.3.3";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "dateformat-1.0.2-1.2.3" = self.by-version."dateformat"."1.0.2-1.2.3";
+      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
+      "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
+      "glob-3.1.21" = self.by-version."glob"."3.1.21";
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "iconv-lite-0.2.11" = self.by-version."iconv-lite"."0.2.11";
+      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
+      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+      "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
+      "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
+      "which-1.0.9" = self.by-version."which"."1.0.9";
+      "js-yaml-2.0.5" = self.by-version."js-yaml"."2.0.5";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
+      "grunt-legacy-util-0.2.0" = self.by-version."grunt-legacy-util"."0.2.0";
+      "grunt-legacy-log-0.1.2" = self.by-version."grunt-legacy-log"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."grunt"."~0.4.5" =
+    self.by-version."grunt"."0.4.5";
+  "grunt" = self.by-version."grunt"."0.4.5";
+  by-spec."grunt-contrib-uglify"."~0.5.0" =
+    self.by-version."grunt-contrib-uglify"."0.5.1";
+  by-version."grunt-contrib-uglify"."0.5.1" = self.buildNodePackage {
+    name = "grunt-contrib-uglify-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.5.1.tgz";
+      name = "grunt-contrib-uglify-0.5.1.tgz";
+      sha1 = "15f0aa5e8e8ba421aea980879ee505bc712b6cde";
+    };
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
+      "maxmin-0.2.2" = self.by-version."maxmin"."0.2.2";
+      "uglify-js-2.4.24" = self.by-version."uglify-js"."2.4.24";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."grunt"."0.4.5"];
+    os = [ ];
+    cpu = [ ];
+  };
+  "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.5.1";
+  by-spec."grunt-contrib-watch"."^0.6.1" =
+    self.by-version."grunt-contrib-watch"."0.6.1";
+  by-version."grunt-contrib-watch"."0.6.1" = self.buildNodePackage {
+    name = "grunt-contrib-watch-0.6.1";
+    version = "0.6.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.6.1.tgz";
+      name = "grunt-contrib-watch-0.6.1.tgz";
+      sha1 = "64fdcba25a635f5b4da1b6ce6f90da0aeb6e3f15";
+    };
+    deps = {
+      "gaze-0.5.1" = self.by-version."gaze"."0.5.1";
+      "tiny-lr-fork-0.0.5" = self.by-version."tiny-lr-fork"."0.0.5";
+      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [
+      self.by-version."grunt"."0.4.5"];
+    os = [ ];
+    cpu = [ ];
+  };
+  "grunt-contrib-watch" = self.by-version."grunt-contrib-watch"."0.6.1";
+  by-spec."grunt-legacy-log"."~0.1.0" =
+    self.by-version."grunt-legacy-log"."0.1.2";
+  by-version."grunt-legacy-log"."0.1.2" = self.buildNodePackage {
+    name = "grunt-legacy-log-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.2.tgz";
+      name = "grunt-legacy-log-0.1.2.tgz";
+      sha1 = "15ee03b61e262e1b36f13762d967923cd1ce515e";
+    };
+    deps = {
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+      "grunt-legacy-log-utils-0.1.1" = self.by-version."grunt-legacy-log-utils"."0.1.1";
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
+      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."grunt-legacy-log-utils"."^0.1.1" =
+    self.by-version."grunt-legacy-log-utils"."0.1.1";
+  by-version."grunt-legacy-log-utils"."0.1.1" = self.buildNodePackage {
+    name = "grunt-legacy-log-utils-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz";
+      name = "grunt-legacy-log-utils-0.1.1.tgz";
+      sha1 = "c0706b9dd9064e116f36f23fe4e6b048672c0f7e";
+    };
+    deps = {
+      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
+      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
+      "colors-0.6.2" = self.by-version."colors"."0.6.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."grunt-legacy-util"."~0.2.0" =
+    self.by-version."grunt-legacy-util"."0.2.0";
+  by-version."grunt-legacy-util"."0.2.0" = self.buildNodePackage {
+    name = "grunt-legacy-util-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz";
+      name = "grunt-legacy-util-0.2.0.tgz";
+      sha1 = "93324884dbf7e37a9ff7c026dff451d94a9e554b";
+    };
+    deps = {
+      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
+      "async-0.1.22" = self.by-version."async"."0.1.22";
+      "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
+      "exit-0.1.2" = self.by-version."exit"."0.1.2";
+      "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
+      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
+      "which-1.0.9" = self.by-version."which"."1.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."gzip-size"."^0.2.0" =
+    self.by-version."gzip-size"."0.2.0";
+  by-version."gzip-size"."0.2.0" = self.buildNodePackage {
+    name = "gzip-size-0.2.0";
+    version = "0.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gzip-size/-/gzip-size-0.2.0.tgz";
+      name = "gzip-size-0.2.0.tgz";
+      sha1 = "e3a2a191205fe56ee326f5c271435dfaecfb3e1c";
+    };
+    deps = {
+      "concat-stream-1.5.0" = self.by-version."concat-stream"."1.5.0";
+      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."handlebars"."^2.0.0" =
+    self.by-version."handlebars"."2.0.0";
+  by-version."handlebars"."2.0.0" = self.buildNodePackage {
+    name = "handlebars-2.0.0";
+    version = "2.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/handlebars/-/handlebars-2.0.0.tgz";
+      name = "handlebars-2.0.0.tgz";
+      sha1 = "6e9d7f8514a3467fa5e9f82cc158ecfc1d5ac76f";
+    };
+    deps = {
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+    };
+    optionalDependencies = {
+      "uglify-js-2.3.6" = self.by-version."uglify-js"."2.3.6";
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "handlebars" = self.by-version."handlebars"."2.0.0";
+  by-spec."har-validator"."^1.6.1" =
+    self.by-version."har-validator"."1.8.0";
+  by-version."har-validator"."1.8.0" = self.buildNodePackage {
+    name = "har-validator-1.8.0";
+    version = "1.8.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz";
+      name = "har-validator-1.8.0.tgz";
+      sha1 = "d83842b0eb4c435960aeb108a067a3aa94c0eeb2";
+    };
+    deps = {
+      "bluebird-2.9.34" = self.by-version."bluebird"."2.9.34";
+      "chalk-1.1.0" = self.by-version."chalk"."1.1.0";
+      "commander-2.8.1" = self.by-version."commander"."2.8.1";
+      "is-my-json-valid-2.12.1" = self.by-version."is-my-json-valid"."2.12.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-ansi"."^0.1.0" =
+    self.by-version."has-ansi"."0.1.0";
+  by-version."has-ansi"."0.1.0" = self.buildNodePackage {
+    name = "has-ansi-0.1.0";
+    version = "0.1.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz";
+      name = "has-ansi-0.1.0.tgz";
+      sha1 = "84f265aae8c0e6a88a12d7022894b7568894c62e";
+    };
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-ansi"."^2.0.0" =
+    self.by-version."has-ansi"."2.0.0";
+  by-version."has-ansi"."2.0.0" = self.buildNodePackage {
+    name = "has-ansi-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+      name = "has-ansi-2.0.0.tgz";
+      sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+    };
+    deps = {
+      "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-binary-data"."0.1.1" =
+    self.by-version."has-binary-data"."0.1.1";
+  by-version."has-binary-data"."0.1.1" = self.buildNodePackage {
+    name = "has-binary-data-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-binary-data/-/has-binary-data-0.1.1.tgz";
+      name = "has-binary-data-0.1.1.tgz";
+      sha1 = "e10749fb87828a52df96f4086587eb4a03966439";
+    };
+    deps = {
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-cors"."1.0.3" =
+    self.by-version."has-cors"."1.0.3";
+  by-version."has-cors"."1.0.3" = self.buildNodePackage {
+    name = "has-cors-1.0.3";
+    version = "1.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-cors/-/has-cors-1.0.3.tgz";
+      name = "has-cors-1.0.3.tgz";
+      sha1 = "502acb9b3104dac33dd2630eaf2f888b0baf4cb3";
+    };
+    deps = {
+      "global-2.0.1" = self.by-version."global"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hawk"."~3.1.0" =
+    self.by-version."hawk"."3.1.0";
+  by-version."hawk"."3.1.0" = self.buildNodePackage {
+    name = "hawk-3.1.0";
+    version = "3.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hawk/-/hawk-3.1.0.tgz";
+      name = "hawk-3.1.0.tgz";
+      sha1 = "8a13ae19977ec607602f3f0b9fd676f18c384e44";
+    };
+    deps = {
+      "hoek-2.14.0" = self.by-version."hoek"."2.14.0";
+      "boom-2.8.0" = self.by-version."boom"."2.8.0";
+      "cryptiles-2.0.4" = self.by-version."cryptiles"."2.0.4";
+      "sntp-1.0.9" = self.by-version."sntp"."1.0.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hoek"."2.x.x" =
+    self.by-version."hoek"."2.14.0";
+  by-version."hoek"."2.14.0" = self.buildNodePackage {
+    name = "hoek-2.14.0";
+    version = "2.14.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hoek/-/hoek-2.14.0.tgz";
+      name = "hoek-2.14.0.tgz";
+      sha1 = "81211691f52a5a835ae49edbf1e89c9003476aa4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hooker"."~0.2.3" =
+    self.by-version."hooker"."0.2.3";
+  by-version."hooker"."0.2.3" = self.buildNodePackage {
+    name = "hooker-0.2.3";
+    version = "0.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
+      name = "hooker-0.2.3.tgz";
+      sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."htmlparser2"."~3.7.2" =
+    self.by-version."htmlparser2"."3.7.3";
+  by-version."htmlparser2"."3.7.3" = self.buildNodePackage {
+    name = "htmlparser2-3.7.3";
+    version = "3.7.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz";
+      name = "htmlparser2-3.7.3.tgz";
+      sha1 = "6a64c77637c08c6f30ec2a8157a53333be7cb05e";
+    };
+    deps = {
+      "domhandler-2.2.1" = self.by-version."domhandler"."2.2.1";
+      "domutils-1.5.1" = self.by-version."domutils"."1.5.1";
+      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+      "entities-1.0.0" = self.by-version."entities"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."http-errors"."~1.3.1" =
+    self.by-version."http-errors"."1.3.1";
+  by-version."http-errors"."1.3.1" = self.buildNodePackage {
+    name = "http-errors-1.3.1";
+    version = "1.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz";
+      name = "http-errors-1.3.1.tgz";
+      sha1 = "197e22cdebd4198585e8694ef6786197b91ed942";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "statuses-1.2.1" = self.by-version."statuses"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."http-signature"."~0.11.0" =
+    self.by-version."http-signature"."0.11.0";
+  by-version."http-signature"."0.11.0" = self.buildNodePackage {
+    name = "http-signature-0.11.0";
+    version = "0.11.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz";
+      name = "http-signature-0.11.0.tgz";
+      sha1 = "1796cf67a001ad5cd6849dca0991485f09089fe6";
+    };
+    deps = {
+      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
+      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
+      "ctype-0.5.3" = self.by-version."ctype"."0.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."iconv-lite"."~0.2.11" =
+    self.by-version."iconv-lite"."0.2.11";
+  by-version."iconv-lite"."0.2.11" = self.buildNodePackage {
+    name = "iconv-lite-0.2.11";
+    version = "0.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
+      name = "iconv-lite-0.2.11.tgz";
+      sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."indexof"."0.0.1" =
+    self.by-version."indexof"."0.0.1";
+  by-version."indexof"."0.0.1" = self.buildNodePackage {
+    name = "indexof-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
+      name = "indexof-0.0.1.tgz";
+      sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inherits"."1" =
+    self.by-version."inherits"."1.0.0";
+  by-version."inherits"."1.0.0" = self.buildNodePackage {
+    name = "inherits-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
+      name = "inherits-1.0.0.tgz";
+      sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inherits"."2" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = self.buildNodePackage {
+    name = "inherits-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+      name = "inherits-2.0.1.tgz";
+      sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inherits"."~2.0.1" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."ipaddr.js"."1.0.1" =
+    self.by-version."ipaddr.js"."1.0.1";
+  by-version."ipaddr.js"."1.0.1" = self.buildNodePackage {
+    name = "ipaddr.js-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.1.tgz";
+      name = "ipaddr.js-1.0.1.tgz";
+      sha1 = "5f38801dc73e0400fc7076386f6ed5215fbd8f95";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."irc-replies"."~2.0.0" =
+    self.by-version."irc-replies"."2.0.1";
+  by-version."irc-replies"."2.0.1" = self.buildNodePackage {
+    name = "irc-replies-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/irc-replies/-/irc-replies-2.0.1.tgz";
+      name = "irc-replies-2.0.1.tgz";
+      sha1 = "5bf4125fb6ec0f3929a89647b26e653232942b79";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-my-json-valid"."^2.12.0" =
+    self.by-version."is-my-json-valid"."2.12.1";
+  by-version."is-my-json-valid"."2.12.1" = self.buildNodePackage {
+    name = "is-my-json-valid-2.12.1";
+    version = "2.12.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.1.tgz";
+      name = "is-my-json-valid-2.12.1.tgz";
+      sha1 = "0ee5c19c9e93bae2760410cc72ef2798b52cc871";
+    };
+    deps = {
+      "generate-function-2.0.0" = self.by-version."generate-function"."2.0.0";
+      "generate-object-property-1.2.0" = self.by-version."generate-object-property"."1.2.0";
+      "jsonpointer-1.1.0" = self.by-version."jsonpointer"."1.1.0";
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-property"."^1.0.0" =
+    self.by-version."is-property"."1.0.2";
+  by-version."is-property"."1.0.2" = self.buildNodePackage {
+    name = "is-property-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
+      name = "is-property-1.0.2.tgz";
+      sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."isarray"."0.0.1" =
+    self.by-version."isarray"."0.0.1";
+  by-version."isarray"."0.0.1" = self.buildNodePackage {
+    name = "isarray-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+      name = "isarray-0.0.1.tgz";
+      sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."isstream"."~0.1.1" =
+    self.by-version."isstream"."0.1.2";
+  by-version."isstream"."0.1.2" = self.buildNodePackage {
+    name = "isstream-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+      name = "isstream-0.1.2.tgz";
+      sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jade"."0.26.3" =
+    self.by-version."jade"."0.26.3";
+  by-version."jade"."0.26.3" = self.buildNodePackage {
+    name = "jade-0.26.3";
+    version = "0.26.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
+      name = "jade-0.26.3.tgz";
+      sha1 = "8f10d7977d8d79f2f6ff862a81b0513ccb25686c";
+    };
+    deps = {
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."js-yaml"."~2.0.5" =
+    self.by-version."js-yaml"."2.0.5";
+  by-version."js-yaml"."2.0.5" = self.buildNodePackage {
+    name = "js-yaml-2.0.5";
+    version = "2.0.5";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
+      name = "js-yaml-2.0.5.tgz";
+      sha1 = "a25ae6509999e97df278c6719da11bd0687743a8";
+    };
+    deps = {
+      "argparse-0.1.16" = self.by-version."argparse"."0.1.16";
+      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."json-stringify-safe"."~5.0.0" =
+    self.by-version."json-stringify-safe"."5.0.1";
+  by-version."json-stringify-safe"."5.0.1" = self.buildNodePackage {
+    name = "json-stringify-safe-5.0.1";
+    version = "5.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+      name = "json-stringify-safe-5.0.1.tgz";
+      sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."json3"."3.2.6" =
+    self.by-version."json3"."3.2.6";
+  by-version."json3"."3.2.6" = self.buildNodePackage {
+    name = "json3-3.2.6";
+    version = "3.2.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json3/-/json3-3.2.6.tgz";
+      name = "json3-3.2.6.tgz";
+      sha1 = "f6efc93c06a04de9aec53053df2559bb19e2038b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jsonpointer"."^1.1.0" =
+    self.by-version."jsonpointer"."1.1.0";
+  by-version."jsonpointer"."1.1.0" = self.buildNodePackage {
+    name = "jsonpointer-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jsonpointer/-/jsonpointer-1.1.0.tgz";
+      name = "jsonpointer-1.1.0.tgz";
+      sha1 = "c3c72efaed3b97154163dc01dd349e1cfe0f80fc";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."linewise"."0.0.3" =
+    self.by-version."linewise"."0.0.3";
+  by-version."linewise"."0.0.3" = self.buildNodePackage {
+    name = "linewise-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/linewise/-/linewise-0.0.3.tgz";
+      name = "linewise-0.0.3.tgz";
+      sha1 = "bf967ba0dd31faaf09ab5bdb3676ad7f2aa18493";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash"."^2.4.1" =
+    self.by-version."lodash"."2.4.2";
+  by-version."lodash"."2.4.2" = self.buildNodePackage {
+    name = "lodash-2.4.2";
+    version = "2.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz";
+      name = "lodash-2.4.2.tgz";
+      sha1 = "fadd834b9683073da179b3eae6d9c0d15053f73e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash"."~0.9.2" =
+    self.by-version."lodash"."0.9.2";
+  by-version."lodash"."0.9.2" = self.buildNodePackage {
+    name = "lodash-0.9.2";
+    version = "0.9.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
+      name = "lodash-0.9.2.tgz";
+      sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash"."~1.0.1" =
+    self.by-version."lodash"."1.0.2";
+  by-version."lodash"."1.0.2" = self.buildNodePackage {
+    name = "lodash-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz";
+      name = "lodash-1.0.2.tgz";
+      sha1 = "8f57560c83b59fc270bd3d561b690043430e2551";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lodash"."~2.4.1" =
+    self.by-version."lodash"."2.4.2";
+  "lodash" = self.by-version."lodash"."2.4.2";
+  by-spec."lru-cache"."2" =
+    self.by-version."lru-cache"."2.6.5";
+  by-version."lru-cache"."2.6.5" = self.buildNodePackage {
+    name = "lru-cache-2.6.5";
+    version = "2.6.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz";
+      name = "lru-cache-2.6.5.tgz";
+      sha1 = "e56d6354148ede8d7707b58d143220fd08df0fd5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."map-stream"."~0.1.0" =
+    self.by-version."map-stream"."0.1.0";
+  by-version."map-stream"."0.1.0" = self.buildNodePackage {
+    name = "map-stream-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz";
+      name = "map-stream-0.1.0.tgz";
+      sha1 = "e56aa94c4c8055a16404a0674b78f215f7c8e194";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."maxmin"."^0.2.0" =
+    self.by-version."maxmin"."0.2.2";
+  by-version."maxmin"."0.2.2" = self.buildNodePackage {
+    name = "maxmin-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/maxmin/-/maxmin-0.2.2.tgz";
+      name = "maxmin-0.2.2.tgz";
+      sha1 = "a36ced8cc22e3abcd108cfb797a3a4b40275593f";
+    };
+    deps = {
+      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
+      "figures-1.3.5" = self.by-version."figures"."1.3.5";
+      "gzip-size-0.2.0" = self.by-version."gzip-size"."0.2.0";
+      "pretty-bytes-0.1.2" = self.by-version."pretty-bytes"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."media-typer"."0.3.0" =
+    self.by-version."media-typer"."0.3.0";
+  by-version."media-typer"."0.3.0" = self.buildNodePackage {
+    name = "media-typer-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+      name = "media-typer-0.3.0.tgz";
+      sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."merge-descriptors"."1.0.0" =
+    self.by-version."merge-descriptors"."1.0.0";
+  by-version."merge-descriptors"."1.0.0" = self.buildNodePackage {
+    name = "merge-descriptors-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.0.tgz";
+      name = "merge-descriptors-1.0.0.tgz";
+      sha1 = "2169cf7538e1b0cc87fb88e1502d8474bbf79864";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."methods"."~1.1.1" =
+    self.by-version."methods"."1.1.1";
+  by-version."methods"."1.1.1" = self.buildNodePackage {
+    name = "methods-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/methods/-/methods-1.1.1.tgz";
+      name = "methods-1.1.1.tgz";
+      sha1 = "17ea6366066d00c58e375b8ec7dfd0453c89822a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime"."1.3.4" =
+    self.by-version."mime"."1.3.4";
+  by-version."mime"."1.3.4" = self.buildNodePackage {
+    name = "mime-1.3.4";
+    version = "1.3.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
+      name = "mime-1.3.4.tgz";
+      sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-db"."~1.15.0" =
+    self.by-version."mime-db"."1.15.0";
+  by-version."mime-db"."1.15.0" = self.buildNodePackage {
+    name = "mime-db-1.15.0";
+    version = "1.15.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.15.0.tgz";
+      name = "mime-db-1.15.0.tgz";
+      sha1 = "d219e6214bbcae23a6fa69c0868c4fadc1405e8a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-types"."^2.1.1" =
+    self.by-version."mime-types"."2.1.3";
+  by-version."mime-types"."2.1.3" = self.buildNodePackage {
+    name = "mime-types-2.1.3";
+    version = "2.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.1.3.tgz";
+      name = "mime-types-2.1.3.tgz";
+      sha1 = "f259849c7eb1f85b8f5f826187278a7f74f0c966";
+    };
+    deps = {
+      "mime-db-1.15.0" = self.by-version."mime-db"."1.15.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-types"."~2.1.2" =
+    self.by-version."mime-types"."2.1.3";
+  by-spec."mime-types"."~2.1.3" =
+    self.by-version."mime-types"."2.1.3";
+  by-spec."minimatch"."0.3" =
+    self.by-version."minimatch"."0.3.0";
+  by-version."minimatch"."0.3.0" = self.buildNodePackage {
+    name = "minimatch-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
+      name = "minimatch-0.3.0.tgz";
+      sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
+    };
+    deps = {
+      "lru-cache-2.6.5" = self.by-version."lru-cache"."2.6.5";
+      "sigmund-1.0.1" = self.by-version."sigmund"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimatch"."~0.2.11" =
+    self.by-version."minimatch"."0.2.14";
+  by-version."minimatch"."0.2.14" = self.buildNodePackage {
+    name = "minimatch-0.2.14";
+    version = "0.2.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
+      name = "minimatch-0.2.14.tgz";
+      sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
+    };
+    deps = {
+      "lru-cache-2.6.5" = self.by-version."lru-cache"."2.6.5";
+      "sigmund-1.0.1" = self.by-version."sigmund"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."minimatch"."~0.2.12" =
+    self.by-version."minimatch"."0.2.14";
+  by-spec."minimist"."0.0.8" =
+    self.by-version."minimist"."0.0.8";
+  by-version."minimist"."0.0.8" = self.buildNodePackage {
+    name = "minimist-0.0.8";
+    version = "0.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+      name = "minimist-0.0.8.tgz";
+      sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mkdirp"."0.3.0" =
+    self.by-version."mkdirp"."0.3.0";
+  by-version."mkdirp"."0.3.0" = self.buildNodePackage {
+    name = "mkdirp-0.3.0";
+    version = "0.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
+      name = "mkdirp-0.3.0.tgz";
+      sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mkdirp"."0.5.0" =
+    self.by-version."mkdirp"."0.5.0";
+  by-version."mkdirp"."0.5.0" = self.buildNodePackage {
+    name = "mkdirp-0.5.0";
+    version = "0.5.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
+      name = "mkdirp-0.5.0.tgz";
+      sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
+    };
+    deps = {
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mkdirp"."^0.5.0" =
+    self.by-version."mkdirp"."0.5.1";
+  by-version."mkdirp"."0.5.1" = self.buildNodePackage {
+    name = "mkdirp-0.5.1";
+    version = "0.5.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+      name = "mkdirp-0.5.1.tgz";
+      sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+    };
+    deps = {
+      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "mkdirp" = self.by-version."mkdirp"."0.5.1";
+  by-spec."mocha"."~2.0.1" =
+    self.by-version."mocha"."2.0.1";
+  by-version."mocha"."2.0.1" = self.buildNodePackage {
+    name = "mocha-2.0.1";
+    version = "2.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mocha/-/mocha-2.0.1.tgz";
+      name = "mocha-2.0.1.tgz";
+      sha1 = "5a16e88b856d0c4145d8c6888c27ebd4fab13e90";
+    };
+    deps = {
+      "commander-2.3.0" = self.by-version."commander"."2.3.0";
+      "debug-2.0.0" = self.by-version."debug"."2.0.0";
+      "diff-1.0.8" = self.by-version."diff"."1.0.8";
+      "escape-string-regexp-1.0.2" = self.by-version."escape-string-regexp"."1.0.2";
+      "glob-3.2.3" = self.by-version."glob"."3.2.3";
+      "growl-1.8.1" = self.by-version."growl"."1.8.1";
+      "jade-0.26.3" = self.by-version."jade"."0.26.3";
+      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "mocha" = self.by-version."mocha"."2.0.1";
+  by-spec."moment"."~2.7.0" =
+    self.by-version."moment"."2.7.0";
+  by-version."moment"."2.7.0" = self.buildNodePackage {
+    name = "moment-2.7.0";
+    version = "2.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/moment/-/moment-2.7.0.tgz";
+      name = "moment-2.7.0.tgz";
+      sha1 = "359a19ec634cda3c706c8709adda54c0329aaec4";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "moment" = self.by-version."moment"."2.7.0";
+  by-spec."ms"."0.6.2" =
+    self.by-version."ms"."0.6.2";
+  by-version."ms"."0.6.2" = self.buildNodePackage {
+    name = "ms-0.6.2";
+    version = "0.6.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+      name = "ms-0.6.2.tgz";
+      sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ms"."0.7.1" =
+    self.by-version."ms"."0.7.1";
+  by-version."ms"."0.7.1" = self.buildNodePackage {
+    name = "ms-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
+      name = "ms-0.7.1.tgz";
+      sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mute-stream"."~0.0.4" =
+    self.by-version."mute-stream"."0.0.5";
+  by-version."mute-stream"."0.0.5" = self.buildNodePackage {
+    name = "mute-stream-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz";
+      name = "mute-stream-0.0.5.tgz";
+      sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nan"."~0.3.0" =
+    self.by-version."nan"."0.3.2";
+  by-version."nan"."0.3.2" = self.buildNodePackage {
+    name = "nan-0.3.2";
+    version = "0.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-0.3.2.tgz";
+      name = "nan-0.3.2.tgz";
+      sha1 = "0df1935cab15369075ef160ad2894107aa14dc2d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."negotiator"."0.5.3" =
+    self.by-version."negotiator"."0.5.3";
+  by-version."negotiator"."0.5.3" = self.buildNodePackage {
+    name = "negotiator-0.5.3";
+    version = "0.5.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz";
+      name = "negotiator-0.5.3.tgz";
+      sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."node-uuid"."~1.4.0" =
+    self.by-version."node-uuid"."1.4.3";
+  by-version."node-uuid"."1.4.3" = self.buildNodePackage {
+    name = "node-uuid-1.4.3";
+    version = "1.4.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz";
+      name = "node-uuid-1.4.3.tgz";
+      sha1 = "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nopt"."~1.0.10" =
+    self.by-version."nopt"."1.0.10";
+  by-version."nopt"."1.0.10" = self.buildNodePackage {
+    name = "nopt-1.0.10";
+    version = "1.0.10";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
+      name = "nopt-1.0.10.tgz";
+      sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
+    };
+    deps = {
+      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."nopt"."~2.0.0" =
+    self.by-version."nopt"."2.0.0";
+  by-version."nopt"."2.0.0" = self.buildNodePackage {
+    name = "nopt-2.0.0";
+    version = "2.0.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz";
+      name = "nopt-2.0.0.tgz";
+      sha1 = "ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d";
+    };
+    deps = {
+      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."noptify"."~0.0.3" =
+    self.by-version."noptify"."0.0.3";
+  by-version."noptify"."0.0.3" = self.buildNodePackage {
+    name = "noptify-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz";
+      name = "noptify-0.0.3.tgz";
+      sha1 = "58f654a73d9753df0c51d9686dc92104a67f4bbb";
+    };
+    deps = {
+      "nopt-2.0.0" = self.by-version."nopt"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."oauth-sign"."~0.8.0" =
+    self.by-version."oauth-sign"."0.8.0";
+  by-version."oauth-sign"."0.8.0" = self.buildNodePackage {
+    name = "oauth-sign-0.8.0";
+    version = "0.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz";
+      name = "oauth-sign-0.8.0.tgz";
+      sha1 = "938fdc875765ba527137d8aec9d178e24debc553";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."object-component"."0.0.3" =
+    self.by-version."object-component"."0.0.3";
+  by-version."object-component"."0.0.3" = self.buildNodePackage {
+    name = "object-component-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz";
+      name = "object-component-0.0.3.tgz";
+      sha1 = "f0c69aa50efc95b866c186f400a33769cb2f1291";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."on-finished"."~2.3.0" =
+    self.by-version."on-finished"."2.3.0";
+  by-version."on-finished"."2.3.0" = self.buildNodePackage {
+    name = "on-finished-2.3.0";
+    version = "2.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
+      name = "on-finished-2.3.0.tgz";
+      sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+    };
+    deps = {
+      "ee-first-1.1.1" = self.by-version."ee-first"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."optimist"."~0.3" =
+    self.by-version."optimist"."0.3.7";
+  by-version."optimist"."0.3.7" = self.buildNodePackage {
+    name = "optimist-0.3.7";
+    version = "0.3.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
+      name = "optimist-0.3.7.tgz";
+      sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+    };
+    deps = {
+      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."optimist"."~0.3.5" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."options".">=0.0.5" =
+    self.by-version."options"."0.0.6";
+  by-version."options"."0.0.6" = self.buildNodePackage {
+    name = "options-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz";
+      name = "options-0.0.6.tgz";
+      sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pako"."~0.2.0" =
+    self.by-version."pako"."0.2.7";
+  by-version."pako"."0.2.7" = self.buildNodePackage {
+    name = "pako-0.2.7";
+    version = "0.2.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pako/-/pako-0.2.7.tgz";
+      name = "pako-0.2.7.tgz";
+      sha1 = "90e8917affd5ee2b69dfe943ec16b783c4e0c441";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parsejson"."0.0.1" =
+    self.by-version."parsejson"."0.0.1";
+  by-version."parsejson"."0.0.1" = self.buildNodePackage {
+    name = "parsejson-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz";
+      name = "parsejson-0.0.1.tgz";
+      sha1 = "9b10c6c0d825ab589e685153826de0a3ba278bcc";
+    };
+    deps = {
+      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parseqs"."0.0.2" =
+    self.by-version."parseqs"."0.0.2";
+  by-version."parseqs"."0.0.2" = self.buildNodePackage {
+    name = "parseqs-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz";
+      name = "parseqs-0.0.2.tgz";
+      sha1 = "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7";
+    };
+    deps = {
+      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parseuri"."0.0.2" =
+    self.by-version."parseuri"."0.0.2";
+  by-version."parseuri"."0.0.2" = self.buildNodePackage {
+    name = "parseuri-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parseuri/-/parseuri-0.0.2.tgz";
+      name = "parseuri-0.0.2.tgz";
+      sha1 = "db41878f2d6964718be870b3140973d8093be156";
+    };
+    deps = {
+      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parseurl"."~1.3.0" =
+    self.by-version."parseurl"."1.3.0";
+  by-version."parseurl"."1.3.0" = self.buildNodePackage {
+    name = "parseurl-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
+      name = "parseurl-1.3.0.tgz";
+      sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."path-to-regexp"."0.1.6" =
+    self.by-version."path-to-regexp"."0.1.6";
+  by-version."path-to-regexp"."0.1.6" = self.buildNodePackage {
+    name = "path-to-regexp-0.1.6";
+    version = "0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.6.tgz";
+      name = "path-to-regexp-0.1.6.tgz";
+      sha1 = "f01fd5734047b6bfbc5f208c6135a33d7af09c36";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pause-stream"."0.0.11" =
+    self.by-version."pause-stream"."0.0.11";
+  by-version."pause-stream"."0.0.11" = self.buildNodePackage {
+    name = "pause-stream-0.0.11";
+    version = "0.0.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz";
+      name = "pause-stream-0.0.11.tgz";
+      sha1 = "fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445";
+    };
+    deps = {
+      "through-2.3.8" = self.by-version."through"."2.3.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pretty-bytes"."^0.1.0" =
+    self.by-version."pretty-bytes"."0.1.2";
+  by-version."pretty-bytes"."0.1.2" = self.buildNodePackage {
+    name = "pretty-bytes-0.1.2";
+    version = "0.1.2";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.2.tgz";
+      name = "pretty-bytes-0.1.2.tgz";
+      sha1 = "cd90294d58a1ca4e8a5d0fb9c8225998881acf00";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."process-nextick-args"."~1.0.0" =
+    self.by-version."process-nextick-args"."1.0.2";
+  by-version."process-nextick-args"."1.0.2" = self.buildNodePackage {
+    name = "process-nextick-args-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.2.tgz";
+      name = "process-nextick-args-1.0.2.tgz";
+      sha1 = "8b4d3fc586668bd5b6573e732edf2b71c1c1d8aa";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."proxy-addr"."~1.0.8" =
+    self.by-version."proxy-addr"."1.0.8";
+  by-version."proxy-addr"."1.0.8" = self.buildNodePackage {
+    name = "proxy-addr-1.0.8";
+    version = "1.0.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.8.tgz";
+      name = "proxy-addr-1.0.8.tgz";
+      sha1 = "db54ec878bcc1053d57646609219b3715678bafe";
+    };
+    deps = {
+      "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
+      "ipaddr.js-1.0.1" = self.by-version."ipaddr.js"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."4.0.0" =
+    self.by-version."qs"."4.0.0";
+  by-version."qs"."4.0.0" = self.buildNodePackage {
+    name = "qs-4.0.0";
+    version = "4.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-4.0.0.tgz";
+      name = "qs-4.0.0.tgz";
+      sha1 = "c31d9b74ec27df75e543a86c78728ed8d4623607";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."~0.5.2" =
+    self.by-version."qs"."0.5.6";
+  by-version."qs"."0.5.6" = self.buildNodePackage {
+    name = "qs-0.5.6";
+    version = "0.5.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
+      name = "qs-0.5.6.tgz";
+      sha1 = "31b1ad058567651c526921506b9a8793911a0384";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."~4.0.0" =
+    self.by-version."qs"."4.0.0";
+  by-spec."range-parser"."~1.0.2" =
+    self.by-version."range-parser"."1.0.2";
+  by-version."range-parser"."1.0.2" = self.buildNodePackage {
+    name = "range-parser-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
+      name = "range-parser-1.0.2.tgz";
+      sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."read"."^1.0.5" =
+    self.by-version."read"."1.0.6";
+  by-version."read"."1.0.6" = self.buildNodePackage {
+    name = "read-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/read/-/read-1.0.6.tgz";
+      name = "read-1.0.6.tgz";
+      sha1 = "09873c14ecc114d063fad43b8ca5a33d304721c8";
+    };
+    deps = {
+      "mute-stream-0.0.5" = self.by-version."mute-stream"."0.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "read" = self.by-version."read"."1.0.6";
+  by-spec."readable-stream"."1.1" =
+    self.by-version."readable-stream"."1.1.13";
+  by-version."readable-stream"."1.1.13" = self.buildNodePackage {
+    name = "readable-stream-1.1.13";
+    version = "1.1.13";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz";
+      name = "readable-stream-1.1.13.tgz";
+      sha1 = "f6eef764f514c89e2b9e23146a75ba106756d23e";
+    };
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."readable-stream"."~2.0.0" =
+    self.by-version."readable-stream"."2.0.2";
+  by-version."readable-stream"."2.0.2" = self.buildNodePackage {
+    name = "readable-stream-2.0.2";
+    version = "2.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz";
+      name = "readable-stream-2.0.2.tgz";
+      sha1 = "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b";
+    };
+    deps = {
+      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "process-nextick-args-1.0.2" = self.by-version."process-nextick-args"."1.0.2";
+      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
+      "util-deprecate-1.0.1" = self.by-version."util-deprecate"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."^2.51.0" =
+    self.by-version."request"."2.60.0";
+  by-version."request"."2.60.0" = self.buildNodePackage {
+    name = "request-2.60.0";
+    version = "2.60.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.60.0.tgz";
+      name = "request-2.60.0.tgz";
+      sha1 = "498820957fcdded1d37749069610c85f61a29f2d";
+    };
+    deps = {
+      "bl-1.0.0" = self.by-version."bl"."1.0.0";
+      "caseless-0.11.0" = self.by-version."caseless"."0.11.0";
+      "extend-3.0.0" = self.by-version."extend"."3.0.0";
+      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
+      "form-data-1.0.0-rc2" = self.by-version."form-data"."1.0.0-rc2";
+      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
+      "mime-types-2.1.3" = self.by-version."mime-types"."2.1.3";
+      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
+      "qs-4.0.0" = self.by-version."qs"."4.0.0";
+      "tunnel-agent-0.4.1" = self.by-version."tunnel-agent"."0.4.1";
+      "tough-cookie-2.0.0" = self.by-version."tough-cookie"."2.0.0";
+      "http-signature-0.11.0" = self.by-version."http-signature"."0.11.0";
+      "oauth-sign-0.8.0" = self.by-version."oauth-sign"."0.8.0";
+      "hawk-3.1.0" = self.by-version."hawk"."3.1.0";
+      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
+      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
+      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
+      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
+      "har-validator-1.8.0" = self.by-version."har-validator"."1.8.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "request" = self.by-version."request"."2.60.0";
+  by-spec."rimraf"."~2.2.8" =
+    self.by-version."rimraf"."2.2.8";
+  by-version."rimraf"."2.2.8" = self.buildNodePackage {
+    name = "rimraf-2.2.8";
+    version = "2.2.8";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
+      name = "rimraf-2.2.8.tgz";
+      sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."send"."0.13.0" =
+    self.by-version."send"."0.13.0";
+  by-version."send"."0.13.0" = self.buildNodePackage {
+    name = "send-0.13.0";
+    version = "0.13.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.13.0.tgz";
+      name = "send-0.13.0.tgz";
+      sha1 = "518f921aeb0560aec7dcab2990b14cf6f3cce5de";
+    };
+    deps = {
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "depd-1.0.1" = self.by-version."depd"."1.0.1";
+      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
+      "escape-html-1.0.2" = self.by-version."escape-html"."1.0.2";
+      "etag-1.7.0" = self.by-version."etag"."1.7.0";
+      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
+      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "ms-0.7.1" = self.by-version."ms"."0.7.1";
+      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "statuses-1.2.1" = self.by-version."statuses"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-static"."~1.10.0" =
+    self.by-version."serve-static"."1.10.0";
+  by-version."serve-static"."1.10.0" = self.buildNodePackage {
+    name = "serve-static-1.10.0";
+    version = "1.10.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-static/-/serve-static-1.10.0.tgz";
+      name = "serve-static-1.10.0.tgz";
+      sha1 = "be632faa685820e4a43ed3df1379135cc4f370d7";
+    };
+    deps = {
+      "escape-html-1.0.2" = self.by-version."escape-html"."1.0.2";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "send-0.13.0" = self.by-version."send"."0.13.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sigmund"."~1.0.0" =
+    self.by-version."sigmund"."1.0.1";
+  by-version."sigmund"."1.0.1" = self.buildNodePackage {
+    name = "sigmund-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz";
+      name = "sigmund-1.0.1.tgz";
+      sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."slate-irc"."~0.7.3" =
+    self.by-version."slate-irc"."0.7.3";
+  by-version."slate-irc"."0.7.3" = self.buildNodePackage {
+    name = "slate-irc-0.7.3";
+    version = "0.7.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/slate-irc/-/slate-irc-0.7.3.tgz";
+      name = "slate-irc-0.7.3.tgz";
+      sha1 = "8d01f2bc809e00a5b2faca7d8d3130d155422a77";
+    };
+    deps = {
+      "irc-replies-2.0.1" = self.by-version."irc-replies"."2.0.1";
+      "slate-irc-parser-0.0.2" = self.by-version."slate-irc-parser"."0.0.2";
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "slate-irc" = self.by-version."slate-irc"."0.7.3";
+  by-spec."slate-irc-parser"."0.0.2" =
+    self.by-version."slate-irc-parser"."0.0.2";
+  by-version."slate-irc-parser"."0.0.2" = self.buildNodePackage {
+    name = "slate-irc-parser-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/slate-irc-parser/-/slate-irc-parser-0.0.2.tgz";
+      name = "slate-irc-parser-0.0.2.tgz";
+      sha1 = "0c5f8f20d817bb85329da9fca135c66b05947d80";
+    };
+    deps = {
+      "linewise-0.0.3" = self.by-version."linewise"."0.0.3";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sntp"."1.x.x" =
+    self.by-version."sntp"."1.0.9";
+  by-version."sntp"."1.0.9" = self.buildNodePackage {
+    name = "sntp-1.0.9";
+    version = "1.0.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
+      name = "sntp-1.0.9.tgz";
+      sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
+    };
+    deps = {
+      "hoek-2.14.0" = self.by-version."hoek"."2.14.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io"."~1.0.6" =
+    self.by-version."socket.io"."1.0.6";
+  by-version."socket.io"."1.0.6" = self.buildNodePackage {
+    name = "socket.io-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io/-/socket.io-1.0.6.tgz";
+      name = "socket.io-1.0.6.tgz";
+      sha1 = "b566532888dae3ac9058a12f294015ebdfa8084a";
+    };
+    deps = {
+      "engine.io-1.3.1" = self.by-version."engine.io"."1.3.1";
+      "socket.io-parser-2.2.0" = self.by-version."socket.io-parser"."2.2.0";
+      "socket.io-client-1.0.6" = self.by-version."socket.io-client"."1.0.6";
+      "socket.io-adapter-0.2.0" = self.by-version."socket.io-adapter"."0.2.0";
+      "has-binary-data-0.1.1" = self.by-version."has-binary-data"."0.1.1";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "socket.io" = self.by-version."socket.io"."1.0.6";
+  by-spec."socket.io-adapter"."0.2.0" =
+    self.by-version."socket.io-adapter"."0.2.0";
+  by-version."socket.io-adapter"."0.2.0" = self.buildNodePackage {
+    name = "socket.io-adapter-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.2.0.tgz";
+      name = "socket.io-adapter-0.2.0.tgz";
+      sha1 = "bd39329b8961371787e24f345b074ec9cf000e33";
+    };
+    deps = {
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "socket.io-parser-2.1.2" = self.by-version."socket.io-parser"."2.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io-client"."1.0.6" =
+    self.by-version."socket.io-client"."1.0.6";
+  by-version."socket.io-client"."1.0.6" = self.buildNodePackage {
+    name = "socket.io-client-1.0.6";
+    version = "1.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-1.0.6.tgz";
+      name = "socket.io-client-1.0.6.tgz";
+      sha1 = "c86cb3e507ab2f96da4500bd34fcf46a1e9dfe5e";
+    };
+    deps = {
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "engine.io-client-1.3.1" = self.by-version."engine.io-client"."1.3.1";
+      "component-bind-1.0.0" = self.by-version."component-bind"."1.0.0";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "object-component-0.0.3" = self.by-version."object-component"."0.0.3";
+      "socket.io-parser-2.2.0" = self.by-version."socket.io-parser"."2.2.0";
+      "has-binary-data-0.1.1" = self.by-version."has-binary-data"."0.1.1";
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+      "parseuri-0.0.2" = self.by-version."parseuri"."0.0.2";
+      "to-array-0.1.3" = self.by-version."to-array"."0.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io-parser"."2.1.2" =
+    self.by-version."socket.io-parser"."2.1.2";
+  by-version."socket.io-parser"."2.1.2" = self.buildNodePackage {
+    name = "socket.io-parser-2.1.2";
+    version = "2.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.1.2.tgz";
+      name = "socket.io-parser-2.1.2.tgz";
+      sha1 = "876655b9edd555c5bdf7301cedf30a436c67b8b0";
+    };
+    deps = {
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "json3-3.2.6" = self.by-version."json3"."3.2.6";
+      "emitter-1.0.1" = self.by-version."emitter"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io-parser"."2.2.0" =
+    self.by-version."socket.io-parser"."2.2.0";
+  by-version."socket.io-parser"."2.2.0" = self.buildNodePackage {
+    name = "socket.io-parser-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.0.tgz";
+      name = "socket.io-parser-2.2.0.tgz";
+      sha1 = "2609601f59e6a7fab436a53be3d333fbbfcbd30a";
+    };
+    deps = {
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "json3-3.2.6" = self.by-version."json3"."3.2.6";
+      "emitter-1.0.1" = self.by-version."emitter"."1.0.1";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."source-map"."0.1.34" =
+    self.by-version."source-map"."0.1.34";
+  by-version."source-map"."0.1.34" = self.buildNodePackage {
+    name = "source-map-0.1.34";
+    version = "0.1.34";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz";
+      name = "source-map-0.1.34.tgz";
+      sha1 = "a7cfe89aec7b1682c3b198d0acfb47d7d090566b";
+    };
+    deps = {
+      "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."source-map"."~0.1.7" =
+    self.by-version."source-map"."0.1.43";
+  by-version."source-map"."0.1.43" = self.buildNodePackage {
+    name = "source-map-0.1.43";
+    version = "0.1.43";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";
+      name = "source-map-0.1.43.tgz";
+      sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
+    };
+    deps = {
+      "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."split"."0.3" =
+    self.by-version."split"."0.3.3";
+  by-version."split"."0.3.3" = self.buildNodePackage {
+    name = "split-0.3.3";
+    version = "0.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/split/-/split-0.3.3.tgz";
+      name = "split-0.3.3.tgz";
+      sha1 = "cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f";
+    };
+    deps = {
+      "through-2.3.8" = self.by-version."through"."2.3.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."statuses"."1" =
+    self.by-version."statuses"."1.2.1";
+  by-version."statuses"."1.2.1" = self.buildNodePackage {
+    name = "statuses-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz";
+      name = "statuses-1.2.1.tgz";
+      sha1 = "dded45cc18256d51ed40aec142489d5c61026d28";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."statuses"."~1.2.1" =
+    self.by-version."statuses"."1.2.1";
+  by-spec."stream-combiner"."~0.0.4" =
+    self.by-version."stream-combiner"."0.0.4";
+  by-version."stream-combiner"."0.0.4" = self.buildNodePackage {
+    name = "stream-combiner-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
+      name = "stream-combiner-0.0.4.tgz";
+      sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
+    };
+    deps = {
+      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."string_decoder"."~0.10.x" =
+    self.by-version."string_decoder"."0.10.31";
+  by-version."string_decoder"."0.10.31" = self.buildNodePackage {
+    name = "string_decoder-0.10.31";
+    version = "0.10.31";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+      name = "string_decoder-0.10.31.tgz";
+      sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stringstream"."~0.0.4" =
+    self.by-version."stringstream"."0.0.4";
+  by-version."stringstream"."0.0.4" = self.buildNodePackage {
+    name = "stringstream-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz";
+      name = "stringstream-0.0.4.tgz";
+      sha1 = "0f0e3423f942960b5692ac324a57dd093bc41a92";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."strip-ansi"."^0.3.0" =
+    self.by-version."strip-ansi"."0.3.0";
+  by-version."strip-ansi"."0.3.0" = self.buildNodePackage {
+    name = "strip-ansi-0.3.0";
+    version = "0.3.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz";
+      name = "strip-ansi-0.3.0.tgz";
+      sha1 = "25f48ea22ca79187f3174a4db8759347bb126220";
+    };
+    deps = {
+      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."strip-ansi"."^3.0.0" =
+    self.by-version."strip-ansi"."3.0.0";
+  by-version."strip-ansi"."3.0.0" = self.buildNodePackage {
+    name = "strip-ansi-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz";
+      name = "strip-ansi-3.0.0.tgz";
+      sha1 = "7510b665567ca914ccb5d7e072763ac968be3724";
+    };
+    deps = {
+      "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."supports-color"."^0.2.0" =
+    self.by-version."supports-color"."0.2.0";
+  by-version."supports-color"."0.2.0" = self.buildNodePackage {
+    name = "supports-color-0.2.0";
+    version = "0.2.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz";
+      name = "supports-color-0.2.0.tgz";
+      sha1 = "d92de2694eb3f67323973d7ae3d8b55b4c22190a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."supports-color"."^2.0.0" =
+    self.by-version."supports-color"."2.0.0";
+  by-version."supports-color"."2.0.0" = self.buildNodePackage {
+    name = "supports-color-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+      name = "supports-color-2.0.0.tgz";
+      sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."through"."2" =
+    self.by-version."through"."2.3.8";
+  by-version."through"."2.3.8" = self.buildNodePackage {
+    name = "through-2.3.8";
+    version = "2.3.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/through/-/through-2.3.8.tgz";
+      name = "through-2.3.8.tgz";
+      sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."through"."~2.3" =
+    self.by-version."through"."2.3.8";
+  by-spec."through"."~2.3.1" =
+    self.by-version."through"."2.3.8";
+  by-spec."tiny-lr-fork"."0.0.5" =
+    self.by-version."tiny-lr-fork"."0.0.5";
+  by-version."tiny-lr-fork"."0.0.5" = self.buildNodePackage {
+    name = "tiny-lr-fork-0.0.5";
+    version = "0.0.5";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz";
+      name = "tiny-lr-fork-0.0.5.tgz";
+      sha1 = "1e99e1e2a8469b736ab97d97eefa98c71f76ed0a";
+    };
+    deps = {
+      "qs-0.5.6" = self.by-version."qs"."0.5.6";
+      "faye-websocket-0.4.4" = self.by-version."faye-websocket"."0.4.4";
+      "noptify-0.0.3" = self.by-version."noptify"."0.0.3";
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tinycolor"."0.x" =
+    self.by-version."tinycolor"."0.0.1";
+  by-version."tinycolor"."0.0.1" = self.buildNodePackage {
+    name = "tinycolor-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
+      name = "tinycolor-0.0.1.tgz";
+      sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."to-array"."0.1.3" =
+    self.by-version."to-array"."0.1.3";
+  by-version."to-array"."0.1.3" = self.buildNodePackage {
+    name = "to-array-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/to-array/-/to-array-0.1.3.tgz";
+      name = "to-array-0.1.3.tgz";
+      sha1 = "d45dadc6363417f60f28474fea50ecddbb4f4991";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tough-cookie".">=0.12.0" =
+    self.by-version."tough-cookie"."2.0.0";
+  by-version."tough-cookie"."2.0.0" = self.buildNodePackage {
+    name = "tough-cookie-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-2.0.0.tgz";
+      name = "tough-cookie-2.0.0.tgz";
+      sha1 = "41ce08720b35cf90beb044dd2609fb19e928718f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tunnel-agent"."~0.4.0" =
+    self.by-version."tunnel-agent"."0.4.1";
+  by-version."tunnel-agent"."0.4.1" = self.buildNodePackage {
+    name = "tunnel-agent-0.4.1";
+    version = "0.4.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.1.tgz";
+      name = "tunnel-agent-0.4.1.tgz";
+      sha1 = "bbeecff4d679ce753db9462761a88dfcec3c5ab3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."type-is"."~1.6.4" =
+    self.by-version."type-is"."1.6.5";
+  by-version."type-is"."1.6.5" = self.buildNodePackage {
+    name = "type-is-1.6.5";
+    version = "1.6.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/type-is/-/type-is-1.6.5.tgz";
+      name = "type-is-1.6.5.tgz";
+      sha1 = "92129495c7b7563eaf923b447382c6c471f95de4";
+    };
+    deps = {
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "mime-types-2.1.3" = self.by-version."mime-types"."2.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."typedarray"."~0.0.5" =
+    self.by-version."typedarray"."0.0.6";
+  by-version."typedarray"."0.0.6" = self.buildNodePackage {
+    name = "typedarray-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
+      name = "typedarray-0.0.6.tgz";
+      sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uglify-js"."^2.4.0" =
+    self.by-version."uglify-js"."2.4.24";
+  by-version."uglify-js"."2.4.24" = self.buildNodePackage {
+    name = "uglify-js-2.4.24";
+    version = "2.4.24";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz";
+      name = "uglify-js-2.4.24.tgz";
+      sha1 = "fad5755c1e1577658bb06ff9ab6e548c95bebd6e";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "source-map-0.1.34" = self.by-version."source-map"."0.1.34";
+      "uglify-to-browserify-1.0.2" = self.by-version."uglify-to-browserify"."1.0.2";
+      "yargs-3.5.4" = self.by-version."yargs"."3.5.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uglify-js"."~2.3" =
+    self.by-version."uglify-js"."2.3.6";
+  by-version."uglify-js"."2.3.6" = self.buildNodePackage {
+    name = "uglify-js-2.3.6";
+    version = "2.3.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
+      name = "uglify-js-2.3.6.tgz";
+      sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
+    };
+    deps = {
+      "async-0.2.10" = self.by-version."async"."0.2.10";
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."uglify-to-browserify"."~1.0.0" =
+    self.by-version."uglify-to-browserify"."1.0.2";
+  by-version."uglify-to-browserify"."1.0.2" = self.buildNodePackage {
+    name = "uglify-to-browserify-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+      name = "uglify-to-browserify-1.0.2.tgz";
+      sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."underscore"."~1.7.0" =
+    self.by-version."underscore"."1.7.0";
+  by-version."underscore"."1.7.0" = self.buildNodePackage {
+    name = "underscore-1.7.0";
+    version = "1.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
+      name = "underscore-1.7.0.tgz";
+      sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."underscore.string"."~2.2.1" =
+    self.by-version."underscore.string"."2.2.1";
+  by-version."underscore.string"."2.2.1" = self.buildNodePackage {
+    name = "underscore.string-2.2.1";
+    version = "2.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
+      name = "underscore.string-2.2.1.tgz";
+      sha1 = "d7c0fa2af5d5a1a67f4253daee98132e733f0f19";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."underscore.string"."~2.3.3" =
+    self.by-version."underscore.string"."2.3.3";
+  by-version."underscore.string"."2.3.3" = self.buildNodePackage {
+    name = "underscore.string-2.3.3";
+    version = "2.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
+      name = "underscore.string-2.3.3.tgz";
+      sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."underscore.string"."~2.4.0" =
+    self.by-version."underscore.string"."2.4.0";
+  by-version."underscore.string"."2.4.0" = self.buildNodePackage {
+    name = "underscore.string-2.4.0";
+    version = "2.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz";
+      name = "underscore.string-2.4.0.tgz";
+      sha1 = "8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."unpipe"."~1.0.0" =
+    self.by-version."unpipe"."1.0.0";
+  by-version."unpipe"."1.0.0" = self.buildNodePackage {
+    name = "unpipe-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
+      name = "unpipe-1.0.0.tgz";
+      sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."utf8"."2.0.0" =
+    self.by-version."utf8"."2.0.0";
+  by-version."utf8"."2.0.0" = self.buildNodePackage {
+    name = "utf8-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utf8/-/utf8-2.0.0.tgz";
+      name = "utf8-2.0.0.tgz";
+      sha1 = "79ce59eced874809cab9a71fc7102c7d45d4118d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."util-deprecate"."~1.0.1" =
+    self.by-version."util-deprecate"."1.0.1";
+  by-version."util-deprecate"."1.0.1" = self.buildNodePackage {
+    name = "util-deprecate-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz";
+      name = "util-deprecate-1.0.1.tgz";
+      sha1 = "3556a3d13c4c6aa7983d7e2425478197199b7881";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."utils-merge"."1.0.0" =
+    self.by-version."utils-merge"."1.0.0";
+  by-version."utils-merge"."1.0.0" = self.buildNodePackage {
+    name = "utils-merge-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+      name = "utils-merge-1.0.0.tgz";
+      sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."vary"."~1.0.0" =
+    self.by-version."vary"."1.0.1";
+  by-version."vary"."1.0.1" = self.buildNodePackage {
+    name = "vary-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vary/-/vary-1.0.1.tgz";
+      name = "vary-1.0.1.tgz";
+      sha1 = "99e4981566a286118dfb2b817357df7993376d10";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."which"."~1.0.5" =
+    self.by-version."which"."1.0.9";
+  by-version."which"."1.0.9" = self.buildNodePackage {
+    name = "which-1.0.9";
+    version = "1.0.9";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/which/-/which-1.0.9.tgz";
+      name = "which-1.0.9.tgz";
+      sha1 = "460c1da0f810103d0321a9b633af9e575e64486f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."window-size"."0.1.0" =
+    self.by-version."window-size"."0.1.0";
+  by-version."window-size"."0.1.0" = self.buildNodePackage {
+    name = "window-size-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
+      name = "window-size-0.1.0.tgz";
+      sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."wordwrap"."0.0.2" =
+    self.by-version."wordwrap"."0.0.2";
+  by-version."wordwrap"."0.0.2" = self.buildNodePackage {
+    name = "wordwrap-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+      name = "wordwrap-0.0.2.tgz";
+      sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."wordwrap"."~0.0.2" =
+    self.by-version."wordwrap"."0.0.3";
+  by-version."wordwrap"."0.0.3" = self.buildNodePackage {
+    name = "wordwrap-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
+      name = "wordwrap-0.0.3.tgz";
+      sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ws"."0.4.31" =
+    self.by-version."ws"."0.4.31";
+  by-version."ws"."0.4.31" = self.buildNodePackage {
+    name = "ws-0.4.31";
+    version = "0.4.31";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ws/-/ws-0.4.31.tgz";
+      name = "ws-0.4.31.tgz";
+      sha1 = "5a4849e7a9ccd1ed5a81aeb4847c9fedf3122927";
+    };
+    deps = {
+      "commander-0.6.1" = self.by-version."commander"."0.6.1";
+      "nan-0.3.2" = self.by-version."nan"."0.3.2";
+      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
+      "options-0.0.6" = self.by-version."options"."0.0.6";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xmlhttprequest"."https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz" =
+    self.by-version."xmlhttprequest"."1.5.0";
+  by-version."xmlhttprequest"."1.5.0" = self.buildNodePackage {
+    name = "xmlhttprequest-1.5.0";
+    version = "1.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz";
+      name = "xmlhttprequest-1.5.0.tgz";
+      sha256 = "28dd0394d85befe8be4e9cd9f6803102780c62cbb09298cb174b52ff9777624f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xtend"."^4.0.0" =
+    self.by-version."xtend"."4.0.0";
+  by-version."xtend"."4.0.0" = self.buildNodePackage {
+    name = "xtend-4.0.0";
+    version = "4.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz";
+      name = "xtend-4.0.0.tgz";
+      sha1 = "8bc36ff87aedbe7ce9eaf0bca36b2354a743840f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."yargs"."~3.5.4" =
+    self.by-version."yargs"."3.5.4";
+  by-version."yargs"."3.5.4" = self.buildNodePackage {
+    name = "yargs-3.5.4";
+    version = "3.5.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz";
+      name = "yargs-3.5.4.tgz";
+      sha1 = "d8aff8f665e94c34bd259bdebd1bfaf0ddd35361";
+    };
+    deps = {
+      "camelcase-1.1.0" = self.by-version."camelcase"."1.1.0";
+      "decamelize-1.0.0" = self.by-version."decamelize"."1.0.0";
+      "window-size-0.1.0" = self.by-version."window-size"."0.1.0";
+      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+}
diff --git a/pkgs/applications/networking/irc/sic/default.nix b/pkgs/applications/networking/irc/sic/default.nix
new file mode 100644
index 000000000000..fef2b6c4cac6
--- /dev/null
+++ b/pkgs/applications/networking/irc/sic/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "sic-${version}";
+  version = "1.2";
+
+  makeFlags = "PREFIX=$out";
+  src = fetchurl {
+    url = "http://dl.suckless.org/tools/sic-${version}.tar.gz";
+    sha256 = "ac07f905995e13ba2c43912d7a035fbbe78a628d7ba1c256f4ca1372fb565185";
+  };
+
+  meta = {
+    description = "Simple IRC client";
+    homepage = http://tools.suckless.org/sic/;
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index c39c5be1d4ca..82c1504ebd9b 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -1,25 +1,28 @@
 { stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls
 , zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile
-, pythonPackages, cacert, cmake, makeWrapper, libobjc
+, pythonPackages, cmake, makeWrapper, libobjc, libiconv
 , extraBuildInputs ? [] }:
 
 stdenv.mkDerivation rec {
-  version = "1.2";
+  version = "1.3";
   name = "weechat-${version}";
 
   src = fetchurl {
     url = "http://weechat.org/files/src/weechat-${version}.tar.bz2";
-    sha256 = "0kb8mykhzm7zcxsl6l6cia2n4nc9akiysg0v6d8xb51p3x002ibw";
+    sha256 = "0j2ic1c69ksf78wi0cmc4yi5348x6c92g6annsx928sayxqxfgbh";
   };
 
+  cmakeFlags = stdenv.lib.optional stdenv.isDarwin
+    "-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib";
+
   buildInputs = 
     [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig
       libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper
-      cacert cmake ]
+      cmake ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ pythonPackages.pync libobjc ]
     ++ extraBuildInputs;
 
-  NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt";
+  NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=/etc/ssl/certs/ca-certificates.crt";
 
   postInstall = ''
     NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages"
diff --git a/pkgs/applications/networking/mailreaders/mutt-kz/default.nix b/pkgs/applications/networking/mailreaders/mutt-kz/default.nix
index a162df9f33b2..5cd0ef9f7a44 100644
--- a/pkgs/applications/networking/mailreaders/mutt-kz/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt-kz/default.nix
@@ -16,14 +16,14 @@ assert saslSupport -> cyrus_sasl != null;
 assert gpgmeSupport -> gpgme != null;
 
 let
-  version = "1.5.23.1-rc1";
+  version = "1.5.23.1";
 in
 stdenv.mkDerivation rec {
   name = "mutt-kz-${version}";
 
   src = fetchurl {
     url = "https://github.com/karelzak/mutt-kz/archive/v${version}.tar.gz";
-    sha256 = "1m4bnn8psyrx2wy8ribannmp5qf75lv1gz116plji2z37z015zny";
+    sha256 = "01k4hrf8x2100pcqnrm61mm1x0pqi2kr3rx22k5hwvbs1wh8zyhz";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 7cbec61b5e2b..04d4eaebaa7a 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
 
     for src in \
       crypto.c \
+      notmuch-config.c \
       emacs/notmuch-crypto.el
     do
       substituteInPlace "$src" \
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index a5806b7dfe88..4dd734ed0430 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -134,7 +134,7 @@ stdenv.mkDerivation {
       [Desktop Entry]
       Type=Application
       Exec=$out/bin/thunderbird
-      Icon=$out/lib/thunderbird-bin-${version}/chrome/icons/default/default256.png
+      Icon=$out/usr/lib/thunderbird-bin-${version}/chrome/icons/default/default256.png
       Name=Thunderbird
       GenericName=Mail Reader
       Categories=Application;Network;
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb
index 72b9d1599e0f..308e0b71c05a 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb
@@ -6,7 +6,7 @@ version = if ARGV.empty?
             ARGV[0]
           end
 
-base_path = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases"
+base_path = "http://archive.mozilla.org/pub/thunderbird/releases"
 
 Source = Struct.new(:hash, :arch, :locale, :filename)
 
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
index 241b43bc1f1b..e6db0a3f74ef 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
@@ -4,123 +4,123 @@
 # ruby generate_source.rb > source.nix
 
 {
-  version = "38.1.0";
+  version = "38.2.0";
   sources = [
-    { locale = "ar"; arch = "linux-i686"; sha1 = "0b5babaeec839aedb879b98dc540a3c44e1c0a39"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha1 = "c70e123c8e04a8366e2a96a948006caf3b084d2f"; }
-    { locale = "ast"; arch = "linux-i686"; sha1 = "a17ad952ce2ec1dfe6dc797b4377ae694930578c"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha1 = "dbf6b871e6ac7a5701a5e8ce1aa1c974e43c62db"; }
-    { locale = "be"; arch = "linux-i686"; sha1 = "e7f9d73339eb55d374a172445c11da33ecff8f8f"; }
-    { locale = "be"; arch = "linux-x86_64"; sha1 = "b619fc248f8cd704eebbf92bd999949e0a0d2935"; }
-    { locale = "bg"; arch = "linux-i686"; sha1 = "09cb9ee2b5a9d25430467961657a4d60610437d2"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha1 = "c8b63f07ee7ac0d2f4e18f6e401d012c8bfcceae"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "d20033996503ad6f690e8fe8f8201bf02c453c98"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "f8b45a57a2ed4ce232d20224afdc6c4e0338743a"; }
-    { locale = "br"; arch = "linux-i686"; sha1 = "567ac67210f34a267e53f74f31cc91131f07eaa7"; }
-    { locale = "br"; arch = "linux-x86_64"; sha1 = "9cef9f6a5fbca4e1d0bc912dddf07200f1f8f8a4"; }
-    { locale = "ca"; arch = "linux-i686"; sha1 = "346d439ea1092f3c9a7d7077bb2fe3910d672935"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha1 = "b099cc648318d7826949110d75851108f8dd2669"; }
-    { locale = "cs"; arch = "linux-i686"; sha1 = "3b72f45ccd22beb2fdfbc92014b4a3ccfa80e76b"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha1 = "e38710c2d1f90202813d95b2fde32fdde4d4091e"; }
-    { locale = "cy"; arch = "linux-i686"; sha1 = "12a179f42fb8c3a11fc5985667e4f604e14ba8c5"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha1 = "6407a7b3cd5b4dcb306823a4085c85f960c292f9"; }
-    { locale = "da"; arch = "linux-i686"; sha1 = "9c49871f3ff4ecfe33077c6ebf05e166d19651a0"; }
-    { locale = "da"; arch = "linux-x86_64"; sha1 = "8d6299fe5998113da4c623083957a204296affd5"; }
-    { locale = "de"; arch = "linux-i686"; sha1 = "06a6c73f4a640060ae7b8aa02011558d2767acb2"; }
-    { locale = "de"; arch = "linux-x86_64"; sha1 = "8fffb7568b982c1202de754cb2a2e8fcb16910f5"; }
-    { locale = "dsb"; arch = "linux-i686"; sha1 = "31a8674c191829fa4abeb403053b8266f23b983c"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha1 = "bb86a2aafcf5d6d358eeda8e572956b90ca1e275"; }
-    { locale = "el"; arch = "linux-i686"; sha1 = "3db0fafa71f7e1fe0cc9036c343d12aa35988e04"; }
-    { locale = "el"; arch = "linux-x86_64"; sha1 = "4ddd0c373b00621fa271a1301e75930f5acc6657"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha1 = "6e240781d53a1853ee5be2eee18cdcb17949a228"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "d203791c4ce8da5d2e68a3485f3bed8933f929d3"; }
-    { locale = "en-US"; arch = "linux-i686"; sha1 = "0e4097922c16620c04bb68cd3474f813cf8c60e0"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "39bfc23dd04a59f3465e8a0b583ca72fc9bc2c8a"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha1 = "82887b30873baff493688a3d9b2b8acb0e335ed1"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "d48e6977535776e5547969c486abb68f4a7f70d2"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha1 = "d9aad735745addbbe619ce51c6b793ce10a967bf"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "c429c1b6e38523b9912d5c9ae1425a48075fb2fd"; }
-    { locale = "et"; arch = "linux-i686"; sha1 = "9fe1aaab4c8f53b4d01b1374511121a3cba3b38d"; }
-    { locale = "et"; arch = "linux-x86_64"; sha1 = "b5759e44971e09703f4112499c85347fc30a5ef1"; }
-    { locale = "eu"; arch = "linux-i686"; sha1 = "0e91e95057246a9843faca8a0c53b772f329d51d"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha1 = "b5cf9660cc877d3ca6943f4d365f02f3b5eb4ffa"; }
-    { locale = "fi"; arch = "linux-i686"; sha1 = "116118d2e4540502c2b71c9d1fcf121923016d8d"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha1 = "fdbefa73fb355d4a97b7be2cc7f2785757c62d72"; }
-    { locale = "fr"; arch = "linux-i686"; sha1 = "f9055260509b2bc85a7e8a95d13c90be4443054f"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha1 = "a5b880cea53c7ae278f6d6bb70208d697d2aa928"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "77ca3d79ff9d8ebef0dac367b0025515663d11b0"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "40f3c82cc93286032facea886636e95558ecedf3"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "1ecc581714b9ee079bea5de14cffdd35cea8a253"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "e5c270d9f4443068ba83dd6dcd7fb1bc318a8957"; }
-    { locale = "gd"; arch = "linux-i686"; sha1 = "c6db2b2d54257eb9376a95a63a8ec630661b859f"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha1 = "bb561dd4a2cd0e72f6ec8d4abd7d30505603fbdf"; }
-    { locale = "gl"; arch = "linux-i686"; sha1 = "00d3aa2504711fa89190068427e9c8c3fdb20f8e"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha1 = "4f0950bf70cea56969bf044d459799d54675b0ef"; }
-    { locale = "he"; arch = "linux-i686"; sha1 = "dbfc82675022ddf4ca69bd64aedd62b7c670b6e0"; }
-    { locale = "he"; arch = "linux-x86_64"; sha1 = "7c28e93a85543021861eb9314d3661edda04b086"; }
-    { locale = "hr"; arch = "linux-i686"; sha1 = "b39ac627848ade0617430e284fed55d3ae846b8d"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha1 = "3ae901876dbe64fa30969dedc1d60e092a4f7924"; }
-    { locale = "hsb"; arch = "linux-i686"; sha1 = "0d20bc9316882548fa3ce9797af3fdc95ff88cfe"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha1 = "3a94683a81a76ce73453f2b3466c256b3e3e1e66"; }
-    { locale = "hu"; arch = "linux-i686"; sha1 = "88998fc8b637cbde34c37120e637ebd1a080f75b"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha1 = "374cc24a23cc80c552044c43dbc2547d9adb2661"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "1a6ad2c0d105daadf68db573871f45e6a83a8781"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "a43817b520218e6f5b83365bb6d5784f82fd3c61"; }
-    { locale = "id"; arch = "linux-i686"; sha1 = "be03aa731ca6385f447d21e5b089fce89abdb605"; }
-    { locale = "id"; arch = "linux-x86_64"; sha1 = "dcadd18432c9dbd31c23ba260c1b278e96620c55"; }
-    { locale = "is"; arch = "linux-i686"; sha1 = "e40cba8fb39620ac3e065e27ae9bb2756d5f0808"; }
-    { locale = "is"; arch = "linux-x86_64"; sha1 = "81d7b1212a49d3e3f4cce405bb32ab8b57b53183"; }
-    { locale = "it"; arch = "linux-i686"; sha1 = "d1719489c95ad26dee243f4b13a7a3c13c80731a"; }
-    { locale = "it"; arch = "linux-x86_64"; sha1 = "a5a86761df367d015d6b63f85db7c091be9f7557"; }
-    { locale = "ja"; arch = "linux-i686"; sha1 = "cb934acf447a20761fb61be41a5093011962ed74"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha1 = "b08541d43c30c64df64f1fa9e3e444a00a1ce66b"; }
-    { locale = "ko"; arch = "linux-i686"; sha1 = "5f6b9a343ad93c969ff864775cacbf008fd5683c"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha1 = "e1551063d40661de6a0067bb6d51ad0e89ad08f6"; }
-    { locale = "lt"; arch = "linux-i686"; sha1 = "9c07080670ec9f1a57aec634f81cfd73defd9ccf"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha1 = "44eeb1185f75ba2a8e4a34c161161862a12dc54c"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "26d12843a80bcbe4ea8008429bd075794e9dab20"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "89fec10ec8be9a298fed4ae5ebda68b117ee35ad"; }
-    { locale = "nl"; arch = "linux-i686"; sha1 = "13bea7053d38cb7d00950cf4d13fe06cab33b4e7"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha1 = "1c927583ab814caac16ece34156110826ddbdf37"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "1c8ca9891483fe489f26b82d5b81562223af1210"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "88db986d9de826407f1692c1fddc64068eb190bb"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "db25c5d46fbab8692882bf32422eb334a5790ed4"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "a50bf1a7277a7bbbc162a547916abae63a49becd"; }
-    { locale = "pl"; arch = "linux-i686"; sha1 = "b4500262a14c781546966bc713c1a574b29bd221"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha1 = "196c388eb6bc00099196cc6774fa2fa327b36d81"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "19e5c34a64a0a2d7258f285ad3d4182e0c1859e2"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "cf17768842cdbfc3fb4f922655e102ace1420b4c"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "60cb1312edde3d610ba7b786f7e0030066c097fc"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "82535ac23e75f77767a844735b5950109ed7ef15"; }
-    { locale = "rm"; arch = "linux-i686"; sha1 = "15bdb9f7b06ad28ab5bb6a219afc2cf98bd94689"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha1 = "ba4aa04ea6380d6ca9e5776806f478da3a18acf2"; }
-    { locale = "ro"; arch = "linux-i686"; sha1 = "30319593b61aa454c72e372c47c97fd98e425cfa"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha1 = "364734483184c769370ca2948dc9335bfe6fe1ba"; }
-    { locale = "ru"; arch = "linux-i686"; sha1 = "5b5bf58fb96072590d4d3e9e1f7239c352910b49"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha1 = "bee00bc517deaa46d5e409d80b54f19bf8133e44"; }
-    { locale = "si"; arch = "linux-i686"; sha1 = "17d313829c47fc57256181b5a916605860f5c20f"; }
-    { locale = "si"; arch = "linux-x86_64"; sha1 = "69d536b6c14b29a86503cf9d492e20318e6ca550"; }
-    { locale = "sk"; arch = "linux-i686"; sha1 = "01e1fa5218459dc6e32d7a4d51bd120bc96c3f13"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha1 = "24cfbe861062ba1f3e5847b4b05c925a2db52518"; }
-    { locale = "sl"; arch = "linux-i686"; sha1 = "b01bd9bff5d31998f69cbc18c31df3798346d5bb"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha1 = "ab0a0ffc3816923384f519caef4b07830526a3b1"; }
-    { locale = "sq"; arch = "linux-i686"; sha1 = "e310ae1b0f32c67ccc03097fe9917f37eca3b271"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha1 = "2d746d4743ca5be9dfb082129f2527ef4453e8f8"; }
-    { locale = "sr"; arch = "linux-i686"; sha1 = "9053948612aa9de8898d7e3606eb08d855fff41a"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha1 = "b3c621a120756aba91c985deb06a31051b63468f"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "ef7480dc06af7376387a27da47e49bd2e5078453"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "c23f9b1832ab1d0317d09017c5a39824638da921"; }
-    { locale = "ta-LK"; arch = "linux-i686"; sha1 = "eea8f9b4832b6bdc61b0cd4dedb5d78aae02c953"; }
-    { locale = "ta-LK"; arch = "linux-x86_64"; sha1 = "75f4856b28f589098599a786a242681a911ff92e"; }
-    { locale = "tr"; arch = "linux-i686"; sha1 = "5ca3104abb9636ffcd5cdf913b14f48ba2a03977"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha1 = "8edb7885b506d1b4288bded01dccb00b89c929f2"; }
-    { locale = "uk"; arch = "linux-i686"; sha1 = "2776e9dc93263ac8c7cf757e0a03f71b0a3d2a9c"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha1 = "7ec1dc5df673394c3e61293d92d369045a0d2bd6"; }
-    { locale = "vi"; arch = "linux-i686"; sha1 = "1582f2552bc644729ffcb0d42b405e065a56ca9c"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha1 = "5e24d1ce8e6b74883dabb70dc1ac03c034e6e659"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "f8df723a211049e853628b5f2dd7240b4216871c"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "2cb69569638090ae09d552e95aaae40b876144e3"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "ca3790624a90e49e7271bccf3870a8da629df074"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "ebe6e83ee9f2fce3823d01c4900231bc00682fba"; }
+    { locale = "ar"; arch = "linux-i686"; sha1 = "e78d69e77c7a41a5d1db177d1ff2011620d0030e"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha1 = "0392f81672db2005796966f125a50722d62437d5"; }
+    { locale = "ast"; arch = "linux-i686"; sha1 = "583d831cc2a2b9707e76ecead28d830ce4971b0e"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha1 = "741ce8879c18477048eace82676a4e3dc8a9c248"; }
+    { locale = "be"; arch = "linux-i686"; sha1 = "f838f7034293f188566d5866a8e02a7045477deb"; }
+    { locale = "be"; arch = "linux-x86_64"; sha1 = "cd32f6da77e0c9f0d82659105f696daa8ad71798"; }
+    { locale = "bg"; arch = "linux-i686"; sha1 = "784d23acca591ebceca30c67e0468e53c9ee2776"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha1 = "547e8d013635e88e1575a68b0ea11b375c430213"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "7ddc0b28640e4e43fa5d70790a46be663962be99"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "b56e9b9e781f73074d2c4ee19e5bd267c6aad9ec"; }
+    { locale = "br"; arch = "linux-i686"; sha1 = "a28f9b548ae4c081e792b77dda3395874b355d13"; }
+    { locale = "br"; arch = "linux-x86_64"; sha1 = "2c37c60ea39218abe1e937be7584ca9966cc6c81"; }
+    { locale = "ca"; arch = "linux-i686"; sha1 = "1fecd72a93a5d76c506dfc5c95e6f0e613f5e89f"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha1 = "32063fa5a27838a4ca9f5dd7c091e01b464653b2"; }
+    { locale = "cs"; arch = "linux-i686"; sha1 = "32ccce02f24ba87cd1c8e5997feb95c6e54b8cbd"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha1 = "98ce62455ffbb373eb47f3c107042510b4ceae23"; }
+    { locale = "cy"; arch = "linux-i686"; sha1 = "4eb168b3858107239fef24c97da279c5f33c737a"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha1 = "4d1dea9922cebc848bb45d82d413968b99f06e73"; }
+    { locale = "da"; arch = "linux-i686"; sha1 = "87b5de179a6be0cc8cca4c125fe32b6c0a23e08b"; }
+    { locale = "da"; arch = "linux-x86_64"; sha1 = "06a0bd4ac2a7709703c3cc860268fcdbccf2ac83"; }
+    { locale = "de"; arch = "linux-i686"; sha1 = "00f40a074255e4f3fe2d3bead1a37b1d406bca68"; }
+    { locale = "de"; arch = "linux-x86_64"; sha1 = "9e58b681b85028a932104295a8e39e209a21e549"; }
+    { locale = "dsb"; arch = "linux-i686"; sha1 = "0ee112d071dd3fb580521bf730e762e314c3c0fb"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha1 = "69a01bc3875151dd3a7b283f8edc44896778f00d"; }
+    { locale = "el"; arch = "linux-i686"; sha1 = "3ac525634c74814cd8fd73b841b4aa8095af6ca4"; }
+    { locale = "el"; arch = "linux-x86_64"; sha1 = "cce461a7de648677ada0e7ab144c6b492044a370"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha1 = "321795d34d8708fff3149d99db41abbde3d59a38"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "f9435cb01e929591ab54f313442c42fc31007041"; }
+    { locale = "en-US"; arch = "linux-i686"; sha1 = "415c1b828bad3680da7b6f0ac6c6d85be3002ca5"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "56eddaa513439a3c66deed3b1396660cecfb7224"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha1 = "9963d13b6b6ab8fe4df7f69fee812e8ed3c79f2b"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "4c64efa0c7b3b46e3db8c2a8bf1afa7fd59b1afb"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha1 = "7fe8db80f25a155a4fbe606b43e8ea192bdeb2d3"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "2a5f57603236604829e5d75103216b2239354b04"; }
+    { locale = "et"; arch = "linux-i686"; sha1 = "f99161ca84c7bf660198481757a97505bff41016"; }
+    { locale = "et"; arch = "linux-x86_64"; sha1 = "220155dbc6f604f3a3daaaa5bafd8f096409931a"; }
+    { locale = "eu"; arch = "linux-i686"; sha1 = "117546c2ea2d2410e0d0da57f79b8a17e39fea0d"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha1 = "ec22ab958396424a1134c6e2e7a6f182ef38d2e3"; }
+    { locale = "fi"; arch = "linux-i686"; sha1 = "2115972a75ab795253b1ac639b3c939cc90b186c"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha1 = "c59da6176e5278f05c489449d477a8b508612efc"; }
+    { locale = "fr"; arch = "linux-i686"; sha1 = "76a50fa696f0f489cd129fd5590853a6b689987e"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha1 = "772b5eab11f94b2f7713e43b7c384f9d24d407bc"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "156b5e3a99bb2ee1bc489f3f1d06643860709d55"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "02c52d17d1d2d98d1281ae957205eabb0dae4c3a"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "f1e8e28988504c4bec059348942d38b3c1a3b3f3"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "80491a140c3d3b29f46eb882c41fa84842e3e44b"; }
+    { locale = "gd"; arch = "linux-i686"; sha1 = "412e478fb2a56fb53ca27fdf01346a1c8f3e7a53"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha1 = "31a4aee19453bc754db2149e2cfa952ee6829ef7"; }
+    { locale = "gl"; arch = "linux-i686"; sha1 = "70e5d130dc08a86d7ae7b28e29fbd7485e750a6e"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha1 = "b0735f3f05f36b174399300c8eb8c851aa92ea1c"; }
+    { locale = "he"; arch = "linux-i686"; sha1 = "28eda52f1a9b13c15faeb87b241bef6be001f856"; }
+    { locale = "he"; arch = "linux-x86_64"; sha1 = "d311d07f86e3280d422dcaa76925308dec1bbf29"; }
+    { locale = "hr"; arch = "linux-i686"; sha1 = "d19f966f31fa298a4d6d2b61d83a407c950b94ba"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha1 = "b730ed1556bc3337dba3d4391773746c344fd16d"; }
+    { locale = "hsb"; arch = "linux-i686"; sha1 = "bb6e4f02d1b7ebfa56c3510fe7707218c7ee0fbc"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha1 = "826ce8b68e61a6c6e340ab7e2766f7a432927aa0"; }
+    { locale = "hu"; arch = "linux-i686"; sha1 = "af06b6b2d52dba79ca21cfc7e9eff1b135ba79f8"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha1 = "c90755e7048bb1b33d0407010db770a3a20f144a"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "56992cb46445b4f389e62e5e621a09ee37558864"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "764c62cb4b44f25947ef778cd78de2ce17546da6"; }
+    { locale = "id"; arch = "linux-i686"; sha1 = "02170606677c5d1177e98fec537ab9997d1d2bb2"; }
+    { locale = "id"; arch = "linux-x86_64"; sha1 = "9079cdf731c69ad204ec2e4d92b1b9e7e476b8f8"; }
+    { locale = "is"; arch = "linux-i686"; sha1 = "59e47a5d030c8a18faaff875d06fc2fee8ff2fa9"; }
+    { locale = "is"; arch = "linux-x86_64"; sha1 = "207c2e8671f9266c70b03c42e4b6952c7b139fcc"; }
+    { locale = "it"; arch = "linux-i686"; sha1 = "cb724a67e5e0413f670602cb351fd8c7538d4074"; }
+    { locale = "it"; arch = "linux-x86_64"; sha1 = "24901bb227c7df290d030bfaccf048b6fbbd2bf6"; }
+    { locale = "ja"; arch = "linux-i686"; sha1 = "8df9208999956eea39f4774c482da5db3ed5662b"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha1 = "6f29589c86eee9cf95410c0e0098e2b96bffb4d0"; }
+    { locale = "ko"; arch = "linux-i686"; sha1 = "e266fb9dba4368e80d206c248fe3c1bc202dc064"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha1 = "106a6152a5f91407ee1cde665f70b39fbe6bfe69"; }
+    { locale = "lt"; arch = "linux-i686"; sha1 = "3385483d2db12873b645add7e16455874cd2ac91"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha1 = "fb2aafa56998000c6f08730c467d7fb3e37a7f70"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "93a2f4e45b47335cad077581601b1da6becb5e5b"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "7d609d01d0cf46b2d94f15253e0e1cd1ba42d6ac"; }
+    { locale = "nl"; arch = "linux-i686"; sha1 = "35d4c18935d64b4ca371eed75def0cda549715ad"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha1 = "168a20038f76eafec00a63501019a55b59b7c9b0"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "3fc3c67c8f60814f70e8b53d7896d392b38b1af6"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "be54f52ea730447b53e020c1ed0c804a7f22bf40"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "8a4db5fea163ebbb7738f86d878f371323b0da10"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "71ac68f8b117549e7a66207ca556cfc951827406"; }
+    { locale = "pl"; arch = "linux-i686"; sha1 = "1d5fcf5ce59e552e1d122249a158d4956e6e9610"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha1 = "1519da5234c5a7a7ba569c1d995a8ecefcd266aa"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "913ba6f41cdbde5a4d0bb7d67751c29d29a4b294"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "ca6e7915533cacd710980711e8143061e6e7fc2e"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "5578ba04b7d431a78728cb08cd25513c269db003"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "a2a42233fac046158dbe8ee2f743cddb53df151a"; }
+    { locale = "rm"; arch = "linux-i686"; sha1 = "e8abf6f03cb05a42c47c6dcb68ab9226229fcc14"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha1 = "0a69eb3783653ee645c443b24feb1c100a2e0688"; }
+    { locale = "ro"; arch = "linux-i686"; sha1 = "73fb22e26cd39b32ba42d427d200dd20f6206884"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha1 = "9ea1dbfc283efb72abca7b7ef97c168c54026b0b"; }
+    { locale = "ru"; arch = "linux-i686"; sha1 = "fa9e4eb824a7f2d09bfcf66eb7740e4bdff24131"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha1 = "a0f6e30587f549f44140bbd9fcb7c3abe12e5ec3"; }
+    { locale = "si"; arch = "linux-i686"; sha1 = "cbed568fa683f3b95bd5e63470f5035d67135c8b"; }
+    { locale = "si"; arch = "linux-x86_64"; sha1 = "613576519cc050facff46a4c419f997d2a9660f4"; }
+    { locale = "sk"; arch = "linux-i686"; sha1 = "e22226e26405d9aac5bac49e458f08980ffa7419"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha1 = "d96029ff232537645a6d9f93394e02e9c68b8c2a"; }
+    { locale = "sl"; arch = "linux-i686"; sha1 = "cfb39baf1c3637d4e77f177d4075ec6a1d78e522"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha1 = "78264ea3ff48ff1e5e89c174a181636fe5498f7d"; }
+    { locale = "sq"; arch = "linux-i686"; sha1 = "c55b151b1945ca507fef2e00a492fda7dc622f80"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha1 = "75138732d8f82a879c0ba3c657dde6e41192f55c"; }
+    { locale = "sr"; arch = "linux-i686"; sha1 = "34e9e650bc5adc27a4262897914d8b97d65d9d95"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha1 = "236189aa59dee7d991d2c7e15467666d9fa1c4ec"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "924e01fad080da3c2f52834d9f55511cc2c56781"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "2c5ad3832956d427f5a415681145fb2e32a1be71"; }
+    { locale = "ta-LK"; arch = "linux-i686"; sha1 = "b87a9ec4cc658cfb0fcf45f82546ed385104bbdd"; }
+    { locale = "ta-LK"; arch = "linux-x86_64"; sha1 = "db30febd32a867e125df3039dfcef74055f4428e"; }
+    { locale = "tr"; arch = "linux-i686"; sha1 = "513c56c7308d6562a14b268e17f6f7d79e4860da"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha1 = "9f69846c81b847736b917521fae2f6c1cdcaea38"; }
+    { locale = "uk"; arch = "linux-i686"; sha1 = "d43edd5cce1f121e2676b3876ca4579142e7df21"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha1 = "4eeddcadc812dc66a7c510e39018baf98ed928bc"; }
+    { locale = "vi"; arch = "linux-i686"; sha1 = "75832dada4af3880d00d5918a2d8b2e5ad50fb53"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha1 = "8521ce3fb633bd9deafb2bdbba5b8a487a08e23a"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "22ec231d065c73627c39147b34c656dfdcd27d14"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "fa037a2ba7e8559ed8bbbc86772dcff24eada7e3"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "685ec1667d29b45a144cba118ad97eb3b340feb8"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "859f97ddbb05c76495fd09c4f039bc6324cc60a1"; }
   ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index f2a088164d20..5d6e0faad4a8 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -13,15 +13,17 @@
   enableOfficialBranding ? false
 }:
 
-let version = "31.7.0"; in
+let version = "38.1.0"; in
 let verName = "${version}"; in
 
 stdenv.mkDerivation rec {
   name = "thunderbird-${verName}";
 
   src = fetchurl {
-    url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
-    sha1 = "90e18f8ecccdaf1ee39493223a7e3ad8b3b7bede";
+    url = "http://archive.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
+
+    # https://archive.mozilla.org/pub/thunderbird/releases/${verName}/SHA1SUMS
+    sha1 = "7bb0c85e889e397e53dcbcbd36957dbd7c8c10bd";
   };
 
   buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx
@@ -75,6 +77,10 @@ stdenv.mkDerivation rec {
     cd objdir
     echo '${stdenv.lib.concatMapStrings (s : "ac_add_options ${s}\n") configureFlags}' > .mozconfig
     echo 'ac_add_options --prefix="'"$out"'"' >> .mozconfig
+    # From version 38, we need to specify the source directory to build
+    # Thunderbird. Refer to mozilla/configure and search a line with
+    # "checking for application to build" and "# Support comm-central".
+    echo 'ac_add_options --with-external-source-dir="'`realpath ..`'"' >> .mozconfig
     echo 'mk_add_options MOZ_MAKE_FLAGS="-j'"$NIX_BUILD_CORES"'"' >> .mozconfig
     echo 'mk_add_options MOZ_OBJDIR="'`pwd`'"' >> .mozconfig
 
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index aececbb6130b..afe27eb38149 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, avahi, boost, libopus, libsndfile, protobuf, qt4, speex
+, avahi, boost, libopus, celt, libsndfile, protobuf, qt4, speex
 , jackSupport ? false, libjack2 ? null
 , speechdSupport ? false, speechd ? null
 , pulseSupport ? false, libpulseaudio ? null
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     "CONFIG+=no-update"
     "CONFIG+=no-server"
     "CONFIG+=no-embed-qt-translations"
-    "CONFIG+=bundled-celt"
+    "CONFIG+=no-bundled-celt"
     "CONFIG+=no-bundled-opus"
     "CONFIG+=no-bundled-speex"
   ] ++ optional (!speechdSupport) "CONFIG+=no-speechd"
@@ -43,7 +43,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ avahi boost libopus libsndfile protobuf qt4 speex ]
+  NIX_CFLAGS_COMPILE = [ "-I${celt}/include/celt" ];
+
+  buildInputs = [ avahi boost libopus celt libsndfile protobuf qt4 speex ]
     ++ optional jackSupport libjack2
     ++ optional speechdSupport speechd
     ++ optional pulseSupport libpulseaudio;
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index f0e5a1c13e14..f8c025ba2418 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -10,11 +10,11 @@ assert guiSupport -> (dbus_libs != null);
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "qbittorrent-${version}";
-  version = "3.1.11";
+  version = "3.2.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
-    sha256 = "0qvz8ifk01b9sw9x5yh3b5kmssx5yi026zvgvabdvfaqkvcmw43i";
+    sha256 = "05590ak4nnqkah8dy71cxf7mqv6phw0ih1719dm761mxf8vrz9w6";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
@@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
     ++ optional guiSupport dbus_libs;
 
   configureFlags = [
-    "--with-libboost-lib=${boost.lib}/lib"
-    "--with-libboost-inc=${boost.dev}/include"
+    "--with-boost-libdir=${boost.lib}/lib"
+    "--with-boost=${boost.dev}"
     (if guiSupport then "" else "--disable-gui")
     (if webuiSupport then "" else "--disable-webui")
   ] ++ optional debugSupport "--enable-debug";
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index 3077843cbf44..e81ef7a4f9ff 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, file, makeWrapper
-, openssl, curl, libevent, inotifyTools, systemd, zlib
+, openssl, curl, libevent, inotify-tools, systemd, zlib
 , enableGTK3 ? false, gtk3
 }:
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sha256 = "1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59";
   };
 
-  buildInputs = [ pkgconfig intltool file openssl curl libevent inotifyTools zlib ]
+  buildInputs = [ pkgconfig intltool file openssl curl libevent inotify-tools zlib ]
     ++ optionals enableGTK3 [ gtk3 makeWrapper ]
     ++ optional stdenv.isLinux systemd;
 
diff --git a/pkgs/applications/networking/pond/default.nix b/pkgs/applications/networking/pond/default.nix
deleted file mode 100644
index 21d99013a1a0..000000000000
--- a/pkgs/applications/networking/pond/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, goPackages, fetchgit, trousers }:
-
-with goPackages;
-
-buildGoPackage rec {
-  rev = "f4e441c77a2039814046ff8219629c547fe8b689";
-  name = "pond-${lib.strings.substring 0 7 rev}";
-  goPackagePath = "github.com/agl/pond";
-  src = fetchgit {
-    inherit rev;
-    url = "git://github.com/agl/pond.git";
-    sha256 = "f2dfc6cb96cc4b8ae732e41d1958b62036f40cb346df2e14f27b5964a1416026";
-  };
-
-  subPackages = [ "client" ];
-
-  buildInputs = [ trousers net crypto protobuf ed25519 govers ];
-    
-  buildFlags = "--tags nogui";
-
-  dontInstallSrc = true;
-
-  meta = with lib; {
-    description = "Forward secure, asynchronous messaging for the discerning";
-    homepage = https://pond.imperialviolet.org;
-    license = licenses.bsd3;
-    platforms = platforms.linux;
-  };
-}
-
diff --git a/pkgs/applications/networking/remote/putty/default.nix b/pkgs/applications/networking/remote/putty/default.nix
index fe89ce61604e..dda847fde079 100644
--- a/pkgs/applications/networking/remote/putty/default.nix
+++ b/pkgs/applications/networking/remote/putty/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl, ncurses, gtk, pkgconfig, autoconf, automake, perl, halibut, libtool }:
 
 stdenv.mkDerivation rec {
-  version = "0.64";
+  version = "0.65";
   name = "putty-${version}";
 
   src = fetchurl {
     url = "http://the.earth.li/~sgtatham/putty/latest/${name}.tar.gz";
-    sha256 = "089qbzd7w51sc9grm2x3lcbj61jdqsnakb4j4gnf6i2131xcjiia";
+    sha256 = "180ccrsyh775hdmxqdnbclfbvsfdp2zk3gsadpa53sj497yw2hym";
   };
 
   preConfigure = ''
     perl mkfiles.pl
     ( cd doc ; make );
-    sed '/AM_PATH_GTK(/d' -i unix/configure.ac
-    sed '/AC_OUTPUT/iAM_PROG_CC_C_O' -i unix/configure.ac
-    sed '/AC_OUTPUT/iAM_PROG_AR' -i unix/configure.ac
+    sed -e '/AM_PATH_GTK(/d' \
+        -e '/AC_OUTPUT/iAM_PROG_CC_C_O' \
+        -e '/AC_OUTPUT/iAM_PROG_AR' -i configure.ac
     ./mkauto.sh
     cd unix
   '';
diff --git a/pkgs/applications/networking/remote/teamviewer/10.nix b/pkgs/applications/networking/remote/teamviewer/10.nix
index 4b919d36fb62..7e97a31c3a92 100644
--- a/pkgs/applications/networking/remote/teamviewer/10.nix
+++ b/pkgs/applications/networking/remote/teamviewer/10.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   name = "teamviewer-10.0.37742";
   src = fetchurl {
     url = config.teamviewer10.url or "http://download.teamviewer.com/download/teamviewer_amd64.deb";
-    sha256 = config.teamviewer10.sha256 or "0n2lzphvsqnlvm7pd7hjlislqj9rr57lai8jyw4wpqcy9j2xwxd2";
+    sha256 = config.teamviewer10.sha256 or "10risay1a5a85ijbjaz2vxqbfxygpxslvh0dvzz32k988hr9p1gk";
   };
 
   buildInputs = [ makeWrapper patchelf ];
diff --git a/pkgs/applications/networking/remote/x2goclient/default.nix b/pkgs/applications/networking/remote/x2goclient/default.nix
index 30e40a965f70..eaa1c5e318aa 100644
--- a/pkgs/applications/networking/remote/x2goclient/default.nix
+++ b/pkgs/applications/networking/remote/x2goclient/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cups, libssh, libXpm, nxproxy, openldap, makeWrapper, qt4 }:
 
-let version = "4.0.4.0"; in
+let version = "4.0.5.0"; in
 stdenv.mkDerivation rec {
   name = "x2goclient-${version}";
 
   src = fetchurl {
     url = "http://code.x2go.org/releases/source/x2goclient/${name}.tar.gz";
-    sha256 = "0mqn4nvq2w7qja5i4vx9fg2spwzl01p0hmfwbjb0mzir03hmrl46";
+    sha256 = "18a2pszh0nq2ir64a1ah1mlzddn4qcd12b339bv30n0y1ir92bi4";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix
index b6535ad7310d..14fa69974e8a 100644
--- a/pkgs/applications/networking/sync/backintime/common.nix
+++ b/pkgs/applications/networking/sync/backintime/common.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl, makeWrapper, gettext, python3, python3Packages, rsync, cron, openssh, sshfsFuse, encfs }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.4";
+  version = "1.1.6";
 
   name = "backintime-common-${version}";
 
   src = fetchurl {
     url = "https://launchpad.net/backintime/1.1/${version}/+download/backintime-${version}.tar.gz";
-    sha256 = "0w57b7xygwx83azz463fd4y7fxz0z6dy74f70ixhvhlsdpxw2ks3";
+    sha256 = "04yw1v6h959mmvc67mhh0km7vkxjzb7j1mniv5xfjdy27ryii1ig";
   };
 
   buildInputs = [ makeWrapper gettext python3 python3Packages.dbus python3Packages.keyring openssh cron rsync sshfsFuse encfs ];
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 02a51a3cbade..f42426b3cafd 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -4,12 +4,12 @@ with goPackages;
 
 buildGoPackage rec {
   name = "syncthing-${version}";
-  version = "0.11.16";
+  version = "0.11.22";
   goPackagePath = "github.com/syncthing/syncthing";
   src = fetchgit {
     url = "git://github.com/syncthing/syncthing.git";
     rev = "refs/tags/v${version}";
-    sha256 = "f9b5c2de7e2b6592cccb0222c48b9baa2497dce519824a75923d40cc722ab937";
+    sha256 = "0zdk5ppsq35s10chf8m3rw3sk9d77ms7x1vj3inw4lrm1h13w9wk";
   };
 
   subPackages = [ "cmd/syncthing" ];
diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix
index 11681cfefd0e..ca4c6d24315b 100644
--- a/pkgs/applications/networking/znc/default.nix
+++ b/pkgs/applications/networking/znc/default.nix
@@ -7,11 +7,11 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "znc-1.6.0";
+  name = "znc-1.6.1";
 
   src = fetchurl {
     url = "http://znc.in/releases/${name}.tar.gz";
-    sha256 = "df622aeae34d26193c738dff6499e56ad669ec654484e19623738d84cc80aba7";
+    sha256 = "0h61nv5kx9k8prmhsffxhlprf7gjcq8vqhjjmqr6v3glcirkjjds";
   };
 
   buildInputs = [ openssl pkgconfig ]