summary refs log tree commit diff
path: root/pkgs/top-level
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2013-09-07 16:19:46 +0200
committerVladimír Čunát <vcunat@gmail.com>2013-09-07 16:19:46 +0200
commitb1be46e9327dee77ecaeecaaa024151d5bc9b140 (patch)
treea471d9cfccf4f5409256ded618ff99b46d57307a /pkgs/top-level
parent0cf8a74e82f25cc6f5b94f50358f1bfbfb379e89 (diff)
parentaf96f91a1283a31b8185b50731169f085a6cb467 (diff)
downloadnixlib-b1be46e9327dee77ecaeecaaa024151d5bc9b140.tar
nixlib-b1be46e9327dee77ecaeecaaa024151d5bc9b140.tar.gz
nixlib-b1be46e9327dee77ecaeecaaa024151d5bc9b140.tar.bz2
nixlib-b1be46e9327dee77ecaeecaaa024151d5bc9b140.tar.lz
nixlib-b1be46e9327dee77ecaeecaaa024151d5bc9b140.tar.xz
nixlib-b1be46e9327dee77ecaeecaaa024151d5bc9b140.tar.zst
nixlib-b1be46e9327dee77ecaeecaaa024151d5bc9b140.zip
Merge branch 'master' into x-updates
Diffstat (limited to 'pkgs/top-level')
-rw-r--r--pkgs/top-level/all-packages.nix67
-rw-r--r--pkgs/top-level/haskell-packages.nix52
-rw-r--r--pkgs/top-level/node-packages-generated.nix2253
-rw-r--r--pkgs/top-level/node-packages.json19
-rw-r--r--pkgs/top-level/node-packages.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix1280
6 files changed, 3013 insertions, 660 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7e2f349286b7..bf319ca4526c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -417,9 +417,7 @@ let
       mesa ncurses readline gsl libsigsegv python zlib perl
       texinfo lzma;
     texLive = texLiveAggregationFun {
-      paths = [
-        texLive texLiveExtra
-      ];
+      paths = [ texLive texLiveExtra ];
     };
   };
 
@@ -501,6 +499,8 @@ let
 
   azureus = callPackage ../tools/networking/p2p/azureus { };
 
+  basex = callPackage ../tools/text/xml/basex { };
+
   babeld = callPackage ../tools/networking/babeld { };
 
   banner = callPackage ../games/banner {};
@@ -631,6 +631,8 @@ let
 
   convertlit = callPackage ../tools/text/convertlit { };
 
+  collectd = callPackage ../tools/system/collectd { };
+
   colormake = callPackage ../development/tools/build-managers/colormake { };
 
   cowsay = callPackage ../tools/misc/cowsay { };
@@ -886,6 +888,8 @@ let
 
   fuse_zip = callPackage ../tools/filesystems/fuse-zip { };
 
+  fuse_exfat = callPackage ../tools/filesystems/fuse-exfat { };
+
   dos2unix = callPackage ../tools/text/dos2unix { };
 
   uni2ascii = callPackage ../tools/text/uni2ascii { };
@@ -1676,6 +1680,8 @@ let
 
   scrot = callPackage ../tools/graphics/scrot { };
 
+  scrypt = callPackage ../tools/security/scrypt { };
+
   sdcv = callPackage ../applications/misc/sdcv { };
 
   seccure = callPackage ../tools/security/seccure/0.4.nix { };
@@ -1731,7 +1737,10 @@ let
 
   socat = callPackage ../tools/networking/socat { };
 
-  sourceHighlight = callPackage ../tools/text/source-highlight { };
+  sourceHighlight = callPackage ../tools/text/source-highlight {
+    # Boost 1.54 causes the "test_regexranges" test to fail
+    boost = boost153;
+  };
 
   socat2pre = lowPrio (builderDefsPackage ../tools/networking/socat/2.0.0-b3.nix {
     inherit fetchurl stdenv openssl;
@@ -1753,6 +1762,10 @@ let
 
   ssss = callPackage ../tools/security/ssss { };
 
+  storeBackup = callPackage ../tools/backup/store-backup { };
+
+  stow = callPackage ../tools/misc/stow { };
+
   stun = callPackage ../tools/networking/stun { };
 
   stunnel = callPackage ../tools/networking/stunnel { };
@@ -1828,6 +1841,8 @@ let
 
   unfs3 = callPackage ../servers/unfs3 { };
 
+  unoconv = callPackage ../tools/text/unoconv { };
+
   upx = callPackage ../tools/compression/upx { };
 
   usbmuxd = callPackage ../tools/misc/usbmuxd {};
@@ -3198,7 +3213,7 @@ let
 
   rubyLibs = recurseIntoAttrs (callPackage ../development/interpreters/ruby/libs.nix { });
 
-  rake = callPackage ../development/ruby-modules/rake { };
+  rake = rubyLibs.rake;
 
   rubySqlite3 = callPackage ../development/ruby-modules/sqlite3 { };
 
@@ -3685,6 +3700,8 @@ let
 
   uisp = callPackage ../development/tools/misc/uisp { };
 
+  uncrustify = callPackage ../development/tools/misc/uncrustify { };
+
   gdb = callPackage ../development/tools/misc/gdb {
     hurd = gnu.hurdCross;
     inherit (gnu) mig;
@@ -5969,7 +5986,8 @@ let
 
   fingerd_bsd = callPackage ../servers/fingerd/bsd-fingerd { };
 
-  firebird = callPackage ../servers/firebird { };
+  firebird = callPackage ../servers/firebird { icu = null; };
+  firebirdSuper = callPackage ../servers/firebird { superServer = true; };
 
   freepops = callPackage ../servers/mail/freepops { };
 
@@ -6288,7 +6306,11 @@ let
 
   drbd = callPackage ../os-specific/linux/drbd { };
 
-  dstat = callPackage ../os-specific/linux/dstat { };
+  dstat = callPackage ../os-specific/linux/dstat {
+    # pythonFull includes the "curses" standard library module, for pretty
+    # dstat color output
+    python = pythonFull;
+  };
 
   libuuid =
     if crossSystem != null && crossSystem.config == "i586-pc-gnu"
@@ -6480,6 +6502,18 @@ let
       ];
   };
 
+  linux_3_11 = makeOverridable (import ../os-specific/linux/kernel/linux-3.11.nix) {
+    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
+    kernelPatches =
+      [
+        kernelPatches.sec_perm_2_6_24
+      ] ++ lib.optionals (platform.kernelArch == "mips")
+      [ kernelPatches.mips_fpureg_emu
+        kernelPatches.mips_fpu_sigill
+        kernelPatches.mips_ext3_n32
+      ];
+  };
+
   /* Linux kernel modules are inherently tied to a specific kernel.  So
      rather than provide specific instances of those packages for a
      specific kernel, we have a function that builds those packages
@@ -6601,8 +6635,9 @@ let
   linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi);
   linuxPackages_3_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_9 linuxPackages_3_9);
   linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10);
+  linuxPackages_3_11 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_11 linuxPackages_3_11);
   # Update this when adding a new version!
-  linuxPackages_latest = pkgs.linuxPackages_3_10;
+  linuxPackages_latest = pkgs.linuxPackages_3_11;
 
   # The current default kernel / kernel modules.
   linux = linuxPackages.kernel;
@@ -7105,6 +7140,8 @@ let
     inherit (gnome) libglade libgnomecanvas;
   };
 
+  abook = callPackage ../applications/misc/abook { };
+
   adobeReader = callPackage_i686 ../applications/misc/adobe-reader { };
 
   aewan = callPackage ../applications/editors/aewan { };
@@ -9796,13 +9833,12 @@ let
   texFunctions = import ../tools/typesetting/tex/nix pkgs;
 
   texLive = builderDefsPackage (import ../tools/typesetting/tex/texlive) {
-    inherit builderDefs zlib bzip2 ncurses libpng ed lesstif
+    inherit builderDefs zlib bzip2 ncurses libpng ed lesstif ruby
       gd t1lib freetype icu perl expat curl xz pkgconfig zziplib
-      libjpeg bison python fontconfig flex poppler silgraphite;
+      libjpeg bison python fontconfig flex poppler silgraphite makeWrapper;
     inherit (xlibs) libXaw libX11 xproto libXt libXpm
       libXmu libXext xextproto libSM libICE;
     ghostscript = ghostscriptX;
-    ruby = ruby18;
   };
 
   texLiveFull = lib.setName "texlive-full" (texLiveAggregationFun {
@@ -9823,8 +9859,9 @@ let
   You need to use texLiveAggregationFun to regenerate, say, ls-R (TeX-related file list)
   Just installing a few packages doesn't work.
   */
-  texLiveAggregationFun =
-    (builderDefsPackage (import ../tools/typesetting/tex/texlive/aggregate.nix));
+  texLiveAggregationFun = params:
+    builderDefsPackage (import ../tools/typesetting/tex/texlive/aggregate.nix)
+      ({inherit poppler makeWrapper;} // params);
 
   texDisser = callPackage ../tools/typesetting/tex/disser {};
 
@@ -9862,7 +9899,9 @@ let
 
   thinkfan = callPackage ../tools/system/thinkfan { };
 
-  vice = callPackage ../misc/emulators/vice { };
+  vice = callPackage ../misc/emulators/vice {
+    libX11 = xlibs.libX11;
+  };
 
   viewnior = callPackage ../applications/graphics/viewnior { };
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 9cf3c5815b91..8ccaffbeb064 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -64,7 +64,7 @@
 # modifyPrio argument can be set to lowPrio to make all Haskell packages have
 # low priority.
 
-let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
+let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x y);
                  self = (prefFun result) result; in
 
 # Indentation deliberately broken at this point to keep the bulk
@@ -72,7 +72,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
 {
 
-  final = self;
+  finalReturn = self;
+
+  callPackage = callPackage;
 
   # GHC and its wrapper
   #
@@ -141,7 +143,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     inherit (self) cabal ghc;
     async        = self.async_2_0_1_4;
     attoparsec   = self.attoparsec_0_10_4_0;
-    caseInsensitive = self.caseInsensitive_1_0_0_1;
+    caseInsensitive = self.caseInsensitive_1_1;
     cgi          = self.cgi_3001_1_7_5;
     fgl          = self.fgl_5_4_2_4;
     GLUT         = self.GLUT_2_4_0_0;
@@ -166,12 +168,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     stm          = self.stm_2_4_2;
     syb          = self.syb_0_4_1;
     text         = self.text_0_11_3_1;
-    transformers = self.transformers_0_3_0_0;
+    transformers = null;                        # this has become a core package in GHC 7.7
     unorderedContainers = self.unorderedContainers_0_2_3_0;
     vector       = self.vector_0_10_0_1;
     xhtml        = self.xhtml_3000_2_1;
     zlib         = self.zlib_0_5_4_1;
-    cabalInstall = self.cabalInstall_1_16_0_2;
+    cabalInstall = self.cabalInstall_1_18_0;
     alex         = self.alex_3_0_5;
     haddock      = self.haddock_2_13_2;
     happy        = self.happy_1_18_10;
@@ -651,6 +653,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix { cabal = self.cabal.override { Cabal = null; }; };
   Cabal_1_16_0_3 = callPackage ../development/libraries/haskell/Cabal/1.16.0.3.nix { cabal = self.cabal.override { Cabal = null; }; };
+  Cabal_1_18_0 = callPackage ../development/libraries/haskell/Cabal/1.18.0.nix { cabal = self.cabal.override { Cabal = null; }; };
   Cabal = null; # core package in GHC
 
   cabalFileTh = callPackage ../development/libraries/haskell/cabal-file-th {};
@@ -665,8 +668,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   carray = callPackage ../development/libraries/haskell/carray {};
 
   caseInsensitive_1_0_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.0.0.1.nix {};
-  caseInsensitive_1_0_0_2 = callPackage ../development/libraries/haskell/case-insensitive/1.0.0.2.nix {};
-  caseInsensitive = self.caseInsensitive_1_0_0_2;
+  caseInsensitive_1_1 = callPackage ../development/libraries/haskell/case-insensitive/1.1.nix {};
+  caseInsensitive = self.caseInsensitive_1_1;
 
   cautiousFile = callPackage ../development/libraries/haskell/cautious-file {};
 
@@ -685,7 +688,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   cgi = self.cgi_3001_1_8_4;
 
   Chart = callPackage ../development/libraries/haskell/Chart {};
-
+  ChartCairo = callPackage ../development/libraries/haskell/Chart-cairo {};
   ChartGtk = callPackage ../development/libraries/haskell/Chart-gtk {};
 
   ChasingBottoms = callPackage ../development/libraries/haskell/ChasingBottoms {};
@@ -696,6 +699,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   cipherAes = callPackage ../development/libraries/haskell/cipher-aes {};
 
+  cipherBlowfish = callPackage ../development/libraries/haskell/cipher-blowfish {};
+
+  cipherCamellia = callPackage ../development/libraries/haskell/cipher-camellia {};
+
+  cipherDes = callPackage ../development/libraries/haskell/cipher-des {};
+
   cipherRc4 = callPackage ../development/libraries/haskell/cipher-rc4 {};
 
   circlePacking = callPackage ../development/libraries/haskell/circle-packing {};
@@ -710,6 +719,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   cmdlib = callPackage ../development/libraries/haskell/cmdlib {};
 
+  cmdtheline = callPackage ../development/libraries/haskell/cmdtheline {};
+
   colorizeHaskell = callPackage ../development/libraries/haskell/colorize-haskell {};
 
   colour = callPackage ../development/libraries/haskell/colour {};
@@ -770,6 +781,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   cryptoPubkey = callPackage ../development/libraries/haskell/crypto-pubkey {};
 
+  cryptoRandom = callPackage ../development/libraries/haskell/crypto-random {};
+
   cryptoRandomApi = callPackage ../development/libraries/haskell/crypto-random-api {};
 
   cuda = callPackage ../development/libraries/haskell/cuda {
@@ -960,6 +973,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   filesystemConduit = callPackage ../development/libraries/haskell/filesystem-conduit {};
 
+  final = callPackage ../development/libraries/haskell/final {};
+
   fgl_5_4_2_2 = callPackage ../development/libraries/haskell/fgl/5.4.2.2.nix {};
   fgl_5_4_2_3 = callPackage ../development/libraries/haskell/fgl/5.4.2.3.nix {};
   fgl_5_4_2_4 = callPackage ../development/libraries/haskell/fgl/5.4.2.4.nix {};
@@ -1077,6 +1092,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   graphviz = callPackage ../development/libraries/haskell/graphviz {};
 
+  groups = callPackage ../development/libraries/haskell/groups {};
+
   groupoids = callPackage ../development/libraries/haskell/groupoids {};
 
   hakyll = callPackage ../development/libraries/haskell/hakyll {};
@@ -1350,6 +1367,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   liftedBase = callPackage ../development/libraries/haskell/lifted-base {};
 
+  linear = callPackage ../development/libraries/haskell/linear {};
+
   List = callPackage ../development/libraries/haskell/List {};
 
   ListLike = callPackage ../development/libraries/haskell/ListLike {};
@@ -1546,6 +1565,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   OpenGLRaw_1_3_0_0 = callPackage ../development/libraries/haskell/OpenGLRaw/1.3.0.0.nix {};
   OpenGLRaw = self.OpenGLRaw_1_3_0_0;
 
+  operational = callPackage ../development/libraries/haskell/operational {};
+
   optparseApplicative = callPackage ../development/libraries/haskell/optparse-applicative {};
 
   pathPieces = callPackage ../development/libraries/haskell/path-pieces {};
@@ -1722,6 +1743,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   regexCompat93 = self.regexCompat_0_93_1;
   regexCompat = self.regexCompat_0_71_0_1;
 
+  regexCompatTdfa = callPackage ../development/libraries/haskell/regex-compat-tdfa {};
+
   regexPosix_0_72_0_3 = callPackage ../development/libraries/haskell/regex-posix/0.72.0.3.nix {};
   regexPosix_0_94_1 = callPackage ../development/libraries/haskell/regex-posix/0.94.1.nix {};
   regexPosix_0_94_2 = callPackage ../development/libraries/haskell/regex-posix/0.94.2.nix {};
@@ -1757,6 +1780,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   resourcet = callPackage ../development/libraries/haskell/resourcet {};
 
+  rosezipper = callPackage ../development/libraries/haskell/rosezipper {};
+
   RSA = callPackage ../development/libraries/haskell/RSA {};
 
   sampleFrame = callPackage ../development/libraries/haskell/sample-frame {};
@@ -1817,6 +1842,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   statistics = callPackage ../development/libraries/haskell/statistics {};
 
+  StrafunskiStrategyLib = callPackage ../development/libraries/haskell/Strafunski-StrategyLib {};
+
   streamproc = callPackage ../development/libraries/haskell/streamproc {};
 
   strict = callPackage ../development/libraries/haskell/strict {};
@@ -1850,6 +1877,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   sybWithClassInstancesText = callPackage ../development/libraries/haskell/syb/syb-with-class-instances-text.nix {};
 
+  syz = callPackage ../development/libraries/haskell/syz {};
+
   SDLImage = callPackage ../development/libraries/haskell/SDL-image {};
 
   SDLMixer = callPackage ../development/libraries/haskell/SDL-mixer {};
@@ -1985,6 +2014,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   threads = callPackage ../development/libraries/haskell/threads {};
 
+  thyme = callPackage ../development/libraries/haskell/thyme {};
+
   time_1_1_2_4 = callPackage ../development/libraries/haskell/time/1.1.2.4.nix {};
   time_1_4_1 = callPackage ../development/libraries/haskell/time/1.4.1.nix {};
   # time is in the core package set. It should only be necessary to
@@ -2351,7 +2382,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   cabalInstall_0_10_2 = callPackage ../tools/package-management/cabal-install/0.10.2.nix {};
   cabalInstall_0_14_0 = callPackage ../tools/package-management/cabal-install/0.14.0.nix {};
   cabalInstall_1_16_0_2 = callPackage ../tools/package-management/cabal-install/1.16.0.2.nix {};
-  cabalInstall = self.cabalInstall_1_16_0_2;
+  cabalInstall_1_18_0 = callPackage ../tools/package-management/cabal-install/1.18.0.nix {};
+  cabalInstall = self.cabalInstall_1_18_0;
 
   gitAnnex = callPackage ../applications/version-management/git-and-tools/git-annex {};
 
@@ -2381,4 +2413,4 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
 };
 
-in result.final
+in result.finalReturn
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index 7bb1a67c489f..15c01748a44b 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -2,32 +2,33 @@
 
 {
   full."CSSselect"."0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "CSSselect-0.3.1";
+    name = "CSSselect-0.3.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.3.1.tgz";
-        sha1 = "ad91c2821658320c5047ba899201a236922c42f9";
+        url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.3.5.tgz";
+        sha1 = "b85cae765678432aa54be73c140e3d4de78938a1";
       })
     ];
     buildInputs =
       (self.nativeDeps."CSSselect"."0.x" or []);
     deps = [
-      self.full."CSSwhat".">= 0.1"
+      self.full."CSSwhat"."0.3"
+      self.full."domutils"."1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "CSSselect" ];
   };
-  full."CSSwhat".">= 0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "CSSwhat-0.2.0";
+  full."CSSwhat"."0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "CSSwhat-0.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/CSSwhat/-/CSSwhat-0.2.0.tgz";
-        sha1 = "c952fdc67f01c991805fd2c7f6defaedf90e992d";
+        url = "http://registry.npmjs.org/CSSwhat/-/CSSwhat-0.3.0.tgz";
+        sha1 = "44e93c6a50dab70f59575a539cb09f4016e188ae";
       })
     ];
     buildInputs =
-      (self.nativeDeps."CSSwhat".">= 0.1" or []);
+      (self.nativeDeps."CSSwhat"."0.3" or []);
     deps = [
     ];
     peerDependencies = [
@@ -50,6 +51,22 @@
     ];
     passthru.names = [ "abbrev" ];
   };
+  full."abbrev"."1.0.x" = lib.makeOverridable self.buildNodePackage {
+    name = "abbrev-1.0.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
+        sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."abbrev"."1.0.x" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "abbrev" ];
+  };
   full."abbrev"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "abbrev-1.0.4";
     src = [
@@ -115,6 +132,39 @@
     ];
     passthru.names = [ "adm-zip" ];
   };
+  full."adm-zip"."~0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "adm-zip-0.4.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.3.tgz";
+        sha1 = "28d6a3809abb7845a0ffa38f9fff455c2c6f6f6c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."adm-zip"."~0.4.3" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "adm-zip" ];
+  };
+  full."almond"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "almond-0.2.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/almond/-/almond-0.2.6.tgz";
+        sha1 = "7165a9246894239efe74ec4a41d6c97898eafc05";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."almond"."*" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "almond" ];
+  };
+  "almond" = self.full."almond"."*";
   full."ambi"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "ambi-2.0.0";
     src = [
@@ -132,6 +182,23 @@
     ];
     passthru.names = [ "ambi" ];
   };
+  full."ambi"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "ambi-2.1.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ambi/-/ambi-2.1.1.tgz";
+        sha1 = "254ea79bf4203ed74a7038632e176e64640bb91d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ambi"."~2.1.0" or []);
+    deps = [
+      self.full."typechecker"."~2.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ambi" ];
+  };
   full."amdefine"."*" = lib.makeOverridable self.buildNodePackage {
     name = "amdefine-0.0.8";
     src = [
@@ -263,6 +330,24 @@
     ];
     passthru.names = [ "apparatus" ];
   };
+  full."archiver"."~0.4.6" = lib.makeOverridable self.buildNodePackage {
+    name = "archiver-0.4.9";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/archiver/-/archiver-0.4.9.tgz";
+        sha1 = "7c8a5c8f186497b430698855b1a827af81ce94f1";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."archiver"."~0.4.6" or []);
+    deps = [
+      self.full."readable-stream"."~1.0.2"
+      self.full."iconv-lite"."~0.2.11"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "archiver" ];
+  };
   full."archy"."0" = lib.makeOverridable self.buildNodePackage {
     name = "archy-0.0.2";
     src = [
@@ -478,6 +563,22 @@
     ];
     passthru.names = [ "async" ];
   };
+  full."async"."~0.1.22" = lib.makeOverridable self.buildNodePackage {
+    name = "async-0.1.22";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
+        sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."async"."~0.1.22" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "async" ];
+  };
   full."async"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "async-0.2.9";
     src = [
@@ -543,11 +644,11 @@
     passthru.names = [ "async" ];
   };
   full."aws-sdk"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sdk-1.5.0";
