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/editors/eclipse/plugins.nix14
-rw-r--r--pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix23
-rw-r--r--pkgs/applications/editors/jucipp/default.nix4
-rw-r--r--pkgs/applications/editors/rednotebook/default.nix37
-rw-r--r--pkgs/applications/editors/zed/default.nix24
-rw-r--r--pkgs/applications/editors/zed/deps.json6
-rwxr-xr-xpkgs/applications/editors/zed/deps.sh7
-rw-r--r--pkgs/applications/editors/zed/node-packages.nix877
-rw-r--r--pkgs/applications/editors/zed/node.nix1839
-rw-r--r--pkgs/applications/kde/kdenlive.nix6
-rw-r--r--pkgs/applications/misc/keepassx/community.nix2
-rw-r--r--pkgs/applications/misc/lyx/default.nix5
-rw-r--r--pkgs/applications/misc/mediainfo-gui/default.nix6
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/surf/default.nix4
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/gns3/default.nix6
-rw-r--r--pkgs/applications/networking/gns3/server.nix36
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/utox/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/office/paperwork/default.nix13
-rw-r--r--pkgs/applications/science/logic/glucose/default.nix10
-rw-r--r--pkgs/applications/science/logic/glucose/syrup.nix13
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix8
-rw-r--r--pkgs/applications/window-managers/sway/default.nix8
29 files changed, 1091 insertions, 1904 deletions
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 0aeaee2155a7..8d96a79b3c3d 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -24,9 +24,7 @@ rec {
     buildEclipsePluginBase (attrs // {
       srcs = [ srcFeature srcPlugin ];
 
-      phases = [ "installPhase" ];
-
-      installPhase = ''
+      buildCommand = ''
         dropinDir="$out/eclipse/dropins/${name}"
 
         mkdir -p $dropinDir/features
@@ -35,7 +33,6 @@ rec {
         mkdir -p $dropinDir/plugins
         cp -v ${srcPlugin} $dropinDir/plugins/${name}.jar
       '';
-
     });
 
   # Helper for the case where the build directory has the layout of an
@@ -44,7 +41,8 @@ rec {
   # directories will be installed.
   buildEclipseUpdateSite = { name, ... } @ attrs:
     buildEclipsePluginBase (attrs // {
-      phases = [ "unpackPhase" "installPhase" ];
+      dontBuild = true;
+      doCheck = false;
 
       installPhase = ''
         dropinDir="$out/eclipse/dropins/${name}"
@@ -152,16 +150,16 @@ rec {
 
   bytecode-outline = buildEclipsePlugin rec {
     name = "bytecode-outline-${version}";
-    version = "2.4.3";
+    version = "2.5.0.201711011753-5a57fdf";
 
     srcFeature = fetchurl {
       url = "http://andrei.gmxhome.de/eclipse/features/de.loskutov.BytecodeOutline.feature_${version}.jar";
-      sha256 = "0imhwp73gxy1y5d5gpjgd05ywn0xg3vqc5980wcx3fd51g4ifc67";
+      sha256 = "0yciqhcq0n5i326mwy57r4ywmkz2c2jky7r4pcmznmhvks3z65ps";
     };
 
     srcPlugin = fetchurl {
       url = "http://dl.bintray.com/iloveeclipse/plugins/de.loskutov.BytecodeOutline_${version}.jar";
-      sha256 = "0230i88mvvxhn11m9c5mv3494zhh1xkxyfyva9qahck0wbqwpzkw";
+      sha256 = "1vmsqv32jfl7anvdkw0vir342miv5sr9df7vd1w44lf1yf97vxlw";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix b/pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix
new file mode 100644
index 000000000000..ce4010c98811
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl, stdenv, melpaBuild }:
+
+melpaBuild {
+  pname = "font-lock-plus";
+  version = "20170222.1755";
+
+  src = fetchurl {
+    url = "https://www.emacswiki.org/emacs/download/font-lock+.el";
+    sha256 = "0iajkgh0n3pbrwwxx9rmrrwz8dw2m7jsp4mggnhq7zsb20ighs30";
+    name = "font-lock+.el";
+  };
+
+  recipeFile = fetchurl {
+    url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/font-lock+";
+    sha256 = "1wn99cb53ykds87lg9mrlfpalrmjj177nwskrnp9wglyqs65lk4g";
+    name = "font-lock-plus";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://melpa.org/#/font-lock+";
+    license = lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/editors/jucipp/default.nix b/pkgs/applications/editors/jucipp/default.nix
index ae4f1e6ad525..3d623d3f3bda 100644
--- a/pkgs/applications/editors/jucipp/default.nix
+++ b/pkgs/applications/editors/jucipp/default.nix
@@ -1,7 +1,7 @@
 { config, stdenv, fetchgit, makeWrapper, gnome3, at_spi2_core, libcxx,
   boost, epoxy, cmake, aspell, llvmPackages, libgit2, pkgconfig, pcre,
   libXdmcp, libxkbcommon, libpthreadstubs, wrapGAppsHook, aspellDicts,
-  coreutils, glibc, dbus_libs, openssl, libxml2, gnumake, binutils, ctags }:
+  coreutils, glibc, dbus_libs, openssl, libxml2, gnumake, ctags }:
 
 with stdenv.lib;
 
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     mv $out/bin/juci $out/bin/.juci
     makeWrapper "$out/bin/.juci" "$out/bin/juci" \
-      --set PATH "${stdenv.lib.makeBinPath [ ctags coreutils llvmPackages.clang.cc cmake gnumake binutils llvmPackages.clang ]}" \
+      --set PATH "${stdenv.lib.makeBinPath [ ctags coreutils llvmPackages.clang.cc cmake gnumake llvmPackages.clang.bintools llvmPackages.clang ]}" \
       --set NO_AT_BRIDGE 1 \
       --set ASPELL_CONF "dict-dir ${aspellDicts.en}/lib/aspell"
   '';
diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix
new file mode 100644
index 000000000000..1a0e6e54fb3e
--- /dev/null
+++ b/pkgs/applications/editors/rednotebook/default.nix
@@ -0,0 +1,37 @@
+{ lib, buildPythonApplication, fetchFromGitHub
+, gdk_pixbuf, glib, gtk3, pango, webkitgtk
+, pygobject3, pyyaml
+}:
+
+buildPythonApplication rec {
+  name = "rednotebook-${version}";
+  version = "2.3";
+
+  src = fetchFromGitHub {
+    owner = "jendrikseipp";
+    repo = "rednotebook";
+    rev = "v${version}";
+    sha256 = "0zkfid104hcsf20r6829v11wxdghqkd3j1zbgyvd1s7q4nxjn5lj";
+  };
+
+  # We have not packaged tests.
+  doCheck = false;
+
+  propagatedBuildInputs = [
+    gdk_pixbuf glib gtk3 pango webkitgtk
+    pygobject3 pyyaml
+  ];
+
+  makeWrapperArgs = [
+    "--set GI_TYPELIB_PATH $GI_TYPELIB_PATH"
+    "--prefix XDG_DATA_DIRS : $out/share"
+    "--suffix XDG_DATA_DIRS : $XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  ];
+
+  meta = with lib; {
+    homepage = http://rednotebook.sourceforge.net/;
+    description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ orivej tstrobel ];
+  };
+}
diff --git a/pkgs/applications/editors/zed/default.nix b/pkgs/applications/editors/zed/default.nix
index 0170319871f0..bcf262957bc5 100644
--- a/pkgs/applications/editors/zed/default.nix
+++ b/pkgs/applications/editors/zed/default.nix
@@ -5,22 +5,16 @@ let
   name = "zed-${version}";
   version = "1.1.0";
 
-  # When upgrading node.nix / node packages:
-  #   fetch package.json from Zed's repository
-  #   run `npm2nix package.json node.nix`
-  #   and replace node.nix with new one
-  nodePackages = import ../../../../pkgs/top-level/node-packages.nix {
+  nodePackages = import ./node.nix {
     inherit pkgs;
-    inherit (pkgs) stdenv nodejs fetchurl fetchgit;
-    neededNatives = [ pkgs.python ] ++ pkgs.lib.optional pkgs.stdenv.isLinux pkgs.utillinux;
-    self = nodePackages;
-    generated = ./node.nix;
+    system = stdenv.system;
   };
 
   node_env = buildEnv {
     name = "node_env";
-    paths = [ nodePackages."body-parser" nodePackages.express
-      nodePackages.request nodePackages.tar nodePackages.ws ];
+    paths = [ nodePackages."body-parser-~1.6.3" nodePackages."express-~4.8.3"
+      nodePackages."request-~2.34.0" nodePackages."tar-~0.1.19"
+      nodePackages."ws-~0.4.32" ];
     pathsToLink = [ "/lib" ];
     ignoreCollisions = true;
   };
@@ -78,11 +72,11 @@ in stdenv.mkDerivation rec {
     ln -s ${zed_script} $out/bin/zed
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A fully offline-capable, open source, keyboard-focused, text and code editor for power users";
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
     homepage = http://zedapp.org/;
-    maintainers = [ stdenv.lib.maintainers.matejc ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ matejc ma27 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/zed/deps.json b/pkgs/applications/editors/zed/deps.json
new file mode 100644
index 000000000000..d3a7708d156f
--- /dev/null
+++ b/pkgs/applications/editors/zed/deps.json
@@ -0,0 +1,6 @@
+[ { "body-parser": "~1.6.3" }
+, { "express": "~4.8.3" }
+, { "request": "~2.34.0" }
+, { "tar": "~0.1.19" }
+, { "ws": "~0.4.32" }
+]
diff --git a/pkgs/applications/editors/zed/deps.sh b/pkgs/applications/editors/zed/deps.sh
new file mode 100755
index 000000000000..6d2bf29532e9
--- /dev/null
+++ b/pkgs/applications/editors/zed/deps.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+node2nix -6 -i deps.json \
+  -e ../../../development/node-packages/node-env.nix \
+  --no-copy-node-env \
+  -c node.nix
diff --git a/pkgs/applications/editors/zed/node-packages.nix b/pkgs/applications/editors/zed/node-packages.nix
new file mode 100644
index 000000000000..5aaa75b6c914
--- /dev/null
+++ b/pkgs/applications/editors/zed/node-packages.nix
@@ -0,0 +1,877 @@
+# This file has been generated by node2nix 1.3.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "bytes-1.0.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
+        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
+      };
+    };
+    "depd-0.4.4" = {
+      name = "depd";
+      packageName = "depd";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-0.4.4.tgz";
+        sha1 = "07091fae75f97828d89b4a02a2d4778f0e7c0662";
+      };
+    };
+    "iconv-lite-0.4.4" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
+        sha1 = "e95f2e41db0735fc21652f7827a5ee32e63c83a8";
+      };
+    };
+    "media-typer-0.2.0" = {
+      name = "media-typer";
+      packageName = "media-typer";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.2.0.tgz";
+        sha1 = "d8a065213adfeaa2e76321a2b6dda36ff6335984";
+      };
+    };
+    "on-finished-2.1.0" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
+        sha1 = "0c539f09291e8ffadde0c8a25850fb2cedc7022d";
+      };
+    };
+    "qs-2.2.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-2.2.2.tgz";
+        sha1 = "dfe783f1854b1ac2b3ade92775ad03e27e03218c";
+      };
+    };
+    "raw-body-1.3.0" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
+        sha1 = "978230a156a5548f42eef14de22d0f4f610083d1";
+      };
+    };
+    "type-is-1.3.2" = {
+      name = "type-is";
+      packageName = "type-is";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz";
+        sha1 = "4f2a5dc58775ca1630250afc7186f8b36309d1bb";
+      };
+    };
+    "ee-first-1.0.5" = {
+      name = "ee-first";
+      packageName = "ee-first";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
+        sha1 = "8c9b212898d8cd9f1a9436650ce7be202c9e9ff0";
+      };
+    };
+    "mime-types-1.0.2" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
+        sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
+      };
+    };
+    "accepts-1.0.7" = {
+      name = "accepts";
+      packageName = "accepts";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz";
+        sha1 = "5b501fb4f0704309964ccdb048172541208dab1a";
+      };
+    };
+    "buffer-crc32-0.2.3" = {
+      name = "buffer-crc32";
+      packageName = "buffer-crc32";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.3.tgz";
+        sha1 = "bb54519e95d107cbd2400e76d0cab1467336d921";
+      };
+    };
+    "debug-1.0.4" = {
+      name = "debug";
+      packageName = "debug";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
+        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+      };
+    };
+    "escape-html-1.0.1" = {
+      name = "escape-html";
+      packageName = "escape-html";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+        sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
+      };
+    };
+    "finalhandler-0.1.0" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.1.0.tgz";
+        sha1 = "da05bbc4f5f4a30c84ce1d91f3c154007c4e9daa";
+      };
+    };
+    "methods-1.1.0" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
+        sha1 = "5dca4ee12df52ff3b056145986a8f01cbc86436f";
+      };
+    };
+    "parseurl-1.3.2" = {
+      name = "parseurl";
+      packageName = "parseurl";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz";
+        sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3";
+      };
+    };
+    "path-to-regexp-0.1.3" = {
+      name = "path-to-regexp";
+      packageName = "path-to-regexp";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
+        sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
+      };
+    };
+    "proxy-addr-1.0.1" = {
+      name = "proxy-addr";
+      packageName = "proxy-addr";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.1.tgz";
+        sha1 = "c7c566d5eb4e3fad67eeb9c77c5558ccc39b88a8";
+      };
+    };
+    "range-parser-1.0.0" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz";
+        sha1 = "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0";
+      };
+    };
+    "send-0.8.5" = {
+      name = "send";
+      packageName = "send";
+      version = "0.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.8.5.tgz";
+        sha1 = "37f708216e6f50c175e74c69fec53484e2fd82c7";
+      };
+    };
+    "serve-static-1.5.4" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.5.4.tgz";
+        sha1 = "819fb37ae46bd02dd520b77fcf7fd8f5112f9782";
+      };
+    };
+    "vary-0.1.0" = {
+      name = "vary";
+      packageName = "vary";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-0.1.0.tgz";
+        sha1 = "df0945899e93c0cc5bd18cc8321d9d21e74f6176";
+      };
+    };
+    "cookie-0.1.2" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+      };
+    };
+    "fresh-0.2.2" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz";
+        sha1 = "9731dcf5678c7faeb44fb903c4f72df55187fa77";
+      };
+    };
+    "cookie-signature-1.0.4" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.4.tgz";
+        sha1 = "0edd22286e3a111b9a2a70db363e925e867f6aca";
+      };
+    };
+    "merge-descriptors-0.0.2" = {
+      name = "merge-descriptors";
+      packageName = "merge-descriptors";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
+        sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
+      };
+    };
+    "utils-merge-1.0.0" = {
+      name = "utils-merge";
+      packageName = "utils-merge";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+      };
+    };
+    "negotiator-0.4.7" = {
+      name = "negotiator";
+      packageName = "negotiator";
+      version = "0.4.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz";
+        sha1 = "a4160f7177ec806738631d0d3052325da42abdc8";
+      };
+    };
+    "ms-0.6.2" = {
+      name = "ms";
+      packageName = "ms";
+      version = "0.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
+      };
+    };
+    "ipaddr.js-0.1.2" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz";
+        sha1 = "6a1fd3d854f5002965c34d7bbcd9b4a8d4b0467e";
+      };
+    };
+    "destroy-1.0.3" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
+      };
+    };
+    "mime-1.2.11" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.2.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+      };
+    };
+    "qs-0.6.6" = {
+      name = "qs";
+      packageName = "qs";
+      version = "0.6.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
+        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
+      };
+    };
+    "json-stringify-safe-5.0.1" = {
+      name = "json-stringify-safe";
+      packageName = "json-stringify-safe";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    };
+    "forever-agent-0.5.2" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+      };
+    };
+    "node-uuid-1.4.8" = {
+      name = "node-uuid";
+      packageName = "node-uuid";
+      version = "1.4.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz";
+        sha1 = "b040eb0923968afabf8d32fb1f17f1167fdab907";
+      };
+    };
+    "tough-cookie-2.3.3" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz";
+        sha1 = "0b618a5565b6dea90bf3425d04d55edc475a7561";
+      };
+    };
+    "form-data-0.1.4" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+      };
+    };
+    "tunnel-agent-0.3.0" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
+        sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
+      };
+    };
+    "http-signature-0.10.1" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "0.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
+        sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
+      };
+    };
+    "oauth-sign-0.3.0" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+      };
+    };
+    "hawk-1.0.0" = {
+      name = "hawk";
+      packageName = "hawk";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+      };
+    };
+    "aws-sign2-0.5.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+      };
+    };
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    };
+    "combined-stream-0.0.7" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "0.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
+        sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
+      };
+    };
+    "async-0.9.2" = {
+      name = "async";
+      packageName = "async";
+      version = "0.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-0.9.2.tgz";
+        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
+      };
+    };
+    "delayed-stream-0.0.5" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+      };
+    };
+    "assert-plus-0.1.5" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
+        sha1 = "ee74009413002d84cec7219c6ac811812e723160";
+      };
+    };
+    "asn1-0.1.11" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+      };
+    };
+    "ctype-0.5.3" = {
+      name = "ctype";
+      packageName = "ctype";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
+        sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
+      };
+    };
+    "hoek-0.9.1" = {
+      name = "hoek";
+      packageName = "hoek";
+      version = "0.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+      };
+    };
+    "boom-0.4.2" = {
+      name = "boom";
+      packageName = "boom";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+      };
+    };
+    "cryptiles-0.2.2" = {
+      name = "cryptiles";
+      packageName = "cryptiles";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+      };
+    };
+    "sntp-0.2.4" = {
+      name = "sntp";
+      packageName = "sntp";
+      version = "0.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+      };
+    };
+    "block-stream-0.0.9" = {
+      name = "block-stream";
+      packageName = "block-stream";
+      version = "0.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz";
+        sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
+      };
+    };
+    "fstream-0.1.31" = {
+      name = "fstream";
+      packageName = "fstream";
+      version = "0.1.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
+        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
+      };
+    };
+    "inherits-2.0.3" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    };
+    "graceful-fs-3.0.11" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "3.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz";
+        sha1 = "7613c778a1afea62f25c630a086d7f3acbbdd818";
+      };
+    };
+    "mkdirp-0.5.1" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    };
+    "rimraf-2.6.2" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz";
+        sha512 = "3kmrqh8xli7rzfm8wc6j9lp0c6vml172iv3z088an9xlwl1xvkvh3fn92za66ms4c9yww80qa5kan31k1z1ypqvkchmh1mznb09xdwn";
+      };
+    };
+    "natives-1.1.0" = {
+      name = "natives";
+      packageName = "natives";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz";
+        sha1 = "e9ff841418a6b2ec7a495e939984f78f163e6e31";
+      };
+    };
+    "minimist-0.0.8" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    };
+    "glob-7.1.2" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz";
+        sha512 = "08vjxzixc9dwc1hn5pd60yyij98krk2pr758aiga97r02ncvaqx1hidi95wk470k1v84gg4alls9bm52m77174z128bgf13b61x951h";
+      };
+    };
+    "fs.realpath-1.0.0" = {
+      name = "fs.realpath";
+      packageName = "fs.realpath";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    };
+    "inflight-1.0.6" = {
+      name = "inflight";
+      packageName = "inflight";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    };
+    "minimatch-3.0.4" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+        sha512 = "1879a3j85h92ypvb7lpv1dqpcxl49rqnbgs5la18zmj1yqhwl60c2m74254wbr5pp3znckqpkg9dvjyrz6hfz8b9vag5a3j910db4f8";
+      };
+    };
+    "once-1.4.0" = {
+      name = "once";
+      packageName = "once";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    };
+    "path-is-absolute-1.0.1" = {
+      name = "path-is-absolute";
+      packageName = "path-is-absolute";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    };
+    "wrappy-1.0.2" = {
+      name = "wrappy";
+      packageName = "wrappy";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    };
+    "brace-expansion-1.1.8" = {
+      name = "brace-expansion";
+      packageName = "brace-expansion";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz";
+        sha1 = "c07b211c7c952ec1f8efd51a77ef0d1d3990a292";
+      };
+    };
+    "balanced-match-1.0.0" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    };
+    "concat-map-0.0.1" = {
+      name = "concat-map";
+      packageName = "concat-map";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    };
+    "commander-2.1.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
+        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
+      };
+    };
+    "nan-1.0.0" = {
+      name = "nan";
+      packageName = "nan";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
+        sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
+      };
+    };
+    "tinycolor-0.0.1" = {
+      name = "tinycolor";
+      packageName = "tinycolor";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
+        sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
+      };
+    };
+    "options-0.0.6" = {
+      name = "options";
+      packageName = "options";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/options/-/options-0.0.6.tgz";
+        sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
+      };
+    };
+  };
+in
+{
+  "body-parser-~1.6.3" = nodeEnv.buildNodePackage {
+    name = "body-parser";
+    packageName = "body-parser";
+    version = "1.6.7";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/body-parser/-/body-parser-1.6.7.tgz";
+      sha1 = "82306becadf44543e826b3907eae93f0237c4e5c";
+    };
+    dependencies = [
+      sources."bytes-1.0.0"
+      sources."depd-0.4.4"
+      sources."iconv-lite-0.4.4"
+      sources."media-typer-0.2.0"
+      sources."on-finished-2.1.0"
+      sources."qs-2.2.2"
+      sources."raw-body-1.3.0"
+      sources."type-is-1.3.2"
+      sources."ee-first-1.0.5"
+      sources."mime-types-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Node.js body parsing middleware";
+      homepage = https://github.com/expressjs/body-parser;
+      license = "MIT";
+    };
+    production = true;
+  };
+  "express-~4.8.3" = nodeEnv.buildNodePackage {
+    name = "express";
+    packageName = "express";
+    version = "4.8.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/express/-/express-4.8.8.tgz";
+      sha1 = "6aba348ccdfa87608040b12ca0010107a0aac28e";
+    };
+    dependencies = [
+      sources."accepts-1.0.7"
+      sources."buffer-crc32-0.2.3"
+      sources."debug-1.0.4"
+      sources."depd-0.4.4"
+      sources."escape-html-1.0.1"
+      sources."finalhandler-0.1.0"
+      sources."media-typer-0.2.0"
+      sources."methods-1.1.0"
+      sources."parseurl-1.3.2"
+      sources."path-to-regexp-0.1.3"
+      sources."proxy-addr-1.0.1"
+      sources."qs-2.2.2"
+      sources."range-parser-1.0.0"
+      sources."send-0.8.5"
+      sources."serve-static-1.5.4"
+      sources."type-is-1.3.2"
+      sources."vary-0.1.0"
+      sources."cookie-0.1.2"
+      sources."fresh-0.2.2"
+      sources."cookie-signature-1.0.4"
+      sources."merge-descriptors-0.0.2"
+      sources."utils-merge-1.0.0"
+      sources."mime-types-1.0.2"
+      sources."negotiator-0.4.7"
+      sources."ms-0.6.2"
+      sources."ipaddr.js-0.1.2"
+      sources."destroy-1.0.3"
+      sources."mime-1.2.11"
+      sources."on-finished-2.1.0"
+      sources."ee-first-1.0.5"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Fast, unopinionated, minimalist web framework";
+      homepage = http://expressjs.com/;
+      license = "MIT";
+    };
+    production = true;
+  };
+  "request-~2.34.0" = nodeEnv.buildNodePackage {
+    name = "request";
+    packageName = "request";
+    version = "2.34.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/request/-/request-2.34.0.tgz";
+      sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
+    };
+    dependencies = [
+      sources."qs-0.6.6"
+      sources."json-stringify-safe-5.0.1"
+      sources."forever-agent-0.5.2"
+      sources."node-uuid-1.4.8"
+      sources."mime-1.2.11"
+      sources."tough-cookie-2.3.3"
+      sources."form-data-0.1.4"
+      sources."tunnel-agent-0.3.0"
+      sources."http-signature-0.10.1"
+      sources."oauth-sign-0.3.0"
+      sources."hawk-1.0.0"
+      sources."aws-sign2-0.5.0"
+      sources."punycode-1.4.1"
+      sources."combined-stream-0.0.7"
+      sources."async-0.9.2"
+      sources."delayed-stream-0.0.5"
+      sources."assert-plus-0.1.5"
+      sources."asn1-0.1.11"
+      sources."ctype-0.5.3"
+      sources."hoek-0.9.1"
+      sources."boom-0.4.2"
+      sources."cryptiles-0.2.2"
+      sources."sntp-0.2.4"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Simplified HTTP request client.";
+      homepage = https://github.com/mikeal/request;
+      license = "Apache, Version 2.0";
+    };
+    production = true;
+  };
+  "tar-~0.1.19" = nodeEnv.buildNodePackage {
+    name = "tar";
+    packageName = "tar";
+    version = "0.1.20";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
+      sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
+    };
+    dependencies = [
+      sources."block-stream-0.0.9"
+      sources."fstream-0.1.31"
+      sources."inherits-2.0.3"
+      sources."graceful-fs-3.0.11"
+      sources."mkdirp-0.5.1"
+      sources."rimraf-2.6.2"
+      sources."natives-1.1.0"
+      sources."minimist-0.0.8"
+      sources."glob-7.1.2"
+      sources."fs.realpath-1.0.0"
+      sources."inflight-1.0.6"
+      sources."minimatch-3.0.4"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."wrappy-1.0.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
+      sources."concat-map-0.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "tar for node";
+      homepage = https://github.com/isaacs/node-tar;
+      license = "BSD";
+    };
+    production = true;
+  };
+  "ws-~0.4.32" = nodeEnv.buildNodePackage {
+    name = "ws";
+    packageName = "ws";
+    version = "0.4.32";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
+      sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
+    };
+    dependencies = [
+      sources."commander-2.1.0"
+      sources."nan-1.0.0"
+      sources."tinycolor-0.0.1"
+      sources."options-0.0.6"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "simple to use, blazing fast and thoroughly tested websocket client, server and console for node.js, up-to-date against RFC-6455";
+      homepage = https://github.com/einaros/ws;
+    };
+    production = true;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/editors/zed/node.nix b/pkgs/applications/editors/zed/node.nix
index e74ff1ec45f4..ff0bf1eb8056 100644
--- a/pkgs/applications/editors/zed/node.nix
+++ b/pkgs/applications/editors/zed/node.nix
@@ -1,1825 +1,16 @@
-{ self, fetchurl, fetchgit ? null, lib }:
+# This file has been generated by node2nix 1.3.0. Do not edit!
 
