summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/audio/groovebasin/default.nix65
-rw-r--r--pkgs/applications/audio/groovebasin/package.nix4396
-rw-r--r--pkgs/applications/audio/setbfree/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/default.nix11
-rw-r--r--pkgs/applications/graphics/apitrace/default.nix3
-rw-r--r--pkgs/applications/graphics/darktable/default.nix4
-rw-r--r--pkgs/applications/graphics/simple-scan/default.nix5
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix5
-rw-r--r--pkgs/applications/networking/drive/default.nix29
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix22
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix228
-rw-r--r--pkgs/applications/networking/remote/x2goclient/default.nix3
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/science/logic/saw-tools/default.nix61
-rw-r--r--pkgs/applications/science/math/R/default.nix4
-rw-r--r--pkgs/applications/video/dvd-slideshow/default.nix69
16 files changed, 4772 insertions, 141 deletions
diff --git a/pkgs/applications/audio/groovebasin/default.nix b/pkgs/applications/audio/groovebasin/default.nix
new file mode 100644
index 000000000000..5a5f8c30da23
--- /dev/null
+++ b/pkgs/applications/audio/groovebasin/default.nix
@@ -0,0 +1,65 @@
+{ stdenv, fetchFromGitHub, makeWrapper, callPackage, libgroove, python, utillinux }:
+
+with stdenv.lib;
+
+let
+  nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
+    neededNatives = [ libgroove python utillinux ];
+    self = nodePackages;
+    generated = ./package.nix;
+  };
+
+in nodePackages.buildNodePackage rec {
+  version = "1.5.1";
+  name = "groovebasin-${version}";
+
+  src = fetchFromGitHub {
+    owner = "andrewrk";
+    repo = "groovebasin";
+    rev = "${version}";
+    sha256 = "1g7v0qhvgzpb050hf45pibp68qd67hnnry5npw58f4dvaxdd8yhd";
+  };
+
+  deps = (filter (v: nixType v == "derivation") (attrValues nodePackages));
+
+  buildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    mkdir -p "$out/lib/node_modules/groovebasin/public"
+    stylus -o "$out/lib/node_modules/groovebasin/public/" -c --include-css "$out/lib/node_modules/groovebasin/src/client/styles"
+    browserify-lite "$out/lib/node_modules/groovebasin/src/client/app.js" --outfile "$out/lib/node_modules/groovebasin/public/app.js"
+    wrapProgram "$out/bin/groovebasin" --set NODE_PATH "$out/lib/node_modules/groovebasin/node_modules/"
+  '';
+
+  passthru.names = ["groovebasin"];
+
+  meta = {
+    description = "Music player server with a web-based user interface";
+    homepage = http://groovebasin.com/;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.andrewrk ];
+    longDescription = ''
+      Groove Basin runs on a server optionally connected to speakers. Guests can
+      control the music player by connecting with a laptop, tablet, or smart phone.
+      Further, users can stream their music libraries remotely.
+
+      Groove Basin comes with a fast, responsive web interface that supports keyboard
+      shortcuts and drag drop. It also provides the ability to upload songs,
+      download songs, and import songs by URL, including YouTube URLs.
+
+      Groove Basin supports Dynamic Mode which automatically queues random songs,
+      favoring songs that have not been queued recently.
+
+      Groove Basin automatically performs ReplayGain scanning on every song using
+      the EBU R128 loudness standard, and automatically switches between track
+      and album mode.
+
+      Groove Basin supports the MPD protocol, which means it is compatible with MPD
+      clients. There is also a more powerful Groove Basin protocol which you can
+      use if the MPD protocol does not meet your needs.
+
+      Groove Basin supports Last.fm scrobbling.
+    '';
+  };
+}
diff --git a/pkgs/applications/audio/groovebasin/package.nix b/pkgs/applications/audio/groovebasin/package.nix
new file mode 100644
index 000000000000..3f307cd32f05
--- /dev/null
+++ b/pkgs/applications/audio/groovebasin/package.nix
@@ -0,0 +1,4396 @@
+{ 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."abstract-leveldown"."~2.2.1" =
+    self.by-version."abstract-leveldown"."2.2.2";
+  by-version."abstract-leveldown"."2.2.2" = self.buildNodePackage {
+    name = "abstract-leveldown-2.2.2";
+    version = "2.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.2.2.tgz";
+      name = "abstract-leveldown-2.2.2.tgz";
+      sha1 = "ecaff98c20641422710ab04b01e8f04d6b64fe77";
+    };
+    deps = {
+      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."accepts"."~1.2.7" =
+    self.by-version."accepts"."1.2.9";
+  by-version."accepts"."1.2.9" = self.buildNodePackage {
+    name = "accepts-1.2.9";
+    version = "1.2.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/accepts/-/accepts-1.2.9.tgz";
+      name = "accepts-1.2.9.tgz";
+      sha1 = "76e9631d05e3ff192a34afb9389f7b3953ded001";
+    };
+    deps = {
+      "mime-types-2.1.1" = self.by-version."mime-types"."2.1.1";
+      "negotiator-0.5.3" = self.by-version."negotiator"."0.5.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."amdefine".">=0.0.4" =
+    self.by-version."amdefine"."0.1.1";
+  by-version."amdefine"."0.1.1" = self.buildNodePackage {
+    name = "amdefine-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/amdefine/-/amdefine-0.1.1.tgz";
+      name = "amdefine-0.1.1.tgz";
+      sha1 = "b5c75c532052dccd6a39c0064c772c8d57a06cd2";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi-regex"."^1.0.0" =
+    self.by-version."ansi-regex"."1.1.1";
+  by-version."ansi-regex"."1.1.1" = self.buildNodePackage {
+    name = "ansi-regex-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz";
+      name = "ansi-regex-1.1.1.tgz";
+      sha1 = "41c847194646375e6a1a5d10c3ca054ef9fc980d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ansi-regex"."^1.1.0" =
+    self.by-version."ansi-regex"."1.1.1";
+  by-spec."ansi-styles"."^2.0.1" =
+    self.by-version."ansi-styles"."2.0.1";
+  by-version."ansi-styles"."2.0.1" = self.buildNodePackage {
+    name = "ansi-styles-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz";
+      name = "ansi-styles-2.0.1.tgz";
+      sha1 = "b033f57f93e2d28adeb8bc11138fa13da0fd20a3";
+    };
+    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"."~0.9.0" =
+    self.by-version."async"."0.9.2";
+  by-version."async"."0.9.2" = self.buildNodePackage {
+    name = "async-0.9.2";
+    version = "0.9.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/async-0.9.2.tgz";
+      name = "async-0.9.2.tgz";
+      sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  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."base64url"."0.0.3" =
+    self.by-version."base64url"."0.0.3";
+  by-version."base64url"."0.0.3" = self.buildNodePackage {
+    name = "base64url-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64url/-/base64url-0.0.3.tgz";
+      name = "base64url-0.0.3.tgz";
+      sha1 = "50c20edac277dde1a0b15059954ced7a2d102d57";
+    };
+    deps = {
+      "tap-0.3.3" = self.by-version."tap"."0.3.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64url"."~0.0.4" =
+    self.by-version."base64url"."0.0.6";
+  by-version."base64url"."0.0.6" = self.buildNodePackage {
+    name = "base64url-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64url/-/base64url-0.0.6.tgz";
+      name = "base64url-0.0.6.tgz";
+      sha1 = "9597b36b330db1c42477322ea87ea8027499b82b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64url"."~1.0.4" =
+    self.by-version."base64url"."1.0.4";
+  by-version."base64url"."1.0.4" = self.buildNodePackage {
+    name = "base64url-1.0.4";
+    version = "1.0.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64url/-/base64url-1.0.4.tgz";
+      name = "base64url-1.0.4.tgz";
+      sha1 = "29a2a7ade9791fbb25f312ab35a2fd3126ceac0e";
+    };
+    deps = {
+      "concat-stream-1.4.10" = self.by-version."concat-stream"."1.4.10";
+      "meow-2.0.0" = self.by-version."meow"."2.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bindings"."~1.2.1" =
+    self.by-version."bindings"."1.2.1";
+  by-version."bindings"."1.2.1" = self.buildNodePackage {
+    name = "bindings-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
+      name = "bindings-1.2.1.tgz";
+      sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bl"."~0.9.0" =
+    self.by-version."bl"."0.9.4";
+  by-version."bl"."0.9.4" = self.buildNodePackage {
+    name = "bl-0.9.4";
+    version = "0.9.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bl/-/bl-0.9.4.tgz";
+      name = "bl-0.9.4.tgz";
+      sha1 = "4702ddf72fbe0ecd82787c00c113aea1935ad0e7";
+    };
+    deps = {
+      "readable-stream-1.0.33" = self.by-version."readable-stream"."1.0.33";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bl"."~0.9.4" =
+    self.by-version."bl"."0.9.4";
+  by-spec."bluebird"."^2.9.26" =
+    self.by-version."bluebird"."2.9.30";
+  by-version."bluebird"."2.9.30" = self.buildNodePackage {
+    name = "bluebird-2.9.30";
+    version = "2.9.30";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bluebird/-/bluebird-2.9.30.tgz";
+      name = "bluebird-2.9.30.tgz";
+      sha1 = "edda875ec9aad1f29cf1f56d6e82fbab2b0df556";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."boom"."0.4.x" =
+    self.by-version."boom"."0.4.2";
+  by-version."boom"."0.4.2" = self.buildNodePackage {
+    name = "boom-0.4.2";
+    version = "0.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+      name = "boom-0.4.2.tgz";
+      sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    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."browserify-lite"."~0.2.4" =
+    self.by-version."browserify-lite"."0.2.4";
+  by-version."browserify-lite"."0.2.4" = self.buildNodePackage {
+    name = "browserify-lite-0.2.4";
+    version = "0.2.4";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserify-lite/-/browserify-lite-0.2.4.tgz";
+      name = "browserify-lite-0.2.4.tgz";
+      sha1 = "00a32f466c8f3dbbd1074250fd0aa775716ab140";
+    };
+    deps = {
+      "pend-1.2.0" = self.by-version."pend"."1.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "browserify-lite" = self.by-version."browserify-lite"."0.2.4";
+  by-spec."buffer-crc32"."~0.2.3" =
+    self.by-version."buffer-crc32"."0.2.5";
+  by-version."buffer-crc32"."0.2.5" = self.buildNodePackage {
+    name = "buffer-crc32-0.2.5";
+    version = "0.2.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz";
+      name = "buffer-crc32-0.2.5.tgz";
+      sha1 = "db003ac2671e62ebd6ece78ea2c2e1b405736e91";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."buffer-equal"."~0.0.0" =
+    self.by-version."buffer-equal"."0.0.1";
+  by-version."buffer-equal"."0.0.1" = self.buildNodePackage {
+    name = "buffer-equal-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz";
+      name = "buffer-equal-0.0.1.tgz";
+      sha1 = "91bc74b11ea405bc916bc6aa908faafa5b4aac4b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."buffer-equal-constant-time"."^1.0.1" =
+    self.by-version."buffer-equal-constant-time"."1.0.1";
+  by-version."buffer-equal-constant-time"."1.0.1" = self.buildNodePackage {
+    name = "buffer-equal-constant-time-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz";
+      name = "buffer-equal-constant-time-1.0.1.tgz";
+      sha1 = "f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."bunker"."0.1.X" =
+    self.by-version."bunker"."0.1.2";
+  by-version."bunker"."0.1.2" = self.buildNodePackage {
+    name = "bunker-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bunker/-/bunker-0.1.2.tgz";
+      name = "bunker-0.1.2.tgz";
+      sha1 = "c88992464a8e2a6ede86930375f92b58077ef97c";
+    };
+    deps = {
+      "burrito-0.2.12" = self.by-version."burrito"."0.2.12";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."burrito".">=0.2.5 <0.3" =
+    self.by-version."burrito"."0.2.12";
+  by-version."burrito"."0.2.12" = self.buildNodePackage {
+    name = "burrito-0.2.12";
+    version = "0.2.12";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/burrito/-/burrito-0.2.12.tgz";
+      name = "burrito-0.2.12.tgz";
+      sha1 = "d0d6e6ac81d5e99789c6fa4accb0b0031ea54f6b";
+    };
+    deps = {
+      "traverse-0.5.2" = self.by-version."traverse"."0.5.2";
+      "uglify-js-1.1.1" = self.by-version."uglify-js"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."camelcase"."^1.0.1" =
+    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."camelcase-keys"."^1.0.0" =
+    self.by-version."camelcase-keys"."1.0.0";
+  by-version."camelcase-keys"."1.0.0" = self.buildNodePackage {
+    name = "camelcase-keys-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-1.0.0.tgz";
+      name = "camelcase-keys-1.0.0.tgz";
+      sha1 = "bd1a11bf9b31a1ce493493a930de1a0baf4ad7ec";
+    };
+    deps = {
+      "camelcase-1.1.0" = self.by-version."camelcase"."1.1.0";
+      "map-obj-1.0.1" = self.by-version."map-obj"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."caseless"."~0.10.0" =
+    self.by-version."caseless"."0.10.0";
+  by-version."caseless"."0.10.0" = self.buildNodePackage {
+    name = "caseless-0.10.0";
+    version = "0.10.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/caseless/-/caseless-0.10.0.tgz";
+      name = "caseless-0.10.0.tgz";
+      sha1 = "ed6b2719adcd1fd18f58dc081c0f1a5b43963909";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."caseless"."~0.8.0" =
+    self.by-version."caseless"."0.8.0";
+  by-version."caseless"."0.8.0" = self.buildNodePackage {
+    name = "caseless-0.8.0";
+    version = "0.8.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz";
+      name = "caseless-0.8.0.tgz";
+      sha1 = "5bca2881d41437f54b2407ebe34888c7b9ad4f7d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."caseless"."~0.9.0" =
+    self.by-version."caseless"."0.9.0";
+  by-version."caseless"."0.9.0" = self.buildNodePackage {
+    name = "caseless-0.9.0";
+    version = "0.9.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/caseless/-/caseless-0.9.0.tgz";
+      name = "caseless-0.9.0.tgz";
+      sha1 = "b7b65ce6bf1413886539cfd533f0b30effa9cf88";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."chalk"."^1.0.0" =
+    self.by-version."chalk"."1.0.0";
+  by-version."chalk"."1.0.0" = self.buildNodePackage {
+    name = "chalk-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/chalk/-/chalk-1.0.0.tgz";
+      name = "chalk-1.0.0.tgz";
+      sha1 = "b3cf4ed0ff5397c99c75b8f679db2f52831f96dc";
+    };
+    deps = {
+      "ansi-styles-2.0.1" = self.by-version."ansi-styles"."2.0.1";
+      "escape-string-regexp-1.0.3" = self.by-version."escape-string-regexp"."1.0.3";
+      "has-ansi-1.0.3" = self.by-version."has-ansi"."1.0.3";
+      "strip-ansi-2.0.1" = self.by-version."strip-ansi"."2.0.1";
+      "supports-color-1.3.1" = self.by-version."supports-color"."1.3.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."charm"."0.1.x" =
+    self.by-version."charm"."0.1.2";
+  by-version."charm"."0.1.2" = self.buildNodePackage {
+    name = "charm-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/charm/-/charm-0.1.2.tgz";
+      name = "charm-0.1.2.tgz";
+      sha1 = "06c21eed1a1b06aeb67553cdc53e23274bac2296";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cheerio"."^0.18.0" =
+    self.by-version."cheerio"."0.18.0";
+  by-version."cheerio"."0.18.0" = self.buildNodePackage {
+    name = "cheerio-0.18.0";
+    version = "0.18.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cheerio/-/cheerio-0.18.0.tgz";
+      name = "cheerio-0.18.0.tgz";
+      sha1 = "4e1c06377e725b740e996e0dfec353863de677fa";
+    };
+    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.8.3" = self.by-version."htmlparser2"."3.8.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 = [ ];
+  };
+  by-spec."clarinet"."~0.8.1" =
+    self.by-version."clarinet"."0.8.1";
+  by-version."clarinet"."0.8.1" = self.buildNodePackage {
+    name = "clarinet-0.8.1";
+    version = "0.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/clarinet/-/clarinet-0.8.1.tgz";
+      name = "clarinet-0.8.1.tgz";
+      sha1 = "ddfd10cd292abf5cab239140774e394bfd1ee7a6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."combined-stream"."~0.0.4" =
+    self.by-version."combined-stream"."0.0.7";
+  by-version."combined-stream"."0.0.7" = self.buildNodePackage {
+    name = "combined-stream-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
+      name = "combined-stream-0.0.7.tgz";
+      sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
+    };
+    deps = {
+      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."combined-stream"."~0.0.5" =
+    self.by-version."combined-stream"."0.0.7";
+  by-spec."combined-stream"."~1.0.1" =
+    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."commander"."^2.8.1" =
+    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 = [ ];
+  };
+  by-spec."concat-stream"."~1.4.7" =
+    self.by-version."concat-stream"."1.4.10";
+  by-version."concat-stream"."1.4.10" = self.buildNodePackage {
+    name = "concat-stream-1.4.10";
+    version = "1.4.10";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/concat-stream/-/concat-stream-1.4.10.tgz";
+      name = "concat-stream-1.4.10.tgz";
+      sha1 = "acc3bbf5602cb8cc980c6ac840fa7d8603e3ef36";
+    };
+    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-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."connect-static"."~1.5.0" =
+    self.by-version."connect-static"."1.5.0";
+  by-version."connect-static"."1.5.0" = self.buildNodePackage {
+    name = "connect-static-1.5.0";
+    version = "1.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect-static/-/connect-static-1.5.0.tgz";
+      name = "connect-static-1.5.0.tgz";
+      sha1 = "f8b455532e04de7c3dc7c1e062207f0b7a626ec7";
+    };
+    deps = {
+      "findit2-2.2.3" = self.by-version."findit2"."2.2.3";
+      "mime-1.2.11" = self.by-version."mime"."1.2.11";
+      "pend-1.2.0" = self.by-version."pend"."1.2.0";
+      "streamsink-1.2.0" = self.by-version."streamsink"."1.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "connect-static" = self.by-version."connect-static"."1.5.0";
+  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-disposition"."~0.5.0" =
+    self.by-version."content-disposition"."0.5.0";
+  "content-disposition" = self.by-version."content-disposition"."0.5.0";
+  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.2" =
+    self.by-version."cookie"."0.1.2";
+  by-version."cookie"."0.1.2" = self.buildNodePackage {
+    name = "cookie-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+      name = "cookie-0.1.2.tgz";
+      sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+    };
+    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."cookies"."~0.5.0" =
+    self.by-version."cookies"."0.5.0";
+  by-version."cookies"."0.5.0" = self.buildNodePackage {
+    name = "cookies-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cookies/-/cookies-0.5.0.tgz";
+      name = "cookies-0.5.0.tgz";
+      sha1 = "164cac46a1d3ca3b3b87427414c24931d8381025";
+    };
+    deps = {
+      "keygrip-1.0.1" = self.by-version."keygrip"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "cookies" = self.by-version."cookies"."0.5.0";
+  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."crc"."3.2.1" =
+    self.by-version."crc"."3.2.1";
+  by-version."crc"."3.2.1" = self.buildNodePackage {
+    name = "crc-3.2.1";
+    version = "3.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/crc/-/crc-3.2.1.tgz";
+      name = "crc-3.2.1.tgz";
+      sha1 = "5d9c8fb77a245cd5eca291e5d2d005334bab0082";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."cryptiles"."0.2.x" =
+    self.by-version."cryptiles"."0.2.2";
+  by-version."cryptiles"."0.2.2" = self.buildNodePackage {
+    name = "cryptiles-0.2.2";
+    version = "0.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+      name = "cryptiles-0.2.2.tgz";
+      sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+    };
+    deps = {
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+    };
+    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."css-parse"."1.7.x" =
+    self.by-version."css-parse"."1.7.0";
+  by-version."css-parse"."1.7.0" = self.buildNodePackage {
+    name = "css-parse-1.7.0";
+    version = "1.7.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz";
+      name = "css-parse-1.7.0.tgz";
+      sha1 = "321f6cf73782a6ff751111390fc05e2c657d8c9b";
+    };
+    deps = {
+    };
+    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."curlydiff"."~2.0.1" =
+    self.by-version."curlydiff"."2.0.1";
+  by-version."curlydiff"."2.0.1" = self.buildNodePackage {
+    name = "curlydiff-2.0.1";
+    version = "2.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/curlydiff/-/curlydiff-2.0.1.tgz";
+      name = "curlydiff-2.0.1.tgz";
+      sha1 = "6ac4b754ea5b63af2632022d03a152306f7eac0b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "curlydiff" = self.by-version."curlydiff"."2.0.1";
+  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"."~2.2.0" =
+    self.by-version."debug"."2.2.0";
+  by-spec."deep-equal"."~0.0.0" =
+    self.by-version."deep-equal"."0.0.0";
+  by-version."deep-equal"."0.0.0" = self.buildNodePackage {
+    name = "deep-equal-0.0.0";
+    version = "0.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
+      name = "deep-equal-0.0.0.tgz";
+      sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."deep-is"."0.1.x" =
+    self.by-version."deep-is"."0.1.3";
+  by-version."deep-is"."0.1.3" = self.buildNodePackage {
+    name = "deep-is-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
+      name = "deep-is-0.1.3.tgz";
+      sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."delayed-stream"."0.0.5" =
+    self.by-version."delayed-stream"."0.0.5";
+  by-version."delayed-stream"."0.0.5" = self.buildNodePackage {
+    name = "delayed-stream-0.0.5";
+    version = "0.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+      name = "delayed-stream-0.0.5.tgz";
+      sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+    };
+    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."diacritics"."~1.2.1" =
+    self.by-version."diacritics"."1.2.1";
+  by-version."diacritics"."1.2.1" = self.buildNodePackage {
+    name = "diacritics-1.2.1";
+    version = "1.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/diacritics/-/diacritics-1.2.1.tgz";
+      name = "diacritics-1.2.1.tgz";
+      sha1 = "e4d323a7c564197f7af514c5964bd45d0eb8cf77";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."difflet"."~0.2.0" =
+    self.by-version."difflet"."0.2.6";
+  by-version."difflet"."0.2.6" = self.buildNodePackage {
+    name = "difflet-0.2.6";
+    version = "0.2.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/difflet/-/difflet-0.2.6.tgz";
+      name = "difflet-0.2.6.tgz";
+      sha1 = "ab23b31f5649b6faa8e3d2acbd334467365ca6fa";
+    };
+    deps = {
+      "traverse-0.6.6" = self.by-version."traverse"."0.6.6";
+      "charm-0.1.2" = self.by-version."charm"."0.1.2";
+      "deep-is-0.1.3" = self.by-version."deep-is"."0.1.3";
+    };
+    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.3" =
+    self.by-version."domhandler"."2.3.0";
+  by-version."domhandler"."2.3.0" = self.buildNodePackage {
+    name = "domhandler-2.3.0";
+    version = "2.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz";
+      name = "domhandler-2.3.0.tgz";
+      sha1 = "2de59a0822d5027fabff6f032c2b25a2a8abe738";
+    };
+    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."ee-first"."1.1.0" =
+    self.by-version."ee-first"."1.1.0";
+  by-version."ee-first"."1.1.0" = self.buildNodePackage {
+    name = "ee-first-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz";
+      name = "ee-first-1.1.0.tgz";
+      sha1 = "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4";
+    };
+    deps = {
+    };
+    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.1" =
+    self.by-version."escape-html"."1.0.1";
+  by-version."escape-html"."1.0.1" = self.buildNodePackage {
+    name = "escape-html-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+      name = "escape-html-1.0.1.tgz";
+      sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."escape-string-regexp"."^1.0.2" =
+    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."etag"."~1.6.0" =
+    self.by-version."etag"."1.6.0";
+  by-version."etag"."1.6.0" = self.buildNodePackage {
+    name = "etag-1.6.0";
+    version = "1.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/etag/-/etag-1.6.0.tgz";
+      name = "etag-1.6.0.tgz";
+      sha1 = "8bcb2c6af1254c481dfc8b997c906ef4e442c207";
+    };
+    deps = {
+      "crc-3.2.1" = self.by-version."crc"."3.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."express"."~4.12.3" =
+    self.by-version."express"."4.12.4";
+  by-version."express"."4.12.4" = self.buildNodePackage {
+    name = "express-4.12.4";
+    version = "4.12.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/express/-/express-4.12.4.tgz";
+      name = "express-4.12.4.tgz";
+      sha1 = "8fec2510255bc6b2e58107c48239c0fa307c1aa2";
+    };
+    deps = {
+      "accepts-1.2.9" = self.by-version."accepts"."1.2.9";
+      "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.2" = self.by-version."cookie"."0.1.2";
+      "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.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.6.0" = self.by-version."etag"."1.6.0";
+      "finalhandler-0.3.6" = self.by-version."finalhandler"."0.3.6";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "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.2.1" = self.by-version."on-finished"."2.2.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
+      "proxy-addr-1.0.8" = self.by-version."proxy-addr"."1.0.8";
+      "qs-2.4.2" = self.by-version."qs"."2.4.2";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "send-0.12.3" = self.by-version."send"."0.12.3";
+      "serve-static-1.9.3" = self.by-version."serve-static"."1.9.3";
+      "type-is-1.6.3" = self.by-version."type-is"."1.6.3";
+      "vary-1.0.0" = self.by-version."vary"."1.0.0";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "express" = self.by-version."express"."4.12.4";
+  by-spec."fast-future"."~1.0.0" =
+    self.by-version."fast-future"."1.0.1";
+  by-version."fast-future"."1.0.1" = self.buildNodePackage {
+    name = "fast-future-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fast-future/-/fast-future-1.0.1.tgz";
+      name = "fast-future-1.0.1.tgz";
+      sha1 = "6cbd22d999ab39cd10fc79392486e7a678716818";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fd-slicer"."~1.0.0" =
+    self.by-version."fd-slicer"."1.0.1";
+  by-version."fd-slicer"."1.0.1" = self.buildNodePackage {
+    name = "fd-slicer-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz";
+      name = "fd-slicer-1.0.1.tgz";
+      sha1 = "8b5bcbd9ec327c5041bf9ab023fd6750f1177e65";
+    };
+    deps = {
+      "pend-1.2.0" = self.by-version."pend"."1.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."fd-slicer"."~1.0.1" =
+    self.by-version."fd-slicer"."1.0.1";
+  by-spec."finalhandler"."0.3.6" =
+    self.by-version."finalhandler"."0.3.6";
+  by-version."finalhandler"."0.3.6" = self.buildNodePackage {
+    name = "finalhandler-0.3.6";
+    version = "0.3.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.3.6.tgz";
+      name = "finalhandler-0.3.6.tgz";
+      sha1 = "daf9c4161b1b06e001466b1411dfdb6973be138b";
+    };
+    deps = {
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."findit2"."~2.2.3" =
+    self.by-version."findit2"."2.2.3";
+  by-version."findit2"."2.2.3" = self.buildNodePackage {
+    name = "findit2-2.2.3";
+    version = "2.2.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/findit2/-/findit2-2.2.3.tgz";
+      name = "findit2-2.2.3.tgz";
+      sha1 = "58a466697df8a6205cdfdbf395536b8bd777a5f6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "findit2" = self.by-version."findit2"."2.2.3";
+  by-spec."forever-agent"."~0.5.0" =
+    self.by-version."forever-agent"."0.5.2";
+  by-version."forever-agent"."0.5.2" = self.buildNodePackage {
+    name = "forever-agent-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+      name = "forever-agent-0.5.2.tgz";
+      sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+    };
+    deps = {
+    };
+    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"."~0.2.0" =
+    self.by-version."form-data"."0.2.0";
+  by-version."form-data"."0.2.0" = self.buildNodePackage {
+    name = "form-data-0.2.0";
+    version = "0.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz";
+      name = "form-data-0.2.0.tgz";
+      sha1 = "26f8bc26da6440e299cbdcfb69035c4f77a6e466";
+    };
+    deps = {
+      "async-0.9.2" = self.by-version."async"."0.9.2";
+      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "mime-types-2.0.14" = self.by-version."mime-types"."2.0.14";
+    };
+    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.2.4" =
+    self.by-version."fresh"."0.2.4";
+  by-version."fresh"."0.2.4" = self.buildNodePackage {
+    name = "fresh-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
+      name = "fresh-0.2.4.tgz";
+      sha1 = "3582499206c9723714190edd74b4604feb4a614c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."gapitoken"."~0.1.2" =
+    self.by-version."gapitoken"."0.1.4";
+  by-version."gapitoken"."0.1.4" = self.buildNodePackage {
+    name = "gapitoken-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gapitoken/-/gapitoken-0.1.4.tgz";
+      name = "gapitoken-0.1.4.tgz";
+      sha1 = "643dedb26cb142466f62b73d2782e7822a6f1ad8";
+    };
+    deps = {
+      "jws-0.0.2" = self.by-version."jws"."0.0.2";
+      "request-2.57.0" = self.by-version."request"."2.57.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."get-stdin"."^4.0.1" =
+    self.by-version."get-stdin"."4.0.1";
+  by-version."get-stdin"."4.0.1" = self.buildNodePackage {
+    name = "get-stdin-4.0.1";
+    version = "4.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";
+      name = "get-stdin-4.0.1.tgz";
+      sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."glob"."3.2.x" =
+    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."google-auth-library"."~0.9.3" =
+    self.by-version."google-auth-library"."0.9.6";
+  by-version."google-auth-library"."0.9.6" = self.buildNodePackage {
+    name = "google-auth-library-0.9.6";
+    version = "0.9.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/google-auth-library/-/google-auth-library-0.9.6.tgz";
+      name = "google-auth-library-0.9.6.tgz";
+      sha1 = "57aa09f2621d6eafe8852b0167c9100759a67220";
+    };
+    deps = {
+      "async-0.9.2" = self.by-version."async"."0.9.2";
+      "gtoken-1.1.1" = self.by-version."gtoken"."1.1.1";
+      "lodash.noop-3.0.0" = self.by-version."lodash.noop"."3.0.0";
+      "jws-3.0.0" = self.by-version."jws"."3.0.0";
+      "request-2.51.0" = self.by-version."request"."2.51.0";
+      "string-template-0.2.1" = self.by-version."string-template"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."google-p12-pem"."^0.0.1" =
+    self.by-version."google-p12-pem"."0.0.1";
+  by-version."google-p12-pem"."0.0.1" = self.buildNodePackage {
+    name = "google-p12-pem-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/google-p12-pem/-/google-p12-pem-0.0.1.tgz";
+      name = "google-p12-pem-0.0.1.tgz";
+      sha1 = "965638d464f13b4a866356a5ba047163ec0b08b7";
+    };
+    deps = {
+      "node-forge-0.6.16" = self.by-version."node-forge"."0.6.16";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."googleapis"."~2.0.3" =
+    self.by-version."googleapis"."2.0.5";
+  by-version."googleapis"."2.0.5" = self.buildNodePackage {
+    name = "googleapis-2.0.5";
+    version = "2.0.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/googleapis/-/googleapis-2.0.5.tgz";
+      name = "googleapis-2.0.5.tgz";
+      sha1 = "fb2d678f97152eb0a336da84bbc1eeb16a9c8310";
+    };
+    deps = {
+      "async-0.9.2" = self.by-version."async"."0.9.2";
+      "gapitoken-0.1.4" = self.by-version."gapitoken"."0.1.4";
+      "google-auth-library-0.9.6" = self.by-version."google-auth-library"."0.9.6";
+      "request-2.54.0" = self.by-version."request"."2.54.0";
+      "string-template-0.2.1" = self.by-version."string-template"."0.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "googleapis" = self.by-version."googleapis"."2.0.5";
+  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."groove"."~2.3.3" =
+    self.by-version."groove"."2.3.4";
+  by-version."groove"."2.3.4" = self.buildNodePackage {
+    name = "groove-2.3.4";
+    version = "2.3.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/groove/-/groove-2.3.4.tgz";
+      name = "groove-2.3.4.tgz";
+      sha1 = "bbfb8e40584c5921f6df9d52d4017f2acb0a7e45";
+    };
+    deps = {
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "nan-1.8.4" = self.by-version."nan"."1.8.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "groove" = self.by-version."groove"."2.3.4";
+  by-spec."gtoken"."^1.1.0" =
+    self.by-version."gtoken"."1.1.1";
+  by-version."gtoken"."1.1.1" = self.buildNodePackage {
+    name = "gtoken-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/gtoken/-/gtoken-1.1.1.tgz";
+      name = "gtoken-1.1.1.tgz";
+      sha1 = "969af828d1f7efea32a500ea09b0edfa8e0c438a";
+    };
+    deps = {
+      "google-p12-pem-0.0.1" = self.by-version."google-p12-pem"."0.0.1";
+      "jws-3.0.0" = self.by-version."jws"."3.0.0";
+      "mime-1.3.4" = self.by-version."mime"."1.3.4";
+      "request-2.57.0" = self.by-version."request"."2.57.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."har-validator"."^1.4.0" =
+    self.by-version."har-validator"."1.7.1";
+  by-version."har-validator"."1.7.1" = self.buildNodePackage {
+    name = "har-validator-1.7.1";
+    version = "1.7.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/har-validator/-/har-validator-1.7.1.tgz";
+      name = "har-validator-1.7.1.tgz";
+      sha1 = "8ec8952f8287d21b451ba3e36f27ed8d997d8a95";
+    };
+    deps = {
+      "bluebird-2.9.30" = self.by-version."bluebird"."2.9.30";
+      "chalk-1.0.0" = self.by-version."chalk"."1.0.0";
+      "commander-2.8.1" = self.by-version."commander"."2.8.1";
+      "is-my-json-valid-2.12.0" = self.by-version."is-my-json-valid"."2.12.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."har-validator"."^1.6.1" =
+    self.by-version."har-validator"."1.7.1";
+  by-spec."has-ansi"."^1.0.3" =
+    self.by-version."has-ansi"."1.0.3";
+  by-version."has-ansi"."1.0.3" = self.buildNodePackage {
+    name = "has-ansi-1.0.3";
+    version = "1.0.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-ansi/-/has-ansi-1.0.3.tgz";
+      name = "has-ansi-1.0.3.tgz";
+      sha1 = "c0b5b1615d9e382b0ff67169d967b425e48ca538";
+    };
+    deps = {
+      "ansi-regex-1.1.1" = self.by-version."ansi-regex"."1.1.1";
+      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hawk"."1.1.1" =
+    self.by-version."hawk"."1.1.1";
+  by-version."hawk"."1.1.1" = self.buildNodePackage {
+    name = "hawk-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz";
+      name = "hawk-1.1.1.tgz";
+      sha1 = "87cd491f9b46e4e2aeaca335416766885d2d1ed9";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+      "boom-0.4.2" = self.by-version."boom"."0.4.2";
+      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
+      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."hawk"."~2.3.0" =
+    self.by-version."hawk"."2.3.1";
+  by-version."hawk"."2.3.1" = self.buildNodePackage {
+    name = "hawk-2.3.1";
+    version = "2.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz";
+      name = "hawk-2.3.1.tgz";
+      sha1 = "1e731ce39447fa1d0f6d707f7bceebec0fd1ec1f";
+    };
+    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"."0.9.x" =
+    self.by-version."hoek"."0.9.1";
+  by-version."hoek"."0.9.1" = self.buildNodePackage {
+    name = "hoek-0.9.1";
+    version = "0.9.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+      name = "hoek-0.9.1.tgz";
+      sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+    };
+    deps = {
+    };
+    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."htmlparser2"."~3.8.1" =
+    self.by-version."htmlparser2"."3.8.3";
+  by-version."htmlparser2"."3.8.3" = self.buildNodePackage {
+    name = "htmlparser2-3.8.3";
+    version = "3.8.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz";
+      name = "htmlparser2-3.8.3.tgz";
+      sha1 = "996c28b191516a8be86501a7d79757e5c70c1068";
+    };
+    deps = {
+      "domhandler-2.3.0" = self.by-version."domhandler"."2.3.0";
+      "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-signature"."~0.10.0" =
+    self.by-version."http-signature"."0.10.1";
+  by-version."http-signature"."0.10.1" = self.buildNodePackage {
+    name = "http-signature-0.10.1";
+    version = "0.10.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
+      name = "http-signature-0.10.1.tgz";
+      sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
+    };
+    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."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."httpolyglot"."~0.1.1" =
+    self.by-version."httpolyglot"."0.1.1";
+  by-version."httpolyglot"."0.1.1" = self.buildNodePackage {
+    name = "httpolyglot-0.1.1";
+    version = "0.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/httpolyglot/-/httpolyglot-0.1.1.tgz";
+      name = "httpolyglot-0.1.1.tgz";
+      sha1 = "cd0f5c995cbb95dde325d16a7537f90c0048e53d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "httpolyglot" = self.by-version."httpolyglot"."0.1.1";
+  by-spec."human-size"."~1.1.0" =
+    self.by-version."human-size"."1.1.0";
+  by-version."human-size"."1.1.0" = self.buildNodePackage {
+    name = "human-size-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/human-size/-/human-size-1.1.0.tgz";
+      name = "human-size-1.1.0.tgz";
+      sha1 = "052562be999841c037022c20259990c56ea996f9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "human-size" = self.by-version."human-size"."1.1.0";
+  by-spec."indent-string"."^1.1.0" =
+    self.by-version."indent-string"."1.2.1";
+  by-version."indent-string"."1.2.1" = self.buildNodePackage {
+    name = "indent-string-1.2.1";
+    version = "1.2.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/indent-string/-/indent-string-1.2.1.tgz";
+      name = "indent-string-1.2.1.tgz";
+      sha1 = "294c5930792f8bb5b14462a4aa425b94f07d3a56";
+    };
+    deps = {
+      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
+      "minimist-1.1.1" = self.by-version."minimist"."1.1.1";
+      "repeating-1.1.3" = self.by-version."repeating"."1.1.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."inherits"."*" =
+    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" =
+    self.by-version."inherits"."2.0.1";
+  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."is-finite"."^1.0.0" =
+    self.by-version."is-finite"."1.0.1";
+  by-version."is-finite"."1.0.1" = self.buildNodePackage {
+    name = "is-finite-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz";
+      name = "is-finite-1.0.1.tgz";
+      sha1 = "6438603eaebe2793948ff4a4262ec8db3d62597b";
+    };
+    deps = {
+      "number-is-nan-1.0.0" = self.by-version."number-is-nan"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."is-my-json-valid"."^2.12.0" =
+    self.by-version."is-my-json-valid"."2.12.0";
+  by-version."is-my-json-valid"."2.12.0" = self.buildNodePackage {
+    name = "is-my-json-valid-2.12.0";
+    version = "2.12.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.0.tgz";
+      name = "is-my-json-valid-2.12.0.tgz";
+      sha1 = "8fa6c408b26be95b45a23e8f8c4b464a53874d2b";
+    };
+    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."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."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."jstream"."~0.2.7" =
+    self.by-version."jstream"."0.2.7";
+  by-version."jstream"."0.2.7" = self.buildNodePackage {
+    name = "jstream-0.2.7";
+    version = "0.2.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jstream/-/jstream-0.2.7.tgz";
+      name = "jstream-0.2.7.tgz";
+      sha1 = "55f06cd6d4204caeac4907a5de1b90aabf4d60da";
+    };
+    deps = {
+      "clarinet-0.8.1" = self.by-version."clarinet"."0.8.1";
+      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jwa"."~1.0.0" =
+    self.by-version."jwa"."1.0.0";
+  by-version."jwa"."1.0.0" = self.buildNodePackage {
+    name = "jwa-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jwa/-/jwa-1.0.0.tgz";
+      name = "jwa-1.0.0.tgz";
+      sha1 = "040b64fb582171a65f3368e96837ea4dcf42f3d8";
+    };
+    deps = {
+      "base64url-0.0.6" = self.by-version."base64url"."0.0.6";
+      "buffer-equal-constant-time-1.0.1" = self.by-version."buffer-equal-constant-time"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jws"."0.0.2" =
+    self.by-version."jws"."0.0.2";
+  by-version."jws"."0.0.2" = self.buildNodePackage {
+    name = "jws-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jws/-/jws-0.0.2.tgz";
+      name = "jws-0.0.2.tgz";
+      sha1 = "8c6916977183cce3361da48c8c2e0c606e7a95c6";
+    };
+    deps = {
+      "tap-0.3.3" = self.by-version."tap"."0.3.3";
+      "base64url-0.0.3" = self.by-version."base64url"."0.0.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jws"."^3.0.0" =
+    self.by-version."jws"."3.0.0";
+  by-version."jws"."3.0.0" = self.buildNodePackage {
+    name = "jws-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/jws/-/jws-3.0.0.tgz";
+      name = "jws-3.0.0.tgz";
+      sha1 = "da5f267897dd4e9cf8137979db33fc54a3c05418";
+    };
+    deps = {
+      "jwa-1.0.0" = self.by-version."jwa"."1.0.0";
+      "base64url-1.0.4" = self.by-version."base64url"."1.0.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."jws"."~3.0.0" =
+    self.by-version."jws"."3.0.0";
+  by-spec."keese"."~1.1.1" =
+    self.by-version."keese"."1.1.1";
+  by-version."keese"."1.1.1" = self.buildNodePackage {
+    name = "keese-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/keese/-/keese-1.1.1.tgz";
+      name = "keese-1.1.1.tgz";
+      sha1 = "69a1f971e64ee5d2094af002f6d92fa806250842";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "keese" = self.by-version."keese"."1.1.1";
+  by-spec."keygrip"."~1.0.0" =
+    self.by-version."keygrip"."1.0.1";
+  by-version."keygrip"."1.0.1" = self.buildNodePackage {
+    name = "keygrip-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/keygrip/-/keygrip-1.0.1.tgz";
+      name = "keygrip-1.0.1.tgz";
+      sha1 = "b02fa4816eef21a8c4b35ca9e52921ffc89a30e9";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lastfm"."~0.9.2" =
+    self.by-version."lastfm"."0.9.2";
+  by-version."lastfm"."0.9.2" = self.buildNodePackage {
+    name = "lastfm-0.9.2";
+    version = "0.9.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lastfm/-/lastfm-0.9.2.tgz";
+      name = "lastfm-0.9.2.tgz";
+      sha1 = "d00ca2e3b30eb484e510792875525900e4d77d88";
+    };
+    deps = {
+      "underscore-1.6.0" = self.by-version."underscore"."1.6.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "lastfm" = self.by-version."lastfm"."0.9.2";
+  by-spec."leveldown"."~1.0.6" =
+    self.by-version."leveldown"."1.0.7";
+  by-version."leveldown"."1.0.7" = self.buildNodePackage {
+    name = "leveldown-1.0.7";
+    version = "1.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/leveldown/-/leveldown-1.0.7.tgz";
+      name = "leveldown-1.0.7.tgz";
+      sha1 = "39bbe95f92ce09992ec12de47ade5167be2b6874";
+    };
+    deps = {
+      "abstract-leveldown-2.2.2" = self.by-version."abstract-leveldown"."2.2.2";
+      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
+      "fast-future-1.0.1" = self.by-version."fast-future"."1.0.1";
+      "nan-1.8.4" = self.by-version."nan"."1.8.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "leveldown" = self.by-version."leveldown"."1.0.7";
+  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.noop"."~3.0.0" =
+    self.by-version."lodash.noop"."3.0.0";
+  by-version."lodash.noop"."3.0.0" = self.buildNodePackage {
+    name = "lodash.noop-3.0.0";
+    version = "3.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lodash.noop/-/lodash.noop-3.0.0.tgz";
+      name = "lodash.noop-3.0.0.tgz";
+      sha1 = "f383ca8dba97d8f217e49afcd2b824db9e5e8d68";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."lru-cache"."2" =
+    self.by-version."lru-cache"."2.6.4";
+  by-version."lru-cache"."2.6.4" = self.buildNodePackage {
+    name = "lru-cache-2.6.4";
+    version = "2.6.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.6.4.tgz";
+      name = "lru-cache-2.6.4.tgz";
+      sha1 = "2675190ccd1b0701ec2f652a4d0d3d400d76c0dd";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."map-obj"."^1.0.0" =
+    self.by-version."map-obj"."1.0.1";
+  by-version."map-obj"."1.0.1" = self.buildNodePackage {
+    name = "map-obj-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz";
+      name = "map-obj-1.0.1.tgz";
+      sha1 = "d933ceb9205d82bdcf4886f6742bdc2b4dea146d";
+    };
+    deps = {
+    };
+    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."meow"."~2.0.0" =
+    self.by-version."meow"."2.0.0";
+  by-version."meow"."2.0.0" = self.buildNodePackage {
+    name = "meow-2.0.0";
+    version = "2.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/meow/-/meow-2.0.0.tgz";
+      name = "meow-2.0.0.tgz";
+      sha1 = "8f530a8ecf5d40d3f4b4df93c3472900fba2a8f1";
+    };
+    deps = {
+      "camelcase-keys-1.0.0" = self.by-version."camelcase-keys"."1.0.0";
+      "indent-string-1.2.1" = self.by-version."indent-string"."1.2.1";
+      "minimist-1.1.1" = self.by-version."minimist"."1.1.1";
+      "object-assign-1.0.0" = self.by-version."object-assign"."1.0.0";
+    };
+    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."mess"."~0.1.2" =
+    self.by-version."mess"."0.1.2";
+  by-version."mess"."0.1.2" = self.buildNodePackage {
+    name = "mess-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mess/-/mess-0.1.2.tgz";
+      name = "mess-0.1.2.tgz";
+      sha1 = "2c81a424efc87a69ad11f1c7129d1f6f6353b9c0";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "mess" = self.by-version."mess"."0.1.2";
+  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"."^1.2.11" =
+    self.by-version."mime"."1.3.4";
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = self.buildNodePackage {
+    name = "mime-1.2.11";
+    version = "1.2.11";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+      name = "mime-1.2.11.tgz";
+      sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-db"."~1.12.0" =
+    self.by-version."mime-db"."1.12.0";
+  by-version."mime-db"."1.12.0" = self.buildNodePackage {
+    name = "mime-db-1.12.0";
+    version = "1.12.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz";
+      name = "mime-db-1.12.0.tgz";
+      sha1 = "3d0c63180f458eb10d325aaa37d7c58ae312e9d7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-db"."~1.13.0" =
+    self.by-version."mime-db"."1.13.0";
+  by-version."mime-db"."1.13.0" = self.buildNodePackage {
+    name = "mime-db-1.13.0";
+    version = "1.13.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.13.0.tgz";
+      name = "mime-db-1.13.0.tgz";
+      sha1 = "fd6808168fe30835e7ea2205fc981d3b633e4e34";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-types"."~1.0.1" =
+    self.by-version."mime-types"."1.0.2";
+  by-version."mime-types"."1.0.2" = self.buildNodePackage {
+    name = "mime-types-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
+      name = "mime-types-1.0.2.tgz";
+      sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-types"."~2.0.1" =
+    self.by-version."mime-types"."2.0.14";
+  by-version."mime-types"."2.0.14" = self.buildNodePackage {
+    name = "mime-types-2.0.14";
+    version = "2.0.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz";
+      name = "mime-types-2.0.14.tgz";
+      sha1 = "310e159db23e077f8bb22b748dabfa4957140aa6";
+    };
+    deps = {
+      "mime-db-1.12.0" = self.by-version."mime-db"."1.12.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-types"."~2.0.3" =
+    self.by-version."mime-types"."2.0.14";
+  by-spec."mime-types"."~2.1.1" =
+    self.by-version."mime-types"."2.1.1";
+  by-version."mime-types"."2.1.1" = self.buildNodePackage {
+    name = "mime-types-2.1.1";
+    version = "2.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.1.1.tgz";
+      name = "mime-types-2.1.1.tgz";
+      sha1 = "c7b692796d5166f4826d10b4675c8a916657d04e";
+    };
+    deps = {
+      "mime-db-1.13.0" = self.by-version."mime-db"."1.13.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  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.4" = self.by-version."lru-cache"."2.6.4";
+      "sigmund-1.0.1" = self.by-version."sigmund"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  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."minimist"."^1.1.0" =
+    self.by-version."minimist"."1.1.1";
+  by-version."minimist"."1.1.1" = self.buildNodePackage {
+    name = "minimist-1.1.1";
+    version = "1.1.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimist/-/minimist-1.1.1.tgz";
+      name = "minimist-1.1.1.tgz";
+      sha1 = "1bc2bc71658cdca5712475684363615b0b4f695b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mkdirp"."0.3.x" =
+    self.by-version."mkdirp"."0.3.5";
+  by-version."mkdirp"."0.3.5" = self.buildNodePackage {
+    name = "mkdirp-0.3.5";
+    version = "0.3.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+      name = "mkdirp-0.3.5.tgz";
+      sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mkdirp"."~0.3" =
+    self.by-version."mkdirp"."0.3.5";
+  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 = [ ];
+  };
+  by-spec."mkdirp"."~0.5.1" =
+    self.by-version."mkdirp"."0.5.1";
+  "mkdirp" = self.by-version."mkdirp"."0.5.1";
+  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."multiparty"."~4.1.2" =
+    self.by-version."multiparty"."4.1.2";
+  by-version."multiparty"."4.1.2" = self.buildNodePackage {
+    name = "multiparty-4.1.2";
+    version = "4.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/multiparty/-/multiparty-4.1.2.tgz";
+      name = "multiparty-4.1.2.tgz";
+      sha1 = "54f8ec9712052fa1dfd8ec975056c8230d6f2370";
+    };
+    deps = {
+      "fd-slicer-1.0.1" = self.by-version."fd-slicer"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "multiparty" = self.by-version."multiparty"."4.1.2";
+  by-spec."music-library-index"."~1.3.0" =
+    self.by-version."music-library-index"."1.3.0";
+  by-version."music-library-index"."1.3.0" = self.buildNodePackage {
+    name = "music-library-index-1.3.0";
+    version = "1.3.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/music-library-index/-/music-library-index-1.3.0.tgz";
+      name = "music-library-index-1.3.0.tgz";
+      sha1 = "f7dbf6f7df5a0c8c50382542183872aedc5cb86a";
+    };
+    deps = {
+      "diacritics-1.2.1" = self.by-version."diacritics"."1.2.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "music-library-index" = self.by-version."music-library-index"."1.3.0";
+  by-spec."mv"."~2.0.3" =
+    self.by-version."mv"."2.0.3";
+  by-version."mv"."2.0.3" = self.buildNodePackage {
+    name = "mv-2.0.3";
+    version = "2.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mv/-/mv-2.0.3.tgz";
+      name = "mv-2.0.3.tgz";
+      sha1 = "e9ab707d71dc38de24edcc637a8e2f5f480c7f32";
+    };
+    deps = {
+      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
+      "ncp-0.6.0" = self.by-version."ncp"."0.6.0";
+      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "mv" = self.by-version."mv"."2.0.3";
+  by-spec."nan"."~1.8.4" =
+    self.by-version."nan"."1.8.4";
+  by-version."nan"."1.8.4" = self.buildNodePackage {
+    name = "nan-1.8.4";
+    version = "1.8.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nan/-/nan-1.8.4.tgz";
+      name = "nan-1.8.4.tgz";
+      sha1 = "3c76b5382eab33e44b758d2813ca9d92e9342f34";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ncp"."~0.6.0" =
+    self.by-version."ncp"."0.6.0";
+  by-version."ncp"."0.6.0" = self.buildNodePackage {
+    name = "ncp-0.6.0";
+    version = "0.6.0";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ncp/-/ncp-0.6.0.tgz";
+      name = "ncp-0.6.0.tgz";
+      sha1 = "df8ce021e262be21b52feb3d3e5cfaab12491f0d";
+    };
+    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-forge"."0.6.16" =
+    self.by-version."node-forge"."0.6.16";
+  by-version."node-forge"."0.6.16" = self.buildNodePackage {
+    name = "node-forge-0.6.16";
+    version = "0.6.16";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-forge/-/node-forge-0.6.16.tgz";
+      name = "node-forge-0.6.16.tgz";
+      sha1 = "aae85babf97034d46f1b74a39bfe5891282ae842";
+    };
+    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"."~2" =
+    self.by-version."nopt"."2.2.1";
+  by-version."nopt"."2.2.1" = self.buildNodePackage {
+    name = "nopt-2.2.1";
+    version = "2.2.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz";
+      name = "nopt-2.2.1.tgz";
+      sha1 = "2aa09b7d1768487b3b89a9c5aa52335bff0baea7";
+    };
+    deps = {
+      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."number-is-nan"."^1.0.0" =
+    self.by-version."number-is-nan"."1.0.0";
+  by-version."number-is-nan"."1.0.0" = self.buildNodePackage {
+    name = "number-is-nan-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz";
+      name = "number-is-nan-1.0.0.tgz";
+      sha1 = "c020f529c5282adfdd233d91d4b181c3d686dc4b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."oauth-sign"."~0.5.0" =
+    self.by-version."oauth-sign"."0.5.0";
+  by-version."oauth-sign"."0.5.0" = self.buildNodePackage {
+    name = "oauth-sign-0.5.0";
+    version = "0.5.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz";
+      name = "oauth-sign-0.5.0.tgz";
+      sha1 = "d767f5169325620eab2e087ef0c472e773db6461";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."oauth-sign"."~0.6.0" =
+    self.by-version."oauth-sign"."0.6.0";
+  by-version."oauth-sign"."0.6.0" = self.buildNodePackage {
+    name = "oauth-sign-0.6.0";
+    version = "0.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz";
+      name = "oauth-sign-0.6.0.tgz";
+      sha1 = "7dbeae44f6ca454e1f168451d630746735813ce3";
+    };
+    deps = {
+    };
+    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-assign"."^1.0.0" =
+    self.by-version."object-assign"."1.0.0";
+  by-version."object-assign"."1.0.0" = self.buildNodePackage {
+    name = "object-assign-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/object-assign/-/object-assign-1.0.0.tgz";
+      name = "object-assign-1.0.0.tgz";
+      sha1 = "e65dc8766d3b47b4b8307465c8311da030b070a6";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."on-finished"."~2.2.1" =
+    self.by-version."on-finished"."2.2.1";
+  by-version."on-finished"."2.2.1" = self.buildNodePackage {
+    name = "on-finished-2.2.1";
+    version = "2.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz";
+      name = "on-finished-2.2.1.tgz";
+      sha1 = "5c85c1cc36299f78029653f667f27b6b99ebc029";
+    };
+    deps = {
+      "ee-first-1.1.0" = self.by-version."ee-first"."1.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."os-tmpdir"."^1.0.0" =
+    self.by-version."os-tmpdir"."1.0.1";
+  by-version."os-tmpdir"."1.0.1" = self.buildNodePackage {
+    name = "os-tmpdir-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz";
+      name = "os-tmpdir-1.0.1.tgz";
+      sha1 = "e9b423a1edaf479882562e92ed71d7743a071b6e";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."osenv"."~0.1.0" =
+    self.by-version."osenv"."0.1.2";
+  by-version."osenv"."0.1.2" = self.buildNodePackage {
+    name = "osenv-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/osenv/-/osenv-0.1.2.tgz";
+      name = "osenv-0.1.2.tgz";
+      sha1 = "f4d23ebeceaef078600fb78c0ea58fac5996a02d";
+    };
+    deps = {
+      "os-tmpdir-1.0.1" = self.by-version."os-tmpdir"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "osenv" = self.by-version."osenv"."0.1.2";
+  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.3" =
+    self.by-version."path-to-regexp"."0.1.3";
+  by-version."path-to-regexp"."0.1.3" = self.buildNodePackage {
+    name = "path-to-regexp-0.1.3";
+    version = "0.1.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
+      name = "path-to-regexp-0.1.3.tgz";
+      sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."pend"."~1.2.0" =
+    self.by-version."pend"."1.2.0";
+  by-version."pend"."1.2.0" = self.buildNodePackage {
+    name = "pend-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
+      name = "pend-1.2.0.tgz";
+      sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "pend" = self.by-version."pend"."1.2.0";
+  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"."2.4.2" =
+    self.by-version."qs"."2.4.2";
+  by-version."qs"."2.4.2" = self.buildNodePackage {
+    name = "qs-2.4.2";
+    version = "2.4.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-2.4.2.tgz";
+      name = "qs-2.4.2.tgz";
+      sha1 = "f7ce788e5777df0b5010da7f7c4e73ba32470f5a";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."~2.3.1" =
+    self.by-version."qs"."2.3.3";
+  by-version."qs"."2.3.3" = self.buildNodePackage {
+    name = "qs-2.3.3";
+    version = "2.3.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-2.3.3.tgz";
+      name = "qs-2.3.3.tgz";
+      sha1 = "e9e85adbe75da0bbe4c8e0476a086290f863b404";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."qs"."~2.4.0" =
+    self.by-version."qs"."2.4.2";
+  by-spec."qs"."~3.1.0" =
+    self.by-version."qs"."3.1.0";
+  by-version."qs"."3.1.0" = self.buildNodePackage {
+    name = "qs-3.1.0";
+    version = "3.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/qs-3.1.0.tgz";
+      name = "qs-3.1.0.tgz";
+      sha1 = "d0e9ae745233a12dc43fb4f3055bba446261153c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  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."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"."~1.0.26" =
+    self.by-version."readable-stream"."1.0.33";
+  by-version."readable-stream"."1.0.33" = self.buildNodePackage {
+    name = "readable-stream-1.0.33";
+    version = "1.0.33";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz";
+      name = "readable-stream-1.0.33.tgz";
+      sha1 = "3a360dd66c1b1d7fd4705389860eda1d0f61126c";
+    };
+    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"."~1.1.9" =
+    self.by-version."readable-stream"."1.1.13";
+  by-spec."repeating"."^1.1.0" =
+    self.by-version."repeating"."1.1.3";
+  by-version."repeating"."1.1.3" = self.buildNodePackage {
+    name = "repeating-1.1.3";
+    version = "1.1.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz";
+      name = "repeating-1.1.3.tgz";
+      sha1 = "3d4114218877537494f97f77f9785fab810fa4ac";
+    };
+    deps = {
+      "is-finite-1.0.1" = self.by-version."is-finite"."1.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."^2.37.0" =
+    self.by-version."request"."2.57.0";
+  by-version."request"."2.57.0" = self.buildNodePackage {
+    name = "request-2.57.0";
+    version = "2.57.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.57.0.tgz";
+      name = "request-2.57.0.tgz";
+      sha1 = "d445105a42d009b9d724289633b449a6d723d989";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "caseless-0.10.0" = self.by-version."caseless"."0.10.0";
+      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
+      "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
+      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
+      "mime-types-2.0.14" = self.by-version."mime-types"."2.0.14";
+      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
+      "qs-3.1.0" = self.by-version."qs"."3.1.0";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "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-2.3.1" = self.by-version."hawk"."2.3.1";
+      "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.7.1" = self.by-version."har-validator"."1.7.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."^2.54.0" =
+    self.by-version."request"."2.57.0";
+  by-spec."request"."^2.55.0" =
+    self.by-version."request"."2.57.0";
+  by-spec."request"."~2.51.0" =
+    self.by-version."request"."2.51.0";
+  by-version."request"."2.51.0" = self.buildNodePackage {
+    name = "request-2.51.0";
+    version = "2.51.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.51.0.tgz";
+      name = "request-2.51.0.tgz";
+      sha1 = "35d00bbecc012e55f907b1bd9e0dbd577bfef26e";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "caseless-0.8.0" = self.by-version."caseless"."0.8.0";
+      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
+      "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
+      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
+      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
+      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
+      "qs-2.3.3" = self.by-version."qs"."2.3.3";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "tough-cookie-2.0.0" = self.by-version."tough-cookie"."2.0.0";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.5.0" = self.by-version."oauth-sign"."0.5.0";
+      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
+      "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-0.0.7" = self.by-version."combined-stream"."0.0.7";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."request"."~2.54.0" =
+    self.by-version."request"."2.54.0";
+  by-version."request"."2.54.0" = self.buildNodePackage {
+    name = "request-2.54.0";
+    version = "2.54.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/request/-/request-2.54.0.tgz";
+      name = "request-2.54.0.tgz";
+      sha1 = "a13917cd8e8fa73332da0bf2f84a30181def1953";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "caseless-0.9.0" = self.by-version."caseless"."0.9.0";
+      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
+      "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
+      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
+      "mime-types-2.0.14" = self.by-version."mime-types"."2.0.14";
+      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
+      "qs-2.4.2" = self.by-version."qs"."2.4.2";
+      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
+      "tough-cookie-2.0.0" = self.by-version."tough-cookie"."2.0.0";
+      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
+      "oauth-sign-0.6.0" = self.by-version."oauth-sign"."0.6.0";
+      "hawk-2.3.1" = self.by-version."hawk"."2.3.1";
+      "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-0.0.7" = self.by-version."combined-stream"."0.0.7";
+      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
+      "har-validator-1.7.1" = self.by-version."har-validator"."1.7.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  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."runforcover"."~0.0.2" =
+    self.by-version."runforcover"."0.0.2";
+  by-version."runforcover"."0.0.2" = self.buildNodePackage {
+    name = "runforcover-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/runforcover/-/runforcover-0.0.2.tgz";
+      name = "runforcover-0.0.2.tgz";
+      sha1 = "344f057d8d45d33aebc6cc82204678f69c4857cc";
+    };
+    deps = {
+      "bunker-0.1.2" = self.by-version."bunker"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sax"."0.5.x" =
+    self.by-version."sax"."0.5.8";
+  by-version."sax"."0.5.8" = self.buildNodePackage {
+    name = "sax-0.5.8";
+    version = "0.5.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sax/-/sax-0.5.8.tgz";
+      name = "sax-0.5.8.tgz";
+      sha1 = "d472db228eb331c2506b0e8c15524adb939d12c1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."semver"."~4.3.4" =
+    self.by-version."semver"."4.3.6";
+  by-version."semver"."4.3.6" = self.buildNodePackage {
+    name = "semver-4.3.6";
+    version = "4.3.6";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz";
+      name = "semver-4.3.6.tgz";
+      sha1 = "300bc6e0e86374f7ba61068b5b1ecd57fc6532da";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "semver" = self.by-version."semver"."4.3.6";
+  by-spec."send"."0.12.3" =
+    self.by-version."send"."0.12.3";
+  by-version."send"."0.12.3" = self.buildNodePackage {
+    name = "send-0.12.3";
+    version = "0.12.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/send/-/send-0.12.3.tgz";
+      name = "send-0.12.3.tgz";
+      sha1 = "cd12dc58fde21e4f91902b39b2fda05a7a6d9bdc";
+    };
+    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.1" = self.by-version."escape-html"."1.0.1";
+      "etag-1.6.0" = self.by-version."etag"."1.6.0";
+      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
+      "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.2.1" = self.by-version."on-finished"."2.2.1";
+      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."serve-static"."~1.9.3" =
+    self.by-version."serve-static"."1.9.3";
+  by-version."serve-static"."1.9.3" = self.buildNodePackage {
+    name = "serve-static-1.9.3";
+    version = "1.9.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/serve-static/-/serve-static-1.9.3.tgz";
+      name = "serve-static-1.9.3.tgz";
+      sha1 = "5f8da07323ad385ff3dc541f1a7917b2e436eb57";
+    };
+    deps = {
+      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
+      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "send-0.12.3" = self.by-version."send"."0.12.3";
+      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "serve-static" = self.by-version."serve-static"."1.9.3";
+  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."slide"."*" =
+    self.by-version."slide"."1.1.6";
+  by-version."slide"."1.1.6" = self.buildNodePackage {
+    name = "slide-1.1.6";
+    version = "1.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/slide/-/slide-1.1.6.tgz";
+      name = "slide-1.1.6.tgz";
+      sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."sntp"."0.2.x" =
+    self.by-version."sntp"."0.2.4";
+  by-version."sntp"."0.2.4" = self.buildNodePackage {
+    name = "sntp-0.2.4";
+    version = "0.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+      name = "sntp-0.2.4.tgz";
+      sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+    };
+    deps = {
+      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
+    };
+    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."source-map"."0.1.x" =
+    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-0.1.1" = self.by-version."amdefine"."0.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."streamsink"."~1.2.0" =
+    self.by-version."streamsink"."1.2.0";
+  by-version."streamsink"."1.2.0" = self.buildNodePackage {
+    name = "streamsink-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/streamsink/-/streamsink-1.2.0.tgz";
+      name = "streamsink-1.2.0.tgz";
+      sha1 = "efafee9f1e22d3591ed7de3dcaa95c3f5e79f73c";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."string-template"."~0.2.0" =
+    self.by-version."string-template"."0.2.1";
+  by-version."string-template"."0.2.1" = self.buildNodePackage {
+    name = "string-template-0.2.1";
+    version = "0.2.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz";
+      name = "string-template-0.2.1.tgz";
+      sha1 = "42932e598a352d01fc22ec3367d9d84eec6c9add";
+    };
+    deps = {
+    };
+    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"."^2.0.1" =
+    self.by-version."strip-ansi"."2.0.1";
+  by-version."strip-ansi"."2.0.1" = self.buildNodePackage {
+    name = "strip-ansi-2.0.1";
+    version = "2.0.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz";
+      name = "strip-ansi-2.0.1.tgz";
+      sha1 = "df62c1aa94ed2f114e1d0f21fd1d50482b79a60e";
+    };
+    deps = {
+      "ansi-regex-1.1.1" = self.by-version."ansi-regex"."1.1.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."stylus"."~0.49.3" =
+    self.by-version."stylus"."0.49.3";
+  by-version."stylus"."0.49.3" = self.buildNodePackage {
+    name = "stylus-0.49.3";
+    version = "0.49.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/stylus/-/stylus-0.49.3.tgz";
+      name = "stylus-0.49.3.tgz";
+      sha1 = "1fbdabe479ed460872c71a6252a67f95040ba511";
+    };
+    deps = {
+      "css-parse-1.7.0" = self.by-version."css-parse"."1.7.0";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "sax-0.5.8" = self.by-version."sax"."0.5.8";
+      "glob-3.2.11" = self.by-version."glob"."3.2.11";
+      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "stylus" = self.by-version."stylus"."0.49.3";
+  by-spec."supports-color"."^1.3.0" =
+    self.by-version."supports-color"."1.3.1";
+  by-version."supports-color"."1.3.1" = self.buildNodePackage {
+    name = "supports-color-1.3.1";
+    version = "1.3.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz";
+      name = "supports-color-1.3.1.tgz";
+      sha1 = "15758df09d8ff3b4acc307539fabe27095e1042d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tap"."~0.3.3" =
+    self.by-version."tap"."0.3.3";
+  by-version."tap"."0.3.3" = self.buildNodePackage {
+    name = "tap-0.3.3";
+    version = "0.3.3";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tap/-/tap-0.3.3.tgz";
+      name = "tap-0.3.3.tgz";
+      sha1 = "c862237af0a213f97fff46594bd1d44eca705d63";
+    };
+    deps = {
+      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
+      "yamlish-0.0.7" = self.by-version."yamlish"."0.0.7";
+      "slide-1.1.6" = self.by-version."slide"."1.1.6";
+      "runforcover-0.0.2" = self.by-version."runforcover"."0.0.2";
+      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
+      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
+      "difflet-0.2.6" = self.by-version."difflet"."0.2.6";
+      "deep-equal-0.0.0" = self.by-version."deep-equal"."0.0.0";
+      "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
+    };
+    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."traverse"."0.6.x" =
+    self.by-version."traverse"."0.6.6";
+  by-version."traverse"."0.6.6" = self.buildNodePackage {
+    name = "traverse-0.6.6";
+    version = "0.6.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz";
+      name = "traverse-0.6.6.tgz";
+      sha1 = "cbdf560fd7b9af632502fed40f918c157ea97137";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."traverse"."~0.5.1" =
+    self.by-version."traverse"."0.5.2";
+  by-version."traverse"."0.5.2" = self.buildNodePackage {
+    name = "traverse-0.5.2";
+    version = "0.5.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/traverse/-/traverse-0.5.2.tgz";
+      name = "traverse-0.5.2.tgz";
+      sha1 = "e203c58d5f7f0e37db6e74c0acb929bb09b61d85";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."tunnel-agent"."~0.4.0" =
+    self.by-version."tunnel-agent"."0.4.0";
+  by-version."tunnel-agent"."0.4.0" = self.buildNodePackage {
+    name = "tunnel-agent-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz";
+      name = "tunnel-agent-0.4.0.tgz";
+      sha1 = "b1184e312ffbcf70b3b4c78e8c219de7ebb1c550";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."type-is"."~1.6.2" =
+    self.by-version."type-is"."1.6.3";
+  by-version."type-is"."1.6.3" = self.buildNodePackage {
+    name = "type-is-1.6.3";
+    version = "1.6.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/type-is/-/type-is-1.6.3.tgz";
+      name = "type-is-1.6.3.tgz";
+      sha1 = "d87d201777f76dfc526ac202679715d41a28c580";
+    };
+    deps = {
+      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
+      "mime-types-2.1.1" = self.by-version."mime-types"."2.1.1";
+    };
+    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"."~1.1.1" =
+    self.by-version."uglify-js"."1.1.1";
+  by-version."uglify-js"."1.1.1" = self.buildNodePackage {
+    name = "uglify-js-1.1.1";
+    version = "1.1.1";
+    bin = true;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.1.1.tgz";
+      name = "uglify-js-1.1.1.tgz";
+      sha1 = "ee71a97c4cefd06a1a9b20437f34118982aa035b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."underscore"."^1.6.0" =
+    self.by-version."underscore"."1.8.3";
+  by-version."underscore"."1.8.3" = self.buildNodePackage {
+    name = "underscore-1.8.3";
+    version = "1.8.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz";
+      name = "underscore-1.8.3.tgz";
+      sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."underscore"."~1.6.0" =
+    self.by-version."underscore"."1.6.0";
+  by-version."underscore"."1.6.0" = self.buildNodePackage {
+    name = "underscore-1.6.0";
+    version = "1.6.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
+      name = "underscore-1.6.0.tgz";
+      sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
+    };
+    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.0";
+  by-version."vary"."1.0.0" = self.buildNodePackage {
+    name = "vary-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vary/-/vary-1.0.0.tgz";
+      name = "vary-1.0.0.tgz";
+      sha1 = "c5e76cec20d3820d8f2a96e7bee38731c34da1e7";
+    };
+    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."xtend"."~4.0.0" =
+    self.by-version."xtend"."4.0.0";
+  by-spec."yamlish"."*" =
+    self.by-version."yamlish"."0.0.7";
+  by-version."yamlish"."0.0.7" = self.buildNodePackage {
+    name = "yamlish-0.0.7";
+    version = "0.0.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/yamlish/-/yamlish-0.0.7.tgz";
+      name = "yamlish-0.0.7.tgz";
+      sha1 = "b4af9a1dcc63618873c3d6e451ec3213c39a57fb";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."yauzl"."~2.3.0" =
+    self.by-version."yauzl"."2.3.1";
+  by-version."yauzl"."2.3.1" = self.buildNodePackage {
+    name = "yauzl-2.3.1";
+    version = "2.3.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/yauzl/-/yauzl-2.3.1.tgz";
+      name = "yauzl-2.3.1.tgz";
+      sha1 = "6707fe2b6a4dac9445cc429bf04a11c7dedfa36a";
+    };
+    deps = {
+      "fd-slicer-1.0.1" = self.by-version."fd-slicer"."1.0.1";
+      "pend-1.2.0" = self.by-version."pend"."1.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "yauzl" = self.by-version."yauzl"."2.3.1";
+  by-spec."yawl"."~1.0.2" =
+    self.by-version."yawl"."1.0.2";
+  by-version."yawl"."1.0.2" = self.buildNodePackage {
+    name = "yawl-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/yawl/-/yawl-1.0.2.tgz";
+      name = "yawl-1.0.2.tgz";
+      sha1 = "df1301cb50e5bc74cc36d5c1ef9cfbd1f84b408e";
+    };
+    deps = {
+      "bl-0.9.4" = self.by-version."bl"."0.9.4";
+      "pend-1.2.0" = self.by-version."pend"."1.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "yawl" = self.by-version."yawl"."1.0.2";
+  by-spec."yazl"."~2.2.2" =
+    self.by-version."yazl"."2.2.2";
+  by-version."yazl"."2.2.2" = self.buildNodePackage {
+    name = "yazl-2.2.2";
+    version = "2.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/yazl/-/yazl-2.2.2.tgz";
+      name = "yazl-2.2.2.tgz";
+      sha1 = "60187f4ce6df314e7501c3c0e40bcf1b58fda183";
+    };
+    deps = {
+      "buffer-crc32-0.2.5" = self.by-version."buffer-crc32"."0.2.5";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "yazl" = self.by-version."yazl"."2.2.2";
+  by-spec."ytdl-core".">=0.5.1" =
+    self.by-version."ytdl-core"."0.5.1";
+  by-version."ytdl-core"."0.5.1" = self.buildNodePackage {
+    name = "ytdl-core-0.5.1";
+    version = "0.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ytdl-core/-/ytdl-core-0.5.1.tgz";
+      name = "ytdl-core-0.5.1.tgz";
+      sha1 = "3c48d696b019d7faae635a3f1e4eaa9131110f43";
+    };
+    deps = {
+      "cheerio-0.18.0" = self.by-version."cheerio"."0.18.0";
+      "jstream-0.2.7" = self.by-version."jstream"."0.2.7";
+      "request-2.57.0" = self.by-version."request"."2.57.0";
+      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "ytdl-core" = self.by-version."ytdl-core"."0.5.1";
+}
+
diff --git a/pkgs/applications/audio/setbfree/default.nix b/pkgs/applications/audio/setbfree/default.nix
index 5119c384cf6a..5a5d500a0e7b 100644
--- a/pkgs/applications/audio/setbfree/default.nix
+++ b/pkgs/applications/audio/setbfree/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation  rec {
   name = "setbfree-${version}";
-  version = "0.7.5";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "https://github.com/pantherb/setBfree/archive/v${version}.tar.gz";
-    sha256 = "1chlmgwricc6l4kyg35vc9v8f1n8psr28iihn4a9q2prj1ihqcbc";
+    sha256 = "1lfylai4gyk512dknj16w2aq9ka8hvqca46nmq5b4rfjmi6dkxf6";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index 3943a9910a4d..28d455e06b26 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -27,7 +27,8 @@ let
       owner = "neovim";
     };
 
-    buildInputs = [ libtool perl ];
+    buildInputs = [ perl ];
+    nativeBuildInputs = [ libtool ];
 
     makeFlags = [ "PREFIX=$(out)" ]
       ++ stdenv.lib.optional stdenv.isDarwin "LIBTOOL=${libtool}/bin/libtool";
@@ -66,8 +67,6 @@ let
     enableParallelBuilding = true;
 
     buildInputs = [
-      makeWrapper
-      cmake
       glib
       libtermkey
       libuv
@@ -79,12 +78,14 @@ let
       libmsgpack
       ncurses
       neovimLibvterm
-      pkgconfig
       unibilium
     ] ++ optional withJemalloc jemalloc;
 
     nativeBuildInputs = [
+      cmake
       gettext
+      makeWrapper
+      pkgconfig
     ];
 
     LUA_CPATH="${lpeg}/lib/lua/${lua.luaversion}/?.so;${luabitop}/lib/lua/5.2/?.so";
@@ -136,7 +137,7 @@ let
 
 in if (vimAlias == false && configure == null) then neovim else stdenv.mkDerivation rec {
   name = "neovim-${version}-configured";
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   buildCommand = ''
     mkdir -p $out/bin
     for item in ${neovim}/bin/*; do
diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix
index 348ba5c3c2c7..8e546652f852 100644
--- a/pkgs/applications/graphics/apitrace/default.nix
+++ b/pkgs/applications/graphics/apitrace/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation {
     owner = "apitrace";
   };
 
-  buildInputs = [ cmake python libX11 qt4 ];
+  buildInputs = [ python libX11 qt4 ];
+  nativeBuildInputs = [ cmake ];
 
   buildPhase = ''
     cmake
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 3398fed6595d..b89d59217ac8 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -9,12 +9,12 @@
 assert stdenv ? glibc;
 
 stdenv.mkDerivation rec {
-  version = "1.6.6";
+  version = "1.6.7";
   name = "darktable-${version}";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "1991zm0ly2j69vq9jsijfrjw0vnchh3il7m4ylsblzk73614nppq";
+    sha256 = "162c9kdj71az0ipaw4kiqcxhig0hcbmzw936d390r8zhkns76l57";
   };
 
   buildInputs =
diff --git a/pkgs/applications/graphics/simple-scan/default.nix b/pkgs/applications/graphics/simple-scan/default.nix
index ad825eceec2b..b96688333a22 100644
--- a/pkgs/applications/graphics/simple-scan/default.nix
+++ b/pkgs/applications/graphics/simple-scan/default.nix
@@ -26,8 +26,9 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ nckx ];
   };
 
-  buildInputs = [ cairo colord glib gtk3 intltool itstool libxml2 makeWrapper
-    pkgconfig saneBackends systemd vala ];
+  buildInputs = [ cairo colord glib gtk3 intltool itstool libxml2
+    saneBackends systemd vala ];
+  nativeBuildInputs = [ makeWrapper pkgconfig ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index 727f89fe6687..f10df2dc9960 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -95,6 +95,11 @@ 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
+    ''
+      wrapProgram "$out/bin/firefox" \
+        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:" \
+        --suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
     '';
 
   meta = {
diff --git a/pkgs/applications/networking/drive/default.nix b/pkgs/applications/networking/drive/default.nix
new file mode 100644
index 000000000000..0af104fa380f
--- /dev/null
+++ b/pkgs/applications/networking/drive/default.nix
@@ -0,0 +1,29 @@
+{ lib, goPackages, fetchFromGitHub }:
+
+with goPackages;
+
+buildGoPackage rec {
+  rev = "4530cf8d59e1047cb1c005a6bd5b14ecb98b9e68";
+  name = "drive-${lib.strings.substring 0 7 rev}";
+  goPackagePath = "github.com/odeke-em/drive";
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "odeke-em";
+    repo = "drive";
+    sha256 = "1y4qlzvgg84mh8l6bhaazzy6bv6dwjcbpm0rxvvc5aknvvh581ps";
+  };
+
+  subPackages = [ "cmd/drive" ];
+
+  buildInputs = [ pb go-isatty command dts odeke-em.log statos xon odeke-em.google-api-go-client cli-spinner oauth2 text net ];
+
+  dontInstallSrc = true;
+
+  meta = with lib; {
+    description = "A tiny program to pull or push Google Drive files";
+    homepage = https://github.com/odeke-em/drive;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bobvanderlinden ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index 23e4f397e824..a5806b7dfe88 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -19,7 +19,10 @@
 , kerberos
 , libX11
 , libXScrnSaver
+, libXcomposite
+, libXdamage
 , libXext
+, libXfixes
 , libXinerama
 , libXrender
 , libXt
@@ -88,7 +91,10 @@ stdenv.mkDerivation {
       kerberos
       libX11
       libXScrnSaver
+      libXcomposite
+      libXdamage
       libXext
+      libXfixes
       libXinerama
       libXrender
       libXt
@@ -112,25 +118,15 @@ stdenv.mkDerivation {
       ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/"
 
       for executable in \
-        thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
-        updater
+        thunderbird crashreporter thunderbird-bin plugin-container updater
       do
         patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
           "$out/usr/lib/thunderbird-bin-${version}/$executable"
       done
 
-      for executable in \
-        thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
-        updater \
-        components/libdbusservice.so components/libmozgnome.so \
-        libnssdbm3.so libsmime3.so libxul.so libprldap60.so libnss3.so \
-        libplc4.so libfreebl3.so libmozsqlite3.so libmozalloc.so libnspr4.so \
-        libssl3.so libldif60.so libsoftokn3.so libldap60.so libnssutil3.so \
-        libnssckbi.so libplds4.so
-      do
+      find . -executable -type f -exec \
         patchelf --set-rpath "$libPath" \
-          "$out/usr/lib/thunderbird-bin-${version}/$executable"
-      done
+          "$out/usr/lib/thunderbird-bin-${version}/{}" \;
 
       # Create a desktop item.
       mkdir -p $out/share/applications
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
index 8dce20f60dab..66f2fa87e395 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
@@ -4,117 +4,123 @@
 # ruby generate_source.rb > source.nix
 
 {
-  version = "31.7.0";
+  version = "38.0.1";
   sources = [
-    { locale = "ar"; arch = "linux-i686"; sha1 = "8d5dd6af05d9a285097db7f96372464e2c48a7fe"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha1 = "07866e3716bc3bd370e4aa4711ee2882be8380b9"; }
-    { locale = "ast"; arch = "linux-i686"; sha1 = "f9c353e03792ade2c3df9842bad6707c50b59395"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha1 = "ecbfaa883c2dda597213ca739e92c30ec9c2eac1"; }
-    { locale = "be"; arch = "linux-i686"; sha1 = "ac1abca375cfbc2e45b7eb0f66b9cef73924ae4e"; }
-    { locale = "be"; arch = "linux-x86_64"; sha1 = "5f296643c42890a200416678a6ed8240ee219d9f"; }
-    { locale = "bg"; arch = "linux-i686"; sha1 = "4b59b171b67641097da95fd76113efe1019fd2aa"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha1 = "13d5124fd8925de174f83a8075fb711aa14438b7"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "833c826ee2be3c8664060d4ad24c508b5c122a5e"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "b29fb50d9eb83e98802655236a6c1ccb56bf6be3"; }
-    { locale = "br"; arch = "linux-i686"; sha1 = "5985c09eab409db0c62e525e9cd3d7469b82f0e1"; }
-    { locale = "br"; arch = "linux-x86_64"; sha1 = "2e4e3efe1d89b8cf329a64894807b69555e505e2"; }
-    { locale = "ca"; arch = "linux-i686"; sha1 = "1a81aabe1ded11bde92349e8b9f5ae499aaebdfa"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha1 = "406212f107939a627f2166d8fc6a72a0dcff56a4"; }
-    { locale = "cs"; arch = "linux-i686"; sha1 = "6cc272e25d45e54c6008da968884de039eba9db9"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha1 = "6f7e54ff4fe7d8bfa477475aaad371fc8b2f85d4"; }
-    { locale = "da"; arch = "linux-i686"; sha1 = "8f944829ef98bfdb46eadfd10fafe75a353c1a4a"; }
-    { locale = "da"; arch = "linux-x86_64"; sha1 = "f22e4293a3462effa0a928be3ae1ddbd8273450f"; }
-    { locale = "de"; arch = "linux-i686"; sha1 = "c115ea9356b457b25526c8469ebcf7a8e1c6241a"; }
-    { locale = "de"; arch = "linux-x86_64"; sha1 = "04ac40b3e10f96e17db70c9541040970cbe2e480"; }
-    { locale = "el"; arch = "linux-i686"; sha1 = "b0ccb81db2b8cb505ade10a0fc1eaf4322f7de0d"; }
-    { locale = "el"; arch = "linux-x86_64"; sha1 = "410da87c432e3d4e4ddfbe4912bc00c8fcfb8dfd"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha1 = "b91bea9a1813f1772a85873fb712c9857234864f"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "f6a08558fb3b6ebd79fdf9b359286b7ba58f2a9c"; }
-    { locale = "en-US"; arch = "linux-i686"; sha1 = "b433601ffdf83cc2a90224f683f627f562d8e3e3"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "68624fead16c459f87cbdeefd75326bcabccd805"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha1 = "14c4a6abb6269dea926efccfdae41d2eeab9031a"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "ffd800950b8a768d4e7ec4c8666fc2e7a390a080"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha1 = "61889cee58be7c5da0f3424faae5192f07d31651"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "360335d5c3a1eccaba29095f88d9b50dc04fbc6d"; }
-    { locale = "et"; arch = "linux-i686"; sha1 = "ba1e1dbcb1c0c87ba1c916b1053cf876e42d76bf"; }
-    { locale = "et"; arch = "linux-x86_64"; sha1 = "c40a2e0c70d3c3af5e0c34045864a7279f95b2fa"; }
-    { locale = "eu"; arch = "linux-i686"; sha1 = "45c6270bb1350799df089620cdae4919833d5a54"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha1 = "ee8cacf035658fda1605f3a2968c56fa03cd73d4"; }
-    { locale = "fi"; arch = "linux-i686"; sha1 = "45329cd3222d74cefaa0e96e18b71b6ddc844e77"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha1 = "47c1ec1e67829a86111a76f6ea6cb40c9f178066"; }
-    { locale = "fr"; arch = "linux-i686"; sha1 = "1f2e1edbb49f141c1ac63f20e47bc4bcbe0361f4"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha1 = "cf70711b4fb6130b31d3286ad1b2a102d5cb8fc5"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "938ee57e657b3b2f0a228bc1dc7a9bc2eebee1cc"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "5c807541fa4e232b6b5119cbc482a79dd9e4f54e"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "6f2ef03c505f4936f6263b643bbfd6e0befd54f4"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "7246ed88b0c3f504ca0043f3f20c5cc86eea8ac6"; }
-    { locale = "gd"; arch = "linux-i686"; sha1 = "130f7ae3c0127d00e24946e9ec2558161fd3fcf1"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha1 = "aed0e1e7e699c6df4538663dc6a0556a106cb35f"; }
-    { locale = "gl"; arch = "linux-i686"; sha1 = "69fca12c63c023f689463de709db731073a3c812"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha1 = "45ab4866e3f6989e4a08920564292622abea7f97"; }
-    { locale = "he"; arch = "linux-i686"; sha1 = "2898eed89af21c6a4122937bf596b97828cb9271"; }
-    { locale = "he"; arch = "linux-x86_64"; sha1 = "a3fb3b8564fcbe8cad29d430665d3f369d765369"; }
-    { locale = "hr"; arch = "linux-i686"; sha1 = "143d8dcbccd3ad219330d7389e93597cb98d20f8"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha1 = "3fdc0095646678c2885e374e277ab50c4a4ffe53"; }
-    { locale = "hu"; arch = "linux-i686"; sha1 = "4c135cfaa8644fab4558d53eb7f5f0ae53ed3704"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha1 = "a4faeb5aa6dc7f6a16d436a56ef9f954c80271fd"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "f3e60e515fa20c4092ecf4df64970bc750c849e5"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "2d6ea4a41a33db4e2aeb67d7bcd38f32f427f757"; }
-    { locale = "id"; arch = "linux-i686"; sha1 = "cd97780c5f70dca5e9c2a61e9af11f38f79b014b"; }
-    { locale = "id"; arch = "linux-x86_64"; sha1 = "da2ae751b6b0dd2caf5c54fcd30560a57c6746cb"; }
-    { locale = "is"; arch = "linux-i686"; sha1 = "f6f3b56e8b134e93e30ecfcf706e9ddbb9b181cc"; }
-    { locale = "is"; arch = "linux-x86_64"; sha1 = "a922a569b293005e5efc797bf51e0c33e87cea7f"; }
-    { locale = "it"; arch = "linux-i686"; sha1 = "2643526d774e44fc41b0b7b6872ba683b01a9c77"; }
-    { locale = "it"; arch = "linux-x86_64"; sha1 = "e91689f635060087f8c8c9806ac1607a59e26776"; }
-    { locale = "ja"; arch = "linux-i686"; sha1 = "dafca3f2c34ae417b5bd3065026af4a075c9bee7"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha1 = "6a1d03062d599ea35af8479dea3e6cfc45840ba1"; }
-    { locale = "ko"; arch = "linux-i686"; sha1 = "9b92baecd3906b35499513723685cd791e1aab9e"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha1 = "116c8b02f8be6c739595cc88888a19e225ed865d"; }
-    { locale = "lt"; arch = "linux-i686"; sha1 = "85f44f77cc27deb9cf95487a9a3673918f102bd9"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha1 = "0bd82afbe4c27318ce8882eff62e53fda13d3590"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "07cd4e46a5811096759c565bb533adf1ee9cb0d9"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "ece8a8b69aef74f9c22db1660a14ae5205aa7ff7"; }
-    { locale = "nl"; arch = "linux-i686"; sha1 = "1f1e30f5aef29bf96d0e2b8609acb03d1b6ec0aa"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha1 = "5a0ffeb38b183b835966568c1b3fc719c0908fea"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "9bbb5e61eecf09d059cfb17bd75fd0e64c455d78"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "e1115c4451ede51833387ef8c592ce7342d508d3"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "65dcef7d9bfcdbd35a09ff6a9e436261b79e4d90"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "cd64fb45459e699e0c8c2269a52bb0512e592db0"; }
-    { locale = "pl"; arch = "linux-i686"; sha1 = "ea2650cb700a42dc96fb56ad1860061e87626bc9"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha1 = "976a52d128e8d912363fadb7e14adec0a7c9d973"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "323b876b6c11c4881c280cdb64d2867076970abf"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "952d5b82b0d3d47d5494f2d9667fc2a5b88408df"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "5ce1feb2446c6dba96c3b3a0e9afd6a00655b738"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "83115d2fdc8494451b79cc67d581c77b64c27af4"; }
-    { locale = "rm"; arch = "linux-i686"; sha1 = "a26678482d8c425f3291116e99e0196952d0cb09"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha1 = "327391e44d43d58b4d3fee97904a336f5c52648e"; }
-    { locale = "ro"; arch = "linux-i686"; sha1 = "8b67f03c053f89af7d50331eec056402cfbd5bf4"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha1 = "15ec5c6fa7e6aa843910bc6c6479bf308393b52f"; }
-    { locale = "ru"; arch = "linux-i686"; sha1 = "09127b5202cf63c7b9715813061ca79bc27c2f37"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha1 = "8b409350741edcd33b3eeaf7928a133eb1c2a399"; }
-    { locale = "si"; arch = "linux-i686"; sha1 = "733d049ffd66d5007ef68c761f2d84ab579bd400"; }
-    { locale = "si"; arch = "linux-x86_64"; sha1 = "dc5460e82bdf613e9d778687d11533dc97b77ffb"; }
-    { locale = "sk"; arch = "linux-i686"; sha1 = "b4b9b10b53c48adf224507faf77a04c19c750d58"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha1 = "81aeb1d95fd2b220c17f388ba882127fc6d290de"; }
-    { locale = "sl"; arch = "linux-i686"; sha1 = "a621f04b7e5accf05f946ce775391667579679e6"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha1 = "f9086f1ce56d84e3b732f22d086fcce43d2373a7"; }
-    { locale = "sq"; arch = "linux-i686"; sha1 = "1b2b11fd04b7d1979f88268db37510ef231c158b"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha1 = "f06ad4d533c7144695fbe2eb3ba700bb1d5151b7"; }
-    { locale = "sr"; arch = "linux-i686"; sha1 = "92d4cd9bbc5f24045295bda6c75420708d593aac"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha1 = "53e661b5c485fae7c27770d2a2701d6d21e481c9"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "e4614597ef42eaa6ede065b4c3b9f11de491dd5b"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "e3c8af45ab65e7977a350ae617cd55afa685e8d0"; }
-    { locale = "ta-LK"; arch = "linux-i686"; sha1 = "17b3d419fe769a02a360b96042c78c497063b9e8"; }
-    { locale = "ta-LK"; arch = "linux-x86_64"; sha1 = "cbc34ab650bfc95926b98e63c474f1997a1256fa"; }
-    { locale = "tr"; arch = "linux-i686"; sha1 = "ba63efda6864a6984d492cda30d4fca6157e26a8"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha1 = "9b8cb45aab578b3dbfeace90f44dad26eda6e798"; }
-    { locale = "uk"; arch = "linux-i686"; sha1 = "36a9867155fa0e6924ed62d7dbc350a2425178e1"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha1 = "abbc155c34c5d404b3143ccc63a1bb5c99c3d395"; }
-    { locale = "vi"; arch = "linux-i686"; sha1 = "850ac8190adef8d227166b9b4478ea8c88c90287"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha1 = "afba1f0043ba96a89bc8ab23fe6b6e19af4f826b"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "acda86b5c48b751eb06719754921e7604a1c222e"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "a88745a4a8f85d5d2861e40ba8d72b0af73bb055"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "c03e6e4fae7fec1ae0b30e5cb600a4cf28151cc7"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "c5788c6672b230681cfb3ee2fe97763ef81d34b1"; }
+    { locale = "ar"; arch = "linux-i686"; sha1 = "b61125483c46602e64ab7c4b56ff2f9612453ad3"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha1 = "4ac5de506c61fc769e6805f599cb7131b243812c"; }
+    { locale = "ast"; arch = "linux-i686"; sha1 = "07ea0b98e651e650d2f11322b5c8ce55bb083217"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha1 = "b0b37462e0bb5443f408724b62421e59ae68389b"; }
+    { locale = "be"; arch = "linux-i686"; sha1 = "61feae6377bcca63225ba945b7067dad8eb5a0fa"; }
+    { locale = "be"; arch = "linux-x86_64"; sha1 = "b58385f605b7a08f17e06faa922899c42a2076c0"; }
+    { locale = "bg"; arch = "linux-i686"; sha1 = "ddbb0681076511828c91373354aa9a3861ee3943"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha1 = "734acaa1870773d9ccf687e65d553797b3d00bca"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "32ad3307c919ec10bcbb9f99f8d37bb5daec5903"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "4e87b8ff753b1680b0b9b5149fc75238bff91c6d"; }
+    { locale = "br"; arch = "linux-i686"; sha1 = "b319d6f853311b103c439a482ee12652d751e22f"; }
+    { locale = "br"; arch = "linux-x86_64"; sha1 = "0254d1edcc2b1fbc8cec01c96482c381d34be88b"; }
+    { locale = "ca"; arch = "linux-i686"; sha1 = "deb0caf34895379b2e7dd01871c510f92ba96561"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha1 = "f580f9044bb115b3077ba012fe1b3be289853911"; }
+    { locale = "cs"; arch = "linux-i686"; sha1 = "045f3d7adade1133325e6607971ec70cad85c91a"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha1 = "9fc2fa5a44886db96bcdb4d23d69593954a84ca2"; }
+    { locale = "cy"; arch = "linux-i686"; sha1 = "6fb9ca5be336db1b149e4ac6e53e51fd32fbd84e"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha1 = "517dfd262c4f23fba743299381f51f7863cd32d7"; }
+    { locale = "da"; arch = "linux-i686"; sha1 = "bdd5d63545fb09540a5ff8ada7d421deb865dc61"; }
+    { locale = "da"; arch = "linux-x86_64"; sha1 = "fa4f26001b4281f4bd9b741a897e1a420c40b604"; }
+    { locale = "de"; arch = "linux-i686"; sha1 = "566603c44ba6df21d7504bfb49ea235f5cb64e00"; }
+    { locale = "de"; arch = "linux-x86_64"; sha1 = "60675d5905838ac54c0c2a961d88d021c446ec50"; }
+    { locale = "dsb"; arch = "linux-i686"; sha1 = "74feac72b6ad05b00a6c4495f751f106b77b3997"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha1 = "fbb936459a2287117e5638ef78ba1d647f4be41f"; }
+    { locale = "el"; arch = "linux-i686"; sha1 = "eedbcc1df60912b2f5be83dc2459cd06914b91f5"; }
+    { locale = "el"; arch = "linux-x86_64"; sha1 = "ead82b60f2b07a63ff84ed6f35f9527c1b030c24"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha1 = "17ed78e8f063f39a7c73795e9a251f187dc2a04c"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "42f427fe628cbc182459f66a7d87d78845d50e57"; }
+    { locale = "en-US"; arch = "linux-i686"; sha1 = "9f264dbd88d96149a92601e33dbed497189b281d"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "a8df74c9655501ee9e4c876b05e14b9a2605a591"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha1 = "4e467b8e662345bba07ec768055899175823764b"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "96994e1c9b6e8d27d1b7bf91a2d0d47b25d67bcb"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha1 = "db1574237be55846c386138b55beacf247cdf8b8"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "1e474e7001a14bfba44e933cca875b10032b22fc"; }
+    { locale = "et"; arch = "linux-i686"; sha1 = "3385f3aa8432a66b4f400158ba079808a0982c6b"; }
+    { locale = "et"; arch = "linux-x86_64"; sha1 = "aad77f411f5c3a6161bbb6b80566d9065e15c8a0"; }
+    { locale = "eu"; arch = "linux-i686"; sha1 = "98820960354c89dc9e7178b3c783df733597ef27"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha1 = "77c3946d778ccea30f22a08f38d5336110d87d43"; }
+    { locale = "fi"; arch = "linux-i686"; sha1 = "63c7a82cbfc8d5c52424244ccab51868aa498416"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha1 = "a590ff89b5616463ce32091c09c0b74d6f6a8773"; }
+    { locale = "fr"; arch = "linux-i686"; sha1 = "4e7902977f83139926131db13731632a9c4e105c"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha1 = "2d7a1e725ae2aad6dfcc2e9d891999a40a242fe9"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "fad0d47e75d9191d85d5d1e6bf2f9f4f5ec08fb2"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "ab42e792567affd3007848822eb26afc2bea0e94"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "3faa798e14f9acd36a120b9f4e9c961c27df825c"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "afe90e25771a101286365d37470f00c52a8f2392"; }
+    { locale = "gd"; arch = "linux-i686"; sha1 = "aed0d96aa093a9f168c702d4e1c39d5c6077df3b"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha1 = "e3faf40265be42ca2c0412a97b4ac689c9d5d6a4"; }
+    { locale = "gl"; arch = "linux-i686"; sha1 = "1ef2f1f69c042a2aeb340df9faf9019df19dbf35"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha1 = "bc026a910ea03aa795d59d81836ec5dd6efb1370"; }
+    { locale = "he"; arch = "linux-i686"; sha1 = "87a2923688d5a9eb63b8a41200ba5afc6c00d954"; }
+    { locale = "he"; arch = "linux-x86_64"; sha1 = "5067560a1a56d6cbbb163d2b73bce68451956413"; }
+    { locale = "hr"; arch = "linux-i686"; sha1 = "74605669d56d0cc6e93fecce04d52771680f39f6"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha1 = "d749c4ad35a02c01e50358d11a1d7034ad402bce"; }
+    { locale = "hsb"; arch = "linux-i686"; sha1 = "1e0a75dfa4627afa34e2348c71c64501b6ebac12"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha1 = "43f703566076db2e3b08703d6e3faac336ffff88"; }
+    { locale = "hu"; arch = "linux-i686"; sha1 = "b1bc08f9fd116d022c9c2710a9e25d176a1ee2a7"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha1 = "8fe7b6923d46f30ffbac5a97fe9bde7625a9bc26"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "93f2e69df2c32eb2c33d9a6bf91c00224f5de9e8"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "52341cf14ddb124bd591f161eb2c3c566307e6c0"; }
+    { locale = "id"; arch = "linux-i686"; sha1 = "733d6833cb71d5bd6727991c76f7907b4efeb1c9"; }
+    { locale = "id"; arch = "linux-x86_64"; sha1 = "2a5fe37753a3399ea8626615493fe3cac4b79586"; }
+    { locale = "is"; arch = "linux-i686"; sha1 = "0d1bf6bf337598d6e72762716264cb2662ab542c"; }
+    { locale = "is"; arch = "linux-x86_64"; sha1 = "5dbe72779e2c58cb0d0224e08582cfb1358fc47b"; }
+    { locale = "it"; arch = "linux-i686"; sha1 = "7bf51283965c48dad5aac2bffbd8223e83bc5c6f"; }
+    { locale = "it"; arch = "linux-x86_64"; sha1 = "2634b404ca6a9f6a3a194c911ca514311646461f"; }
+    { locale = "ja"; arch = "linux-i686"; sha1 = "82ed3c27de426361f2cb73c9a34197d2548546d5"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha1 = "9e9a0eda6fd9354a06071b580686a5387ad291ec"; }
+    { locale = "ko"; arch = "linux-i686"; sha1 = "e1416907d5748d10a5b0e74c4687787e7343db57"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha1 = "629ad488888ad62e60bd340e17d565af76b48337"; }
+    { locale = "lt"; arch = "linux-i686"; sha1 = "d58c886482404929c18fe25cf3aece121eb6a8e7"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha1 = "e0cfc0a747aae13cf5cf54db6b72e72a5780372f"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "a2e5612b0007a11f74cb3fe330e2234d84f5d35c"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "eba10f9d0de6b9937f297ec742e05df53460bfec"; }
+    { locale = "nl"; arch = "linux-i686"; sha1 = "a1ce06ca18bf93ff87c91fd8677dbe06eadf1159"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha1 = "180b531bf58f08d89c668b578a3c7c5380900f9f"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "484546422728623005a2d20470c7f6d06870ce96"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "f4526c827dcf1d0a11d38bd834807eb4b7f2923f"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "c75275e6a8a19213ea5eb063c8988634bbbe13cc"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "0fce05e81e0bb2bf6f7ce051cdee10ceaaaee4cb"; }
+    { locale = "pl"; arch = "linux-i686"; sha1 = "6d8657b489008122b0a3dabc3b9bb5112529ae16"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha1 = "b5eff0843c96947d5aa7f7f74ec899630cb9e039"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "f2359b80b8afad50aab695d3cc14e461c21e46e3"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "b946a90928e0c7a389dbcf5728c08e7fc5042025"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "dbc60c45551b8db4be970efed6a397bf81d108e6"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "77c53b3a401dbfc930f2c5d94ebe6f1a090954e7"; }
+    { locale = "rm"; arch = "linux-i686"; sha1 = "290f420ba933251168dce7c8e588541cdec886da"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha1 = "7c40435683e29fd3c7b541cd3ed2a69e39a14245"; }
+    { locale = "ro"; arch = "linux-i686"; sha1 = "93d016bd3dfbd8b7ad4d8eceb94a638f6e66e751"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha1 = "2d05ef4da4eac47ee2b37d9d207a20b875ab6c3f"; }
+    { locale = "ru"; arch = "linux-i686"; sha1 = "4c80bf8509b725c861ee744676e5f8229edd9acd"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha1 = "60406c09cef691b892dfffffe05d06182a0f5b03"; }
+    { locale = "si"; arch = "linux-i686"; sha1 = "f7f98b929f290a757dcd67d2f0abc09272e1524f"; }
+    { locale = "si"; arch = "linux-x86_64"; sha1 = "f73185d1c4d78247154ff4133092f12bcace0189"; }
+    { locale = "sk"; arch = "linux-i686"; sha1 = "bc78cf179d1145771bc3d76808f47c3074aa848f"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha1 = "b6cd85fe49e367d36f75c89596cc6826de936c03"; }
+    { locale = "sl"; arch = "linux-i686"; sha1 = "cc7468c85efaae4ad8f3c4dd629c07420095d6b7"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha1 = "51236372848448ad80210d340ba5f03b851b1434"; }
+    { locale = "sq"; arch = "linux-i686"; sha1 = "1cd44cdb36f17d922b04e6f1f31721495b30d9a8"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha1 = "604de9669330503ea07e24d6f65c2586c6748730"; }
+    { locale = "sr"; arch = "linux-i686"; sha1 = "ea9f909fd9b7c9125fc109db81ed313bad19ca26"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha1 = "d71c0b6d31940f24562a74b30349ecd4645b0ee9"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "0c4193b4dc6eae8b5f9515ca8a534f127ee083d8"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "cd254aabf8c7cf63c83bec1005ef0e9f540eed7c"; }
+    { locale = "ta-LK"; arch = "linux-i686"; sha1 = "9944dd6c0cb20bcd8f513c0cdabe62245b0212dc"; }
+    { locale = "ta-LK"; arch = "linux-x86_64"; sha1 = "7452f16a96293f871ac9ac99b37f7b855b8e2acf"; }
+    { locale = "tr"; arch = "linux-i686"; sha1 = "2036043c9edcaf3e85c2c9b33ae4166d339c3185"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha1 = "6b4018c8c4f6f6161f51b1fd629fa5c0ddf452d2"; }
+    { locale = "uk"; arch = "linux-i686"; sha1 = "af09c61146d407ab2e6baa3f71ce859a246cb559"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha1 = "8b41790e1c6941c1b46c1e06b21c6254fee49c51"; }
+    { locale = "vi"; arch = "linux-i686"; sha1 = "fbaee422c7746c10e2537fbc8fdf86d322e49a6c"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha1 = "65d5ce60fc3848c46b88c5e7229e25f412e1d5bf"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "b865c22c6c60d21ba00a60a54a9d03a5c34254cf"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "648dec573c9d0f680be469bad8b38fe6d3550899"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "b3f58a6053079be6231f843f05daf481c39edf6d"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "bab9d483870909d705fa77bcfb9d8c08966bae50"; }
   ];
 }
diff --git a/pkgs/applications/networking/remote/x2goclient/default.nix b/pkgs/applications/networking/remote/x2goclient/default.nix
index 328a156260b0..30e40a965f70 100644
--- a/pkgs/applications/networking/remote/x2goclient/default.nix
+++ b/pkgs/applications/networking/remote/x2goclient/default.nix
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ nckx ];
   };
 
-  buildInputs = [ cups libssh libXpm nxproxy openldap makeWrapper qt4 ];
+  buildInputs = [ cups libssh libXpm nxproxy openldap qt4 ];
+  nativeBuildInputs = [ makeWrapper ];
 
   patchPhase = ''
      substituteInPlace Makefile \
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 30fda1e0facd..9a91f3090a19 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.8";
+  version = "0.11.9";
   goPackagePath = "github.com/syncthing/syncthing";
   src = fetchgit {
     url = "git://github.com/syncthing/syncthing.git";
     rev = "refs/tags/v${version}";
-    sha256 = "fed98ac47fd84aecee7770dd59e5e68c5bc429d50b361f13b9ea2e28c3be62cf";
+    sha256 = "353528e152bbfd5075c4f85a54bce507ab3d8855f702a1399a48196bc19d226b";
   };
 
   subPackages = [ "cmd/syncthing" ];
diff --git a/pkgs/applications/science/logic/saw-tools/default.nix b/pkgs/applications/science/logic/saw-tools/default.nix
new file mode 100644
index 000000000000..3231e2a7b806
--- /dev/null
+++ b/pkgs/applications/science/logic/saw-tools/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchurl, gmp4, ncurses, zlib, makeWrapper, clang_35 }:
+
+let
+  libPath = stdenv.lib.makeLibraryPath
+    [ stdenv.cc.libc
+      stdenv.cc.cc
+      gmp4
+      ncurses
+      zlib
+    ] + ":${stdenv.cc.cc}/lib64";
+
+  url = "https://github.com/GaloisInc/saw-script/releases/download";
+
+  saw-bin =
+    if stdenv.system == "i686-linux"
+    then fetchurl {
+      url    = url + "/v0.1-dev/saw-0.1-dev-2015-06-09-CentOS6-32.tar.gz";
+      sha256 = "0hfb3a749fvwn33jnj1bgpk7v4pbvjjjffhafck6s8yz2sknnq4w";
+    }
+    else fetchurl {
+      url    = url + "/v0.1-dev/saw-0.1-dev-2015-06-09-CentOS6-64.tar.gz";
+      sha256 = "1yz56kr8s0jcrfk1i87x63ngxip2i1s123arydnqq8myjyfz8id9";
+    };
+in
+stdenv.mkDerivation rec {
+  name    = "saw-tools-${version}";
+  version = "0.1-20150609";
+
+  src = saw-bin;
+
+  installPhase = ''
+    mkdir -p $out/lib $out/share
+
+    mv bin $out/bin
+    mv doc $out/share
+
+    # Hack around lack of libtinfo in NixOS
+    ln -s ${ncurses}/lib/libncursesw.so.5       $out/lib/libtinfo.so.5
+    ln -s ${stdenv.cc.libc}/lib/libpthread.so.0 $out/lib/libpthread.so.0
+
+    # Add a clang symlink for easy building with a suitable compiler.
+    ln -s ${clang_35}/bin/clang $out/bin/saw-clang
+  '';
+
+  fixupPhase = ''
+    for x in bin/bcdump bin/extcore-info bin/jss bin/llvm-disasm bin/lss bin/saw; do
+      patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath "$out/lib:${libPath}" $out/$x;
+    done
+  '';
+
+  phases = "unpackPhase installPhase fixupPhase";
+
+  meta = {
+    description = "Tools for software verification and analysis";
+    homepage    = "https://saw.galois.com";
+    license     = stdenv.lib.licenses.unfreeRedistributable;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 72de0677e73a..0f13faf7513e 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -6,11 +6,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "R-3.2.0";
+  name = "R-3.2.1";
 
   src = fetchurl {
     url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
-    sha256 = "0dagyqgvi8i3nw158qi2zpwm04s4ffzvnmk5niaksvxs30zrbbpm";
+    sha256 = "d59dbc3f04f4604a5cf0fb210b8ea703ef2438b3ee65fd5ab536ec5234f4c982";
   };
 
   buildInputs = [ bzip2 gfortran libX11 libXmu libXt
diff --git a/pkgs/applications/video/dvd-slideshow/default.nix b/pkgs/applications/video/dvd-slideshow/default.nix
new file mode 100644
index 000000000000..a6197c2e6e13
--- /dev/null
+++ b/pkgs/applications/video/dvd-slideshow/default.nix
@@ -0,0 +1,69 @@
+{ stdenv, fetchurl, writeScript, cdrtools, dvdauthor, ffmpeg, imagemagick, lame, mjpegtools, sox, transcode, vorbisTools }:
+
+let
+  wrapper = writeScript "dvd-slideshow.sh" ''
+      #!/bin/bash
+      # wrapper script for dvd-slideshow programs
+      export PATH=${cdrtools}/bin:${dvdauthor}/bin:${ffmpeg}/bin:${imagemagick}/bin:${lame}/bin:${mjpegtools}/bin:${sox}/bin:${transcode}/bin:${vorbisTools}/bin:$PATH
+
+      dir=`dirname "$0"`
+      exe=`basename "$0"`
+      case "$exe" in
+        dvd-slideshow)
+          # use mpeg2enc by default as ffmpeg is known to crash.
+          # run dvd-slideshow.ffmpeg to force ffmpeg.
+          "$dir/dvd-slideshow.real" -mpeg2enc $@
+          ;;
+
+        dvd-slideshow.ffmpeg)
+          "$dir/dvd-slideshow.real" $@
+          ;;
+
+        *)
+          "$dir/$exe.real" $@
+          ;;
+      esac
+    '';
+
+in stdenv.mkDerivation rec {
+  name = "dvd-slideshow";
+  version = "0.8.4-2";
+  src = fetchurl {
+    url = "mirror://sourceforge/dvd-slideshow/files/${name}-${version}.tar.gz";
+    sha256 = "17c09aqvippiji2sd0pcxjg3nb1mnh9k5nia4gn5lhcvngjcp1q5";
+  };
+
+  patchPhase = ''
+    # fix upstream typos
+    substituteInPlace dvd-slideshow \
+      --replace "version='0.8.4-1'" "version='0.8.4-2'" \
+      --replace "mymyecho" "myecho" 
+  '';
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp dvd-slideshow         "$out/bin/dvd-slideshow.real"
+    cp dvd-menu              "$out/bin/dvd-menu.real"
+    cp dir2slideshow         "$out/bin/dir2slideshow.real"
+    cp gallery1-to-slideshow "$out/bin/gallery1-to-slideshow.real"
+    cp jigl2slideshow        "$out/bin/jigl2slideshow.real"
+
+    cp ${wrapper} "$out/bin/dvd-slideshow.sh"
+    ln -s dvd-slideshow.sh "$out/bin/dvd-slideshow"
+    ln -s dvd-slideshow.sh "$out/bin/dvd-slideshow.ffmpeg"
+    ln -s dvd-slideshow.sh "$out/bin/dvd-menu"
+    ln -s dvd-slideshow.sh "$out/bin/dir2slideshow"
+    ln -s dvd-slideshow.sh "$out/bin/gallery1-to-slideshow"
+    ln -s dvd-slideshow.sh "$out/bin/jigl2slideshow"
+
+    cp -a man "$out/"
+  '';
+
+  meta = {
+    description = "Suite of command line programs that creates a slideshow-style video from groups of pictures";
+    homepage = http://dvd-slideshow.sourceforge.net/wiki/Main_Page;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.robbinch ];
+  };
+}