+    name = "aws-sdk-1.5.1";
     src = [
       (self.patchLatest {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.5.0.tgz";
-        sha1 = "30081b392fcb7d093754d7dc6e8a7bb6f0dc405a";
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.5.1.tgz";
+        sha1 = "5927d9539c9c82116501aed0747a2073375dfacd";
       })
     ];
     buildInputs =
@@ -562,11 +663,11 @@
   };
   "aws-sdk" = self.full."aws-sdk"."*";
   full."aws-sdk".">=1.2.0 <2" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sdk-1.5.0";
+    name = "aws-sdk-1.5.1";
     src = [
       (self.patchLatest {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.5.0.tgz";
-        sha1 = "30081b392fcb7d093754d7dc6e8a7bb6f0dc405a";
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.5.1.tgz";
+        sha1 = "5927d9539c9c82116501aed0747a2073375dfacd";
       })
     ];
     buildInputs =
@@ -819,12 +920,66 @@
     ];
     passthru.names = [ "boom" ];
   };
+  full."bower"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-1.2.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower/-/bower-1.2.6.tgz";
+        sha1 = "a8b7bd344601554821957b9ab62fb436febc674d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower"."*" or []);
+    deps = [
+      self.full."abbrev"."~1.0.4"
+      self.full."archy"."0.0.2"
+      self.full."bower-config"."~0.5.0"
+      self.full."bower-endpoint-parser"."~0.2.0"
+      self.full."bower-json"."~0.4.0"
+      self.full."bower-logger"."~0.2.1"
+      self.full."bower-registry-client"."~0.1.4"
+      self.full."cardinal"."~0.4.0"
+      self.full."chalk"."~0.2.0"
+      self.full."chmodr"."~0.1.0"
+      self.full."fstream"."~0.1.22"
+      self.full."fstream-ignore"."~0.0.6"
+      self.full."glob"."~3.2.1"
+      self.full."graceful-fs"."~2.0.0"
+      self.full."handlebars"."~1.0.11"
+      self.full."inquirer"."~0.3.0"
+      self.full."junk"."~0.2.0"
+      self.full."mkdirp"."~0.3.5"
+      self.full."mout"."~0.6.0"
+      self.full."nopt"."~2.1.1"
+      self.full."lru-cache"."~2.3.0"
+      self.full."open"."~0.0.3"
+      self.full."osenv"."0.0.3"
+      self.full."promptly"."~0.2.0"
+      self.full."q"."~0.9.2"
+      self.full."request"."~2.27.0"
+      self.full."request-progress"."~0.3.0"
+      self.full."retry"."~0.6.0"
+      self.full."rimraf"."~2.2.0"
+      self.full."semver"."~2.1.0"
+      self.full."stringify-object"."~0.1.4"
+      self.full."sudo-block"."~0.2.0"
+      self.full."tar"."~0.1.17"
+      self.full."tmp"."~0.0.20"
+      self.full."unzip"."~0.1.7"
+      self.full."update-notifier"."~0.1.3"
+      self.full."which"."~1.0.5"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "bower" ];
+  };
+  "bower" = self.full."bower"."*";
   full."bower".">=0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-1.2.4";
+    name = "bower-1.2.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bower/-/bower-1.2.4.tgz";
-        sha1 = "7dce66cef5ffab8ef56c053d8df5aa1f1356cfac";
+        url = "http://registry.npmjs.org/bower/-/bower-1.2.6.tgz";
+        sha1 = "a8b7bd344601554821957b9ab62fb436febc674d";
       })
     ];
     buildInputs =
@@ -832,7 +987,7 @@
     deps = [
       self.full."abbrev"."~1.0.4"
       self.full."archy"."0.0.2"
-      self.full."bower-config"."~0.4.3"
+      self.full."bower-config"."~0.5.0"
       self.full."bower-endpoint-parser"."~0.2.0"
       self.full."bower-json"."~0.4.0"
       self.full."bower-logger"."~0.2.1"
@@ -845,17 +1000,18 @@
       self.full."glob"."~3.2.1"
       self.full."graceful-fs"."~2.0.0"
       self.full."handlebars"."~1.0.11"
-      self.full."inquirer"."~0.2.2"
+      self.full."inquirer"."~0.3.0"
       self.full."junk"."~0.2.0"
       self.full."mkdirp"."~0.3.5"
       self.full."mout"."~0.6.0"
       self.full."nopt"."~2.1.1"
       self.full."lru-cache"."~2.3.0"
       self.full."open"."~0.0.3"
+      self.full."osenv"."0.0.3"
       self.full."promptly"."~0.2.0"
       self.full."q"."~0.9.2"
       self.full."request"."~2.27.0"
-      self.full."request-progress"."~0.2.0"
+      self.full."request-progress"."~0.3.0"
       self.full."retry"."~0.6.0"
       self.full."rimraf"."~2.2.0"
       self.full."semver"."~2.1.0"
@@ -872,11 +1028,11 @@
     passthru.names = [ "bower" ];
   };
   full."bower-config"."~0.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-config-0.4.4";
+    name = "bower-config-0.4.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bower-config/-/bower-config-0.4.4.tgz";
-        sha1 = "33c6a772397f24d46322a294b415128a6e3090ff";
+        url = "http://registry.npmjs.org/bower-config/-/bower-config-0.4.5.tgz";
+        sha1 = "baa7cee382f53b13bb62a4afaee7c05f20143c13";
       })
     ];
     buildInputs =
@@ -891,6 +1047,26 @@
     ];
     passthru.names = [ "bower-config" ];
   };
+  full."bower-config"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "bower-config-0.5.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/bower-config/-/bower-config-0.5.0.tgz";
+        sha1 = "d081d43008816b1beb876dee272219851dd4c89c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."bower-config"."~0.5.0" or []);
+    deps = [
+      self.full."graceful-fs"."~2.0.0"
+      self.full."mout"."~0.6.0"
+      self.full."optimist"."~0.6.0"
+      self.full."osenv"."0.0.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "bower-config" ];
+  };
   full."bower-endpoint-parser"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "bower-endpoint-parser-0.2.1";
     src = [
@@ -1009,11 +1185,11 @@
     passthru.names = [ "broadway" ];
   };
   full."browserchannel"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "browserchannel-1.0.6";
+    name = "browserchannel-1.0.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/browserchannel/-/browserchannel-1.0.6.tgz";
-        sha1 = "9d3b33cac45b66611c35cd84ef237ad2c1d660d9";
+        url = "http://registry.npmjs.org/browserchannel/-/browserchannel-1.0.7.tgz";
+        sha1 = "0966d021d6001011f3fae3377db4bd2992458b57";
       })
     ];
     buildInputs =
@@ -1108,22 +1284,6 @@
     ];
     passthru.names = [ "buffer-crc32" ];
   };
-  full."buffer-equal"."~0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "buffer-equal-0.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.0.tgz";
-        sha1 = "4a68196ac33522daa17ec99858b302a636b62cf1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."buffer-equal"."~0.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "buffer-equal" ];
-  };
   full."buffers"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "buffers-0.1.1";
     src = [
@@ -1173,23 +1333,6 @@
     ];
     passthru.names = [ "buffertools" ];
   };
-  full."bunker"."0.1.X" = lib.makeOverridable self.buildNodePackage {
-    name = "bunker-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bunker/-/bunker-0.1.2.tgz";
-        sha1 = "c88992464a8e2a6ede86930375f92b58077ef97c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bunker"."0.1.X" or []);
-    deps = [
-      self.full."burrito".">=0.2.5 <0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "bunker" ];
-  };
   full."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage {
     name = "bunyan-0.21.1";
     src = [
@@ -1208,24 +1351,6 @@
     ];
     passthru.names = [ "bunyan" ];
   };
-  full."burrito".">=0.2.5 <0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "burrito-0.2.12";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/burrito/-/burrito-0.2.12.tgz";
-        sha1 = "d0d6e6ac81d5e99789c6fa4accb0b0031ea54f6b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."burrito".">=0.2.5 <0.3" or []);
-    deps = [
-      self.full."traverse"."~0.5.1"
-      self.full."uglify-js"."~1.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "burrito" ];
-  };
   full."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "bytes-0.2.0";
     src = [
@@ -1314,11 +1439,11 @@
     passthru.names = [ "chalk" ];
   };
   full."chalk"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "chalk-0.2.0";
+    name = "chalk-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/chalk/-/chalk-0.2.0.tgz";
-        sha1 = "47270e80edce0e219911af65479d17db525ff5db";
+        url = "http://registry.npmjs.org/chalk/-/chalk-0.2.1.tgz";
+        sha1 = "7613e1575145b21386483f7f485aa5ffa8cbd10c";
       })
     ];
     buildInputs =
@@ -1347,22 +1472,6 @@
     ];
     passthru.names = [ "character-parser" ];
   };
-  full."charm"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "charm-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/charm/-/charm-0.1.2.tgz";
-        sha1 = "06c21eed1a1b06aeb67553cdc53e23274bac2296";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."charm"."0.1.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "charm" ];
-  };
   full."cheerio"."~0.10.8" = lib.makeOverridable self.buildNodePackage {
     name = "cheerio-0.10.8";
     src = [
@@ -1384,11 +1493,11 @@
     passthru.names = [ "cheerio" ];
   };
   full."cheerio"."~0.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-0.12.1";
+    name = "cheerio-0.12.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.1.tgz";
-        sha1 = "82cf2b7e9a260f216142cf3c41e94289a3ea4aa3";
+        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.2.tgz";
+        sha1 = "d9908e29679e6d1b501c2cfe0e4ada330ea278c7";
       })
     ];
     buildInputs =
@@ -1404,11 +1513,11 @@
     passthru.names = [ "cheerio" ];
   };
   full."cheerio"."~0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-0.12.1";
+    name = "cheerio-0.12.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.1.tgz";
-        sha1 = "82cf2b7e9a260f216142cf3c41e94289a3ea4aa3";
+        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.2.tgz";
+        sha1 = "d9908e29679e6d1b501c2cfe0e4ada330ea278c7";
       })
     ];
     buildInputs =
@@ -1504,6 +1613,23 @@
     ];
     passthru.names = [ "chownr" ];
   };
+  full."clean-css"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "clean-css-1.0.12";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-1.0.12.tgz";
+        sha1 = "e6e0d977860466363d9110a17423d27cd6874300";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."clean-css"."~1.0.4" or []);
+    deps = [
+      self.full."commander"."1.3.x"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "clean-css" ];
+  };
   full."cli"."0.4.x" = lib.makeOverridable self.buildNodePackage {
     name = "cli-0.4.5";
     src = [
@@ -1626,18 +1752,18 @@
     passthru.names = [ "cmd-shim" ];
   };
   full."cmd-shim"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cmd-shim-1.1.0";
+    name = "cmd-shim-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.1.0.tgz";
-        sha1 = "e69fe26e9a8b9040c7b61dc8ad6b04d7dbabe767";
+        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.1.1.tgz";
+        sha1 = "348b292db32ed74c8283fcf6c48549b84c6658a7";
       })
     ];
     buildInputs =
       (self.nativeDeps."cmd-shim"."~1.1.0" or []);
     deps = [
       self.full."mkdirp"."~0.3.3"
-      self.full."graceful-fs"."1.2"
+      self.full."graceful-fs"."2"
     ];
     peerDependencies = [
     ];
@@ -1708,6 +1834,22 @@
     ];
     passthru.names = [ "coffee-script" ];
   };
+  full."coffee-script"."~1.3.3" = lib.makeOverridable self.buildNodePackage {
+    name = "coffee-script-1.3.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz";
+        sha1 = "150d6b4cb522894369efed6a2101c20bc7f4a4f4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."coffee-script"."~1.3.3" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "coffee-script" ];
+  };
   full."coffee-script"."~1.6" = lib.makeOverridable self.buildNodePackage {
     name = "coffee-script-1.6.3";
     src = [
@@ -1788,6 +1930,22 @@
     ];
     passthru.names = [ "colors" ];
   };
+  full."colors"."~0.6.0-1" = lib.makeOverridable self.buildNodePackage {
+    name = "colors-0.6.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+        sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."colors"."~0.6.0-1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "colors" ];
+  };
   full."combined-stream"."~0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "combined-stream-0.0.4";
     src = [
@@ -1870,6 +2028,23 @@
     ];
     passthru.names = [ "commander" ];
   };
+  full."commander"."1.3.x" = lib.makeOverridable self.buildNodePackage {
+    name = "commander-1.3.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
+        sha1 = "8a8f30ec670a6fdd64af52f1914b907d79ead5b5";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."commander"."1.3.x" or []);
+    deps = [
+      self.full."keypress"."0.1.x"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "commander" ];
+  };
   full."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "commander-2.0.0";
     src = [
@@ -2037,16 +2212,16 @@
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.8.5" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.8.5";
+  full."connect"."2.8.8" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.8.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.8.5.tgz";
-        sha1 = "20572077ba1f626fdb740b0ad7068f9130d701b8";
+        url = "http://registry.npmjs.org/connect/-/connect-2.8.8.tgz";
+        sha1 = "b9abf8caf0bd9773cb3dea29344119872582446d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.8.5" or []);
+      (self.nativeDeps."connect"."2.8.8" or []);
     deps = [
       self.full."qs"."0.6.5"
       self.full."formidable"."1.0.14"
@@ -2066,11 +2241,11 @@
     passthru.names = [ "connect" ];
   };
   full."connect"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.8.5";
+    name = "connect-2.8.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.8.5.tgz";
-        sha1 = "20572077ba1f626fdb740b0ad7068f9130d701b8";
+        url = "http://registry.npmjs.org/connect/-/connect-2.8.8.tgz";
+        sha1 = "b9abf8caf0bd9773cb3dea29344119872582446d";
       })
     ];
     buildInputs =
@@ -2094,11 +2269,11 @@
     passthru.names = [ "connect" ];
   };
   full."connect"."~2.8.4" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.8.5";
+    name = "connect-2.8.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.8.5.tgz";
-        sha1 = "20572077ba1f626fdb740b0ad7068f9130d701b8";
+        url = "http://registry.npmjs.org/connect/-/connect-2.8.8.tgz";
+        sha1 = "b9abf8caf0bd9773cb3dea29344119872582446d";
       })
     ];
     buildInputs =
@@ -2189,17 +2364,17 @@
     passthru.names = [ "console-browserify" ];
   };
   full."constantinople"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "constantinople-1.0.1";
+    name = "constantinople-1.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/constantinople/-/constantinople-1.0.1.tgz";
-        sha1 = "038727385eb70567ffb5a825abc44870b56f4de9";
+        url = "http://registry.npmjs.org/constantinople/-/constantinople-1.0.2.tgz";
+        sha1 = "0e64747dc836644d3f659247efd95231b48c3e71";
       })
     ];
     buildInputs =
       (self.nativeDeps."constantinople"."~1.0.1" or []);
     deps = [
-      self.full."uglify-js"."~2.3.6"
+      self.full."uglify-js"."~2.4.0"
     ];
     peerDependencies = [
     ];
@@ -2367,6 +2542,27 @@
     ];
     passthru.names = [ "couch-login" ];
   };
+  full."coveralls"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "coveralls-2.2.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/coveralls/-/coveralls-2.2.0.tgz";
+        sha1 = "9bfe310447895b5665fee55bfee0743cc47fa4e4";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."coveralls"."*" or []);
+    deps = [
+      self.full."yaml"."0.2.3"
+      self.full."request"."2.16.2"
+      self.full."lcov-parse"."0.0.4"
+      self.full."log-driver"."1.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "coveralls" ];
+  };
+  "coveralls" = self.full."coveralls"."*";
   full."cryptiles"."0.1.x" = lib.makeOverridable self.buildNodePackage {
     name = "cryptiles-0.1.3";
     src = [
@@ -2531,6 +2727,38 @@
     ];
     passthru.names = [ "dargs" ];
   };
+  full."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "dateformat-1.0.2-1.2.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
+        sha1 = "b0220c02de98617433b72851cf47de3df2cdbee9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."dateformat"."1.0.2-1.2.3" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "dateformat" ];
+  };
+  full."dateformat"."~1.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "dateformat-1.0.6-1.2.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.6-1.2.3.tgz";
+        sha1 = "6b3de9f974f698d8b2d3ff9094bbaac8d696c16b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."dateformat"."~1.0.6" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "dateformat" ];
+  };
   full."debug"."*" = lib.makeOverridable self.buildNodePackage {
     name = "debug-0.7.2";
     src = [
@@ -2627,28 +2855,12 @@
     ];
     passthru.names = [ "deep-equal" ];
   };
-  full."deep-equal"."~0.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "deep-equal-0.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
-        sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."deep-equal"."~0.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "deep-equal" ];
-  };
   full."deep-extend"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "deep-extend-0.2.5";
+    name = "deep-extend-0.2.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.5.tgz";
-        sha1 = "04471b170de4afdb150f2e8b530b2974dbfee90d";
+        url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.6.tgz";
+        sha1 = "1f767e02b46d88d0a4087affa4b11b1b0b804250";
       })
     ];
     buildInputs =
@@ -2659,22 +2871,6 @@
     ];
     passthru.names = [ "deep-extend" ];
   };
-  full."deep-is"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "deep-is-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/deep-is/-/deep-is-0.1.2.tgz";
-        sha1 = "9ced65ea0bc0b09f42a6d79c1b1903f9d913cc18";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."deep-is"."0.1.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "deep-is" ];
-  };
   full."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "delayed-stream-0.0.5";
     src = [
@@ -2740,11 +2936,11 @@
     passthru.names = [ "diff" ];
   };
   full."diff"."~1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "diff-1.0.5";
+    name = "diff-1.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.5.tgz";
-        sha1 = "664b6bdb113fb3a51ced79aff621badeed29a02c";
+        url = "http://registry.npmjs.org/diff/-/diff-1.0.6.tgz";
+        sha1 = "987bbd1ed596bd2f0c61d57ba2d9eb27b34f7e50";
       })
     ];
     buildInputs =
@@ -2756,11 +2952,11 @@
     passthru.names = [ "diff" ];
   };
   full."diff"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "diff-1.0.5";
+    name = "diff-1.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.5.tgz";
-        sha1 = "664b6bdb113fb3a51ced79aff621badeed29a02c";
+        url = "http://registry.npmjs.org/diff/-/diff-1.0.6.tgz";
+        sha1 = "987bbd1ed596bd2f0c61d57ba2d9eb27b34f7e50";
       })
     ];
     buildInputs =
@@ -2771,25 +2967,6 @@
     ];
     passthru.names = [ "diff" ];
   };
-  full."difflet"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "difflet-0.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/difflet/-/difflet-0.2.6.tgz";
-        sha1 = "ab23b31f5649b6faa8e3d2acbd334467365ca6fa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."difflet"."~0.2.0" or []);
-    deps = [
-      self.full."traverse"."0.6.x"
-      self.full."charm"."0.1.x"
-      self.full."deep-is"."0.1.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "difflet" ];
-  };
   full."director"."1.1.10" = lib.makeOverridable self.buildNodePackage {
     name = "director-1.1.10";
     src = [
@@ -2839,6 +3016,23 @@
     ];
     passthru.names = [ "domhandler" ];
   };
+  full."domutils"."1" = lib.makeOverridable self.buildNodePackage {
+    name = "domutils-1.1.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/domutils/-/domutils-1.1.4.tgz";
+        sha1 = "14b774276187066c76f80141f7eac47a22f77248";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."domutils"."1" or []);
+    deps = [
+      self.full."domelementtype"."1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "domutils" ];
+  };
   full."domutils"."1.0" = lib.makeOverridable self.buildNodePackage {
     name = "domutils-1.0.1";
     src = [
@@ -2857,11 +3051,11 @@
     passthru.names = [ "domutils" ];
   };
   full."domutils"."1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "domutils-1.1.2";
+    name = "domutils-1.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/domutils/-/domutils-1.1.2.tgz";
-        sha1 = "fcf1d3596cd419818041cdaf6f7894a8d127bb07";
+        url = "http://registry.npmjs.org/domutils/-/domutils-1.1.4.tgz";
+        sha1 = "14b774276187066c76f80141f7eac47a22f77248";
       })
     ];
     buildInputs =
@@ -2955,17 +3149,17 @@
     passthru.names = [ "emitter-component" ];
   };
   full."encoding"."~0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "encoding-0.1.6";
+    name = "encoding-0.1.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/encoding/-/encoding-0.1.6.tgz";
-        sha1 = "fec66b6d1c6b8cc554aa78c05ece35bef11a913f";
+        url = "http://registry.npmjs.org/encoding/-/encoding-0.1.7.tgz";
+        sha1 = "25cc19b34e9225d120c2ea769f9136c91cecc908";
       })
     ];
     buildInputs =
       (self.nativeDeps."encoding"."~0.1" or []);
     deps = [
-      self.full."iconv-lite"."0.2.7"
+      self.full."iconv-lite"."~0.2.11"
     ];
     peerDependencies = [
     ];
@@ -3036,12 +3230,47 @@
     passthru.names = [ "escape-html" ];
   };
   "escape-html" = self.full."escape-html"."*";
+  full."escodegen"."0.0.23" = lib.makeOverridable self.buildNodePackage {
+    name = "escodegen-0.0.23";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/escodegen/-/escodegen-0.0.23.tgz";
+        sha1 = "9acf978164368e42276571f18839c823b3a844df";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."escodegen"."0.0.23" or []);
+    deps = [
+      self.full."esprima"."~1.0.2"
+      self.full."estraverse"."~0.0.4"
+      self.full."source-map".">= 0.1.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "escodegen" ];
+  };
+  full."esprima"."1.0.x" = lib.makeOverridable self.buildNodePackage {
+    name = "esprima-1.0.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
+        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."esprima"."1.0.x" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "esprima" ];
+  };
   full."esprima"."~ 1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.0.3";
+    name = "esprima-1.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz";
-        sha1 = "7bdb544f95526d424808654d3b8fbe928650c0fe";
+        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
+        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
       })
     ];
     buildInputs =
@@ -3053,11 +3282,11 @@
     passthru.names = [ "esprima" ];
   };
   full."esprima"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "esprima-1.0.3";
+    name = "esprima-1.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz";
-        sha1 = "7bdb544f95526d424808654d3b8fbe928650c0fe";
+        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
+        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
       })
     ];
     buildInputs =