-{
-  by-spec."accepts"."~1.2.7" =
-    self.by-version."accepts"."1.2.7";
-  by-version."accepts"."1.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "accepts-1.2.7";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/accepts/-/accepts-1.2.7.tgz";
-        name = "accepts-1.2.7.tgz";
-        sha1 = "efea24e36e0b5b93d001a7598ac441c32ef56003";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."accepts" or []);
-    deps = {
-      "mime-types-2.0.12" = self.by-version."mime-types"."2.0.12";
-      "negotiator-0.5.3" = self.by-version."negotiator"."0.5.3";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "accepts" ];
-  };
-  by-spec."asn1"."0.1.11" =
-    self.by-version."asn1"."0.1.11";
-  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "asn1-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."asn1" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "asn1" ];
-  };
-  by-spec."assert-plus"."^0.1.5" =
-    self.by-version."assert-plus"."0.1.5";
-  by-version."assert-plus"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "assert-plus-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."assert-plus" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "assert-plus" ];
-  };
-  by-spec."async"."~0.9.0" =
-    self.by-version."async"."0.9.2";
-  by-version."async"."0.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "async-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  by-spec."aws-sign2"."~0.5.0" =
-    self.by-version."aws-sign2"."0.5.0";
-  by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sign2-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."aws-sign2" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "aws-sign2" ];
-  };
-  by-spec."balanced-match"."^0.2.0" =
-    self.by-version."balanced-match"."0.2.0";
-  by-version."balanced-match"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "balanced-match-0.2.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz";
-        name = "balanced-match-0.2.0.tgz";
-        sha1 = "38f6730c03aab6d5edbb52bd934885e756d71674";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."balanced-match" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "balanced-match" ];
-  };
-  by-spec."block-stream"."*" =
-    self.by-version."block-stream"."0.0.8";
-  by-version."block-stream"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "block-stream-0.0.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz";
-        name = "block-stream-0.0.8.tgz";
-        sha1 = "0688f46da2bbf9cff0c4f68225a0cb95cbe8a46b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."block-stream" or []);
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "block-stream" ];
-  };
-  by-spec."body-parser"."^1.6.3" =
-    self.by-version."body-parser"."1.12.4";
-  by-version."body-parser"."1.12.4" = lib.makeOverridable self.buildNodePackage {
-    name = "body-parser-1.12.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.12.4.tgz";
-        name = "body-parser-1.12.4.tgz";
-        sha1 = "090700c4ba28862a8520ef378395fdee5f61c229";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."body-parser" or []);
-    deps = {
-      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
-      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "iconv-lite-0.4.8" = self.by-version."iconv-lite"."0.4.8";
-      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
-      "qs-2.4.2" = self.by-version."qs"."2.4.2";
-      "raw-body-2.0.1" = self.by-version."raw-body"."2.0.1";
-      "type-is-1.6.2" = self.by-version."type-is"."1.6.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "body-parser" ];
-  };
-  "body-parser" = self.by-version."body-parser"."1.12.4";
-  by-spec."boom"."0.4.x" =
-    self.by-version."boom"."0.4.2";
-  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "boom-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."boom" or []);
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "boom" ];
-  };
-  by-spec."brace-expansion"."^1.0.0" =
-    self.by-version."brace-expansion"."1.1.0";
-  by-version."brace-expansion"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "brace-expansion-1.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz";
-        name = "brace-expansion-1.1.0.tgz";
-        sha1 = "c9b7d03c03f37bc704be100e522b40db8f6cfcd9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."brace-expansion" or []);
-    deps = {
-      "balanced-match-0.2.0" = self.by-version."balanced-match"."0.2.0";
-      "concat-map-0.0.1" = self.by-version."concat-map"."0.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "brace-expansion" ];
-  };
-  by-spec."bytes"."1.0.0" =
-    self.by-version."bytes"."1.0.0";
-  by-version."bytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bytes-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
-        name = "bytes-1.0.0.tgz";
-        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bytes" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "bytes" ];
-  };
-  by-spec."bytes"."2.0.1" =
-    self.by-version."bytes"."2.0.1";
-  by-version."bytes"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "bytes-2.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-2.0.1.tgz";
-        name = "bytes-2.0.1.tgz";
-        sha1 = "673743059be43d929f9c225dd7363ee0f8b15d97";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bytes" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "bytes" ];
-  };
-  by-spec."combined-stream"."~0.0.4" =
-    self.by-version."combined-stream"."0.0.7";
-  by-version."combined-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "combined-stream-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."combined-stream" or []);
-    deps = {
-      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "combined-stream" ];
-  };
-  by-spec."commander"."~2.1.0" =
-    self.by-version."commander"."2.1.0";
-  by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-2.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
-        name = "commander-2.1.0.tgz";
-        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
-  by-spec."concat-map"."0.0.1" =
-    self.by-version."concat-map"."0.0.1";
-  by-version."concat-map"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "concat-map-0.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-        name = "concat-map-0.0.1.tgz";
-        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."concat-map" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "concat-map" ];
-  };
-  by-spec."content-disposition"."0.5.0" =
-    self.by-version."content-disposition"."0.5.0";
-  by-version."content-disposition"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "content-disposition-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."content-disposition" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "content-disposition" ];
-  };
-  by-spec."content-type"."~1.0.1" =
-    self.by-version."content-type"."1.0.1";
-  by-version."content-type"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "content-type-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."content-type" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "content-type" ];
-  };
-  by-spec."cookie"."0.1.2" =
-    self.by-version."cookie"."0.1.2";
-  by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie" ];
-  };
-  by-spec."cookie-signature"."1.0.6" =
-    self.by-version."cookie-signature"."1.0.6";
-  by-version."cookie-signature"."1.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-signature-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie-signature" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie-signature" ];
-  };
-  by-spec."crc"."3.2.1" =
-    self.by-version."crc"."3.2.1";
-  by-version."crc"."3.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "crc-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."crc" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "crc" ];
-  };
-  by-spec."cryptiles"."0.2.x" =
-    self.by-version."cryptiles"."0.2.2";
-  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "cryptiles-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cryptiles" or []);
-    deps = {
-      "boom-0.4.2" = self.by-version."boom"."0.4.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cryptiles" ];
-  };
-  by-spec."ctype"."0.5.3" =
-    self.by-version."ctype"."0.5.3";
-  by-version."ctype"."0.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "ctype-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ctype" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ctype" ];
-  };
-  by-spec."debug"."~2.2.0" =
-    self.by-version."debug"."2.2.0";
-  by-version."debug"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = {
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
-  by-spec."delayed-stream"."0.0.5" =
-    self.by-version."delayed-stream"."0.0.5";
-  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "delayed-stream-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."delayed-stream" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "delayed-stream" ];
-  };
-  by-spec."depd"."~1.0.1" =
-    self.by-version."depd"."1.0.1";
-  by-version."depd"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "depd-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."depd" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "depd" ];
-  };
-  by-spec."destroy"."1.0.3" =
-    self.by-version."destroy"."1.0.3";
-  by-version."destroy"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "destroy-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."destroy" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "destroy" ];
-  };
-  by-spec."ee-first"."1.1.0" =
-    self.by-version."ee-first"."1.1.0";
-  by-version."ee-first"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "ee-first-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ee-first" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ee-first" ];
-  };
-  by-spec."escape-html"."1.0.1" =
-    self.by-version."escape-html"."1.0.1";
-  by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "escape-html-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."escape-html" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "escape-html" ];
-  };
-  by-spec."etag"."~1.6.0" =
-    self.by-version."etag"."1.6.0";
-  by-version."etag"."1.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "etag-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."etag" or []);
-    deps = {
-      "crc-3.2.1" = self.by-version."crc"."3.2.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "etag" ];
-  };
-  by-spec."express"."^4.8.3" =
-    self.by-version."express"."4.12.4";
-  by-version."express"."4.12.4" = lib.makeOverridable self.buildNodePackage {
-    name = "express-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express" or []);
-    deps = {
-      "accepts-1.2.7" = self.by-version."accepts"."1.2.7";
-      "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.2" = self.by-version."type-is"."1.6.2";
-      "vary-1.0.0" = self.by-version."vary"."1.0.0";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  "express" = self.by-version."express"."4.12.4";
-  by-spec."finalhandler"."0.3.6" =
-    self.by-version."finalhandler"."0.3.6";
-  by-version."finalhandler"."0.3.6" = lib.makeOverridable self.buildNodePackage {
-    name = "finalhandler-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."finalhandler" or []);
-    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";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "finalhandler" ];
-  };
-  by-spec."forever-agent"."~0.5.0" =
-    self.by-version."forever-agent"."0.5.2";
-  by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-agent-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever-agent" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever-agent" ];
-  };
-  by-spec."form-data"."~0.1.0" =
-    self.by-version."form-data"."0.1.4";
-  by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "form-data-0.1.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
-        name = "form-data-0.1.4.tgz";
-        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."form-data" or []);
-    deps = {
-      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "form-data" ];
-  };
-  by-spec."forwarded"."~0.1.0" =
-    self.by-version."forwarded"."0.1.0";
-  by-version."forwarded"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "forwarded-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forwarded" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "forwarded" ];
-  };
-  by-spec."fresh"."0.2.4" =
-    self.by-version."fresh"."0.2.4";
-  by-version."fresh"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "fresh-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fresh" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "fresh" ];
-  };
-  by-spec."fstream"."~0.1.28" =
-    self.by-version."fstream"."0.1.31";
-  by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.31";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
-        name = "fstream-0.1.31.tgz";
-        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream" or []);
-    deps = {
-      "graceful-fs-3.0.7" = self.by-version."graceful-fs"."3.0.7";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "rimraf-2.3.4" = self.by-version."rimraf"."2.3.4";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
-  };
-  by-spec."glob"."^4.4.2" =
-    self.by-version."glob"."4.5.3";
-  by-version."glob"."4.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-4.5.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-4.5.3.tgz";
-        name = "glob-4.5.3.tgz";
-        sha1 = "c6cb73d3226c1efef04de3c56d012f03377ee15f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob" or []);
-    deps = {
-      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-2.0.8" = self.by-version."minimatch"."2.0.8";
-      "once-1.3.2" = self.by-version."once"."1.3.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  by-spec."graceful-fs"."~3.0.2" =
-    self.by-version."graceful-fs"."3.0.7";
-  by-version."graceful-fs"."3.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-3.0.7";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.7.tgz";
-        name = "graceful-fs-3.0.7.tgz";
-        sha1 = "e935be4b3e57892d289dc3bef7be8c02779d2b54";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  by-spec."hawk"."~1.0.0" =
-    self.by-version."hawk"."1.0.0";
-  by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
-        name = "hawk-1.0.0.tgz";
-        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hawk" or []);
-    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";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "hawk" ];
-  };
-  by-spec."hoek"."0.9.x" =
-    self.by-version."hoek"."0.9.1";
-  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "hoek-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hoek" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "hoek" ];
-  };
-  by-spec."http-signature"."~0.10.0" =
-    self.by-version."http-signature"."0.10.1";
-  by-version."http-signature"."0.10.1" = lib.makeOverridable self.buildNodePackage {
-    name = "http-signature-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-signature" or []);
-    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";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "http-signature" ];
-  };
-  by-spec."iconv-lite"."0.4.8" =
-    self.by-version."iconv-lite"."0.4.8";
-  by-version."iconv-lite"."0.4.8" = lib.makeOverridable self.buildNodePackage {
-    name = "iconv-lite-0.4.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.8.tgz";
-        name = "iconv-lite-0.4.8.tgz";
-        sha1 = "c6019a7595f2cefca702eab694a010bcd9298d20";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
-  };
-  by-spec."inflight"."^1.0.4" =
-    self.by-version."inflight"."1.0.4";
-  by-version."inflight"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "inflight-1.0.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz";
-        name = "inflight-1.0.4.tgz";
-        sha1 = "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inflight" or []);
-    deps = {
-      "once-1.3.2" = self.by-version."once"."1.3.2";
-      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "inflight" ];
-  };
-  by-spec."inherits"."2" =
-    self.by-version."inherits"."2.0.1";
-  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  by-spec."inherits"."~2.0.0" =
-    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" = lib.makeOverridable self.buildNodePackage {
-    name = "ipaddr.js-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ipaddr.js" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ipaddr.js" ];
-  };
-  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" = lib.makeOverridable self.buildNodePackage {
-    name = "json-stringify-safe-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."json-stringify-safe" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "json-stringify-safe" ];
-  };
-  by-spec."media-typer"."0.3.0" =
-    self.by-version."media-typer"."0.3.0";
-  by-version."media-typer"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "media-typer-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."media-typer" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "media-typer" ];
-  };
-  by-spec."merge-descriptors"."1.0.0" =
-    self.by-version."merge-descriptors"."1.0.0";
-  by-version."merge-descriptors"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "merge-descriptors-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."merge-descriptors" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "merge-descriptors" ];
-  };
-  by-spec."methods"."~1.1.1" =
-    self.by-version."methods"."1.1.1";
-  by-version."methods"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "methods-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."methods" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "methods" ];
-  };
-  by-spec."mime"."1.3.4" =
-    self.by-version."mime"."1.3.4";
-  by-version."mime"."1.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  by-spec."mime"."~1.2.11" =
-    self.by-version."mime"."1.2.11";
-  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  by-spec."mime"."~1.2.9" =
-    self.by-version."mime"."1.2.11";
-  by-spec."mime-db"."~1.10.0" =
-    self.by-version."mime-db"."1.10.0";
-  by-version."mime-db"."1.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-db-1.10.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime-db/-/mime-db-1.10.0.tgz";
-        name = "mime-db-1.10.0.tgz";
-        sha1 = "e6308063c758ebd12837874c3d1ea9170766b03b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime-db" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime-db" ];
-  };
-  by-spec."mime-types"."~2.0.11" =
-    self.by-version."mime-types"."2.0.12";
-  by-version."mime-types"."2.0.12" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-types-2.0.12";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.12.tgz";
-        name = "mime-types-2.0.12.tgz";
-        sha1 = "87ae9f124e94f8e440c93d1a72d0dccecdb71135";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime-types" or []);
-    deps = {
-      "mime-db-1.10.0" = self.by-version."mime-db"."1.10.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime-types" ];
-  };
-  by-spec."minimatch"."^2.0.1" =
-    self.by-version."minimatch"."2.0.8";
-  by-version."minimatch"."2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-2.0.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-2.0.8.tgz";
-        name = "minimatch-2.0.8.tgz";
-        sha1 = "0bc20f6bf3570a698ef0ddff902063c6cabda6bf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch" or []);
-    deps = {
-      "brace-expansion-1.1.0" = self.by-version."brace-expansion"."1.1.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  by-spec."minimist"."0.0.8" =
-    self.by-version."minimist"."0.0.8";
-  by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "minimist-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimist" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimist" ];
-  };
-  by-spec."mkdirp"."0.5" =
-    self.by-version."mkdirp"."0.5.1";
-  by-version."mkdirp"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp" or []);
-    deps = {
-      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  by-spec."ms"."0.7.1" =
-    self.by-version."ms"."0.7.1";
-  by-version."ms"."0.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "ms-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ms" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ms" ];
-  };
-  by-spec."nan"."~1.0.0" =
-    self.by-version."nan"."1.0.0";
-  by-version."nan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "nan-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
-        name = "nan-1.0.0.tgz";
-        sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nan" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "nan" ];
-  };
-  by-spec."negotiator"."0.5.3" =
-    self.by-version."negotiator"."0.5.3";
-  by-version."negotiator"."0.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "negotiator-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."negotiator" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "negotiator" ];
-  };
-  by-spec."node-uuid"."~1.4.0" =
-    self.by-version."node-uuid"."1.4.3";
-  by-version."node-uuid"."1.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-uuid" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-uuid" ];
-  };
-  by-spec."oauth-sign"."~0.3.0" =
-    self.by-version."oauth-sign"."0.3.0";
-  by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "oauth-sign-0.3.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
-        name = "oauth-sign-0.3.0.tgz";
-        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."oauth-sign" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "oauth-sign" ];
-  };
-  by-spec."on-finished"."~2.2.1" =
-    self.by-version."on-finished"."2.2.1";
-  by-version."on-finished"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "on-finished-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."on-finished" or []);
-    deps = {
-      "ee-first-1.1.0" = self.by-version."ee-first"."1.1.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "on-finished" ];
-  };
-  by-spec."once"."^1.3.0" =
-    self.by-version."once"."1.3.2";
-  by-version."once"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "once-1.3.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/once/-/once-1.3.2.tgz";
-        name = "once-1.3.2.tgz";
-        sha1 = "d8feeca93b039ec1dcdee7741c92bdac5e28081b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."once" or []);
-    deps = {
-      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "once" ];
-  };
-  by-spec."options".">=0.0.5" =
-    self.by-version."options"."0.0.6";
-  by-version."options"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "options-0.0.6";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz";
-        name = "options-0.0.6.tgz";
-        sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."options" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "options" ];
-  };
-  by-spec."parseurl"."~1.3.0" =
-    self.by-version."parseurl"."1.3.0";
-  by-version."parseurl"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "parseurl-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parseurl" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "parseurl" ];
-  };
-  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" = lib.makeOverridable self.buildNodePackage {
-    name = "path-to-regexp-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."path-to-regexp" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "path-to-regexp" ];
-  };
-  by-spec."proxy-addr"."~1.0.8" =
-    self.by-version."proxy-addr"."1.0.8";
-  by-version."proxy-addr"."1.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "proxy-addr-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."proxy-addr" or []);
-    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";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "proxy-addr" ];
-  };
-  by-spec."qs"."2.4.2" =
-    self.by-version."qs"."2.4.2";
-  by-version."qs"."2.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  by-spec."qs"."~0.6.0" =
-    self.by-version."qs"."0.6.6";
-  by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.6.6";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
-        name = "qs-0.6.6.tgz";
-        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  by-spec."range-parser"."~1.0.2" =
-    self.by-version."range-parser"."1.0.2";
-  by-version."range-parser"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "range-parser-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."range-parser" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "range-parser" ];
-  };
-  by-spec."raw-body"."~2.0.1" =
-    self.by-version."raw-body"."2.0.1";
-  by-version."raw-body"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "raw-body-2.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/raw-body/-/raw-body-2.0.1.tgz";
-        name = "raw-body-2.0.1.tgz";
-        sha1 = "2b70a3ffd1681c0521bae73454e0ccbc785d378e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."raw-body" or []);
-    deps = {
-      "bytes-2.0.1" = self.by-version."bytes"."2.0.1";
-      "iconv-lite-0.4.8" = self.by-version."iconv-lite"."0.4.8";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "raw-body" ];
-  };
-  by-spec."request"."~2.34.0" =
-    self.by-version."request"."2.34.0";
-  by-version."request"."2.34.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.34.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.34.0.tgz";
-        name = "request-2.34.0.tgz";
-        sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = {
-      "qs-0.6.6" = self.by-version."qs"."0.6.6";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
-      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "tough-cookie-1.1.0" = self.by-version."tough-cookie"."1.1.0";
-      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
-      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
-      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
-      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
-      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  "request" = self.by-version."request"."2.34.0";
-  by-spec."rimraf"."2" =
-    self.by-version."rimraf"."2.3.4";
-  by-version."rimraf"."2.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.3.4";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.3.4.tgz";
-        name = "rimraf-2.3.4.tgz";
-        sha1 = "82d9bc1b2fcf31e205ac7b28138a025d08e9159a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf" or []);
-    deps = {
-      "glob-4.5.3" = self.by-version."glob"."4.5.3";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  by-spec."send"."0.12.3" =
-    self.by-version."send"."0.12.3";
-  by-version."send"."0.12.3" = lib.makeOverridable self.buildNodePackage {
-    name = "send-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    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";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  by-spec."serve-static"."~1.9.3" =
-    self.by-version."serve-static"."1.9.3";
-  by-version."serve-static"."1.9.3" = lib.makeOverridable self.buildNodePackage {
-    name = "serve-static-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."serve-static" or []);
-    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";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "serve-static" ];
-  };
-  by-spec."sntp"."0.2.x" =
-    self.by-version."sntp"."0.2.4";
-  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "sntp-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sntp" or []);
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "sntp" ];
-  };
-  by-spec."tar"."~0.1.19" =
-    self.by-version."tar"."0.1.20";
-  by-version."tar"."0.1.20" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.20";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
-        name = "tar-0.1.20.tgz";
-        sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar" or []);
-    deps = {
-      "block-stream-0.0.8" = self.by-version."block-stream"."0.0.8";
-      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  "tar" = self.by-version."tar"."0.1.20";
-  by-spec."tinycolor"."0.x" =
-    self.by-version."tinycolor"."0.0.1";
-  by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "tinycolor-0.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
-        name = "tinycolor-0.0.1.tgz";
-        sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tinycolor" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tinycolor" ];
-  };
-  by-spec."tough-cookie".">=0.12.0" =
-    self.by-version."tough-cookie"."1.1.0";
-  by-version."tough-cookie"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "tough-cookie-1.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-1.1.0.tgz";
-        name = "tough-cookie-1.1.0.tgz";
-        sha1 = "126d2490e66ae5286b6863debd4a341076915954";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tough-cookie" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tough-cookie" ];
-  };
-  by-spec."tunnel-agent"."~0.3.0" =
-    self.by-version."tunnel-agent"."0.3.0";
-  by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "tunnel-agent-0.3.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
-        name = "tunnel-agent-0.3.0.tgz";
-        sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tunnel-agent" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tunnel-agent" ];
-  };
-  by-spec."type-is"."~1.6.2" =
-    self.by-version."type-is"."1.6.2";
-  by-version."type-is"."1.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "type-is-1.6.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.6.2.tgz";
-        name = "type-is-1.6.2.tgz";
-        sha1 = "694e83e5d110417e681cea278227f264ae406e33";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."type-is" or []);
-    deps = {
-      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
-      "mime-types-2.0.12" = self.by-version."mime-types"."2.0.12";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "type-is" ];
-  };
-  by-spec."utils-merge"."1.0.0" =
-    self.by-version."utils-merge"."1.0.0";
-  by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "utils-merge-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."utils-merge" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "utils-merge" ];
-  };
-  by-spec."vary"."~1.0.0" =
-    self.by-version."vary"."1.0.0";
-  by-version."vary"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "vary-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";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vary" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "vary" ];
-  };
-  by-spec."wrappy"."1" =
-    self.by-version."wrappy"."1.0.1";
-  by-version."wrappy"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "wrappy-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz";
-        name = "wrappy-1.0.1.tgz";
-        sha1 = "1e65969965ccbc2db4548c6b84a6f2c5aedd4739";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."wrappy" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "wrappy" ];
-  };
-  by-spec."ws"."~0.4.32" =
-    self.by-version."ws"."0.4.32";
-  by-version."ws"."0.4.32" = lib.makeOverridable self.buildNodePackage {
-    name = "ws-0.4.32";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
-        name = "ws-0.4.32.tgz";
-        sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ws" or []);
-    deps = {
-      "commander-2.1.0" = self.by-version."commander"."2.1.0";
-      "nan-1.0.0" = self.by-version."nan"."1.0.0";
-      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
-      "options-0.0.6" = self.by-version."options"."0.0.6";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ws" ];
-  };
-  "ws" = self.by-version."ws"."0.4.32";
-}
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-6_x"}:
+
+let
+  nodeEnv = import ../../../development/node-packages/node-env.nix {
+    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit nodejs;
+  };
+in
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/pkgs/applications/kde/kdenlive.nix b/pkgs/applications/kde/kdenlive.nix
index 854e346e2909..17d7da7b702c 100644
--- a/pkgs/applications/kde/kdenlive.nix
+++ b/pkgs/applications/kde/kdenlive.nix
@@ -2,7 +2,6 @@
 , lib
 , extra-cmake-modules
 , kdoctools