@@ -3068,6 +3297,38 @@
     ];
     passthru.names = [ "esprima" ];
   };
+  full."esprima"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "esprima-1.0.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
+        sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."esprima"."~1.0.2" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "esprima" ];
+  };
+  full."estraverse"."~0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "estraverse-0.0.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz";
+        sha1 = "01a0932dfee574684a598af5a67c3bf9b6428db2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."estraverse"."~0.0.4" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "estraverse" ];
+  };
   full."event-emitter"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "event-emitter-0.2.2";
     src = [
@@ -3134,6 +3395,22 @@
     ];
     passthru.names = [ "eventemitter2" ];
   };
+  full."eventemitter2"."~0.4.9" = lib.makeOverridable self.buildNodePackage {
+    name = "eventemitter2-0.4.13";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz";
+        sha1 = "0a8ab97f9c1b563361b8927f9e80606277509153";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."eventemitter2"."~0.4.9" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "eventemitter2" ];
+  };
   full."events.node".">= 0.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "events.node-0.4.9";
     src = [
@@ -3151,17 +3428,17 @@
     passthru.names = [ "events.node" ];
   };
   full."express"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.3.5";
+    name = "express-3.3.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.3.5.tgz";
-        sha1 = "3fd077660c9ccae4710fcfb326290a01d1e72566";
+        url = "http://registry.npmjs.org/express/-/express-3.3.8.tgz";
+        sha1 = "8e98ac30d81f4c95b85d71d2af6cf84f62ef19bd";
       })
     ];
     buildInputs =
       (self.nativeDeps."express"."*" or []);
     deps = [
-      self.full."connect"."2.8.5"
+      self.full."connect"."2.8.8"
       self.full."commander"."1.2.0"
       self.full."range-parser"."0.0.4"
       self.full."mkdirp"."0.3.5"
@@ -3233,17 +3510,17 @@
     passthru.names = [ "express" ];
   };
   full."express"."3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.3.5";
+    name = "express-3.3.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.3.5.tgz";
-        sha1 = "3fd077660c9ccae4710fcfb326290a01d1e72566";
+        url = "http://registry.npmjs.org/express/-/express-3.3.8.tgz";
+        sha1 = "8e98ac30d81f4c95b85d71d2af6cf84f62ef19bd";
       })
     ];
     buildInputs =
       (self.nativeDeps."express"."3.x" or []);
     deps = [
-      self.full."connect"."2.8.5"
+      self.full."connect"."2.8.8"
       self.full."commander"."1.2.0"
       self.full."range-parser"."0.0.4"
       self.full."mkdirp"."0.3.5"
@@ -3323,11 +3600,11 @@
     passthru.names = [ "express-partials" ];
   };
   full."extend"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "extend-1.1.3";
+    name = "extend-1.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/extend/-/extend-1.1.3.tgz";
-        sha1 = "5ae3d12e33009879dfb574e911a2da1e3da29ef4";
+        url = "http://registry.npmjs.org/extend/-/extend-1.2.0.tgz";
+        sha1 = "da1a81af472a5a3e7fd607f85cdeaf69c169294d";
       })
     ];
     buildInputs =
@@ -3454,6 +3731,24 @@
     ];
     passthru.names = [ "faye-websocket" ];
   };
+  full."fileset"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+    name = "fileset-0.1.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz";
+        sha1 = "acc423bfaf92843385c66bf75822264d11b7bd94";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."fileset"."0.1.x" or []);
+    deps = [
+      self.full."minimatch"."0.x"
+      self.full."glob"."3.x"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "fileset" ];
+  };
   full."findup-sync"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "findup-sync-0.1.2";
     src = [
@@ -4081,11 +4376,11 @@
     passthru.names = [ "generator-mocha" ];
   };
   full."generator-webapp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-webapp-0.3.1";
+    name = "generator-webapp-0.4.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.3.1.tgz";
-        sha1 = "def094ddf1b079fd1e33fe381bc898c4f094bd1e";
+        url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.4.1.tgz";
+        sha1 = "b2d3f1b3ea83fbbc0043c81fdf82a3fe725b6001";
       })
     ];
     buildInputs =
@@ -4170,6 +4465,24 @@
     ];
     passthru.names = [ "glob" ];
   };
+  full."glob"."3.x" = lib.makeOverridable self.buildNodePackage {
+    name = "glob-3.2.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
+        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."glob"."3.x" or []);
+    deps = [
+      self.full."minimatch"."~0.2.11"
+      self.full."inherits"."2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "glob" ];
+  };
   full."glob".">= 3.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "glob-3.2.6";
     src = [
@@ -4438,6 +4751,90 @@
     ];
     passthru.names = [ "growl" ];
   };
+  full."grunt"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-0.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz";
+        sha1 = "d5892e5680add9ed1befde9aa635cf46b8f49729";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt"."0.4.x" or []);
+    deps = [
+      self.full."async"."~0.1.22"
+      self.full."coffee-script"."~1.3.3"
+      self.full."colors"."~0.6.0-1"
+      self.full."dateformat"."1.0.2-1.2.3"
+      self.full."eventemitter2"."~0.4.9"
+      self.full."findup-sync"."~0.1.0"
+      self.full."glob"."~3.1.21"
+      self.full."hooker"."~0.2.3"
+      self.full."iconv-lite"."~0.2.5"
+      self.full."minimatch"."~0.2.6"
+      self.full."nopt"."~1.0.10"
+      self.full."rimraf"."~2.0.2"
+      self.full."lodash"."~0.9.0"
+      self.full."underscore.string"."~2.2.0rc"
+      self.full."which"."~1.0.5"
+      self.full."js-yaml"."~2.0.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "grunt" ];
+  };
+  full."grunt"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-0.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz";
+        sha1 = "d5892e5680add9ed1befde9aa635cf46b8f49729";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt"."~0.4.0" or []);
+    deps = [
+      self.full."async"."~0.1.22"
+      self.full."coffee-script"."~1.3.3"
+      self.full."colors"."~0.6.0-1"
+      self.full."dateformat"."1.0.2-1.2.3"
+      self.full."eventemitter2"."~0.4.9"
+      self.full."findup-sync"."~0.1.0"
+      self.full."glob"."~3.1.21"
+      self.full."hooker"."~0.2.3"
+      self.full."iconv-lite"."~0.2.5"
+      self.full."minimatch"."~0.2.6"
+      self.full."nopt"."~1.0.10"
+      self.full."rimraf"."~2.0.2"
+      self.full."lodash"."~0.9.0"
+      self.full."underscore.string"."~2.2.0rc"
+      self.full."which"."~1.0.5"
+      self.full."js-yaml"."~2.0.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "grunt" ];
+  };
+  full."grunt-cli"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-cli-0.1.9";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.9.tgz";
+        sha1 = "3f08bfb0bef30ba33083defe53efe0575cbe4e14";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt-cli"."*" or []);
+    deps = [
+      self.full."nopt"."~1.0.10"
+      self.full."findup-sync"."~0.1.0"
+      self.full."resolve"."~0.3.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "grunt-cli" ];
+  };
+  "grunt-cli" = self.full."grunt-cli"."*";
   full."grunt-cli"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-cli-0.1.9";
     src = [
@@ -4457,6 +4854,158 @@
     ];
     passthru.names = [ "grunt-cli" ];
   };
+  full."grunt-contrib-cssmin"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-cssmin-0.6.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.6.1.tgz";
+        sha1 = "534e632bfe19521b21c364677157b8b11e173efc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt-contrib-cssmin"."*" or []);
+    deps = [
+      self.full."clean-css"."~1.0.4"
+      self.full."grunt-lib-contrib"."~0.6.0"
+    ];
+    peerDependencies = [
+      self.full."grunt"."~0.4.0"
+    ];
+    passthru.names = [ "grunt-contrib-cssmin" ];
+  };
+  "grunt-contrib-cssmin" = self.full."grunt-contrib-cssmin"."*";
+  full."grunt-contrib-jshint"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-jshint-0.6.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.6.4.tgz";
+        sha1 = "c5a0e56c13d3f758cf1b5d0786dcb4a7d4b4d748";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt-contrib-jshint"."*" or []);
+    deps = [
+      self.full."jshint"."~2.1.10"
+    ];
+    peerDependencies = [
+      self.full."grunt"."~0.4.0"
+    ];
+    passthru.names = [ "grunt-contrib-jshint" ];
+  };
+  "grunt-contrib-jshint" = self.full."grunt-contrib-jshint"."*";
+  full."grunt-contrib-less"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-less-0.7.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.7.0.tgz";
+        sha1 = "35f6513e47ec5f3c99188d46efa9dcf378207be8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt-contrib-less"."*" or []);
+    deps = [
+      self.full."less"."~1.4.0"
+      self.full."grunt-lib-contrib"."~0.6.1"
+    ];
+    peerDependencies = [
+      self.full."grunt"."~0.4.0"
+    ];
+    passthru.names = [ "grunt-contrib-less" ];
+  };
+  "grunt-contrib-less" = self.full."grunt-contrib-less"."*";
+  full."grunt-contrib-requirejs"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-requirejs-0.4.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt-contrib-requirejs/-/grunt-contrib-requirejs-0.4.1.tgz";
+        sha1 = "862ba167141b8a8f36af5444feab3272bb8cf4bd";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt-contrib-requirejs"."*" or []);
+    deps = [
+      self.full."requirejs"."~2.1.0"
+    ];
+    peerDependencies = [
+      self.full."grunt"."~0.4.0"
+    ];
+    passthru.names = [ "grunt-contrib-requirejs" ];
+  };
+  "grunt-contrib-requirejs" = self.full."grunt-contrib-requirejs"."*";
+  full."grunt-contrib-uglify"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-uglify-0.2.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.4.tgz";
+        sha1 = "51113f28a72432521e35e63f7f18a251fda2fd49";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt-contrib-uglify"."*" or []);
+    deps = [
+      self.full."uglify-js"."~2.4.0"
+      self.full."grunt-lib-contrib"."~0.6.1"
+    ];
+    peerDependencies = [
+      self.full."grunt"."~0.4.0"
+    ];
+    passthru.names = [ "grunt-contrib-uglify" ];
+  };
+  "grunt-contrib-uglify" = self.full."grunt-contrib-uglify"."*";
+  full."grunt-karma"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-karma-0.7.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.7.1.tgz";
+        sha1 = "7fb8c40988b8e88da454afb821a7a925ed05ff81";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt-karma"."*" or []);
+    deps = [
+      self.full."optimist"."~0.6.0"
+    ];
+    peerDependencies = [
+      self.full."grunt"."0.4.x"
+      self.full."karma"."~0.10.0"
+    ];
+    passthru.names = [ "grunt-karma" ];
+  };
+  "grunt-karma" = self.full."grunt-karma"."*";
+  full."grunt-lib-contrib"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-lib-contrib-0.6.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz";
+        sha1 = "3f56adb7da06e814795ee2415b0ebe5fb8903ebb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt-lib-contrib"."~0.6.0" or []);
+    deps = [
+      self.full."zlib-browserify"."0.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "grunt-lib-contrib" ];
+  };
+  full."grunt-lib-contrib"."~0.6.1" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-lib-contrib-0.6.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz";
+        sha1 = "3f56adb7da06e814795ee2415b0ebe5fb8903ebb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."grunt-lib-contrib"."~0.6.1" or []);
+    deps = [
+      self.full."zlib-browserify"."0.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "grunt-lib-contrib" ];
+  };
   full."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " = lib.makeOverridable self.buildNodePackage {
     name = "guifi-earth-0.2.1";
     src = [
@@ -4497,6 +5046,24 @@
     passthru.names = [ "gzippo" ];
   };
   "gzippo" = self.full."gzippo"."*";
+  full."handlebars"."1.0.x" = lib.makeOverridable self.buildNodePackage {
+    name = "handlebars-1.0.12";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/handlebars/-/handlebars-1.0.12.tgz";
+        sha1 = "18c6d3440c35e91b19b3ff582b9151ab4985d4fc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."handlebars"."1.0.x" or []);
+    deps = [
+      self.full."optimist"."~0.3"
+      self.full."uglify-js"."~2.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "handlebars" ];
+  };
   full."handlebars"."~1.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "handlebars-1.0.12";
     src = [
@@ -4547,6 +5114,26 @@
     ];
     passthru.names = [ "hat" ];
   };
+  full."hawk"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "hawk-0.10.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
+        sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."hawk"."~0.10.0" or []);
+    deps = [
+      self.full."hoek"."0.7.x"
+      self.full."boom"."0.3.x"
+      self.full."cryptiles"."0.1.x"
+      self.full."sntp"."0.1.x"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "hawk" ];
+  };
   full."hawk"."~0.10.2" = lib.makeOverridable self.buildNodePackage {
     name = "hawk-0.10.2";
     src = [
@@ -4672,6 +5259,22 @@
     ];
     passthru.names = [ "hoek" ];
   };
+  full."hooker"."~0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "hooker-0.2.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
+        sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."hooker"."~0.2.3" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "hooker" ];
+  };
   full."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "hooks-0.2.1";
     src = [
@@ -4891,23 +5494,23 @@
     passthru.names = [ "i18next" ];
   };
   "i18next" = self.full."i18next"."*";
-  full."iconv-lite"."0.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "iconv-lite-0.2.7";
+  full."iconv-lite"."~0.2.10" = lib.makeOverridable self.buildNodePackage {
+    name = "iconv-lite-0.2.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.7.tgz";
-        sha1 = "45be2390d27af4b7613aac4ee4d957e3f4cbdb54";
+        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
+        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."iconv-lite"."0.2.7" or []);
+      (self.nativeDeps."iconv-lite"."~0.2.10" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "iconv-lite" ];
   };
-  full."iconv-lite"."~0.2.10" = lib.makeOverridable self.buildNodePackage {
+  full."iconv-lite"."~0.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "iconv-lite-0.2.11";
     src = [
       (fetchurl {
@@ -4916,28 +5519,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.10" or []);
+      (self.nativeDeps."iconv-lite"."~0.2.11" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "iconv-lite" ];
   };
-  full."inherits"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-2.0.1";
+  full."iconv-lite"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
+    name = "iconv-lite-0.2.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
+        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inherits"."*" or []);
+      (self.nativeDeps."iconv-lite"."~0.2.5" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "inherits" ];
+    passthru.names = [ "iconv-lite" ];
   };
   full."inherits"."1" = lib.makeOverridable self.buildNodePackage {
     name = "inherits-1.0.0";
@@ -5107,7 +5710,7 @@
     ];
     passthru.names = [ "init-package-json" ];
   };
-  full."inquirer"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  full."inquirer"."~0.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "inquirer-0.2.5";
     src = [
       (fetchurl {
@@ -5116,7 +5719,7 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."inquirer"."~0.2.0" or []);
+      (self.nativeDeps."inquirer"."~0.2.4" or []);
     deps = [
       self.full."lodash"."~1.2.1"
       self.full."async"."~0.2.8"
@@ -5127,16 +5730,16 @@
     ];
     passthru.names = [ "inquirer" ];
   };
-  full."inquirer"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.2.5";
+  full."inquirer"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "inquirer-0.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.2.5.tgz";
-        sha1 = "6b49a9cbe03de776122211f174ef9fe2822c08f6";
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.2.tgz";
+        sha1 = "a061f2ad3488bd2b38e5ac237c059a79f160bdd4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inquirer"."~0.2.2" or []);
+      (self.nativeDeps."inquirer"."~0.3.0" or []);
     deps = [
       self.full."lodash"."~1.2.1"
       self.full."async"."~0.2.8"
@@ -5147,16 +5750,16 @@
     ];
     passthru.names = [ "inquirer" ];
   };
-  full."inquirer"."~0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.2.5";
+  full."inquirer"."~0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "inquirer-0.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.2.5.tgz";
-        sha1 = "6b49a9cbe03de776122211f174ef9fe2822c08f6";
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.2.tgz";
+        sha1 = "a061f2ad3488bd2b38e5ac237c059a79f160bdd4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inquirer"."~0.2.4" or []);
+      (self.nativeDeps."inquirer"."~0.3.1" or []);
     deps = [
       self.full."lodash"."~1.2.1"
       self.full."async"."~0.2.8"
@@ -5167,19 +5770,19 @@
     ];
     passthru.names = [ "inquirer" ];
   };
-  full."insight"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "insight-0.1.3";
+  full."insight"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "insight-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/insight/-/insight-0.1.3.tgz";
-        sha1 = "868a1135460e48dc0603f1ba2ddd7d3c772e1c97";
+        url = "http://registry.npmjs.org/insight/-/insight-0.2.0.tgz";
+        sha1 = "3b430f3c903558d690d1b96c7479b6f1b9186a5e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."insight"."~0.1.0" or []);
+      (self.nativeDeps."insight"."~0.2.0" or []);
     deps = [
       self.full."chalk"."~0.2.0"
-      self.full."request"."~2.26.0"
+      self.full."request"."~2.27.0"
       self.full."configstore"."~0.1.0"
       self.full."async"."~0.2.9"
       self.full."lodash"."~1.3.1"
@@ -5206,11 +5809,11 @@
     passthru.names = [ "intersect" ];
   };
   full."ironhorse"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "ironhorse-0.0.6";
+    name = "ironhorse-0.0.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.6.tgz";
-        sha1 = "de774f72022630a258158acdcb590e1542a09b58";
+        url = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.7.tgz";
+        sha1 = "5217f2cced8caffe15df95033492f8582e44e5ef";
       })
     ];
     buildInputs =
@@ -5269,6 +5872,33 @@
     ];
     passthru.names = [ "isbinaryfile" ];
   };
+  full."istanbul"."~0.1.41" = lib.makeOverridable self.buildNodePackage {
+    name = "istanbul-0.1.43";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.1.43.tgz";
+        sha1 = "8dfd86802b345209f366d29093330ace17f1539d";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."istanbul"."~0.1.41" or []);
+    deps = [
+      self.full."esprima"."1.0.x"
+      self.full."escodegen"."0.0.23"
+      self.full."handlebars"."1.0.x"
+      self.full."mkdirp"."0.3.x"
+      self.full."nopt"."2.1.x"
+      self.full."fileset"."0.1.x"
+      self.full."which"."1.0.x"
+      self.full."async"."0.2.x"
+      self.full."abbrev"."1.0.x"
+      self.full."wordwrap"."0.0.x"
+      self.full."resolve"."0.4.x"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "istanbul" ];
+  };
   full."jade"."*" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.35.0";
     src = [
@@ -5386,6 +6016,24 @@
     ];
     passthru.names = [ "js-yaml" ];
   };
+  full."js-yaml"."~2.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "js-yaml-2.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
+        sha1 = "a25ae6509999e97df278c6719da11bd0687743a8";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."js-yaml"."~2.0.2" or []);
+    deps = [
+      self.full."argparse"."~ 0.1.11"
+      self.full."esprima"."~ 1.0.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "js-yaml" ];
+  };
   full."js-yaml"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-2.1.0";
     src = [
@@ -5426,6 +6074,27 @@
     passthru.names = [ "jshint" ];
   };
   "jshint" = self.full."jshint"."*";
+  full."jshint"."~2.1.10" = lib.makeOverridable self.buildNodePackage {
+    name = "jshint-2.1.10";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/jshint/-/jshint-2.1.10.tgz";
+        sha1 = "0c015ec5bc5ad65c11c4b5152f221f24b7af5522";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."jshint"."~2.1.10" or []);
+    deps = [
+      self.full."shelljs"."0.1.x"
+      self.full."underscore"."1.4.x"
+      self.full."cli"."0.4.x"
+      self.full."minimatch"."0.x.x"
+      self.full."console-browserify"."0.1.x"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "jshint" ];
+  };
   full."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "json-schema-0.2.2";
     src = [
@@ -5543,15 +6212,15 @@
     passthru.names = [ "junk" ];
   };
   full."karma"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.10.2";
+    name = "karma-0.11.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.10.2.tgz";
-        sha1 = "4e100bd346bb24a1260dcd34b5b3d2d4a9b27b17";
+        url = "http://registry.npmjs.org/karma/-/karma-0.11.0.tgz";
+        sha1 = "554ff769ad9b5f3c78f051ad7e607c529b6c825e";
       })
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.2.tgz";
-        sha1 = "4f4b8271ffbb7aba543daf38bbc004f4f7f28da3";
+        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
+        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
       })
       (fetchurl {
         url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
@@ -5618,15 +6287,15 @@
   };
   "karma" = self.full."karma"."*";
   full."karma".">=0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.10.2";
+    name = "karma-0.11.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/karma/-/karma-0.10.2.tgz";
-        sha1 = "4e100bd346bb24a1260dcd34b5b3d2d4a9b27b17";
+        url = "http://registry.npmjs.org/karma/-/karma-0.11.0.tgz";
+        sha1 = "554ff769ad9b5f3c78f051ad7e607c529b6c825e";
       })
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.2.tgz";
-        sha1 = "4f4b8271ffbb7aba543daf38bbc004f4f7f28da3";
+        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
+        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
       })
       (fetchurl {
         url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
@@ -5692,6 +6361,80 @@
     passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
   };
   full."karma".">=0.9.3" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-0.11.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma/-/karma-0.11.0.tgz";
+        sha1 = "554ff769ad9b5f3c78f051ad7e607c529b6c825e";
+      })
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
+        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
+      })
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
+        sha1 = "d9554aa0f11f2c0ff2e933ab5043a633b1305622";
+      })
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma-coffee-preprocessor/-/karma-coffee-preprocessor-0.1.0.tgz";
+        sha1 = "713affc9990707e43eb6f64afdaf312072b73aab";
+      })
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma-html2js-preprocessor/-/karma-html2js-preprocessor-0.1.0.tgz";
+        sha1 = "2f7cf881f54a5d0b72154cc6ee1241c44292c7fe";
+      })
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.0.tgz";
+        sha1 = "d29f42911358a640ba4a13f1d2110819ae2e5cea";
+      })
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.0.tgz";
+        sha1 = "e5517590eea029d10d500b5f82ae423aafe069d4";
+      })
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.0.tgz";
+        sha1 = "9ef8243751524e32e67b97e3f8a321ee68a3fa2f";
+      })
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz";
+        sha1 = "b643e7c2faead1a52cdb2eeaadcf7a245f0d772a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."karma".">=0.9.3" or [])
+      ++ (self.nativeDeps."karma-jasmine"."*" or [])
+      ++ (self.nativeDeps."karma-requirejs"."*" or [])
+      ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
+      ++ (self.nativeDeps."karma-html2js-preprocessor"."*" or [])
+      ++ (self.nativeDeps."karma-chrome-launcher"."*" or [])
+      ++ (self.nativeDeps."karma-firefox-launcher"."*" or [])
+      ++ (self.nativeDeps."karma-phantomjs-launcher"."*" or [])
+      ++ (self.nativeDeps."karma-script-launcher"."*" or []);
+    deps = [
+      self.full."di"."~0.0.1"
+      self.full."socket.io"."~0.9.13"
+      self.full."chokidar"."~0.6"
+      self.full."glob"."~3.1.21"
+      self.full."minimatch"."~0.2"
+      self.full."http-proxy"."~0.10"
+      self.full."optimist"."~0.3"
+      self.full."coffee-script"."~1.6"
+      self.full."rimraf"."~2.1"
+      self.full."q"."~0.9"
+      self.full."colors"."0.6.0-1"
+      self.full."lodash"."~1.1"
+      self.full."mime"."~1.2"
+      self.full."log4js"."~0.6.3"
+      self.full."useragent"."~2.0.4"
+      self.full."graceful-fs"."~1.2.1"
+      self.full."connect"."~2.8.4"
+      self.full."phantomjs"."~1.9"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
+  };
+  full."karma"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
     name = "karma-0.10.2";
     src = [
       (fetchurl {
@@ -5699,8 +6442,8 @@
         sha1 = "4e100bd346bb24a1260dcd34b5b3d2d4a9b27b17";
       })
       (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.2.tgz";
-        sha1 = "4f4b8271ffbb7aba543daf38bbc004f4f7f28da3";
+        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
+        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
       })
       (fetchurl {
         url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
@@ -5732,7 +6475,7 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma".">=0.9.3" or [])
+      (self.nativeDeps."karma"."~0.10.0" or [])
       ++ (self.nativeDeps."karma-jasmine"."*" or [])
       ++ (self.nativeDeps."karma-requirejs"."*" or [])
       ++ (self.nativeDeps."karma-coffee-preprocessor"."*" or [])
@@ -5765,14 +6508,95 @@
     ];
     passthru.names = [ "karma" "karma-jasmine" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
   };
-  full."karma-chrome-launcher"."*" = self.full."karma".">=0.9.3";
-  full."karma-coffee-preprocessor"."*" = self.full."karma".">=0.9.3";
-  full."karma-firefox-launcher"."*" = self.full."karma".">=0.9.3";
-  full."karma-html2js-preprocessor"."*" = self.full."karma".">=0.9.3";
-  full."karma-jasmine"."*" = self.full."karma".">=0.9.3";
-  full."karma-phantomjs-launcher"."*" = self.full."karma".">=0.9.3";
-  full."karma-requirejs"."*" = self.full."karma".">=0.9.3";
-  full."karma-script-launcher"."*" = self.full."karma".">=0.9.3";
+  full."karma-chrome-launcher"."*" = self.full."karma"."~0.10.0";
+  "karma-chrome-launcher" = self.full."karma-chrome-launcher"."*";
+  full."karma-coffee-preprocessor"."*" = self.full."karma"."~0.10.0";
+  full."karma-coverage"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-coverage-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.1.0.tgz";
+        sha1 = "6d5d03352cbe2d529807e558688dceea55f9dbb0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."karma-coverage"."*" or []);
+    deps = [
+      self.full."istanbul"."~0.1.41"
+      self.full."dateformat"."~1.0.6"
+    ];
+    peerDependencies = [
+      self.full."karma".">=0.9"
+    ];
+    passthru.names = [ "karma-coverage" ];
+  };
+  "karma-coverage" = self.full."karma-coverage"."*";
+  full."karma-firefox-launcher"."*" = self.full."karma"."~0.10.0";
+  full."karma-html2js-preprocessor"."*" = self.full."karma"."~0.10.0";
+  full."karma-jasmine"."*" = self.full."karma"."~0.10.0";
+  full."karma-junit-reporter"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-junit-reporter-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.1.0.tgz";
+        sha1 = "7af72b64d7e9f192d1a40f4ef063ffbcf9e7bba5";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."karma-junit-reporter"."*" or []);
+    deps = [
+      self.full."xmlbuilder"."0.4.2"
+    ];
+    peerDependencies = [
+      self.full."karma".">=0.9"
+    ];
+    passthru.names = [ "karma-junit-reporter" ];
+  };
+  "karma-junit-reporter" = self.full."karma-junit-reporter"."*";
+  full."karma-mocha"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-mocha-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.0.tgz";
+        sha1 = "451cfef48c51850e45db9d119927502e6a2feb40";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."karma-mocha"."*" or []);
+    deps = [
+    ];
+    peerDependencies = [
+      self.full."karma".">=0.9"
+      self.full."mocha"."*"
+    ];
+    passthru.names = [ "karma-mocha" ];
+  };
+  "karma-mocha" = self.full."karma-mocha"."*";
+  full."karma-phantomjs-launcher"."*" = self.full."karma"."~0.10.0";
+  full."karma-requirejs"."*" = self.full."karma"."~0.10.0";
+  "karma-requirejs" = self.full."karma-requirejs"."*";
+  full."karma-sauce-launcher"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-sauce-launcher-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.1.0.tgz";
+        sha1 = "46be4b9888fda09e6512516cd5dc6ab8b114d392";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."karma-sauce-launcher"."*" or []);
+    deps = [
+      self.full."wd"."~0.0.32"
+      self.full."sauce-connect-launcher"."~0.1.10"
+      self.full."q"."~0.9.6"
+    ];
+    peerDependencies = [
+      self.full."karma".">=0.9"
+    ];
+    passthru.names = [ "karma-sauce-launcher" ];
+  };
+  "karma-sauce-launcher" = self.full."karma-sauce-launcher"."*";
+  full."karma-script-launcher"."*" = self.full."karma"."~0.10.0";
   full."keep-alive-agent"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "keep-alive-agent-0.0.1";
     src = [
@@ -5897,6 +6721,60 @@
     ];
     passthru.names = [ "lazy" ];
   };
+  full."lcov-parse"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+    name = "lcov-parse-0.0.4";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.4.tgz";
+        sha1 = "3853a4f132f04581db0e74c180542d90f0d1c66b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lcov-parse"."0.0.4" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lcov-parse" ];
+  };
+  full."lcov-result-merger"."*" = lib.makeOverridable self.buildNodePackage {
+    name = "lcov-result-merger-0.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-0.0.1.tgz";
+        sha1 = "8b0e68a7f9136de084f62d92ecafcfa41ce9e4d9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lcov-result-merger"."*" or []);
+    deps = [
+      self.full."glob"."~3.2.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lcov-result-merger" ];
+  };
+  "lcov-result-merger" = self.full."lcov-result-merger"."*";
+  full."less"."~1.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "less-1.4.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/less/-/less-1.4.2.tgz";
+        sha1 = "b7deefe98a3a87bee364411b3df2d1efe5a412d0";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."less"."~1.4.0" or []);
+    deps = [
+      self.full."mime"."1.2.x"
+      self.full."request".">=2.12.0"
+      self.full."mkdirp"."~0.3.4"
+      self.full."ycssmin".">=1.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "less" ];
+  };
   full."libyaml"."*" = lib.makeOverridable self.buildNodePackage {
     name = "libyaml-0.2.2";
     src = [
@@ -5946,12 +6824,28 @@
     ];
     passthru.names = [ "lockfile" ];
   };
+  full."lodash"."~0.9.0" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash-0.9.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
+        sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."lodash"."~0.9.0" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "lodash" ];
+  };
   full."lodash"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.0.1";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz";
-        sha1 = "b751fb1c141fe8bcee6fc1bad44a30f9b9ccd95e";
+        sha1 = "57945732498d92310e5bd4b1ff4f273a79e6c9fc";
       })
     ];
     buildInputs =
@@ -5967,7 +6861,7 @@
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash/-/lodash-1.1.1.tgz";
-        sha1 = "7b7384521f12bef886368a9450162ebec14fa394";
+        sha1 = "41a2b2e9a00e64d6d1999f143ff6b0755f6bbb24";
       })
     ];
     buildInputs =
@@ -5983,7 +6877,7 @@
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash/-/lodash-1.1.1.tgz";
-        sha1 = "7b7384521f12bef886368a9450162ebec14fa394";
+        sha1 = "41a2b2e9a00e64d6d1999f143ff6b0755f6bbb24";
       })
     ];
     buildInputs =
@@ -5999,7 +6893,7 @@
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash/-/lodash-1.2.1.tgz";
-        sha1 = "fc16f434d3a5c2afd0be336262dacda6b14237b8";
+        sha1 = "ed47b16e46f06b2b40309b68e9163c17e93ea304";
       })
     ];
     buildInputs =
@@ -6015,7 +6909,7 @@
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz";
-        sha1 = "8a5f251d744f2f33d81931e04d60a5a1610b7827";
+        sha1 = "a4663b53686b895ff074e2ba504dfb76a8e2b770";
       })
     ];
     buildInputs =
@@ -6031,7 +6925,7 @@
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz";
-        sha1 = "8a5f251d744f2f33d81931e04d60a5a1610b7827";
+        sha1 = "a4663b53686b895ff074e2ba504dfb76a8e2b770";
       })
     ];
     buildInputs =
@@ -6042,6 +6936,22 @@
     ];
     passthru.names = [ "lodash" ];
   };
+  full."log-driver"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "log-driver-1.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/log-driver/-/log-driver-1.2.1.tgz";
+        sha1 = "ada8202a133e99764306652e195e28268b0bea5b";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."log-driver"."1.2.1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "log-driver" ];
+  };
   full."log4js"."~0.6.3" = lib.makeOverridable self.buildNodePackage {
     name = "log4js-0.6.8";
     src = [
@@ -6293,6 +7203,22 @@
     ];
     passthru.names = [ "mime" ];
   };
+  full."mime"."1.2.x" = lib.makeOverridable self.buildNodePackage {
+    name = "mime-1.2.11";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."mime"."1.2.x" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "mime" ];
+  };
   full."mime"."~1.2" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.11";
     src = [
@@ -6426,6 +7352,24 @@
     ];
     passthru.names = [ "minimatch" ];
   };
+  full."minimatch"."0.x" = lib.makeOverridable self.buildNodePackage {
+    name = "minimatch-0.2.12";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
+        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimatch"."0.x" or []);
+    deps = [
+      self.full."lru-cache"."2"
+      self.full."sigmund"."~1.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimatch" ];
+  };
   full."minimatch"."0.x.x" = lib.makeOverridable self.buildNodePackage {
     name = "minimatch-0.2.12";
     src = [
@@ -6534,12 +7478,30 @@
     ];
     passthru.names = [ "minimatch" ];
   };
+  full."minimatch"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
+    name = "minimatch-0.2.12";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
+        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."minimatch"."~0.2.6" or []);
+    deps = [
+      self.full."lru-cache"."2"
+      self.full."sigmund"."~1.0.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "minimatch" ];
+  };
   full."minimist"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "minimist-0.0.1";
+    name = "minimist-0.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.1.tgz";
-        sha1 = "fa2439fbf7da8525c51b2a74e2815b380abc8ab6";
+        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.2.tgz";
+        sha1 = "3297e0500be195b8fcb56668c45b925bc9bca7ab";
       })
     ];
     buildInputs =
@@ -6679,22 +7641,6 @@
     ];
     passthru.names = [ "mkdirp" ];
   };
-  full."mkdirp"."~0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."~0.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
   full."mkdirp"."~0.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "mkdirp-0.3.5";
     src = [
@@ -6744,11 +7690,11 @@
     passthru.names = [ "mkdirp" ];
   };
   full."mocha"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mocha-1.12.0";
+    name = "mocha-1.12.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mocha/-/mocha-1.12.0.tgz";
-        sha1 = "95fc936622ce156b8b19ff8def466ac2f3a3f29e";
+        url = "http://registry.npmjs.org/mocha/-/mocha-1.12.1.tgz";
+        sha1 = "5212e3f5914eef8c0888ae344e6a7dd2e5ac294a";
       })
     ];
     buildInputs =
@@ -6760,7 +7706,6 @@
       self.full."diff"."1.0.2"
       self.full."debug"."*"
       self.full."mkdirp"."0.3.5"
-      self.full."ms"."0.3.0"
       self.full."glob"."3.2.1"
     ];
     peerDependencies = [
@@ -7096,34 +8041,17 @@
     ];
     passthru.names = [ "ms" ];
   };
-  full."ms"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "ms-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ms/-/ms-0.3.0.tgz";
-        sha1 = "03edc348d613e66a56486cfdac53bcbe899cbd61";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ms"."0.3.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ms" ];
-  };
   full."msgpack".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "msgpack-0.2.0";
+    name = "msgpack-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/msgpack/-/msgpack-0.2.0.tgz";
-        sha1 = "d022af5c7db98eff5c01dd48942bc5354e167817";
+        url = "http://registry.npmjs.org/msgpack/-/msgpack-0.2.1.tgz";
+        sha1 = "5da246daa2138b4163640e486c00c4f3961e92ac";
       })
     ];
     buildInputs =
       (self.nativeDeps."msgpack".">= 0.0.1" or []);
     deps = [
-      self.full."nodeunit"."https://github.com/godsflaw/nodeunit/tarball/master"
     ];
     peerDependencies = [
     ];
@@ -7194,11 +8122,11 @@
     passthru.names = [ "mv" ];
   };
   full."nan"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "nan-0.3.1";
+    name = "nan-0.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nan/-/nan-0.3.1.tgz";
-        sha1 = "672523b3fbdbc8e73213dc1951b636e98b3b176f";
+        url = "http://registry.npmjs.org/nan/-/nan-0.3.2.tgz";
+        sha1 = "0df1935cab15369075ef160ad2894107aa14dc2d";
       })
     ];
     buildInputs =
@@ -7653,23 +8581,6 @@
     passthru.names = [ "nodemon" ];
   };
   "nodemon" = self.full."nodemon"."*";
-  full."nodeunit"."https://github.com/godsflaw/nodeunit/tarball/master" = lib.makeOverridable self.buildNodePackage {
-    name = "nodeunit-0.7.4";
-    src = [
-      (fetchurl {
-        url = "https://github.com/godsflaw/nodeunit/tarball/master";
-        sha256 = "c79333b5b54ca3b9eb42e42d6ea48d261aa9e015c0ad9cf340abacb528d0ee3a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nodeunit"."https://github.com/godsflaw/nodeunit/tarball/master" or []);
-    deps = [
-      self.full."tap".">=0.2.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nodeunit" ];
-  };
   full."nopt"."2" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.1.2";
     src = [
@@ -7704,16 +8615,16 @@
     ];
     passthru.names = [ "nopt" ];
   };
-  full."nopt"."~1.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-1.0.10";
+  full."nopt"."2.1.x" = lib.makeOverridable self.buildNodePackage {
+    name = "nopt-2.1.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
-        sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
+        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
+        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."~1.0.10" or []);
+      (self.nativeDeps."nopt"."2.1.x" or []);
     deps = [
       self.full."abbrev"."1"
     ];
@@ -7721,16 +8632,16 @@
     ];
     passthru.names = [ "nopt" ];
   };
-  full."nopt"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
+  full."nopt"."~1.0.10" = lib.makeOverridable self.buildNodePackage {
+    name = "nopt-1.0.10";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
+        url = "http://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
+        sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."~2" or []);
+      (self.nativeDeps."nopt"."~1.0.10" or []);
     deps = [
       self.full."abbrev"."1"
     ];
@@ -8070,11 +8981,11 @@
     passthru.names = [ "npmconf" ];
   };
   full."npmconf"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.2";
+    name = "npmconf-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.2.tgz";
-        sha1 = "99af8122f0067802436a5b71dbf8c3539697e62c";
+        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.3.tgz";
+        sha1 = "e17832649a36785f086dac3d50705508e4f996e6";
       })
     ];
     buildInputs =
@@ -8094,11 +9005,11 @@
     passthru.names = [ "npmconf" ];
   };
   full."npmconf"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.2";
+    name = "npmconf-0.1.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.2.tgz";
-        sha1 = "99af8122f0067802436a5b71dbf8c3539697e62c";
+        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.3.tgz";
+        sha1 = "e17832649a36785f086dac3d50705508e4f996e6";
       })
     ];
     buildInputs =
@@ -8418,6 +9329,24 @@
     ];
     passthru.names = [ "optimist" ];
   };
+  full."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "optimist-0.6.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
+        sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."optimist"."0.6.0" or []);
+    deps = [
+      self.full."wordwrap"."~0.0.2"
+      self.full."minimist"."~0.0.1"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "optimist" ];
+  };
   full."optimist"."~0.3" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.3.7";
     src = [
@@ -8746,11 +9675,11 @@
     passthru.names = [ "pause" ];
   };
   full."phantomjs"."~1.9" = lib.makeOverridable self.buildNodePackage {
-    name = "phantomjs-1.9.1-8";
+    name = "phantomjs-1.9.1-9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.1-8.tgz";
-        sha1 = "1fb7a800b403474974a696afebfbaa20b616e040";
+        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.1-9.tgz";
+        sha1 = "f18671f4bcbbb5d5fc4a20ddcd6800ab0edc4453";
       })
     ];
     buildInputs =
@@ -9010,6 +9939,22 @@
     ];
     passthru.names = [ "pullstream" ];
   };
+  full."q"."0.9.x" = lib.makeOverridable self.buildNodePackage {
+    name = "q-0.9.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/q/-/q-0.9.6.tgz";
+        sha1 = "5884b2154bdb3b6d5765e0fafddcb1506e133619";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."q"."0.9.x" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "q" ];
+  };
   full."q".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "q-0.9.6";
     src = [
@@ -9058,6 +10003,22 @@
     ];
     passthru.names = [ "q" ];
   };
+  full."q"."~0.9.6" = lib.makeOverridable self.buildNodePackage {
+    name = "q-0.9.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/q/-/q-0.9.6.tgz";
+        sha1 = "5884b2154bdb3b6d5765e0fafddcb1506e133619";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."q"."~0.9.6" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "q" ];
+  };
   full."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.1";
     src = [
@@ -9106,6 +10067,22 @@
     ];
     passthru.names = [ "qs" ];
   };
+  full."qs"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "qs-0.5.6";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
+        sha1 = "31b1ad058567651c526921506b9a8793911a0384";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."qs"."~0.5.0" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "qs" ];
+  };
   full."qs"."~0.5.4" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.6";
     src = [
@@ -9351,11 +10328,11 @@
     passthru.names = [ "read-package-json" ];
   };
   full."readable-stream"."1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.15";
+    name = "readable-stream-1.0.17";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.15.tgz";
-        sha1 = "a2c160237235951da985a1572d0a3af585e4be95";
+        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.17.tgz";
+        sha1 = "cbc295fdf394dfa1225d225d02e6b6d0f409fd4b";
       })
     ];
     buildInputs =
@@ -9367,11 +10344,11 @@
     passthru.names = [ "readable-stream" ];
   };
   full."readable-stream"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.15";
+    name = "readable-stream-1.0.17";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.15.tgz";
-        sha1 = "a2c160237235951da985a1572d0a3af585e4be95";
+        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.17.tgz";
+        sha1 = "cbc295fdf394dfa1225d225d02e6b6d0f409fd4b";
       })
     ];
     buildInputs =
@@ -9383,11 +10360,11 @@
     passthru.names = [ "readable-stream" ];
   };
   full."readable-stream"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.15";
+    name = "readable-stream-1.0.17";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.15.tgz";
-        sha1 = "a2c160237235951da985a1572d0a3af585e4be95";
+        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.17.tgz";
+        sha1 = "cbc295fdf394dfa1225d225d02e6b6d0f409fd4b";
       })
     ];
     buildInputs =
@@ -9616,6 +10593,33 @@
     ];
     passthru.names = [ "request" ];
   };
+  full."request"."2.16.2" = lib.makeOverridable self.buildNodePackage {
+    name = "request-2.16.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/request/-/request-2.16.2.tgz";
+        sha1 = "83a028be61be4a05163e7e2e7a4b40e35df1bcb9";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."request"."2.16.2" or []);
+    deps = [
+      self.full."form-data"."~0.0.3"
+      self.full."mime"."~1.2.7"
+      self.full."hawk"."~0.10.0"
+      self.full."node-uuid"."~1.4.0"
+      self.full."cookie-jar"."~0.2.0"
+      self.full."aws-sign"."~0.2.0"
+      self.full."oauth-sign"."~0.2.0"
+      self.full."forever-agent"."~0.2.0"
+      self.full."tunnel-agent"."~0.2.0"
+      self.full."json-stringify-safe"."~3.0.0"
+      self.full."qs"."~0.5.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "request" ];
+  };
   full."request"."2.16.x" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.16.6";
     src = [
@@ -9659,6 +10663,34 @@
     ];
     passthru.names = [ "request" ];
   };
+  full."request".">=2.12.0" = lib.makeOverridable self.buildNodePackage {
+    name = "request-2.27.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
+        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."request".">=2.12.0" or []);
+    deps = [
+      self.full."qs"."~0.6.0"
+      self.full."json-stringify-safe"."~5.0.0"
+      self.full."forever-agent"."~0.5.0"
+      self.full."tunnel-agent"."~0.3.0"
+      self.full."http-signature"."~0.10.0"
+      self.full."hawk"."~1.0.0"
+      self.full."aws-sign"."~0.3.0"
+      self.full."oauth-sign"."~0.3.0"
+      self.full."cookie-jar"."~0.3.0"
+      self.full."node-uuid"."~1.4.0"
+      self.full."mime"."~1.2.9"
+      self.full."form-data"."~0.1.0"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "request" ];
+  };
   full."request"."~2" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.27.0";
     src = [
@@ -9798,34 +10830,6 @@
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."~2.26.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.26.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.26.0.tgz";
-        sha1 = "79b03075cbac2e22ebe41aa7fca884e869c1c212";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2.26.0" or []);
-    deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~5.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.10.0"
-      self.full."hawk"."~1.0.0"
-      self.full."aws-sign"."~0.3.0"
-      self.full."oauth-sign"."~0.3.0"
-      self.full."cookie-jar"."~0.3.0"
-      self.full."node-uuid"."~1.4.0"
-      self.full."mime"."~1.2.9"
-      self.full."form-data"."~0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
   full."request"."~2.27.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.27.0";
     src = [
@@ -9854,16 +10858,16 @@
     ];
     passthru.names = [ "request" ];
   };