-, qtscript
 , kactivities
 , kconfig
 , kcrash
@@ -27,7 +26,10 @@
 , kfilemetadata
 , ffmpeg
 , phonon-backend-gstreamer
+, qtdeclarative
 , qtquickcontrols
+, qtscript
+, qtwebkit
 }:
 
 mkDerivation {
@@ -56,8 +58,10 @@ mkDerivation {
     ktextwidgets
     mlt
     phonon-backend-gstreamer
+    qtdeclarative
     qtquickcontrols
     qtscript
+    qtwebkit
     shared_mime_info
     libv4l
     ffmpeg
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index 0444b1d96d2c..72d9c7d2fb5d 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -6,7 +6,7 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "keepassx-community-${version}";
+  name = "keepassxc-${version}";
   version = "2.2.2";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index 0c08929417e6..e3c4943cb2fe 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -18,11 +18,6 @@ stdenv.mkDerivation rec {
     hunspell makeWrapper # enchant
   ];
 
-  # bogus configure script tests
-  preConfigure = ''
-    NIX_CFLAGS_COMPILE+=" $(pkg-config --cflags Qt5Core)"
-  '';
-
   configureFlags = [
     "--enable-qt5"
     #"--without-included-boost"
diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix
index fc702f249de4..0167132db789 100644
--- a/pkgs/applications/misc/mediainfo-gui/default.nix
+++ b/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -2,11 +2,11 @@
 , desktop_file_utils, libSM, imagemagick }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.99";
+  version = "17.10";
   name = "mediainfo-gui-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "127d6wsrq3wg3ibbb28m26wrm54qbkv8h8xycanvml6ys4zqsc6a";
+    sha256 = "1yvh4r19kk3bzzgnr4ikrjxqldr6860s35sh4bqr51c7l77k048c";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   sourceRoot = "./MediaInfo/Project/GNU/GUI/";
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Supplies technical and tag information about a video or audio file (GUI version)";
     longDescription = ''
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
index 84fef1b39832..e6175356348f 100644
--- a/pkgs/applications/misc/mediainfo/default.nix
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.99";
+  version = "17.10";
   name = "mediainfo-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "127d6wsrq3wg3ibbb28m26wrm54qbkv8h8xycanvml6ys4zqsc6a";
+    sha256 = "1yvh4r19kk3bzzgnr4ikrjxqldr6860s35sh4bqr51c7l77k048c";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-libmediainfo=${libmediainfo}" ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Supplies technical and tag information about a video or audio file";
     longDescription = ''
diff --git a/pkgs/applications/networking/browsers/surf/default.nix b/pkgs/applications/networking/browsers/surf/default.nix
index 04d475f36f07..1aa9bf044b05 100644
--- a/pkgs/applications/networking/browsers/surf/default.nix
+++ b/pkgs/applications/networking/browsers/surf/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   version = "2.0";
 
   src = fetchurl {
-    url = "http://dl.suckless.org/surf/surf-${version}.tar.gz";
+    url = "https://dl.suckless.org/surf/surf-${version}.tar.gz";
     sha256 = "07cmajyafljigy10d21kkyvv5jf3hxkx06pz3rwwk3y3c9x4rvps";
   };
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
       possible to embed it in another application. Furthermore, one can point
       surf to another URI by setting its XProperties.
     '';
-    homepage = http://surf.suckless.org;
+    homepage = https://surf.suckless.org;
     license = licenses.mit;
     platforms = webkitgtk.meta.platforms;
     maintainers = with maintainers; [ joachifm ];
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 86b4a1fd6ea7..210d78369da6 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
 , pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }:
 
-let version = "3.28.0"; in
+let version = "3.29.0"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "1dxzmpqrb3a29ln9vx10n438w5i649729vy911sm92bwn2p235p4";
+    sha256 = "0najf2w6p5j4qc8jmglx6j63mph749s5p90lz2nkmwwwy5sfvlga";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index bee3062a5a22..6e86cfb3d023 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -2,7 +2,7 @@
 
 let
   stableVersion = "2.0.3";
-  previewVersion = "2.1.0rc3";
+  previewVersion = "2.1.0rc4";
   addVersion = args:
     let version = if args.stable then stableVersion else previewVersion;
         branch = if args.stable then "stable" else "preview";
@@ -16,7 +16,7 @@ in {
   };
   guiPreview = mkGui {
     stable = false;
-    sha256Hash = "0yc5lr01xb7lk4dsrwx79mimbr91vldpvqbrx37j3kym6p5m84cn";
+    sha256Hash = "10p8i45n6qsf431d0xpy5dk3g5qh6zdlnfj82jn9xdyccgxs4x3s";
   };
 
   serverStable = mkServer {
@@ -25,6 +25,6 @@ in {
   };
   serverPreview = mkServer {
     stable = false;
-    sha256Hash = "1lac88d9cmlhrwmlvxv1sk86600rwznw3lpsm440bax6qbdfcis3";
+    sha256Hash = "1z8a3s90k86vmi4rwsd3v74gwvml68ci6f3zgxaji3z1sm22zcyd";
   };
 }
diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix
index 9d7bf6f5a3ab..6e3280b99019 100644
--- a/pkgs/applications/networking/gns3/server.nix
+++ b/pkgs/applications/networking/gns3/server.nix
@@ -4,7 +4,23 @@
 
 let
   pythonPackages = python3Packages;
-  yarl = if (!stable) then pythonPackages.yarl
+  # TODO: Not sure if all these overwrites are really required...
+  # Upstream seems to have some reasons (bugs, incompatibilities) though.
+  multidict_3_1_3 =
+    (stdenv.lib.overrideDerivation pythonPackages.multidict (oldAttrs:
+      rec {
+        pname = "multidict";
+        version = "3.1.3";
+        name = "${pname}-${version}";
+        src = pythonPackages.fetchPypi {
+          inherit pname version;
+          sha256 = "04kdxh19m41c6vbshwk8jfbidsfsqn7mn0abvx09nyg78sh80pw7";
+        };
+        doInstallCheck = false;
+      }));
+  yarl = if (!stable)
+    then (stdenv.lib.overrideDerivation pythonPackages.yarl (oldAttrs:
+      { propagatedBuildInputs = [ multidict_3_1_3 ]; }))
     else (stdenv.lib.overrideDerivation pythonPackages.yarl (oldAttrs:
       rec {
         pname = "yarl";
@@ -15,7 +31,19 @@ let
           sha256 = "1v2dsmr7bqp0yx51pwhbxyvzza8m2f88prsnbd926mi6ah38p0d7";
         };
       }));