-  full."request-progress"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-progress-0.2.3";
+  full."request-progress"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "request-progress-0.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request-progress/-/request-progress-0.2.3.tgz";
-        sha1 = "5be7088f66642e2739e9058a07cceef0c2868b8b";
+        url = "http://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz";
+        sha1 = "0721c105d8a96ac6b2ce8b2c89ae2d5ecfcf6b3a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request-progress"."~0.2.0" or []);
+      (self.nativeDeps."request-progress"."~0.3.0" or []);
     deps = [
       self.full."throttleit"."~0.0.2"
     ];
@@ -9888,6 +10892,38 @@
     ];
     passthru.names = [ "request-replay" ];
   };
+  full."requirejs"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "requirejs-2.1.8";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/requirejs/-/requirejs-2.1.8.tgz";
+        sha1 = "f0dfa656d60d404947da796f9c661d92c1b0257a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."requirejs"."~2.1.0" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "requirejs" ];
+  };
+  full."resolve"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+    name = "resolve-0.4.3";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/resolve/-/resolve-0.4.3.tgz";
+        sha1 = "dcadad202e7cacc2467e3a38800211f42f9c13df";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."resolve"."0.4.x" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "resolve" ];
+  };
   full."resolve"."~0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "resolve-0.3.1";
     src = [
@@ -10120,23 +11156,6 @@
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."runforcover"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "runforcover-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/runforcover/-/runforcover-0.0.2.tgz";
-        sha1 = "344f057d8d45d33aebc6cc82204678f69c4857cc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."runforcover"."~0.0.2" or []);
-    deps = [
-      self.full."bunker"."0.1.X"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "runforcover" ];
-  };
   full."s3http"."*" = lib.makeOverridable self.buildNodePackage {
     name = "s3http-0.0.2";
     src = [
@@ -10158,22 +11177,41 @@
   };
   "s3http" = self.full."s3http"."*";
   full."safefs"."~3.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "safefs-3.0.1";
+    name = "safefs-3.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/safefs/-/safefs-3.0.1.tgz";
-        sha1 = "a4fd36bcd4805782f0d702e97b47323eafc94cb8";
+        url = "http://registry.npmjs.org/safefs/-/safefs-3.0.3.tgz";
+        sha1 = "1d511e2945f0e7eccdd6bb12ec2e309abf13514e";
       })
     ];
     buildInputs =
       (self.nativeDeps."safefs"."~3.0.1" or []);
     deps = [
-      self.full."taskgroup".">=3 <3.2"
+      self.full."taskgroup"."~3.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "safefs" ];
   };
+  full."sauce-connect-launcher"."~0.1.10" = lib.makeOverridable self.buildNodePackage {
+    name = "sauce-connect-launcher-0.1.11";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.1.11.tgz";
+        sha1 = "71ac88bdab7bd8396a3f7d9feb165a4e457c3ecd";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."sauce-connect-launcher"."~0.1.10" or []);
+    deps = [
+      self.full."lodash"."~1.3.1"
+      self.full."async"."~0.2.9"
+      self.full."adm-zip"."~0.4.3"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "sauce-connect-launcher" ];
+  };
   full."sax"."0.5.x" = lib.makeOverridable self.buildNodePackage {
     name = "sax-0.5.5";
     src = [
@@ -10742,22 +11780,6 @@
     ];
     passthru.names = [ "sliced" ];
   };
-  full."slide"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "slide-1.1.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz";
-        sha1 = "31732adeae78f1d2d60a29b63baf6a032df7c25d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."slide"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "slide" ];
-  };
   full."slide"."~1.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "slide-1.1.5";
     src = [
@@ -11006,6 +12028,23 @@
     passthru.names = [ "source-map" ];
   };
   "source-map" = self.full."source-map"."*";
+  full."source-map".">= 0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "source-map-0.1.29";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.29.tgz";
+        sha1 = "39d571a0988fb7a548a676c4de72db78914d173c";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."source-map".">= 0.1.2" or []);
+    deps = [
+      self.full."amdefine".">=0.0.4"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "source-map" ];
+  };
   full."source-map"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "source-map-0.1.29";
     src = [
@@ -11161,11 +12200,11 @@
     passthru.names = [ "streamsearch" ];
   };
   full."stringify-object"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "stringify-object-0.1.5";
+    name = "stringify-object-0.1.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stringify-object/-/stringify-object-0.1.5.tgz";
-        sha1 = "87d8b63a3e5dfb189370622f241beeedf706ab3b";
+        url = "http://registry.npmjs.org/stringify-object/-/stringify-object-0.1.6.tgz";
+        sha1 = "f6f66711ef72225ea6e82e6147e43b03e732e40c";
       })
     ];
     buildInputs =
@@ -11347,32 +12386,6 @@
     ];
     passthru.names = [ "sylvester" ];
   };
-  full."tap".">=0.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "tap-0.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tap/-/tap-0.4.4.tgz";
-        sha1 = "122ee7afee3fc7f327660a4fda1e5ac9db2b7714";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tap".">=0.2.3" or []);
-    deps = [
-      self.full."inherits"."*"
-      self.full."yamlish"."*"
-      self.full."slide"."*"
-      self.full."runforcover"."~0.0.2"
-      self.full."nopt"."~2"
-      self.full."mkdirp"."~0.3"
-      self.full."difflet"."~0.2.0"
-      self.full."deep-equal"."~0.0.0"
-      self.full."buffer-equal"."~0.0.0"
-      self.full."glob"."~3.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tap" ];
-  };
   full."tar"."*" = lib.makeOverridable self.buildNodePackage {
     name = "tar-0.1.18";
     src = [
@@ -11469,7 +12482,7 @@
     ];
     passthru.names = [ "tar" ];
   };
-  full."taskgroup".">=3 <3.2" = lib.makeOverridable self.buildNodePackage {
+  full."taskgroup"."~3.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "taskgroup-3.1.2";
     src = [
       (fetchurl {
@@ -11478,7 +12491,7 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."taskgroup".">=3 <3.2" or []);
+      (self.nativeDeps."taskgroup"."~3.1.1" or []);
     deps = [
       self.full."ambi"."~2.0.0"
       self.full."eventemitter2"."~0.4.11"
@@ -11487,19 +12500,18 @@
     ];
     passthru.names = [ "taskgroup" ];
   };
-  full."taskgroup"."~3.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "taskgroup-3.1.2";
+  full."taskgroup"."~3.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "taskgroup-3.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/taskgroup/-/taskgroup-3.1.2.tgz";
-        sha1 = "81fec5dc7eb647fd5a0ba8ed02ee3a730244ca16";
+        url = "http://registry.npmjs.org/taskgroup/-/taskgroup-3.2.0.tgz";
+        sha1 = "ac45e79852a080bd20716eae6d79931968d637d2";
       })
     ];
     buildInputs =
-      (self.nativeDeps."taskgroup"."~3.1.1" or []);
+      (self.nativeDeps."taskgroup"."~3.2.0" or []);
     deps = [
-      self.full."ambi"."~2.0.0"
-      self.full."eventemitter2"."~0.4.11"
+      self.full."ambi"."~2.1.0"
     ];
     peerDependencies = [
     ];
@@ -11655,22 +12667,6 @@
     ];
     passthru.names = [ "transformers" ];
   };
-  full."traverse"."0.6.x" = lib.makeOverridable self.buildNodePackage {
-    name = "traverse-0.6.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/traverse/-/traverse-0.6.3.tgz";
-        sha1 = "a053ffa1b6179b9240ea16d74bfd604bd6b6e41b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."traverse"."0.6.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "traverse" ];
-  };
   full."traverse".">=0.3.0 <0.4" = lib.makeOverridable self.buildNodePackage {
     name = "traverse-0.3.9";
     src = [
@@ -11687,22 +12683,6 @@
     ];
     passthru.names = [ "traverse" ];
   };
-  full."traverse"."~0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "traverse-0.5.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/traverse/-/traverse-0.5.2.tgz";
-        sha1 = "e203c58d5f7f0e37db6e74c0acb929bb09b61d85";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."traverse"."~0.5.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "traverse" ];
-  };
   full."tunnel-agent"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "tunnel-agent-0.2.0";
     src = [
@@ -11767,36 +12747,21 @@
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."2.3.6" = lib.makeOverridable self.buildNodePackage {
-    name = "uglify-js-2.3.6";
+  full."uglify-js"."2.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "uglify-js-2.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
-        sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
+        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.0.tgz";
+        sha1 = "a5f2b6b1b817fb34c16a04234328c89ba1e77137";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."2.3.6" or []);
+      (self.nativeDeps."uglify-js"."2.4.0" or []);
     deps = [
       self.full."async"."~0.2.6"
       self.full."source-map"."~0.1.7"
       self.full."optimist"."~0.3.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "uglify-js" ];
-  };
-  full."uglify-js"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "uglify-js-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.1.1.tgz";
-        sha1 = "ee71a97c4cefd06a1a9b20437f34118982aa035b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."uglify-js"."~1.1.1" or []);
-    deps = [
+      self.full."uglify-to-browserify"."~1.0.0"
     ];
     peerDependencies = [
     ];
@@ -11839,25 +12804,42 @@
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.3.6" = lib.makeOverridable self.buildNodePackage {
-    name = "uglify-js-2.3.6";
+  full."uglify-js"."~2.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "uglify-js-2.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
-        sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
+        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.0.tgz";
+        sha1 = "a5f2b6b1b817fb34c16a04234328c89ba1e77137";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.3.6" or []);
+      (self.nativeDeps."uglify-js"."~2.4.0" or []);
     deps = [
       self.full."async"."~0.2.6"
       self.full."source-map"."~0.1.7"
       self.full."optimist"."~0.3.5"
+      self.full."uglify-to-browserify"."~1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
+  full."uglify-to-browserify"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "uglify-to-browserify-1.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.1.tgz";
+        sha1 = "0e9ada5d4ca358a59a00bb33c8061e2f40ef97d2";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."uglify-to-browserify"."~1.0.0" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "uglify-to-browserify" ];
+  };
   full."uid-number"."0" = lib.makeOverridable self.buildNodePackage {
     name = "uid-number-0.0.3";
     src = [
@@ -12003,6 +12985,22 @@
     ];
     passthru.names = [ "underscore" ];
   };
+  full."underscore.string"."~2.2.0rc" = lib.makeOverridable self.buildNodePackage {
+    name = "underscore.string-2.2.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
+        sha1 = "d7c0fa2af5d5a1a67f4253daee98132e733f0f19";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."underscore.string"."~2.2.0rc" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "underscore.string" ];
+  };
   full."underscore.string"."~2.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "underscore.string-2.3.3";
     src = [
@@ -12020,11 +13018,11 @@
     passthru.names = [ "underscore.string" ];
   };
   full."ungit"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "ungit-0.1.6";
+    name = "ungit-0.1.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ungit/-/ungit-0.1.6.tgz";
-        sha1 = "83c7aa319fea9201ae1b5ed43612303881b593d2";
+        url = "http://registry.npmjs.org/ungit/-/ungit-0.1.8.tgz";
+        sha1 = "9d6c45b3771d983bf011424f4cb284c1e79ef0c8";
       })
     ];
     buildInputs =
@@ -12048,6 +13046,7 @@
       self.full."semver"."2.0.8"
       self.full."forever-monitor"."1.1.0"
       self.full."open"."0.0.4"
+      self.full."optimist"."0.6.0"
     ];
     peerDependencies = [
     ];
@@ -12055,11 +13054,11 @@
   };
   "ungit" = self.full."ungit"."*";
   full."unzip"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "unzip-0.1.8";
+    name = "unzip-0.1.9";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/unzip/-/unzip-0.1.8.tgz";
-        sha1 = "b6ca171798242150b06fca320544592231aeb158";
+        url = "http://registry.npmjs.org/unzip/-/unzip-0.1.9.tgz";
+        sha1 = "12ac4d05c0a19fc4546df4c50ae0a7f4706a9424";
       })
     ];
     buildInputs =
@@ -12250,6 +13249,22 @@
     ];
     passthru.names = [ "validator" ];
   };
+  full."vargs"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "vargs-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz";
+        sha1 = "6b6184da6520cc3204ce1b407cac26d92609ebff";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."vargs"."~0.1.0" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "vargs" ];
+  };
   full."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "vasync-1.3.3";
     src = [
@@ -12426,6 +13441,28 @@
     ];
     passthru.names = [ "watchr" ];
   };
+  full."wd"."~0.0.32" = lib.makeOverridable self.buildNodePackage {
+    name = "wd-0.0.34";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/wd/-/wd-0.0.34.tgz";
+        sha1 = "c8d00ccdbb2862f914b7bd5935330a53cfa88562";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."wd"."~0.0.32" or []);
+    deps = [
+      self.full."async"."0.2.x"
+      self.full."underscore"."1.4.x"
+      self.full."vargs"."~0.1.0"
+      self.full."q"."0.9.x"
+      self.full."request"."~2.21.0"
+      self.full."archiver"."~0.4.6"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "wd" ];
+  };
   full."websocket-driver".">=0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "websocket-driver-0.2.2";
     src = [
@@ -12474,6 +13511,22 @@
     ];
     passthru.names = [ "which" ];
   };
+  full."which"."1.0.x" = lib.makeOverridable self.buildNodePackage {
+    name = "which-1.0.5";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
+        sha1 = "5630d6819dda692f1464462e7956cb42c0842739";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."which"."1.0.x" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "which" ];
+  };
   full."which"."~1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "which-1.0.5";
     src = [
@@ -12602,22 +13655,38 @@
     passthru.names = [ "winston" ];
   };
   full."with"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "with-1.1.0";
+    name = "with-1.1.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/with/-/with-1.1.0.tgz";
-        sha1 = "7f722ce4050ab55310777327b014194c544c66dd";
+        url = "http://registry.npmjs.org/with/-/with-1.1.1.tgz";
+        sha1 = "66bd6664deb318b2482dd0424ccdebe822434ac0";
       })
     ];
     buildInputs =
       (self.nativeDeps."with"."~1.1.0" or []);
     deps = [
-      self.full."uglify-js"."2.3.6"
+      self.full."uglify-js"."2.4.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "with" ];
   };
+  full."wordwrap"."0.0.x" = lib.makeOverridable self.buildNodePackage {
+    name = "wordwrap-0.0.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."wordwrap"."0.0.x" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "wordwrap" ];
+  };
   full."wordwrap".">=0.0.1 <0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "wordwrap-0.0.2";
     src = [
@@ -12651,11 +13720,11 @@
     passthru.names = [ "wordwrap" ];
   };
   full."ws"."0.4.x" = lib.makeOverridable self.buildNodePackage {
-    name = "ws-0.4.29";
+    name = "ws-0.4.30";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ws/-/ws-0.4.29.tgz";
-        sha1 = "4b79ef62b4f3f782a05ba56b41b122d1252d4f90";
+        url = "http://registry.npmjs.org/ws/-/ws-0.4.30.tgz";
+        sha1 = "5e2c18b7bb7ee0f9c9fcc3d3ec50f513ba5f99e8";
       })
     ];
     buildInputs =
@@ -12754,6 +13823,22 @@
     ];
     passthru.names = [ "xmlbuilder" ];
   };
+  full."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "xmlbuilder-0.4.2";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
+        sha1 = "1776d65f3fdbad470a08d8604cdeb1c4e540ff83";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."xmlbuilder"."0.4.2" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "xmlbuilder" ];
+  };
   full."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "xmlhttprequest-1.4.2";
     src = [
@@ -12786,21 +13871,37 @@
     ];
     passthru.names = [ "xoauth2" ];
   };
-  full."yamlish"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "yamlish-0.0.5";
+  full."yaml"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "yaml-0.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yamlish/-/yamlish-0.0.5.tgz";
-        sha1 = "86c6c8e6b28b0827416dcc86f7419bba5610b57d";
+        url = "http://registry.npmjs.org/yaml/-/yaml-0.2.3.tgz";
+        sha1 = "b5450e92e76ef36b5dd24e3660091ebaeef3e5c7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."yamlish"."*" or []);
+      (self.nativeDeps."yaml"."0.2.3" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "yamlish" ];
+    passthru.names = [ "yaml" ];
+  };
+  full."ycssmin".">=1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "ycssmin-1.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ycssmin/-/ycssmin-1.0.1.tgz";
+        sha1 = "7cdde8db78cfab00d2901c3b2301e304faf4df16";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ycssmin".">=1.0.1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ycssmin" ];
   };
   full."yeoman-generator"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
     name = "yeoman-generator-0.10.5";
@@ -12834,11 +13935,11 @@
     passthru.names = [ "yeoman-generator" ];
   };
   full."yeoman-generator"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.13.3";
+    name = "yeoman-generator-0.13.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.3.tgz";
-        sha1 = "5e0f0a74d6ebb61e72689d446404c200e915d14c";
+        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz";
+        sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34";
       })
     ];
     buildInputs =
@@ -12858,7 +13959,7 @@
       self.full."isbinaryfile"."~0.1.8"
       self.full."dargs"."~0.1.0"
       self.full."async"."~0.2.8"
-      self.full."inquirer"."~0.2.0"
+      self.full."inquirer"."~0.3.1"
       self.full."iconv-lite"."~0.2.10"
       self.full."shelljs"."~0.1.4"
       self.full."findup-sync"."~0.1.2"
@@ -12870,11 +13971,11 @@
     passthru.names = [ "yeoman-generator" ];
   };
   full."yeoman-generator"."~0.13.1" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.13.3";
+    name = "yeoman-generator-0.13.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.3.tgz";
-        sha1 = "5e0f0a74d6ebb61e72689d446404c200e915d14c";
+        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz";
+        sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34";
       })
     ];
     buildInputs =
@@ -12894,7 +13995,7 @@
       self.full."isbinaryfile"."~0.1.8"
       self.full."dargs"."~0.1.0"
       self.full."async"."~0.2.8"
-      self.full."inquirer"."~0.2.0"
+      self.full."inquirer"."~0.3.1"
       self.full."iconv-lite"."~0.2.10"
       self.full."shelljs"."~0.1.4"
       self.full."findup-sync"."~0.1.2"
@@ -12906,11 +14007,11 @@
     passthru.names = [ "yeoman-generator" ];
   };
   full."yeoman-generator"."~0.13.2" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.13.3";
+    name = "yeoman-generator-0.13.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.3.tgz";
-        sha1 = "5e0f0a74d6ebb61e72689d446404c200e915d14c";
+        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz";
+        sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34";
       })
     ];
     buildInputs =
@@ -12930,7 +14031,7 @@
       self.full."isbinaryfile"."~0.1.8"
       self.full."dargs"."~0.1.0"
       self.full."async"."~0.2.8"
-      self.full."inquirer"."~0.2.0"
+      self.full."inquirer"."~0.3.1"
       self.full."iconv-lite"."~0.2.10"
       self.full."shelljs"."~0.1.4"
       self.full."findup-sync"."~0.1.2"
@@ -12942,11 +14043,11 @@
     passthru.names = [ "yeoman-generator" ];
   };
   full."yo"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "yo-1.0.3";
+    name = "yo-1.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yo/-/yo-1.0.3.tgz";
-        sha1 = "7235b66201eb66e523204a463a0ed2cf3c2ee45b";
+        url = "http://registry.npmjs.org/yo/-/yo-1.0.4.tgz";
+        sha1 = "666b5965a8e920df877d351da793f89bd1c8707a";
       })
     ];
     buildInputs =
@@ -12956,11 +14057,11 @@
       self.full."nopt"."~2.1.1"
       self.full."lodash"."~1.3.1"
       self.full."update-notifier"."~0.1.3"
-      self.full."insight"."~0.1.0"
+      self.full."insight"."~0.2.0"
       self.full."sudo-block"."~0.2.0"
       self.full."async"."~0.2.9"
       self.full."open"."0.0.4"
-      self.full."chalk"."~0.1.0"
+      self.full."chalk"."~0.2.0"
     ];
     peerDependencies = [
       self.full."grunt-cli"."~0.1.7"
@@ -12970,11 +14071,11 @@
   };
   "yo" = self.full."yo"."*";
   full."yo".">=1.0.0-rc.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "yo-1.0.3";
+    name = "yo-1.0.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/yo/-/yo-1.0.3.tgz";
-        sha1 = "7235b66201eb66e523204a463a0ed2cf3c2ee45b";
+        url = "http://registry.npmjs.org/yo/-/yo-1.0.4.tgz";
+        sha1 = "666b5965a8e920df877d351da793f89bd1c8707a";
       })
     ];
     buildInputs =
@@ -12984,11 +14085,11 @@
       self.full."nopt"."~2.1.1"
       self.full."lodash"."~1.3.1"
       self.full."update-notifier"."~0.1.3"
-      self.full."insight"."~0.1.0"
+      self.full."insight"."~0.2.0"
       self.full."sudo-block"."~0.2.0"
       self.full."async"."~0.2.9"
       self.full."open"."0.0.4"
-      self.full."chalk"."~0.1.0"
+      self.full."chalk"."~0.2.0"
     ];
     peerDependencies = [
       self.full."grunt-cli"."~0.1.7"
@@ -13012,4 +14113,20 @@
     ];
     passthru.names = [ "zeparser" ];
   };
+  full."zlib-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "zlib-browserify-0.0.1";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz";
+        sha1 = "4fa6a45d00dbc15f318a4afa1d9afc0258e176cc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."zlib-browserify"."0.0.1" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "zlib-browserify" ];
+  };
 }
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
index 05892068dc82..d3dcbe665c5b 100644
--- a/pkgs/top-level/node-packages.json
+++ b/pkgs/top-level/node-packages.json
@@ -73,8 +73,25 @@
 , "generator-webapp"
 , "generator-angular"
 , "statsd"
-, "karma"
 , "ungit"
 , { "node-uptime": "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" }
 , { "guifi-earth": "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " }
+, "bower"
+, "grunt-cli"
+, "grunt-contrib-jshint"
+, "grunt-contrib-requirejs"
+, "grunt-contrib-less"
+, "grunt-contrib-cssmin"
+, "grunt-contrib-uglify"
+, "grunt-karma"
+, "karma"
+, "karma-mocha"
+, "karma-coverage"
+, "karma-requirejs"
+, "karma-sauce-launcher"
+, "karma-chrome-launcher"
+, "karma-junit-reporter"
+, "almond"
+, "lcov-result-merger"
+, "coveralls"
 ]
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
index 2b050b1319a2..8725ce1e9cd7 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -3,7 +3,7 @@
 {
   nativeDeps = {
     "node-expat"."*" = [ pkgs.expat ];
-    "rbytes"."0.0.2" = [ pkgs.openssl ];
+    "rbytes"."*" = [ pkgs.openssl ];
     "phantomjs"."~1.9" = [ pkgs.phantomjs ];
   };
 
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index f7d316a75148..870f5fa67b9e 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -9,7 +9,7 @@
 
 rec {
 
-  inherit (pkgs) buildPerlPackage fetchurl stdenv perl fetchsvn;
+  inherit (pkgs) buildPerlPackage fetchurl stdenv perl fetchsvn gnused;
 
   inherit __overrides;
 
@@ -30,11 +30,15 @@ rec {
       url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
       sha256 = "de5560f2ce6334f3f83bef4ee942fdb09b792f05cf534fe67be3cb0431bf758f";
     };
+    # use gnused so that the preCheck command passes
+    buildInputs = stdenv.lib.optional stdenv.isDarwin [ gnused ];
     propagatedBuildInputs = [ FileNext ];
-    meta = {
+    meta = with stdenv.lib; {
       description = "A grep-like tool tailored to working with large trees of source code";
-      homepage = http://betterthangrep.com/;
-      license = "free";  # Artistic 2.0
+      homepage    = http://betterthangrep.com/;
+      license     = "free";  # Artistic 2.0
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = stdenv.lib.platforms.unix;
     };
     # t/swamp/{0,perl-without-extension} are datafiles for the test
     # t/ack-show-types.t, but the perl generic builder confuses them
@@ -231,13 +235,19 @@ rec {
     propagatedBuildInputs = [DigestHMAC];
   };
 
-  Autobox = buildPerlPackage rec {
-    name = "autobox-2.55";
+  autobox = pkgs.perlPackages.Autobox;
+
+  Autobox = buildPerlPackage {
+    name = "autobox-2.79";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/${name}.tar.gz";
-      sha256 = "1kfn8zqbv9rjri39hh0xvqx74h35iwhix7w6ncajw06br8m9pizh";
+      url = mirror://cpan/authors/id/C/CH/CHOCOLATE/autobox-2.79.tar.gz;
+      sha256 = "8acc8c4a69e1bbb05304d0832d483a07258597529072d869b5960193a2ab950f";
+    };
+    propagatedBuildInputs = [ ScopeGuard ];
+    meta = {
+      description = "Call methods on native types";
+      license = "perl";
     };
-    propagatedBuildInputs = [ScopeGuard];
   };
 
   Autodia = buildPerlPackage rec {
@@ -323,11 +333,15 @@ rec {
     propagatedBuildInputs = [CarpClan];
   };
 
-  BKeywords = buildPerlPackage rec {
-    name = "B-Keywords-1.09";
+  BKeywords = buildPerlPackage {
+    name = "B-Keywords-1.13";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JJ/JJORE/${name}.tar.gz";
-      sha256 = "9a231f54a01a705c574a38702cb3fe8bbb301ea7357a09797e3da876a265d395";
+      url = mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-1.13.tar.gz;
+      sha256 = "073eb916f69bd337261de6cb6cab8ccdb06f67415d8c7291453ebdfdfe0be405";
+    };
+    meta = {
+      description = "Lists of reserved barewords and symbol names";
+      license = "unknown";
     };
   };
 
@@ -1106,6 +1120,16 @@ rec {
     };
   };
 
+  ClassIterator = buildPerlPackage {
+    name = "Class-Iterator-0.3";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/T/TE/TEXMEC/Class-Iterator-0.3.tar.gz;
+      sha256 = "db1ba87ca9107f161fe9c1e9e7e267c0026defc26fe3e73bcad8ab8ffc18ef9d";
+    };
+    meta = {
+    };
+  };
+
   ClassMakeMethods = buildPerlPackage rec {
     name = "Class-MakeMethods-1.009";
     src = fetchurl {
@@ -1309,6 +1333,49 @@ rec {
     };
   };
 
+  ConfigINI = buildPerlPackage {
+    name = "Config-INI-0.020";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Config-INI-0.020.tar.gz;
+      sha256 = "0ef298da75e3a7becd1f358422cea621c5cf0420278aa6a1bdd2dd14efe07bc9";
+    };
+    propagatedBuildInputs = [ IOString MixinLinewise ];
+    meta = {
+      homepage = https://github.com/rjbs/Config-INI;
+      description = "Simple .ini-file format";
+      license = "perl";
+    };
+  };
+
+  ConfigMVP = buildPerlPackage {
+    name = "Config-MVP-2.200004";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-2.200004.tar.gz;
+      sha256 = "dbe473f4b0fc649b82574aa71b0c5da3359058e181928d5e9197fc0ef247c3ec";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ ClassLoad Moose MooseXOneArgNew ParamsUtil RoleHasMessage RoleIdentifiable Throwable TieIxHash TryTiny ];
+    meta = {
+      homepage = https://github.com/rjbs/config-mvp;
+      description = "Multivalue-property package-oriented configuration";
+      license = "perl";
+    };
+  };
+
+  ConfigMVPReaderINI = buildPerlPackage {
+    name = "Config-MVP-Reader-INI-2.101462";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-Reader-INI-2.101462.tar.gz;
+      sha256 = "cd113c3361cfb468655cfcd7b4747b50f990db2cb9452f5d8ffa409422d7df9f";
+    };
+    propagatedBuildInputs = [ ConfigINI ConfigMVP Moose ];
+    meta = {
+      homepage = https://github.com/rjbs/Config-MVP-Reader-INI;
+      description = "An MVP config reader for .ini files";
+      license = "perl";
+    };
+  };
+
   ConfigTiny = buildPerlPackage rec {
     name = "Config-Tiny-2.12";
     src = fetchurl {
@@ -1342,6 +1409,8 @@ rec {
     propagatedBuildInputs = [ SymbolUtil ];
   };
 
+  constantdefer = pkgs.perlPackages.constant-defer;
+
   constant-defer = buildPerlPackage rec {
     name = "constant-defer-5";
     src = fetchurl {
@@ -1378,6 +1447,18 @@ rec {
     propagatedBuildInputs = [ AnyEvent Guard CommonSense ];
   };
 
+  CPANChanges = buildPerlPackage {
+    name = "CPAN-Changes-0.23";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BR/BRICAS/CPAN-Changes-0.23.tar.gz;
+      sha256 = "445a5c751d047c2a2e20680aa86d8bdab25e52891bac24681e9b4f24e98a347c";
+    };
+    meta = {
+      description = "Read and write Changes files";
+      license = "perl";
+    };
+  };
+
   CPANMeta = buildPerlPackage {
     name = "CPAN-Meta-2.120921";
     src = fetchurl {
@@ -1434,6 +1515,20 @@ rec {
     };
   };
 
+  CPANUploader = buildPerlPackage {
+    name = "CPAN-Uploader-0.103004";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/CPAN-Uploader-0.103004.tar.gz;
+      sha256 = "cfaf6d4ad32a92cdefabb3abaf1f43c7c11aca5afd5561ea6f691065ac396e97";
+    };
+    propagatedBuildInputs = [ FileHomeDir GetoptLongDescriptive HTTPMessage LWP LWPProtocolhttps TermReadKey ];
+    meta = {
+      homepage = https://github.com/rjbs/cpan-uploader;
+      description = "Upload things to the CPAN";
+      license = "perl";
+    };
+  };
+
   CryptCBC = buildPerlPackage rec {
     name = "Crypt-CBC-2.30";
     src = fetchurl {
@@ -1672,6 +1767,20 @@ rec {
     propagatedBuildInputs = [TestException ClassAccessorChained];
   };
 
+  DataSection = buildPerlPackage {
+    name = "Data-Section-0.101622";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Data-Section-0.101622.tar.gz;
+      sha256 = "33613e5daf0791fc2c5878fd82ef260e944b1e1fa205bcc753c31c62f5b7c7d3";
+    };
+    propagatedBuildInputs = [ MROCompat SubExporter ];
+    meta = {
+      homepage = https://github.com/rjbs/data-section;
+      description = "Read multiple hunks of data out of your DATA section";
+      license = "perl";
+    };
+  };
+
   DataSerializer = buildPerlPackage {
     name = "Data-Serializer-0.59";
     src = fetchurl {
@@ -2166,6 +2275,20 @@ rec {
     };
   };
 
+  DevelFindPerl = buildPerlPackage {
+    name = "Devel-FindPerl-0.006";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/L/LE/LEONT/Devel-FindPerl-0.006.tar.gz;
+      sha256 = "60d5a0fd6880e5cfda381159acd3dbbc21c1121dc44c94ecd323ad5a148e03ff";
+    };
+    buildInputs = [ CaptureTiny ];
+    propagatedBuildInputs = [ ExtUtilsConfig ];
+    meta = {
+      description = "Find the path to your perl";
+      license = "perl";
+    };
+  };
+
   DevelGlobalDestruction = buildPerlPackage {
     name = "Devel-GlobalDestruction-0.09";
     src = fetchurl {
@@ -2314,6 +2437,317 @@ rec {
     };
   };
 
+  DistZilla = buildPerlPackage {
+    name = "Dist-Zilla-4.300036";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-4.300036.tar.gz;
+      sha256 = "d78c1425d51571d9bc61ed3b20c5aaec1eb59e756ceda3ac40ed727e6c93bf21";
+    };
+    buildInputs = [ FileShareDirInstall SoftwareLicense TestFatal TestFileShareDir TestScript ];
+    propagatedBuildInputs = [ AppCmd CPANUploader ClassLoad ConfigINI ConfigMVP ConfigMVPReaderINI DataSection DateTime FileCopyRecursive FileFindRule FileHomeDir FileShareDir FileShareDirInstall Filepushd HashMergeSimple JSON ListAllUtils ListMoreUtils LogDispatchouli Moose MooseAutobox MooseXLazyRequire MooseXRoleParameterized MooseXSetOnce MooseXTypes MooseXTypesPathClass MooseXTypesPerl PPI ParamsUtil PathClass PerlPrereqScanner PerlVersion PodEventual SoftwareLicense StringFormatter StringRewritePrefix SubExporter SubExporterForMethods TermReadKey TestDeep TextGlob TextTemplate TryTiny YAMLTiny autobox namespaceautoclean CPANMetaRequirements ];
+    meta = {
+      homepage = http://dzil.org/;
+      description = "Distribution builder; installer not included!";
+      license = "perl";
+    };
+    doCheck = false;
+  };
+
+  DistZillaPluginBundleTestingMania = buildPerlPackage {
+    name = "Dist-Zilla-PluginBundle-TestingMania-0.20";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.20.tar.gz;
+      sha256 = "073e17a98b0f88a1b60ce45a325d7447a19db394fcc6f01472bacb1956106da8";
+    };
+    buildInputs = [ CaptureTiny DistZilla MooseAutobox perl ];
+    propagatedBuildInputs = [ DistZilla DistZillaPluginMojibakeTests DistZillaPluginNoTabsTests DistZillaPluginTestCPANChanges DistZillaPluginTestCPANMetaJSON DistZillaPluginTestCompile DistZillaPluginTestDistManifest DistZillaPluginTestEOL DistZillaPluginTestKwalitee DistZillaPluginTestMinimumVersion DistZillaPluginTestPerlCritic DistZillaPluginTestPodLinkCheck DistZillaPluginTestPortability DistZillaPluginTestSynopsis DistZillaPluginTestUnusedVars DistZillaPluginTestVersion JSONPP ListMoreUtils Moose PodCoverageTrustPod TestCPANMeta TestPerlCritic TestVersion namespaceautoclean ];
+    meta = {
+      homepage = http://metacpan.org/release/Dist-Zilla-PluginBundle-TestingMania/;
+      description = "Test your dist with every testing plugin conceivable";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginCheckChangeLog = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-CheckChangeLog-0.01";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FA/FAYLAND/Dist-Zilla-Plugin-CheckChangeLog-0.01.tar.gz;
+      sha256 = "153dbe5ff8cb3c060901e003237a0515d7b9b5cc870eebfd417a6c91e28edec2";
+    };
+    propagatedBuildInputs = [ DistZilla ];
+    meta = {
+      description = "Dist::Zilla with Changes check";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginMojibakeTests = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-MojibakeTests-0.5";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SY/SYP/Dist-Zilla-Plugin-MojibakeTests-0.5.tar.gz;
+      sha256 = "0630acc9bcb415feba49b55a1b70da6e49a740673b4a483fc8058d03c6a21676";
+    };
+    propagatedBuildInputs = [ DistZilla Moose TestMojibake UnicodeCheckUTF8 ];
+    meta = {
+      homepage = https://github.com/creaktive/Dist-Zilla-Plugin-MojibakeTests;
+      description = "Release tests for source encoding";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginNoTabsTests = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-NoTabsTests-0.01";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FL/FLORA/Dist-Zilla-Plugin-NoTabsTests-0.01.tar.gz;
+      sha256 = "fd4ed380de4fc2bad61db377cc50ab26b567e53b3a1efd0b8d8baab80256ef9e";
+    };
+    propagatedBuildInputs = [ DistZilla Moose TestNoTabs namespaceautoclean ];
+    meta = {
+      homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-NoTabsTests;
+      description = "Release tests making sure hard tabs aren't used";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginPodWeaver = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-PodWeaver-3.101642";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-3.101642.tar.gz;
+      sha256 = "66066a236be7bd0a3e0ae764a4b9ac10408d40693a1c800c5fdd7e03c3542e00";
+    };
+    buildInputs = [ FileFindRule ];
+    propagatedBuildInputs = [ DistZilla ListMoreUtils Moose PPI PodElementalPerlMunger PodWeaver namespaceautoclean ];
+    meta = {
+      homepage = https://github.com/rjbs/Dist-Zilla-Plugin-PodWeaver;
+      description = "Weave your Pod together from configuration and Dist::Zilla";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginReadmeAnyFromPod = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-ReadmeAnyFromPod-0.131500";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeAnyFromPod-0.131500.tar.gz;
+      sha256 = "4d02ce5f185e0d9061019c1925a410931d0c1848db7e5ba5f8e676f04634b06e";
+    };
+    buildInputs = [ DistZilla TestMost ];
+    propagatedBuildInputs = [ DistZilla FileSlurp IOstringy Moose MooseAutobox MooseXHasSugar PodMarkdown ];
+    meta = {
+      homepage = https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeAnyFromPod;
+      description = "Automatically convert POD to a README in any format for Dist::Zilla";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginReadmeMarkdownFromPod = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-ReadmeMarkdownFromPod-0.120120";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeMarkdownFromPod-0.120120.tar.gz;
+      sha256 = "5a3346daab4e2bba850ee4a7898467da9f80bc93cc10d2d625f9880a46092160";
+    };
+    buildInputs = [ DistZilla TestMost ];
+    propagatedBuildInputs = [ DistZillaPluginReadmeAnyFromPod Moose ];
+    meta = {
+      homepage = https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeMarkdownFromPod;
+      description = "Automatically convert POD to a README.mkdn for Dist::Zilla";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginTestCPANChanges = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-Test-CPAN-Changes-0.008";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Changes-0.008.tar.gz;
+      sha256 = "e8e49a23fb6fa021dec4fc4ab0a05a2ad50ac26195536c109a96b681ba4decd2";
+    };
+    buildInputs = [ CPANChanges DistZilla MooseAutobox ];
+    propagatedBuildInputs = [ CPANChanges DataSection DistZilla Moose ];
+    meta = {
+      homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-CPAN-Changes/;
+      description = "Release tests for your changelog";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginTestCPANMetaJSON = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-Test-CPAN-Meta-JSON-0.003";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Meta-JSON-0.003.tar.gz;
+      sha256 = "c76b9f5745f4626969bb9c60e1330ebd0d8b197f8dd33f9a6e6fce63877b4883";
+    };
+    buildInputs = [ DistZilla ];
+    propagatedBuildInputs = [ DistZilla Moose MooseAutobox ];
+    meta = {
+      homepage = http://p3rl.org/Dist::Zilla::Plugin::Test::CPAN::Meta::JSON;
+      description = "Release tests for your META.json";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginTestCompile = buildPerlModule {
+    name = "Dist-Zilla-Plugin-Test-Compile-2.021";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Compile-2.021.tar.gz;
+      sha256 = "665c48de1c7c33e9b00e8ddc0204d02b45009e60b9b65033fa4a832dfe9fc808";
+    };
+    buildInputs = [ DistCheckConflicts DistZilla JSON ModuleBuildTiny PathClass TestCheckDeps TestWarnings ];
+    propagatedBuildInputs = [ DataSection DistCheckConflicts DistZilla Moose PathTiny SubExporterForMethods namespaceautoclean ModuleCoreList ];
+    meta = {
+      homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-Test-Compile/;
+      description = "Common tests to check syntax of your modules";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginTestDistManifest = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-Test-DistManifest-2.000004";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-DistManifest-2.000004.tar.gz;
+      sha256 = "a832d9d04f85e9dd09f30af67c5d636efe79847ec3790939de081ee5e412fb68";
+    };
+    buildInputs = [ CaptureTiny DistZilla MooseAutobox TestOutput ];
+    propagatedBuildInputs = [ DistZilla Moose TestDistManifest ];
+    meta = {
+      homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-DistManifest/;
+      description = "Release tests for the manifest";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginTestEOL = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-Test-EOL-0.07";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/X/XE/XENO/Dist-Zilla-Plugin-Test-EOL-0.07.tar.gz;
+      sha256 = "c010ef618478e82fbc601abfc241c74fed1fdafe954d8b3ebcb7abe0e09967a8";
+    };
+    buildInputs = [ DistZilla TestScript ];
+    propagatedBuildInputs = [ DistZilla Moose TestEOL namespaceautoclean ];
+    meta = {
+      homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-Test-EOL/;
+      description = "Author tests making sure correct line endings are used";
+      license = "artistic_2";
+    };
+  };
+
+  DistZillaPluginTestKwalitee = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-Test-Kwalitee-2.06";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Kwalitee-2.06.tar.gz;
+      sha256 = "1723beb96d4048fd4fb0fea2ed36c0c6f3ea4648ce7f93d4cb73e5d49e274bf6";
+    };
+    buildInputs = [ CaptureTiny DistZilla PathClass perl ];
+    propagatedBuildInputs = [ DataSection DistZilla Moose SubExporterForMethods namespaceautoclean ];
+    meta = {
+      homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-Kwalitee;
+      description = "Release tests for kwalitee";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginTestMinimumVersion = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-Test-MinimumVersion-2.000005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-MinimumVersion-2.000005.tar.gz;
+      sha256 = "988c71a3158e94e7a0b23f346f19af4a0ed67e101a2653c3185c5ae49981132b";
+    };
+    buildInputs = [ DistZilla MooseAutobox TestOutput ];
+    propagatedBuildInputs = [ DistZilla Moose TestMinimumVersion ];
+    meta = {
+      homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-MinimumVersion/;
+      description = "Release tests for minimum required versions";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginTestPerlCritic = buildPerlModule {
+    name = "Dist-Zilla-Plugin-Test-Perl-Critic-2.112410";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/J/JQ/JQUELIN/Dist-Zilla-Plugin-Test-Perl-Critic-2.112410.tar.gz;
+      sha256 = "3ce59ce3ef6cf56d7de0debb33c26f899492d9742c8b82073e257787fd85630f";
+    };
+    buildInputs = [ DistZilla MooseAutobox ];
+    propagatedBuildInputs = [ DataSection DistZilla Moose namespaceautoclean ];
+    meta = {
+      homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-Test-Perl-Critic/;
+      description = "Tests to check your code against best practices";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginTestPodLinkCheck = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-Test-Pod-LinkCheck-1.001";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Dist-Zilla-Plugin-Test-Pod-LinkCheck-1.001.tar.gz;
+      sha256 = "d75682175dff1f79928794ba30ea29389a4666f781a50cba281c25cfd3c95bbd";
+    };
+    propagatedBuildInputs = [ DistZilla Moose TestPodLinkCheck ];
+    meta = {
+      homepage = http://github.com/rwstauner/Dist-Zilla-Plugin-Test-Pod-LinkCheck;
+      description = "Add release tests for POD links";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginTestPortability = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-Test-Portability-2.000005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-Portability-2.000005.tar.gz;
+      sha256 = "b32d0a4b1d78ba76fabedd299c1a11efed05c3ce9752d7da6babe06d3515242b";
+    };
+    buildInputs = [ CaptureTiny DistZilla MooseAutobox TestOutput ];
+    propagatedBuildInputs = [ DistZilla Moose TestPortabilityFiles ];
+    meta = {
+      homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-Portability/;
+      description = "Release tests for portability";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginTestSynopsis = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-Test-Synopsis-2.000004";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-Synopsis-2.000004.tar.gz;
+      sha256 = "d073de3206c5e588f60f55e4be64fab4c2595f5bc3013cd91307993691598d59";
+    };
+    buildInputs = [ CaptureTiny DistZilla MooseAutobox TestOutput ];
+    propagatedBuildInputs = [ DistZilla Moose TestSynopsis ];
+    meta = {
+      homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-Synopsis/;
+      description = "Release tests for synopses";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginTestUnusedVars = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-Test-UnusedVars-2.000005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-UnusedVars-2.000005.tar.gz;
+      sha256 = "37ec462dc82f45cfd9d6d92ee59b8fd215a9a14b18d179b05912baee77359804";
+    };
+    buildInputs = [ CaptureTiny DistZilla MooseAutobox TestOutput ];
+    propagatedBuildInputs = [ DistZilla Moose TestVars namespaceautoclean ];
+    meta = {
+      homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-UnusedVars/;
+      description = "Release tests for unused variables";
+      license = "perl";
+    };
+  };
+
+  DistZillaPluginTestVersion = buildPerlPackage {
+    name = "Dist-Zilla-Plugin-Test-Version-0.002004";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/X/XE/XENO/Dist-Zilla-Plugin-Test-Version-0.002004.tar.gz;
+      sha256 = "4ae5055071e07442223d07d818e9484430368b59c15966b90b18c8abc06f8e36";
+    };
+    buildInputs = [ DistZilla TestNoTabs TestScript ];
+    propagatedBuildInputs = [ DistZilla Moose TestVersion namespaceautoclean ];
+    meta = {
+      homepage = http://search.cpan.org/dist/Dist-Zilla-Plugin-Test-Version/;
+      description = "Release Test::Version tests";
+      license = "artistic_2";
+    };
+  };
+
   EmailAbstract = buildPerlPackage {
     name = "Email-Abstract-3.004";
     src = fetchurl {
@@ -2733,10 +3167,10 @@ rec {
   };
 
   FileChangeNotify = buildPerlModule rec {
-    name = "File-ChangeNotify-0.20";
+    name = "File-ChangeNotify-0.23";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/File/${name}.tar.gz";
-      sha256 = "000aiiijf16j5cf8gql4vr6l9y561famkfb5qv5d29xz2ad4mmd9";
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
+      sha256 = "18aq6lcldniciw189ihmcji98y6zqa1gdl3mjqdg8f37i9amn4i3";
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs =
@@ -2788,15 +3222,53 @@ rec {
     propagatedBuildInputs = [ FileBaseDir ];
   };
 
+  FileFindIterator = buildPerlPackage {
+    name = "File-Find-Iterator-0.4";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/T/TE/TEXMEC/File-Find-Iterator-0.4.tar.gz;
+      sha256 = "a2b87ab9756a2e5bb674adbd39937663ed20c28c716bf5a1095a3ca44d54ab2c";
+    };
+    propagatedBuildInputs = [ ClassIterator ];
+    meta = {
+    };
+  };
+
   FileFindRule = buildPerlPackage rec {
-    name = "File-Find-Rule-0.32";
+    name = "File-Find-Rule-0.33";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/File/${name}.tar.gz";
-      sha256 = "0fdci3k9j8x69p28jb793gni4y9qbgzpfnnj1avzf8nnib9w1wrd";
+      url = "mirror://cpan/authors/id/R/RC/RCLAMP/${name}.tar.gz";
+      sha256 = "0w73b4jr2fcrd74a1w3b2jryq3mqzc8z5mk7ia9p85xn3qmpa5r4";
     };
     propagatedBuildInputs = [ NumberCompare TextGlob ];
   };
 
+  FileFindRulePerl = buildPerlPackage {
+    name = "File-Find-Rule-Perl-1.13";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AD/ADAMK/File-Find-Rule-Perl-1.13.tar.gz;
+      sha256 = "d2ecb270778ddf54c536a78d02fe6ee7a675f7dcb7f3497ba1a76493f1bd2476";
+    };
+    propagatedBuildInputs = [ FileFindRule ParamsUtil ];
+    meta = {
+      description = "Common rules for searching for Perl things";
+      license = "perl";
+    };
+  };
+
+  FileHomeDir = buildPerlPackage {
+    name = "File-HomeDir-1.00";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AD/ADAMK/File-HomeDir-1.00.tar.gz;
+      sha256 = "85b94f3513093ec0a25b91f9f2571918519ae6f2b7a1e8546f8f78d09a877143";
+    };
+    propagatedBuildInputs = [ FileWhich ];
+    meta = {
+      description = "Find your home and other directories on any platform";
+      license = "perl";
+    };
+    preCheck = "export HOME=$TMPDIR";
+  };
+
   FileListing = buildPerlPackage rec {
     name = "File-Listing-6.04";
     src = fetchurl {
@@ -3114,6 +3586,20 @@ rec {
     };
   };
 
+  HashMergeSimple = buildPerlPackage {
+    name = "Hash-Merge-Simple-0.051";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RO/ROKR/Hash-Merge-Simple-0.051.tar.gz;
+      sha256 = "1c56327873d2f04d5722777f044863d968910466997740d55a754071c6287b73";
+    };
+    buildInputs = [ TestMost ];
+    propagatedBuildInputs = [ Clone ];
+    meta = {
+      description = "Recursively merge two or more hashes, simply";
+      license = "perl";
+    };
+  };
+
   HashMultiValue = buildPerlPackage {
     name = "Hash-MultiValue-0.13";
     src = fetchurl {
@@ -3412,7 +3898,7 @@ rec {
   HTTPParserXS = buildPerlPackage rec {
     name = "HTTP-Parser-XS-0.14";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz";
+      url = "mirror://cpan/authors/id/K/KA/KAZUHO/${name}.tar.gz";
       sha256 = "06srbjc380kvvj76r8n5c2y282j5zfgn0s0zmb9h3shwrynfqj05";
     };
     buildInputs = [ TestMore ];
@@ -3459,6 +3945,16 @@ rec {
     };
   };
 
+  "if" = buildPerlPackage {
+    name = "if-0.0601";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/if-0.0601.tar.gz;
+      sha256 = "fb2b7329aa111a673cd22dc2889167e52058aead0de2fe0855b32dd658d5c1b7";
+    };
+    meta = {
+    };
+  };
+
   IOAll = buildPerlPackage {
     name = "IO-All-0.46";
     src = fetchurl {
@@ -3577,6 +4073,8 @@ rec {
     };
   };
 
+  IOstringy = pkgs.perlPackages.IOStringy;
+
   IOStringy = buildPerlPackage rec {
     name = "IO-stringy-2.110";
     src = fetchurl {
@@ -3782,6 +4280,8 @@ rec {
     };
   };
 
+  libintlperl = pkgs.perlPackages.libintl_perl;
+
   libintl_perl = buildPerlPackage rec {
     name = "libintl-perl-1.23";
     src = fetchurl {
@@ -3822,7 +4322,7 @@ rec {
   LinguaENInflectPhrase = buildPerlPackage rec {
     name = "Lingua-EN-Inflect-Phrase-0.10";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Lingua/${name}.tar.gz";
+      url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz";
       sha256 = "1l7sjnibnvgb7a73cjhysmrg4j2bfcn0x5yrqmh0v23laj9fsbbm";
     };
     buildInputs = [ TestMore ];
@@ -3979,6 +4479,36 @@ rec {
     };
   };
 
+  LogDispatchArray = buildPerlPackage {
+    name = "Log-Dispatch-Array-1.002";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatch-Array-1.002.tar.gz;
+      sha256 = "268ec720eec3651d3dadcad7d16f033b47f883c72d6f2547c4ccbe7fb22a4940";
+    };
+    buildInputs = [ TestDeep ];
+    propagatedBuildInputs = [ LogDispatch ];
+    meta = {
+      homepage = https://github.com/rjbs/log-dispatch-array;
+      description = "Log events to an array (reference)";
+      license = "perl";
+    };
+  };
+
+  LogDispatchouli = buildPerlPackage {
+    name = "Log-Dispatchouli-2.006";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatchouli-2.006.tar.gz;
+      sha256 = "bd33b4fcf88ccfb694593ea6d7b330f053e6afee40f27acdf690c24547365354";
+    };
+    buildInputs = [ TestDeep TestFatal ];
+    propagatedBuildInputs = [ LogDispatch LogDispatchArray ParamsUtil StringFlogger SubExporter SubExporterGlobExporter TryTiny ];
+    meta = {
+      homepage = https://github.com/rjbs/log-dispatchouli;
+      description = "A simple wrapper around Log::Dispatch";
+      license = "perl";
+    };
+  };
+
   LWP = buildPerlPackage {
     name = "libwww-perl-6.05";
     src = fetchurl {
@@ -4005,6 +4535,8 @@ rec {
     };
   };
 
+  LWPProtocolhttps = pkgs.perlPackages.LWPProtocolHttps;
+
   LWPProtocolHttps = buildPerlPackage rec {
     name = "LWP-Protocol-https-6.04";
     src = fetchurl {
@@ -4244,6 +4776,20 @@ rec {
     };
   };
 
+  MixinLinewise = buildPerlPackage {
+    name = "Mixin-Linewise-0.004";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Mixin-Linewise-0.004.tar.gz;
+      sha256 = "7a50d171850d3e0dde51e041eecd40abc68396ea822baa4381951a7710833dd9";
+    };
+    propagatedBuildInputs = [ IOString SubExporter ];
+    meta = {
+      homepage = https://github.com/rjbs/mixin-linewise;
+      description = "Write your linewise code for handles; this does the rest";
+      license = "perl";
+    };
+  };
+
   ModuleBuild = buildPerlPackage {
     name = "Module-Build-0.4005";
     src = fetchurl {
@@ -4258,10 +4804,10 @@ rec {
   };
 
   ModuleBuildTiny = buildPerlModule {
-    name = "Module-Build-Tiny-0.023";
+    name = "Module-Build-Tiny-0.026";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Tiny-0.023.tar.gz;
-      sha256 = "eba7fbfea2dd84310ab00f22fd29bbf774b10a465df3f6133ca7da88c0bd6ac4";
+      url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Tiny-0.026.tar.gz;
+      sha256 = "9a1860325404c4ea20e2a79e7236c5ad9203ab71bacab9667044e3fad1eb31ad";
     };
     buildInputs = [ ExtUtilsConfig ExtUtilsHelpers ExtUtilsInstallPaths JSONPP perl ];
     propagatedBuildInputs = [ ExtUtilsConfig ExtUtilsHelpers ExtUtilsInstallPaths JSONPP ];
@@ -4280,6 +4826,19 @@ rec {
     propagatedBuildInputs = [ ExtUtilsXSpp ExtUtilsCppGuess ];
   };
 
+  ModuleCoreList = buildPerlPackage {
+    name = "Module-CoreList-2.97";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Module-CoreList-2.97.tar.gz;
+      sha256 = "fa39c487d43088e7010467621f57d8e3f57b72d2bbf711fc509e87a501f35e09";
+    };
+    meta = {
+      homepage = http://dev.perl.org/;
+      description = "What modules shipped with versions of perl";
+      license = "perl";
+    };
+  };
+
   ModuleFind = buildPerlPackage {
     name = "Module-Find-0.11";
     src = fetchurl {
@@ -4347,6 +4906,20 @@ rec {
     };
   };
 
+  ModuleManifest = buildPerlPackage {
+    name = "Module-Manifest-1.08";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AD/ADAMK/Module-Manifest-1.08.tar.gz;
+      sha256 = "722ed428afcbe5b5b441b0165cbafbd8534fa63d7856d4089e6e25ac21e6445d";
+    };
+    buildInputs = [ TestException TestWarn ];
+    propagatedBuildInputs = [ ParamsUtil ];
+    meta = {
+      description = "Parse and examine a Perl distribution MANIFEST file";
+      license = "perl";
+    };
+  };
+
   ModuleMetadata = buildPerlPackage rec {
     name = "Module-Metadata-1.000005";
     src = fetchurl {
@@ -4356,6 +4929,19 @@ rec {
     propagatedBuildInputs = [ version ];
   };
 
+  ModulePath = buildPerlPackage {
+    name = "Module-Path-0.09";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/N/NE/NEILB/Module-Path-0.09.tar.gz;
+      sha256 = "5330a76ff56800778d825548b4d631510a1a6b4f04725dddca95e68c4ed3ac18";
+    };
+    buildInputs = [ DevelFindPerl ];
+    meta = {
+      description = "Get the full path to a locally installed module";
+      license = "perl";
+    };
+  };
+
   ModulePluggable = buildPerlPackage {
     name = "Module-Pluggable-4.8";
     src = fetchurl {
@@ -4457,13 +5043,18 @@ rec {
     };
   };
 
-  MooseAutobox = buildPerlPackage rec {
-    name = "Moose-Autobox-0.09";
+  MooseAutobox = buildPerlPackage {
+    name = "Moose-Autobox-0.13";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "12wsm576mc5sdqc1bhim9iazdx4fy336gz10zwwalygri3arlvgh";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Moose-Autobox-0.13.tar.gz;
+      sha256 = "3474b3e6dfe099fcca34089375ace6612cca35d4d8f9a0b8b4e48fbf88541b21";
+    };
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ Moose SyntaxKeywordJunction autobox ];
+    meta = {
+      description = "Autoboxed wrappers for Native Perl datatypes";
+      license = "perl";
     };
-    propagatedBuildInputs = [Moose TestException Autobox Perl6Junction];
   };
 
   MooseXABC = buildPerlPackage {
@@ -4610,6 +5201,36 @@ rec {
     };
   };
 
+  MooseXHasSugar = buildPerlModule {
+    name = "MooseX-Has-Sugar-0.05070421";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/K/KE/KENTNL/MooseX-Has-Sugar-0.05070421.tar.gz;
+      sha256 = "5acf92a6dcac50a6edfcbdb2c38802f8c1f9dc7194a79d0b85a3d4105ebba7df";
+    };
+    buildInputs = [ Moose MooseXTypes TestFatal namespaceautoclean ];
+    propagatedBuildInputs = [ SubExporter ];
+    meta = {
+      homepage = https://github.com/kentfredric/MooseX-Has-Sugar;
+      description = "Sugar Syntax for moose 'has' fields";
+      license = "perl";
+    };
+  };
+
+  MooseXLazyRequire = buildPerlPackage {
+    name = "MooseX-LazyRequire-0.10";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-LazyRequire-0.10.tar.gz;
+      sha256 = "a555f80c0e91bc428f040015f00dd98f3c022704ec089516b9b3507f3d437090";
+    };
+    buildInputs = [ TestCheckDeps TestFatal ];
+    propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
+    meta = {
+      homepage = https://github.com/karenetheridge/moosex-lazyrequire;
+      description = "Required attributes which fail only when trying to use them";
+      license = "perl";
+    };
+  };
+
   MooseXMarkAsMethods = buildPerlPackage {
     name = "MooseX-MarkAsMethods-0.15";
     src = fetchurl {
@@ -4654,6 +5275,21 @@ rec {
     };
   };
 
+  MooseXOneArgNew = buildPerlPackage {
+    name = "MooseX-OneArgNew-0.003";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.003.tar.gz;
+      sha256 = "bd1879192f542dbc0741dbd1ba71f29bd22a0fce372d7a6ae04dbded51d71123";
+    };
+    buildInputs = [ Moose ];
+    propagatedBuildInputs = [ Moose MooseXRoleParameterized namespaceautoclean ];
+    meta = {
+      homepage = https://github.com/rjbs/moosex-oneargnew;
+      description = "Teach ->new to accept single, non-hashref arguments";
+      license = "perl";
+    };
+  };
+
   MooseXRelatedClassRoles = buildPerlPackage rec {
     name = "MooseX-RelatedClassRoles-0.004";
     src = fetchurl {
@@ -4866,6 +5502,19 @@ rec {
     };
   };
 
+  MooseXTypesPerl = buildPerlPackage {
+    name = "MooseX-Types-Perl-0.101341";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101341.tar.gz;
+      sha256 = "d1081a734d62121f3262b18170022de2f51ebcc0a8b8afe1b1273d7cb3e58c97";
+    };
+    propagatedBuildInputs = [ MooseXTypes ParamsUtil ];
+    meta = {
+      description = "Moose types that check against Perl syntax";
+      license = "perl";
+    };
+  };
+
   MooseXTypesStringlike = buildPerlPackage {
     name = "MooseX-Types-Stringlike-0.001";
     src = fetchurl {
@@ -5041,7 +5690,10 @@ rec {
       sha256 = "94f2bd6b317a9142e400d7d17bd573dc9d22284c3ceaa4864474ba674e0e2e9f";
     };
     buildInputs = [ LWP TestException ];
-    propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule HTTPDate HTTPMessage LWPUserAgentDetermined MIMETypes Moose MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions PathClass RegexpCommon TermEncoding TermProgressBarSimple URI XMLLibXML ];
+    propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule HTTPDate HTTPMessage LWPUserAgentDetermined MIMETypes Moose MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions PathClass RegexpCommon TermEncoding TermProgressBarSimple URI XMLLibXML JSON ];
+    # See https://github.com/pfig/net-amazon-s3/pull/25
+    patches =
+      [ ../development/perl-modules/net-amazon-s3-credentials-provider.patch ];
     meta = {
       description = "Use the Amazon S3 - Simple Storage Service";
       license = "perl";
@@ -5477,16 +6129,19 @@ rec {
     };
   };
 
-  PerlCritic = buildPerlPackage rec {
-    name = "Perl-Critic-1.105";
+  PerlCritic = buildPerlPackage {
+    name = "Perl-Critic-1.118";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/E/EL/ELLIOTJS/${name}.tar.gz";
-      sha256 = "3e1bd5ab4912ebe20cd3cb81b36ee28dbdd8d410374a31025dc9fb289921ff27";
+      url = mirror://cpan/authors/id/T/TH/THALJEF/Perl-Critic-1.118.tar.gz;
+      sha256 = "666d2bef3ac924598c06a05277680da5910e10d94c5ec161336f6509c11155e8";
+    };
+    buildInputs = [ TestDeep ];
+    propagatedBuildInputs = [ BKeywords ConfigTiny EmailAddress ExceptionClass IOString ListMoreUtils PPI PPIxRegexp PPIxUtilities PerlTidy PodSpell Readonly StringFormat TaskWeaken ];
+    meta = {
+      homepage = http://perlcritic.com;
+      description = "Critique Perl source code for best-practices";
+      license = "perl";
     };
-    propagatedBuildInputs = [
-      PPI BKeywords ConfigTiny ExceptionClass Readonly StringFormat
-      EmailAddress FileWhich PerlTidy PodSpell ReadonlyXS RegexpParser
-    ];
   };
 
   PerlIOeol = buildPerlPackage {
@@ -5610,25 +6265,48 @@ rec {
     };
   };
 
-  PPI = buildPerlPackage rec {
-    name = "PPI-1.210";
+  PPI = buildPerlPackage {
+    name = "PPI-1.215";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-      sha256 = "6c851e86475242fa0def2f02565743d41ab703ff6df3e826166ee9df5b961c7a";
+      url = mirror://cpan/authors/id/A/AD/ADAMK/PPI-1.215.tar.gz;
+      sha256 = "db238e84da705b952b69f25554019ce70124079a0ad43713d0638aa14ba54878";
+    };
+    buildInputs = [ ClassInspector FileRemove TestNoWarnings TestObject TestSubCalls ];
+    propagatedBuildInputs = [ Clone IOString ListMoreUtils ParamsUtil TaskWeaken ];
+    meta = {
+      description = "Parse, Analyze and Manipulate Perl (without perl)";
+      license = "perl";
     };
-    propagatedBuildInputs = [
-      ClassInspector
-      Clone
-      FileRemove
-      IOString
-      ListMoreUtils
-      ParamsUtil
-      TaskWeaken
-      TestNoWarnings TestObject TestSubCalls
-    ];
     doCheck = false;
   };
 
+  PPIxRegexp = buildPerlPackage {
+    name = "PPIx-Regexp-0.034";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.034.tar.gz;
+      sha256 = "512a358f4bd6196df0601ff36f7831e0ba142fb8ef2bc3995e19bceabd0b5ae7";
+    };
+    propagatedBuildInputs = [ ListMoreUtils PPI TaskWeaken ];
+    meta = {
+      description = "Parse regular expressions";
+      license = "perl";
+    };
+  };
+
+  PPIxUtilities = buildPerlPackage {
+    name = "PPIx-Utilities-1.001000";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/EL/ELLIOTJS/PPIx-Utilities-1.001000.tar.gz;
+      sha256 = "03a483386fd6a2c808f09778d44db06b02c3140fb24ba4bf12f851f46d3bcb9b";
+    };
+    buildInputs = [ PPI TestDeep ];
+    propagatedBuildInputs = [ ExceptionClass PPI Readonly TaskWeaken ];
+    meta = {
+      description = "Extensions to L<PPI|PPI>";
+      license = "perl";
+    };
+  };
+
   ProcWaitStat = buildPerlPackage rec {
     name = "Proc-WaitStat-1.00";
     src = fetchurl {
@@ -5664,6 +6342,48 @@ rec {
     };
   };
 
+  PerlMinimumVersion = buildPerlPackage {
+    name = "Perl-MinimumVersion-1.32";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/C/CH/CHORNY/Perl-MinimumVersion-1.32.tar.gz;
+      sha256 = "fa9884abee80c7afc260a28a4e6a6804a0335f5f582e3931c3a53b8504f1a27a";
+    };
+    buildInputs = [ TestScript ];
+    propagatedBuildInputs = [ FileFindRule FileFindRulePerl PPI PPIxRegexp ParamsUtil PerlCritic ];
+    meta = {
+      description = "Find a minimum required version of perl for Perl code";
+      license = "perl";
+    };
+  };
+
+  PerlPrereqScanner = buildPerlPackage {
+    name = "Perl-PrereqScanner-1.016";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Perl-PrereqScanner-1.016.tar.gz;
+      sha256 = "1ab70723f3d036ef91684572beacab40bf99f5ed69922769aa077664c778c474";
+    };
+    buildInputs = [ PPI TryTiny ];
+    propagatedBuildInputs = [ GetoptLongDescriptive ListMoreUtils ModulePath Moose PPI ParamsUtil StringRewritePrefix namespaceautoclean ];
+    meta = {
+      homepage = https://github.com/rjbs/perl-prereqscanner;
+      description = "A tool to scan your Perl code for its prerequisites";
+      license = "perl";
+    };
+  };
+
+  PerlVersion = buildPerlPackage {
+    name = "Perl-Version-1.011";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AN/ANDYA/Perl-Version-1.011.tar.gz;
+      sha256 = "12ede8a87a12574fcd525c1d23d8a5b2fa2918ff5b78eb56cf701251a81af19b";
+    };
+    propagatedBuildInputs = [ FileSlurp ];
+    meta = {
+      description = "Parse and manipulate Perl version strings";
+      license = "perl";
+    };
+  };
+
   PodCoverage = buildPerlPackage rec {
     name = "Pod-Coverage-0.19";
     src = fetchurl {
@@ -5673,6 +6393,50 @@ rec {
     propagatedBuildInputs = [DevelSymdump];
   };
 
+  PodCoverageTrustPod = buildPerlPackage {
+    name = "Pod-Coverage-TrustPod-0.100002";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Coverage-TrustPod-0.100002.tar.gz;
+      sha256 = "2389f8085c16087b10f59f1bd1b9de5d83cca5eb203778a2af1cee897b89bb6e";
+    };
+    propagatedBuildInputs = [ PodCoverage PodEventual ];
+    meta = {
+      homepage = https://github.com/rjbs/pod-coverage-trustpod;
+      description = "Allow a module's pod to contain Pod::Coverage hints";
+      license = "perl";
+    };
+  };
+
+  PodElemental = buildPerlPackage {
+    name = "Pod-Elemental-0.102362";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-0.102362.tar.gz;
+      sha256 = "2b56a2783650f170bc7131bb36de65e4e3372a54bab596a798debebbf2af8732";
+    };
+    buildInputs = [ TestDeep TestDifferences ];
+    propagatedBuildInputs = [ MixinLinewise Moose MooseAutobox MooseXTypes PodEventual StringRewritePrefix StringTruncate SubExporter SubExporterForMethods TestDeep TestDifferences namespaceautoclean ];
+    meta = {
+      homepage = https://github.com/rjbs/pod-elemental;
+      description = "Work with nestable Pod elements";
+      license = "perl";
+    };
+  };
+
+  PodElementalPerlMunger = buildPerlPackage {
+    name = "Pod-Elemental-PerlMunger-0.093332";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-PerlMunger-0.093332.tar.gz;
+      sha256 = "fc4c4ef76d2b557c590b998d08393b189a2af969d4d195439f37e7d7d466d062";
+    };
+    buildInputs = [ Moose PodElemental ];
+    propagatedBuildInputs = [ ListMoreUtils Moose PPI PodElemental namespaceautoclean ];
+    meta = {
+      homepage = https://github.com/rjbs/pod-elemental-perlmunger;
+      description = "A thing that takes a string of Perl and rewrites its documentation";
+      license = "perl";
+    };
+  };
+
   PodEscapes = buildPerlPackage {
     name = "Pod-Escapes-1.04";
     src = fetchurl {
@@ -5681,6 +6445,47 @@ rec {
     };
   };
 
+  PodEventual = buildPerlPackage {
+    name = "Pod-Eventual-0.093330";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Eventual-0.093330.tar.gz;
+      sha256 = "29de14a69df8a26f7e8ff73daca5afa7acc84cc9b7ae28093a5b1af09a4830b6";
+    };
+    propagatedBuildInputs = [ MixinLinewise TestDeep ];
+    meta = {
+      description = "Read a POD document as a series of trivial events";
+      license = "perl";
+    };
+  };
+
+  podlinkcheck = buildPerlPackage {
+    name = "podlinkcheck-12";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/K/KR/KRYDE/podlinkcheck-12.tar.gz;
+      sha256 = "c5da0e390b58655934e1df57937d29d7de13b99f5638fe44833832a5b39c8aa5";
+    };
+    propagatedBuildInputs = [ FileFindIterator IPCRun constantdefer libintlperl ];
+    meta = {
+      homepage = http://user42.tuxfamily.org/podlinkcheck/index.html;
+      description = "Check POD L<> link references";
+      license = "gpl";
+    };
+  };
+
+  PodMarkdown = buildPerlPackage {
+    name = "Pod-Markdown-1.322";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-1.322.tar.gz;
+      sha256 = "375091d89d9662b0c41bedad391927d6904d05f740e1bb689b494b4b35e979f7";
+    };
+    buildInputs = [ TestDifferences ];
+    meta = {
+      homepage = https://github.com/rwstauner/Pod-Markdown;
+      description = "Convert POD to Markdown";
+      license = "perl";
+    };
+  };
+
   PodSimple = buildPerlPackage {
     name = "Pod-Simple-3.05";
     src = fetchurl {
@@ -5698,6 +6503,21 @@ rec {
     };
   };
 
+  PodWeaver = buildPerlPackage {
+    name = "Pod-Weaver-3.101638";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Weaver-3.101638.tar.gz;
+      sha256 = "1232b761016221e331a266a42661fa352447d0da075ebdb41dc4c4d71e60629c";
+    };
+    buildInputs = [ PPI SoftwareLicense TestDifferences ];
+    propagatedBuildInputs = [ ConfigMVP ConfigMVPReaderINI DateTime ListMoreUtils LogDispatchouli Moose MooseAutobox ParamsUtil PodElemental StringFlogger StringFormatter StringRewritePrefix namespaceautoclean ];
+    meta = {
+      homepage = https://github.com/rjbs/pod-weaver;
+      description = "Weave together a Pod document from an outline";
+      license = "perl";
+    };
+  };
+
   ProbePerl = buildPerlPackage rec {
     name = "Probe-Perl-0.01";
     src = fetchurl {
@@ -5761,11 +6581,16 @@ rec {
     };
   };
 
-  RegexpParser = buildPerlPackage rec {
-    name = "Regexp-Parser-0.20";
+  RegexpParser = buildPerlPackage {
+    name = "Regexp-Parser-0.21";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PI/PINYAN/${name}.tar.gz";
-      sha256 = "0dfdbe060724396697303c5522e697679ab6e74151f3c3ef8df49f3bda30a2a5";
+      url = mirror://cpan/authors/id/T/TO/TODDR/Regexp-Parser-0.21.tar.gz;
+      sha256 = "d70cb66821f1f67a9b1ff53f0fa33c06aec8693791e0a5943be6760c25d2768d";
+    };
+    meta = {
+      homepage = http://wiki.github.com/toddr/Regexp-Parser;
+      description = "Base class for parsing regexes";
+      license = "unknown";
     };
   };
 
@@ -5801,6 +6626,34 @@ rec {
     };
   };
 
+  RoleHasMessage = buildPerlPackage {
+    name = "Role-HasMessage-0.005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.005.tar.gz;
+      sha256 = "bc6cecf3022159dc415fb931e38291425d6aa8a9542d980b14ea692141337ca9";
+    };
+    buildInputs = [ Moose ];
+    propagatedBuildInputs = [ Moose MooseXRoleParameterized StringErrf TryTiny namespaceclean ];
+    meta = {
+      description = "A thing with a message method";
+      license = "perl";
+    };
+  };
+
+  RoleIdentifiable = buildPerlPackage {
+    name = "Role-Identifiable-0.005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.005.tar.gz;
+      sha256 = "86910b6052d50bc64d1613bc1274f2ae17d553bfc3f0247a3fe3f7bb2cdd3aee";
+    };
+    buildInputs = [ Moose ];
+    propagatedBuildInputs = [ Moose ];
+    meta = {
+      description = "A thing with a list of tags";
+      license = "perl";
+    };
+  };
+
   RoleTiny = buildPerlPackage {
     name = "Role-Tiny-1.002004";
     src = fetchurl {
@@ -5929,6 +6782,20 @@ rec {
     buildInputs = [ pkgs.which ];
   };
 
+  SoftwareLicense = buildPerlPackage {
+    name = "Software-License-0.103005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Software-License-0.103005.tar.gz;
+      sha256 = "050a14e0b3fb15763fd267fdd8ccc7ec8c459d8cc830b0bdc39ce09f5910f88c";
+    };
+    propagatedBuildInputs = [ DataSection SubInstall TextTemplate ];
+    meta = {
+      homepage = https://github.com/rjbs/software-license;
+      description = "Packages that provide templated software licenses";
+      license = "perl";
+    };
+  };
+
   SortVersions = buildPerlPackage rec {
     name = "Sort-Versions-1.5";
     src = fetchurl {
@@ -6113,6 +6980,20 @@ rec {
       };
   };
 
+  StringErrf = buildPerlPackage {
+    name = "String-Errf-0.006";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.006.tar.gz;
+      sha256 = "2c09631fbece8e85a94785abede882f5d29e0f21f72239d01332b3bafd9c53ac";
+    };
+    buildInputs = [ JSON TimeDate ];
+    propagatedBuildInputs = [ ParamsUtil StringFormatter SubExporter ];
+    meta = {
+      description = "A simple sprintf-like dialect";
+      license = "perl";
+    };
+  };
+
   StringEscape = buildPerlPackage rec {
     name = "String-Escape-2010.002";
     src = fetchurl {
@@ -6121,6 +7002,20 @@ rec {
     };
   };
 
+  StringFlogger = buildPerlPackage {
+    name = "String-Flogger-1.101243";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Flogger-1.101243.tar.gz;
+      sha256 = "05e3f55198e96d56d27867b81c244d801a5d85e5b19b7acc3352993aefbd29fd";
+    };
+    propagatedBuildInputs = [ JSON ParamsUtil SubExporter ];
+    meta = {
+      homepage = https://github.com/rjbs/string-flogger;
+      description = "String munging for loggers";
+      license = "perl";
+    };
+  };
+
   StringFormat = buildPerlPackage rec {
     name = "String-Format-1.16";
     src = fetchurl {
@@ -6129,6 +7024,19 @@ rec {
     };
   };
 
+  StringFormatter = buildPerlPackage {
+    name = "String-Formatter-0.102082";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Formatter-0.102082.tar.gz;
+      sha256 = "93d787dd8f13832a3683d219e086eaf4eb6c5391e396bfcc364c414423b0051a";
+    };
+    propagatedBuildInputs = [ ParamsUtil SubExporter ];
+    meta = {
+      description = "Build sprintf-like functions of your own";
+      license = "gpl";
+    };
+  };
+
   StringMkPasswd = buildPerlPackage {
     name = "String-MkPasswd-0.02";
     src = fetchurl {
@@ -6169,6 +7077,19 @@ rec {
       [ LinguaENInflectPhrase TextUnidecode namespaceclean ];
   };
 
+  StringTruncate = buildPerlPackage {
+    name = "String-Truncate-1.100600";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100600.tar.gz;
+      sha256 = "e2665f82254a05b2a43c51bb8244661130ad9e052d4d8423b2ce2e9549c0bb5c";
+    };
+    propagatedBuildInputs = [ SubExporter SubInstall ];
+    meta = {
+      description = "A module for when strings are too long to be displayed in..";
+      license = "perl";
+    };
+  };
+
   StringTT = buildPerlPackage {
     name = "String-TT-0.03";
     src = fetchurl {
@@ -6209,6 +7130,33 @@ rec {
     };
   };
 
+  SubExporterForMethods = buildPerlPackage {
+    name = "Sub-Exporter-ForMethods-0.100050";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-ForMethods-0.100050.tar.gz;
+      sha256 = "67dfaa39c58995ed1d341d7f2e785a68b7ba4ade72608f491459b8d2dee6df33";
+    };
+    propagatedBuildInputs = [ SubExporter SubName ];
+    meta = {
+      description = "Helper routines for using Sub::Exporter to build methods";
+      license = "perl";
+    };
+  };
+
+  SubExporterGlobExporter = buildPerlPackage {
+    name = "Sub-Exporter-GlobExporter-0.003";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.003.tar.gz;
+      sha256 = "4cb082331151360756f3b2f8122fdd44597a207d62bd3f2ecb13578005116ab1";
+    };
+    propagatedBuildInputs = [ SubExporter ];
+    meta = {
+      homepage = https://github.com/rjbs/sub-exporter-globexporter;
+      description = "Export shared globs with Sub::Exporter collectors";
+      license = "perl";
+    };
+  };
+
   SubExporterProgressive = buildPerlPackage {
     name = "Sub-Exporter-Progressive-0.001006";
     src = fetchurl {
@@ -6345,6 +7293,33 @@ rec {
     };
   };
 
+  syntax = buildPerlPackage {
+    name = "syntax-0.004";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PH/PHAYLON/syntax-0.004.tar.gz;
+      sha256 = "fe19b6da8a8f43a5aa2ee571441bc0e339fb156d0081c157a1a24e9812c7d365";
+    };
+    propagatedBuildInputs = [ DataOptList namespaceclean ];
+    meta = {
+      homepage = https://github.com/phaylon/syntax/wiki;
+      description = "Activate syntax extensions";
+      license = "perl";
+    };
+  };
+
+  SyntaxKeywordJunction = buildPerlPackage {
+    name = "Syntax-Keyword-Junction-0.003006";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FR/FREW/Syntax-Keyword-Junction-0.003006.tar.gz;
+      sha256 = "182ab56d86bf3acf292d4ed5893ae0134f43843cdadba3e18f9885e6f86035ec";
+    };
+    propagatedBuildInputs = [ SubExporterProgressive TestRequires syntax ];
+    meta = {
+      description = "Perl6 style Junction operators in Perl5";
+      license = "perl";
+    };
+  };
+
   SysHostnameLong = buildPerlPackage rec {
     name = "Sys-Hostname-Long-1.4";
     src = fetchurl {
@@ -6572,17 +7547,29 @@ rec {
     propagatedBuildInputs = [ Spiffy ];
   };
 
-  TestCheckDeps = buildPerlPackage {
-    name = "Test-CheckDeps-0.002";
+  TestCheckDeps = buildPerlModule {
+    name = "Test-CheckDeps-0.006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Test-CheckDeps-0.002.tar.gz;
-      sha256 = "0fmm9xsgial599bqb6rcrc6xp0627rcdp0ivx8wsy807py5jk5i6";
+      url = mirror://cpan/authors/id/L/LE/LEONT/Test-CheckDeps-0.006.tar.gz;
+      sha256 = "774c1455566d11746118fd95305d1dbd111af86eac78058918e72468c43d9bcb";
     };
+    buildInputs = [ ModuleBuildTiny ];
     propagatedBuildInputs = [ CPANMetaCheck ];
     meta = {
-      homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
       description = "Check for presence of dependencies";
-      license = "perl5";
+      license = "perl";
+    };
+  };
+
+  TestCPANMeta = buildPerlPackage {
+    name = "Test-CPAN-Meta-0.23";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-0.23.tar.gz;
+      sha256 = "dda70c5cb61eddc6d3148cb66b6ff5eb4546a065257f4c104112a8a8a3575116";
+    };
+    meta = {
+      description = "Validate your CPAN META.yml files";
+      license = "artistic_2";
     };
   };
 
@@ -6611,6 +7598,21 @@ rec {
     };
   };
 