-  aiohttp = if (!stable) then pythonPackages.aiohttp
+  aiohttp = if (!stable)
+    then (stdenv.lib.overrideDerivation pythonPackages.aiohttp (oldAttrs:
+      rec {
+        pname = "aiohttp";
+        version = "2.2.5";
+        name = "${pname}-${version}";
+        src = pythonPackages.fetchPypi {
+          inherit pname version;
+          sha256 = "1g6kzkf5in0briyscwxsihgps833dq2ggcq6lfh1hq95ck8zsnxg";
+        };
+        propagatedBuildInputs = [ yarl multidict_3_1_3 ]
+          ++ (with pythonPackages; [ async-timeout chardet ]);
+      }))
     else (stdenv.lib.overrideDerivation pythonPackages.aiohttp (oldAttrs:
       rec {
         pname = "aiohttp";
@@ -28,7 +56,9 @@ let
         propagatedBuildInputs = [ yarl ]
           ++ (with pythonPackages; [ async-timeout chardet multidict ]);
       }));
-  aiohttp-cors = if (!stable) then pythonPackages.aiohttp-cors
+  aiohttp-cors = if (!stable)
+    then (stdenv.lib.overrideDerivation pythonPackages.aiohttp-cors (oldAttrs:
+      { propagatedBuildInputs = [ aiohttp ]; }))
     else (stdenv.lib.overrideDerivation pythonPackages.aiohttp-cors (oldAttrs:
       rec {
         pname = "aiohttp-cors";
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
index aee739256746..0bc3118d101b 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -2,25 +2,25 @@
   libtoxcore,
   libpthreadstubs, libXdmcp, libXScrnSaver,
   qtbase, qtsvg, qttools, qttranslations,
-  ffmpeg, filter-audio, libsodium, libopus,
+  ffmpeg, filter-audio, libexif, libsodium, libopus,
   libvpx, openal, opencv, pcre, qrencode, sqlcipher }:
 
 mkDerivation rec {
   name = "qtox-${version}";
-  version = "1.11.0";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
-    owner  = "tux3";
+    owner  = "qTox";
     repo   = "qTox";
     rev    = "v${version}";
-    sha256 = "0h8v359h1xn2xm6xa9q56mjiw58ap1bpiwx1dxxmphjildxadwck";
+    sha256 = "1832ay0167qjc2vvpps507mnb0531y3d3pxmlm5nakvcwjs7vl8d";
   };
 
   buildInputs = [
     libtoxcore
     libpthreadstubs libXdmcp libXScrnSaver
     qtbase qtsvg qttools qttranslations
-    ffmpeg filter-audio libopus libsodium
+    ffmpeg filter-audio libexif libopus libsodium
     libvpx openal opencv pcre qrencode sqlcipher
   ];
 
@@ -37,6 +37,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Qt Tox client";
+    homepage    = https://tox.chat;
     license     = licenses.gpl3;
     maintainers = with maintainers; [ viric jgeerds akaWolf peterhoeg ];
     platforms   = platforms.all;
diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix
index 2e574fae8fa5..1523d16be56e 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, newScope, makeWrapper, electron, xdg_utils }:
+{ stdenv, newScope, makeWrapper, electron, xdg_utils, makeDesktopItem }:
 
 let
   callPackage = newScope self;
@@ -7,6 +7,14 @@ let
     rambox-bare = callPackage ./bare.nix {};
     sencha = callPackage ./sencha {};
   };
+  desktopItem = makeDesktopItem rec {
+    name = "Rambox";
+    exec = "rambox";
+    icon = "${self.rambox-bare}/resources/Icon.png";
+    desktopName = name;
+    genericName = "Rambox messenger";
+    categories = "Network;";
+  };
 in
 
 with self;
@@ -22,5 +30,7 @@ stdenv.mkDerivation {
     makeWrapper ${electron}/bin/electron $out/bin/rambox \
       --add-flags "${rambox-bare} --without-update" \
       --prefix PATH : ${xdg_utils}/bin
+    mkdir -p $out/share/applications
+    ln -s ${desktopItem}/share/applications/* $out/share/applications
   '';
 }
diff --git a/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix
index 9b4a718ed23d..5f68e6d86295 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     ./SenchaCmd*.sh -q -dir $out -varfile response.varfile
+    # disallow sencha writing into /nix/store/repo
+    echo "repo.local.dir=$TMP/repo" >> $out/sencha.cfg
     rm $out/shell-wrapper.sh $out/Uninstaller
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix
index 9c4d88761b87..9c208dd52a83 100644
--- a/pkgs/applications/networking/instant-messengers/utox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/utox/default.nix
@@ -25,9 +25,9 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DENABLE_UPDATER=OFF"
-  ];
+  ] ++ stdenv.lib.optional (!doCheck) "-DENABLE_TESTS=OFF";
 
-  doCheck = false;
+  doCheck = true;
 
   checkTarget = "test";
 
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 9b6f2f1f1bb1..3bb65123c81e 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -22,10 +22,6 @@ stdenv.mkDerivation rec {
   buildInputs = [ boost libtorrentRasterbar qtbase qttools ]
     ++ optional guiSupport dbus_libs;
 
-  preConfigure = ''
-    export QT_QMAKE=$(dirname "$QMAKE")
-  '';
-
   configureFlags = [
     "--with-boost-libdir=${boost.out}/lib"
     "--with-boost=${boost.dev}"
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index f2ffcac452ea..ecdecd07eeb9 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, go, procps, removeReferencesTo }:
 
 stdenv.mkDerivation rec {
-  version = "0.14.39";
+  version = "0.14.40";
   name = "syncthing-${version}";
 
   src = fetchFromGitHub {
     owner  = "syncthing";
     repo   = "syncthing";
     rev    = "v${version}";
-    sha256 = "0bq2vdfnl77qldg1zvfhdbmhsj80qz8pds4slqlwjmmjmk19sqnh";
+    sha256 = "0fd4k09sb91d1bjqj2v1fh7raq98fdw45aaa58kramwhidsf9sy5";
   };
 
   buildInputs = [ go removeReferencesTo ];
diff --git a/pkgs/applications/office/paperwork/default.nix b/pkgs/applications/office/paperwork/default.nix
index 07a09fbfc0ab..0881d6d06b50 100644
--- a/pkgs/applications/office/paperwork/default.nix
+++ b/pkgs/applications/office/paperwork/default.nix
@@ -1,19 +1,19 @@
 { lib, python3Packages, fetchFromGitHub, gtk3, cairo
 , aspellDicts, buildEnv
-, gnome3, hicolor_icon_theme
+, gnome3, hicolor_icon_theme, librsvg
 , xvfb_run, dbus, libnotify
 }:
 
 python3Packages.buildPythonApplication rec {
   name = "paperwork-${version}";
   # Don't forget to also update paperwork-backend when updating this!
-  version = "1.2";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     repo = "paperwork";
-    owner = "jflesch";
+    owner = "openpaperwork";
     rev = version;
-    sha256 = "1cb9wnhhpm3dyxjrkyl9bbva56xx85vlwlb7z07m1icflcln14x5";
+    sha256 = "0lqnq74hdjj778j2k0syibwy4i37l8w932gmibs8617s4yi34rxz";
   };
 
   # Patch out a few paths that assume that we're using the FHS:
@@ -47,7 +47,9 @@ python3Packages.buildPythonApplication rec {
   }}/lib/aspell";
 
   checkInputs = [ xvfb_run dbus.daemon ];
-  buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme libnotify ];
+  buildInputs = [
+    gnome3.defaultIconTheme hicolor_icon_theme libnotify librsvg
+  ];
 
   # A few parts of chkdeps need to have a display and a dbus session, so we not
   # only need to run a virtual X server + dbus but also have a large enough
@@ -64,6 +66,7 @@ python3Packages.buildPythonApplication rec {
 
   makeWrapperArgs = [
     "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
+    "--set GDK_PIXBUF_MODULE_FILE \"$GDK_PIXBUF_MODULE_FILE\""
     "--prefix XDG_DATA_DIRS : \"$out/share\""
     "--suffix XDG_DATA_DIRS : \"$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\""
   ];
diff --git a/pkgs/applications/science/logic/glucose/default.nix b/pkgs/applications/science/logic/glucose/default.nix
index 5b318be16649..a0035f965392 100644
--- a/pkgs/applications/science/logic/glucose/default.nix
+++ b/pkgs/applications/science/logic/glucose/default.nix
@@ -1,19 +1,21 @@
 { stdenv, fetchurl, zlib }:
 stdenv.mkDerivation rec {
   name = "glucose-${version}";
-  version = "4.0";
+  version = "4.1";
 
   src = fetchurl {
-    url = "http://www.labri.fr/perso/lsimon/downloads/softwares/glucose-syrup.tgz";
-    sha256 = "0bq5l2jabhdfhng002qfk0mcj4pfi1v5853x3c7igwfrgx0jmfld";
+    url = "http://www.labri.fr/perso/lsimon/downloads/softwares/glucose-syrup-${version}.tgz";
+    sha256 = "0aahrkaq7n0z986fpqz66yz946nxardfi6dh8calzcfjpvqiraji";
   };
 
   buildInputs = [ zlib ];
 
-  sourceRoot = "glucose-syrup/simp";
+  sourceRoot = "glucose-syrup-${version}/simp";
   makeFlags = [ "r" ];
   installPhase = ''
     install -Dm0755 glucose_release $out/bin/glucose
+    mkdir -p "$out/share/doc/${name}/"
+    install -Dm0755 ../{LICEN?E,README*,Changelog*} "$out/share/doc/${name}/"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/logic/glucose/syrup.nix b/pkgs/applications/science/logic/glucose/syrup.nix
index 7604ebc1a3d9..fd59a53fd2ae 100644
--- a/pkgs/applications/science/logic/glucose/syrup.nix
+++ b/pkgs/applications/science/logic/glucose/syrup.nix
@@ -1,19 +1,18 @@
-{ stdenv, fetchurl, zlib }:
+{ stdenv, fetchurl, zlib, glucose }:
 stdenv.mkDerivation rec {
   name = "glucose-syrup-${version}";
-  version = "4.0";
+  version = glucose.version;
 
-  src = fetchurl {
-    url = "http://www.labri.fr/perso/lsimon/downloads/softwares/glucose-syrup.tgz";
-    sha256 = "0bq5l2jabhdfhng002qfk0mcj4pfi1v5853x3c7igwfrgx0jmfld";
-  };
+  src = glucose.src;
 
   buildInputs = [ zlib ];
 
-  sourceRoot = "glucose-syrup/parallel";
+  sourceRoot = "glucose-syrup-${version}/parallel";
   makeFlags = [ "r" ];
   installPhase = ''
     install -Dm0755 glucose-syrup_release $out/bin/glucose-syrup
+    mkdir -p "$out/share/doc/${name}/"
+    install -Dm0755 ../{LICEN?E,README*,Changelog*} "$out/share/doc/${name}/"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 4f6da3c7cd91..6649b027c316 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -94,6 +94,14 @@ in stdenv.mkDerivation {
   postPatch = ''
     sed -i -e 's|/sbin/ifconfig|${nettools}/bin/ifconfig|' \
       src/VBox/HostDrivers/adpctl/VBoxNetAdpCtl.cpp
+    patch -p0 < ${
+      fetchurl { # for glibc-2.26
+        name = "conflicting-types-for-greg_t.patch";
+        url = "http://www.linuxquestions.org/questions/"
+            + "attachment.php?attachmentid=25801&d=1504099531";
+        sha256 = "1bcyf9qrqxizyjp1s662k6n1cfyfjbl7256r4n20kbr65yxcydps";
+      }
+    }
   '';
 
   # first line: ugly hack, and it isn't yet clear why it's a problem
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index 6227ccd2c9fa..1e1072e49604 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   name = "sway-${version}";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
-    owner = "Sircmpwn";
+    owner = "swaywm";
     repo = "sway";
-    rev = "${version}";
-    sha256 = "1l8v9cdzd44bm4q71d47vqg6933b8j42q1a61r362vz2la1rcpq2";
+    rev = version;
+    sha256 = "0rz5rgap2ah7hkk4glvlmjq0c8i2f47qzkwjx7gm4wmb8gymikmh";
   };
 
   nativeBuildInputs = [