+  TestDistManifest = buildPerlPackage {
+    name = "Test-DistManifest-1.012";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/Test-DistManifest-1.012.tar.gz;
+      sha256 = "4b128bef9beea2f03bdca037ceb722de43b4a2c516c3f50c2a26421548a72208";
+    };
+    buildInputs = [ TestNoWarnings ];
+    propagatedBuildInputs = [ ModuleManifest ];
+    meta = {
+      homepage = http://search.cpan.org/dist/Test-DistManifest;
+      description = "Author test that validates a package MANIFEST";
+      license = "perl";
+    };
+  };
+
   TestEOL = buildPerlPackage {
     name = "Test-EOL-1.5";
     src = fetchurl {
@@ -6661,6 +7663,21 @@ rec {
     };
   };
 
+  TestFileShareDir = buildPerlModule {
+    name = "Test-File-ShareDir-0.3.3";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/K/KE/KENTNL/Test-File-ShareDir-0.3.3.tar.gz;
+      sha256 = "877e14afb6f432bd888ef730c0afd776dd149b14bc520bc2ce842d114e5886a2";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ FileCopyRecursive FileShareDir PathTiny ];
+    meta = {
+      homepage = https://github.com/kentfredric/Test-File-ShareDir;
+      description = "Create a Fake ShareDir for your modules for testing";
+      license = "perl";
+    };
+  };
+
   TestHarness = buildPerlPackage rec {
     name = "Test-Harness-3.17";
     src = fetchurl {
@@ -6752,6 +7769,19 @@ rec {
     };
   };
 
+  TestMojibake = buildPerlPackage {
+    name = "Test-Mojibake-0.8";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-0.8.tar.gz;
+      sha256 = "66d82ca4fe539bb69ee8179d96370e50777a9547176428baf4dbe190ef78b4cb";
+    };
+    meta = {
+      homepage = https://github.com/creaktive/Test-Mojibake;
+      description = "Check your source for encoding misbehavior";
+      license = "perl";
+    };
+  };
+
   TestMore = TestSimple;
 
   TestMost = buildPerlPackage {
@@ -6842,6 +7872,33 @@ rec {
     propagatedBuildInputs = [PodCoverage];
   };
 
+  TestPodLinkCheck = buildPerlPackage {
+    name = "Test-Pod-LinkCheck-0.007";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AP/APOCAL/Test-Pod-LinkCheck-0.007.tar.gz;
+      sha256 = "de2992e756fca96824411bb3ab2b94b05567cb3f2c5e3ffd8162ffdfd1f77c88";
+    };
+    buildInputs = [ TestTester ];
+    propagatedBuildInputs = [ CaptureTiny Moose TestPod podlinkcheck ];
+    meta = {
+      homepage = http://search.cpan.org/dist/Test-Pod-LinkCheck/;
+      description = "Tests POD for invalid links";
+      license = "perl";
+    };
+  };
+
+  TestPortabilityFiles = buildPerlPackage {
+    name = "Test-Portability-Files-0.06";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AB/ABRAXXA/Test-Portability-Files-0.06.tar.gz;
+      sha256 = "3e0fd033387ab82df8aedd42a14a8e64200aebd59447ad62a3bc411ff4a808a8";
+    };
+    meta = {
+      description = "Check file names portability";
+      license = "perl";
+    };
+  };
+
   TestRequires = buildPerlPackage {
     name = "Test-Requires-0.06";
     src = fetchurl {
@@ -6881,7 +7938,7 @@ rec {
   TestSharedFork = buildPerlPackage rec {
     name = "Test-SharedFork-0.18";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz";
+      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/${name}.tar.gz";
       sha256 = "1wc41jzi780w75m2ry1038mzxyz7386r8rmhbnmj3krcdxy676cc";
     };
   };
@@ -6897,6 +7954,18 @@ rec {
     propagatedBuildInputs = [ HookLexWrap ];
   };
 
+  TestSynopsis = buildPerlPackage {
+    name = "Test-Synopsis-0.06";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Test-Synopsis-0.06.tar.gz;
+      sha256 = "fb3eed184eaf8a3c2338ec14b7235fa75fc43cf5f3774d927a4c947a5141db1b";
+    };
+    meta = {
+      description = "Test your SYNOPSIS code";
+      license = "perl";
+    };
+  };
+
   TestTableDriven = buildPerlPackage {
     name = "Test-TableDriven-0.02";
     src = fetchurl {
@@ -6969,6 +8038,20 @@ rec {
     };
   };
 
+  TestWarnings = buildPerlModule {
+    name = "Test-Warnings-0.008";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/Test-Warnings-0.008.tar.gz;
+      sha256 = "119f2a279fe7d0681dcf4517f1bcb056e4596cfbae7b9ee447118f036cf089e4";
+    };
+    buildInputs = [ CaptureTiny ModuleBuildTiny TestCheckDeps TestDeep TestTester pkgs.perlPackages."if" ];
+    meta = {
+      homepage = https://github.com/karenetheridge/Test-Warnings;
+      description = "Test for warnings and the lack of them";
+      license = "perl";
+    };
+  };
+
   TestWithoutModule = buildPerlPackage {
     name = "Test-Without-Module-0.17";
     src = fetchurl {
@@ -7116,6 +8199,20 @@ rec {
     };
   };
 
+  TestMinimumVersion = buildPerlPackage {
+    name = "Test-MinimumVersion-0.101080";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-MinimumVersion-0.101080.tar.gz;
+      sha256 = "51fc0bd73ece9d41887f8d0a57ee27fbc205c271c5b5246111efe7d3247ddfb0";
+    };
+    buildInputs = [ TestTester ];
+    propagatedBuildInputs = [ FileFindRule FileFindRulePerl PerlMinimumVersion YAMLTiny ];
+    meta = {
+      description = "Does your code require newer perl than you think?";
+      license = "perl";
+    };
+  };
+
   TextMicroTemplate = buildPerlPackage {
     name = "Text-MicroTemplate-0.19";
     src = fetchurl {
@@ -7187,6 +8284,18 @@ rec {
     propagatedBuildInputs = [TextAligner];
   };
 
+  TextTemplate = buildPerlPackage {
+    name = "Text-Template-1.46";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MJ/MJD/Text-Template-1.46.tar.gz;
+      sha256 = "77d812cb86e48091bcd59aa8522ef887b33a0ff758f8a269da8c2b733889d580";
+    };
+    meta = {
+      description = "Unknown";
+      license = "unknown";
+    };
+  };
+
   TestTrap = buildPerlPackage {
     name = "Test-Trap-v0.2.2";
     src = fetchurl {
@@ -7201,6 +8310,34 @@ rec {
     };
   };
 
+  TestVars = buildPerlModule {
+    name = "Test-Vars-0.005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/G/GF/GFUJI/Test-Vars-0.005.tar.gz;
+      sha256 = "2aec9787332dd2f12bd7b07e18530ff9c07954116bbaae8ae902a8befff57ae7";
+    };
+    meta = {
+      homepage = https://github.com/gfx/p5-Test-Vars;
+      description = "Detects unused variables";
+      license = "perl";
+    };
+  };
+
+  TestVersion = buildPerlPackage {
+    name = "Test-Version-1.002001";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/X/XE/XENO/Test-Version-1.002001.tar.gz;
+      sha256 = "84e741a1b9196b41130a7ec3f07b94e0e97e7e3f8abfb65e599f2760e01202ad";
+    };
+    buildInputs = [ TestException TestRequires TestTester ];
+    propagatedBuildInputs = [ FileFindRulePerl ];
+    meta = {
+      homepage = http://search.cpan.org/dist/Test-Version/;
+      description = "Check to see that version's in modules are sane";
+      license = "artistic_2";
+    };
+  };
+
   TextTrim = buildPerlPackage {
     name = "Text-Trim-1.02";
     src = fetchurl {
@@ -7388,6 +8525,17 @@ rec {
     };
   };
 
+  UnicodeCheckUTF8 = buildPerlPackage {
+    name = "Unicode-CheckUTF8-1.03";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BR/BRADFITZ/Unicode-CheckUTF8-1.03.tar.gz;
+      sha256 = "97f84daf033eb9b49cd8fe31db221fef035a5c2ee1d757f3122c88cf9762414c";
+    };
+    meta = {
+      license = "unknown";
+    };
+  };
+
   UnicodeICUCollator = buildPerlPackage {
     name = "Unicode-ICU-Collator-0.002";
     src = fetchurl {
@@ -7731,10 +8879,10 @@ rec {
   };
 
   YAMLTiny = buildPerlPackage rec {
-    name = "YAML-Tiny-1.50";
+    name = "YAML-Tiny-1.53";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/YAML/${name}.tar.gz";
-      sha256 = "0ag1llgf0qn3sxy832xhvc1mq6s0bdv13ij7vh7df8nv0jnxyyd3";
+      url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
+      sha256 = "14p93i60x394ba6sdwpnckmv2vq7pfi9q7rzksp3nkxsz4484qmm";
     };
   };