summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/milkytracker/decompressor_gzip.patch20
-rw-r--r--pkgs/applications/audio/milkytracker/default.nix44
-rw-r--r--pkgs/applications/audio/mopidy/default.nix2
-rw-r--r--pkgs/applications/audio/quodlibet/default.nix34
-rw-r--r--pkgs/applications/editors/emacs-modes/offlineimap/default.nix28
-rw-r--r--pkgs/applications/editors/vim/qvim.nix115
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix15
-rw-r--r--pkgs/applications/graphics/gimp/2.8.nix4
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix43
-rw-r--r--pkgs/applications/graphics/mirage/default.nix4
-rw-r--r--pkgs/applications/graphics/sane/backends-git.nix9
-rw-r--r--pkgs/applications/graphics/sane/backends.nix7
-rw-r--r--pkgs/applications/graphics/sane/xsane.nix12
-rw-r--r--pkgs/applications/graphics/smartdeblur/default.nix33
-rw-r--r--pkgs/applications/graphics/zgrviewer/default.nix2
-rw-r--r--pkgs/applications/misc/adobe-reader/default.nix4
-rw-r--r--pkgs/applications/misc/dunst/default.nix2
-rw-r--r--pkgs/applications/misc/fbreader/default.nix7
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix76
-rw-r--r--pkgs/applications/misc/ikiwiki/default.nix4
-rw-r--r--pkgs/applications/misc/mupdf/default.nix4
-rw-r--r--pkgs/applications/misc/redshift/default.nix3
-rw-r--r--pkgs/applications/networking/browsers/icecat-3/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/netsurf/haru.nix1
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libParserUtils.nix1
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsgif.nix1
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/toxic/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix25
-rw-r--r--pkgs/applications/networking/remote/freerdp/unstable.nix2
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix26
-rw-r--r--pkgs/applications/networking/remote/remmina/lgthread.patch16
-rw-r--r--pkgs/applications/networking/znc/modules.nix4
-rw-r--r--pkgs/applications/office/gnucash/default.nix18
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix20
-rw-r--r--pkgs/applications/science/logic/hol/default.nix4
-rw-r--r--pkgs/applications/science/logic/tptp/default.nix3
-rw-r--r--pkgs/applications/science/math/mathematica/default.nix4
-rw-r--r--pkgs/applications/science/math/maxima/default.nix4
-rw-r--r--pkgs/applications/science/misc/vite/default.nix2
-rw-r--r--pkgs/applications/version-management/darcs/default.nix9
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/github-backup/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/tig/default.nix20
-rw-r--r--pkgs/applications/version-management/subversion/default.nix5
-rw-r--r--pkgs/applications/version-management/veracity/default.nix1
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/tvtime/default.nix1
-rw-r--r--pkgs/applications/video/vlc/default.nix4
-rw-r--r--pkgs/applications/video/xawtv/default.nix32
-rw-r--r--pkgs/applications/video/xawtv/xawtv-3.95-libfs.patch22
-rw-r--r--pkgs/applications/video/xawtv/xawtv-3.95-makefile.patch21
-rw-r--r--pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch44
-rw-r--r--pkgs/applications/virtualization/nova/client.nix1
-rw-r--r--pkgs/applications/virtualization/nova/default.nix15
-rw-r--r--pkgs/applications/virtualization/xen/default.nix1
-rw-r--r--pkgs/build-support/clang-wrapper/builder.sh3
-rw-r--r--pkgs/build-support/clang-wrapper/clang-wrapper.sh11
-rw-r--r--pkgs/build-support/clang-wrapper/default.nix4
-rw-r--r--pkgs/build-support/fetchsvn/builder.sh4
-rw-r--r--pkgs/data/fonts/andagii/default.nix3
-rw-r--r--pkgs/desktops/xfce/core/libxfce4ui.nix2
-rw-r--r--pkgs/desktops/xfce/core/thunar-archive-plugin.nix2
-rw-r--r--pkgs/desktops/xfce/core/tumbler.nix18
-rw-r--r--pkgs/development/compilers/elm/elm.nix4
-rw-r--r--pkgs/development/compilers/gcc/4.6/default.nix5
-rw-r--r--pkgs/development/compilers/ghc/with-packages.nix38
-rw-r--r--pkgs/development/compilers/llvm/clang-tablegen-dir.patch9
-rw-r--r--pkgs/development/compilers/llvm/clang.nix3
-rw-r--r--pkgs/development/compilers/scala/2.9.nix34
-rw-r--r--pkgs/development/compilers/scala/default.nix17
-rw-r--r--pkgs/development/interpreters/erlang/default.nix (renamed from pkgs/development/interpreters/erlang/R16B01.nix)9
-rw-r--r--pkgs/development/interpreters/luajit/default.nix22
-rw-r--r--pkgs/development/interpreters/php/5.4.nix4
-rw-r--r--pkgs/development/interpreters/pypy/2.2/default.nix (renamed from pkgs/development/interpreters/pypy/2.1/default.nix)4
-rw-r--r--pkgs/development/interpreters/pypy/2.2/setup-hook.sh (renamed from pkgs/development/interpreters/pypy/2.1/setup-hook.sh)4
-rw-r--r--pkgs/development/interpreters/python/wrapper.nix11
-rw-r--r--pkgs/development/interpreters/ruby/generated.nix290
-rw-r--r--pkgs/development/libraries/SDL2/default.nix19
-rw-r--r--pkgs/development/libraries/aqbanking/default.nix2
-rw-r--r--pkgs/development/libraries/aterm/2.5.nix3
-rw-r--r--pkgs/development/libraries/aterm/2.8.nix10
-rw-r--r--pkgs/development/libraries/atk/default.nix2
-rw-r--r--pkgs/development/libraries/boost/1.55.nix91
-rw-r--r--pkgs/development/libraries/boost/header-only-wrapper.nix5
-rw-r--r--pkgs/development/libraries/caelum/default.nix1
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix4
-rw-r--r--pkgs/development/libraries/gtest/default.nix33
-rw-r--r--pkgs/development/libraries/gts/default.nix2
-rw-r--r--pkgs/development/libraries/gurobi/default.nix25
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/Chart-cairo/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/Chart-gtk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Chart/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/HList/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/HsOpenSSL/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/HsSyck/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/abstract-par/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/accelerate-cuda/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/accelerate-examples/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/accelerate-fft/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/active/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bifunctors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cereal/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/control-monad-loop/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/cpu/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-numbers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-pubkey/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cuda/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/cufft/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/dbus/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix (renamed from pkgs/development/libraries/haskell/deepseq/1.3.0.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/direct-sqlite/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/dual-tree/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fclabels/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/free/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/html-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hxt/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/intervals/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/language-c-quote/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/lifted-base/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.2.0.4.nix14
-rw-r--r--pkgs/development/libraries/haskell/parseargs/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/parsers/0.10.1.1.nix (renamed from pkgs/development/libraries/haskell/parsers/0.10.nix)4
-rw-r--r--pkgs/development/libraries/haskell/pem/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-parse/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/process-conduit/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/shake/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/snap/core.nix4
-rw-r--r--pkgs/development/libraries/haskell/system-posix-redirect/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/tasty/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/terminfo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/texmath/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/text-icu/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/threads/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/thyme/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/trifecta/1.1.nix3
-rw-r--r--pkgs/development/libraries/haskell/trifecta/1.2.nix3
-rw-r--r--pkgs/development/libraries/haskell/uu-parsinglib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxc.nix1
-rw-r--r--pkgs/development/libraries/haskell/yesod-bin/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-platform/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-static/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix4
-rw-r--r--pkgs/development/libraries/java/icedtea/default.nix2
-rw-r--r--pkgs/development/libraries/libc++/default.nix34
-rw-r--r--pkgs/development/libraries/libdc1394avt/default.nix1
-rw-r--r--pkgs/development/libraries/libebml/default.nix4
-rw-r--r--pkgs/development/libraries/libiconv/default.nix2
-rw-r--r--pkgs/development/libraries/libmatroska/default.nix4
-rw-r--r--pkgs/development/libraries/libmusclecard/default.nix1
-rw-r--r--pkgs/development/libraries/libopensc-dnie/default.nix1
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix6
-rw-r--r--pkgs/development/libraries/libunibreak/default.nix7
-rw-r--r--pkgs/development/libraries/libusb1/1_0_9.nix20
-rw-r--r--pkgs/development/libraries/libvirt/default.nix10
-rw-r--r--pkgs/development/libraries/libvirt/securtyfs_userns.patch30
-rw-r--r--pkgs/development/libraries/libxml2/default.nix30
-rw-r--r--pkgs/development/libraries/libxml2/pthread-once-init.patch35
-rw-r--r--pkgs/development/libraries/libxslt/default.nix2
-rw-r--r--pkgs/development/libraries/nanomsg/default.nix23
-rw-r--r--pkgs/development/libraries/opencv/2.1.nix1
-rw-r--r--pkgs/development/libraries/pango/default.nix2
-rw-r--r--pkgs/development/libraries/poppler/default.nix4
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix2
-rw-r--r--pkgs/development/libraries/sqlite/default.nix2
-rw-r--r--pkgs/development/libraries/unicap/default.nix1
-rw-r--r--pkgs/development/perl-modules/DBD-SQLite/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/simple-build-tool/default.nix103
-rw-r--r--pkgs/development/tools/haskell/keter/default.nix16
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix4
-rw-r--r--pkgs/development/tools/misc/intltool/default.nix2
-rw-r--r--pkgs/development/tools/misc/lttv/default.nix4
-rw-r--r--pkgs/development/tools/misc/stlink/default.nix3
-rw-r--r--pkgs/development/tools/misc/uhd/default.nix56
-rw-r--r--pkgs/development/tools/profiling/systemtap/default.nix1
-rw-r--r--pkgs/development/web/nodejs/build-node-package.nix13
-rw-r--r--pkgs/games/alienarena/default.nix3
-rw-r--r--pkgs/games/dwarf-therapist/default.nix3
-rw-r--r--pkgs/games/flightgear/default.nix3
-rw-r--r--pkgs/games/naev/default.nix3
-rw-r--r--pkgs/games/oilrush/default.nix3
-rw-r--r--pkgs/games/sauerbraten/default.nix2
-rw-r--r--pkgs/games/soi/default.nix1
-rw-r--r--pkgs/games/speed-dreams/default.nix3
-rw-r--r--pkgs/games/torcs/default.nix3
-rw-r--r--pkgs/games/ufoai/default.nix3
-rw-r--r--pkgs/games/unvanquished/default.nix3
-rw-r--r--pkgs/games/urbanterror/default.nix3
-rw-r--r--pkgs/games/vdrift/default.nix3
-rw-r--r--pkgs/games/widelands/default.nix3
-rw-r--r--pkgs/games/xonotic/default.nix3
-rw-r--r--pkgs/misc/drivers/gutenprint/default.nix12
-rw-r--r--pkgs/misc/emulators/VisualBoyAdvance/default.nix3
-rw-r--r--pkgs/misc/emulators/wine/stable.nix6
-rw-r--r--pkgs/misc/uboot/guruplug.nix2
-rw-r--r--pkgs/os-specific/linux/alsa-lib/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-plugins/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.0.nix12
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.11.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.9.nix16
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix14
-rw-r--r--pkgs/os-specific/linux/ldm/default.nix38
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix2
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix13
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch25
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/version-test.patch19
-rw-r--r--pkgs/os-specific/linux/upower/default.nix23
-rw-r--r--pkgs/os-specific/linux/v86d/default.nix1
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/gui.nix2
-rw-r--r--pkgs/servers/evolution-data-server/default.nix1
-rw-r--r--pkgs/servers/ftp/vsftpd/default.nix27
-rw-r--r--pkgs/servers/http/apache-httpd/2.2.nix2
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix6
-rw-r--r--pkgs/servers/http/joseki/default.nix3
-rw-r--r--pkgs/servers/http/yaws/default.nix6
-rw-r--r--pkgs/servers/monitoring/zabbix/2.0.nix2
-rw-r--r--pkgs/servers/monitoring/zabbix/default.nix2
-rw-r--r--pkgs/servers/openafs-client/default.nix5
-rw-r--r--pkgs/servers/radius/default.nix2
-rw-r--r--pkgs/servers/samba/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.2.x.nix2
-rw-r--r--pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch14
-rw-r--r--pkgs/servers/varnish/2.1.nix21
-rw-r--r--pkgs/servers/x11/xorg/unichrome/default.nix3
-rw-r--r--pkgs/servers/xmpp/ejabberd/default.nix12
-rw-r--r--pkgs/stdenv/generic/default.nix6
-rw-r--r--pkgs/tools/X11/x11vnc/default.nix4
-rw-r--r--pkgs/tools/backup/bup/default.nix6
-rw-r--r--pkgs/tools/filesystems/xtreemfs/default.nix1
-rw-r--r--pkgs/tools/graphics/graphviz/default.nix2
-rw-r--r--pkgs/tools/graphics/welkin/default.nix3
-rw-r--r--pkgs/tools/misc/gparted/default.nix2
-rw-r--r--pkgs/tools/misc/ngrok/default.nix15
-rw-r--r--pkgs/tools/misc/screen/default.nix4
-rw-r--r--pkgs/tools/misc/w3c-css-validator/default.nix1
-rw-r--r--pkgs/tools/misc/xmltv/default.nix1
-rw-r--r--pkgs/tools/networking/cjdns/default.nix2
-rw-r--r--pkgs/tools/networking/iperf/default.nix15
-rw-r--r--pkgs/tools/networking/ntop/default.nix4
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix7
-rw-r--r--pkgs/tools/networking/openssh/default.nix2
-rw-r--r--pkgs/tools/networking/openssh/gcmrekey.patch18
-rw-r--r--pkgs/tools/networking/socat/2.0.0-b3.nix29
-rw-r--r--pkgs/tools/networking/socat/2.x.nix20
-rw-r--r--pkgs/tools/networking/socat/default.nix4
-rw-r--r--pkgs/tools/package-management/disnix/default.nix10
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix14
-rw-r--r--pkgs/tools/security/fail2ban/default.nix2
-rw-r--r--pkgs/tools/security/opensc/0.11.7.nix1
-rw-r--r--pkgs/tools/security/sudo/default.nix4
-rw-r--r--pkgs/tools/system/fdisk/default.nix3
-rw-r--r--pkgs/tools/system/pciutils/default.nix6
-rw-r--r--pkgs/tools/system/ts/default.nix15
-rw-r--r--pkgs/tools/text/wdiff/default.nix2
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/cm-super.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/extra.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderncv.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderntimeline.nix2
-rw-r--r--pkgs/top-level/all-packages.nix189
-rw-r--r--pkgs/top-level/haskell-defaults.nix3
-rw-r--r--pkgs/top-level/haskell-packages.nix27
-rw-r--r--pkgs/top-level/node-packages-generated.nix12183
-rw-r--r--pkgs/top-level/node-packages.json2
-rw-r--r--pkgs/top-level/node-packages.nix26
-rw-r--r--pkgs/top-level/perl-packages.nix56
-rw-r--r--pkgs/top-level/python-packages.nix140
-rw-r--r--pkgs/top-level/release-lib.nix8
-rw-r--r--pkgs/top-level/release-python.nix1
-rw-r--r--pkgs/top-level/release-small.nix1
-rw-r--r--pkgs/top-level/release.nix3
289 files changed, 7010 insertions, 8528 deletions
diff --git a/pkgs/applications/audio/milkytracker/decompressor_gzip.patch b/pkgs/applications/audio/milkytracker/decompressor_gzip.patch
new file mode 100644
index 00000000000..c64421116de
--- /dev/null
+++ b/pkgs/applications/audio/milkytracker/decompressor_gzip.patch
@@ -0,0 +1,20 @@
+https://bugs.archlinux.org/task/31324
+https://410333.bugs.gentoo.org/attachment.cgi?id=322456
+
+diff -ur src.old/compression/DecompressorGZIP.cpp src/compression/DecompressorGZIP.cpp
+--- src.old/compression/DecompressorGZIP.cpp	2012-08-28 17:54:46.000000000 +0200
++++ src/compression/DecompressorGZIP.cpp	2012-08-28 17:55:21.000000000 +0200
+@@ -57,11 +57,11 @@
+ 	
+ bool DecompressorGZIP::decompress(const PPSystemString& outFileName, Hints hint)
+ {
+-    gzFile *gz_input_file = NULL;
++    gzFile gz_input_file = NULL;
+ 	int len = 0;
+ 	pp_uint8 *buf;
+ 	
+-	if ((gz_input_file = (void **)gzopen (fileName.getStrBuffer(), "r")) == NULL)
++	if ((gz_input_file = gzopen (fileName.getStrBuffer(), "r")) == NULL)
+ 		return false;
+ 	
+ 	if ((buf = new pp_uint8[0x10000]) == NULL)
diff --git a/pkgs/applications/audio/milkytracker/default.nix b/pkgs/applications/audio/milkytracker/default.nix
new file mode 100644
index 00000000000..965c941113c
--- /dev/null
+++ b/pkgs/applications/audio/milkytracker/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, SDL, alsaLib, autoconf, automake, jackaudio, perl
+, zlib, zziplib
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.90.85";
+  name = "milkytracker-${version}";
+
+  src = fetchurl {
+    url = "http://milkytracker.org/files/milkytracker-0.90.85.tar.gz";
+    sha256 = "184pk0k9nv461a61sh6lb62wfadjwwk8ri3z5kpdbqnyssz0zfpv";
+  };
+
+  # Get two official patches.
+  no_zzip_patch = fetchurl {
+    url = "http://www.milkytracker.org/files/patches-0.90.85/no_zziplib_dep.patch";
+    sha256 = "1w550q7pxa7w6v2v19ljk03hayacrs6y887izg11a1983wk7qzb3";
+      };
+
+  fix_64bit_patch = fetchurl {
+    url = "http://www.milkytracker.org/files/patches-0.90.85/64bit_freebsd_fix.patch";
+    sha256 = "0gwd4zslbd8kih80k4v7n2c65kvm2cq3kl6d7y33z1l007vzyvf6";
+  };
+
+  patchPhase = ''
+    patch ./src/tracker/sdl/SDL_Main.cpp < ${fix_64bit_patch}
+    patch < ${no_zzip_patch}
+    patch ./src/compression/DecompressorGZIP.cpp < ${./decompressor_gzip.patch}
+  '';
+
+  preBuild=''
+    export CPATH=${zlib}/lib
+  '';
+
+  buildInputs = [ SDL alsaLib autoconf automake jackaudio perl zlib zziplib ];
+
+  meta = {
+    description = "Music tracker application, similar to Fasttracker II.";
+    homepage = http://milkytracker.org;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = [ stdenv.lib.maintainers.zoomulator ];
+  };
+}
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index 611d9f4226d..b684fee37d5 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -39,6 +39,6 @@ pythonPackages.buildPythonPackage rec {
       local hard drive.
     '';
     maintainers = [ stdenv.lib.maintainers.rickynils ];
-    platforms = [];
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
index 9f4859d6e07..c865314cb17 100644
--- a/pkgs/applications/audio/quodlibet/default.nix
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -1,11 +1,18 @@
 { stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject
-, pythonDBus, gst_python, gst_plugins_base, gst_plugins_good, gst_plugins_ugly }:
+, pythonDBus, gst_python, withGstPlugins ? false, gst_plugins_base ? null
+, gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }:
 
-let version = "2.5"; in
+assert withGstPlugins -> gst_plugins_base != null
+                         || gst_plugins_good != null
+                         || gst_plugins_ugly != null
+                         || gst_plugins_bad != null;
+
+let version = "2.6.3"; in
 
 buildPythonPackage {
   # call the package quodlibet and just quodlibet
-  name = "quodlibet-${version}";
+  name = "quodlibet-${version}"
+         + stdenv.lib.optionalString withGstPlugins "-with-gst-plugins";
   namePrefix = "";
 
   # XXX, tests fail
@@ -13,12 +20,12 @@ buildPythonPackage {
 
   src = [
     (fetchurl {
-      url = "https://quodlibet.googlecode.com/files/quodlibet-${version}.tar.gz";
-      sha256 = "0qrmlz7m1jpmriy8bgycjiwzbf3annznkn4x5k32yy9bylxa7lwb";
+      url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-${version}.tar.gz";
+      sha256 = "0ilasi4b0ay8r6v6ba209wsm80fq2nmzigzc5kvphrk71jwypx6z";
      })
     (fetchurl {
-      url = "https://quodlibet.googlecode.com/files/quodlibet-plugins-${version}.tar.gz";
-      sha256 = "0kf2mkq2zk38626bn48gscvy6ir04f5b2z57ahlxlqy8imv2cjff";
+      url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-plugins-${version}.tar.gz";
+      sha256 = "1rv08rhdjad8sjhplqsspcf4vkazgkxyshsqmbfbrrk5kvv57ybc";
      })
   ];       
 
@@ -30,19 +37,23 @@ buildPythonPackage {
   '';
   patches = [ ./quodlibet-package-plugins.patch ];
 
-  buildInputs = [
-    gst_plugins_base gst_plugins_good gst_plugins_ugly
+  buildInputs = stdenv.lib.optionals withGstPlugins [
+    gst_plugins_base gst_plugins_good gst_plugins_ugly gst_plugins_bad
   ];
 
   propagatedBuildInputs = [
     mutagen pygtk pygobject pythonDBus gst_python
   ];
 
-  postInstall = ''
+  postInstall = stdenv.lib.optionalString withGstPlugins ''
     # Wrap quodlibet so it finds the GStreamer plug-ins
     wrapProgram "$out/bin/quodlibet" --prefix                                 \
       GST_PLUGIN_PATH ":"                                                     \
-      "${gst_plugins_base}/lib/gstreamer-0.10:${gst_plugins_good}/lib/gstreamer-0.10:${gst_plugins_ugly}/lib/gstreamer-0.10"
+      ${ stdenv.lib.concatStringsSep ":"
+         (map (s: s+"/lib/gstreamer-0.10")
+           (stdenv.lib.filter (s: s != null) [
+             gst_plugins_base gst_plugins_good gst_plugins_ugly gst_plugins_bad
+           ])) }
   '';
 
   meta = {
@@ -62,6 +73,7 @@ buildPythonPackage {
       & internet radio, and all major audio formats.
     '';
 
+    maintainer = [ stdenv.lib.maintainers.coroa ];
     homepage = http://code.google.com/p/quodlibet/;
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/offlineimap/default.nix b/pkgs/applications/editors/emacs-modes/offlineimap/default.nix
new file mode 100644
index 00000000000..d94da4f88d9
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/offlineimap/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, emacs }:
+
+stdenv.mkDerivation rec {
+  rev = "646482203aacdf847d57d0a96263fddcfc33fb61";
+  name = "emacs-offlineimap-${rev}";
+
+  src = fetchgit {
+    inherit rev;
+    url = "git://git.naquadah.org/offlineimap-el.git";
+    sha256 = "0az4llfgva4wvpljyc5s2m7ggfnj06ssp32x8bncr5fzksha3r7b";
+  };
+
+  buildInputs = [ emacs ];
+
+  installPhase = ''
+    substituteInPlace offlineimap.el --replace "Machine.MachineUI" "machineui"
+    emacs --batch -f batch-byte-compile offlineimap.el
+    install -d $out/share/emacs/site-lisp
+    install offlineimap.el offlineimap.elc $out/share/emacs/site-lisp
+  '';
+
+  meta = {
+    description = "OfflineIMAP support for Emacs";
+    homepage = "http://julien.danjou.info/projects/emacs-packages#offlineimap";
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.garbas ];
+  };
+}
diff --git a/pkgs/applications/editors/vim/qvim.nix b/pkgs/applications/editors/vim/qvim.nix
new file mode 100644
index 00000000000..15a147319a1
--- /dev/null
+++ b/pkgs/applications/editors/vim/qvim.nix
@@ -0,0 +1,115 @@
+args@{...}: with args;
+
+
+let inherit (args.composableDerivation) composableDerivation edf; in
+composableDerivation {
+  # use gccApple to compile on darwin
+  mkDerivation = ( if stdenv.isDarwin
+                   then stdenvAdapters.overrideGCC stdenv gccApple
+                   else stdenv ).mkDerivation;
+} (fix: {
+
+    name = "qvim-7.4";
+
+    enableParallelBuilding = true; # test this
+
+    src = fetchgit {
+      url = https://bitbucket.org/equalsraf/vim-qt.git ;
+      rev = "4160bfd5c1380e899d2f426b494fc4f1cf6ae85e";
+      sha256 = "1qa3xl1b9gqw66p71h53l7ibs4y3zfyj553jss70ybxaxchbhi5b";
+    };
+
+    # FIXME: adopt Darwin fixes from vim/default.nix, then chage meta.platforms.linux
+    # to meta.platforms.unix
+    preConfigure = assert (! stdenv.isDarwin); "";
+
+    configureFlags = [ "--with-vim-name=qvim" "--enable-gui=qt" "--with-features=${args.features}" ];
+
+    nativeBuildInputs
+      = [ ncurses pkgconfig libX11 libXext libSM libXpm libXt libXaw libXau
+          libXmu libICE qt4];
+
+    # most interpreters aren't tested yet.. (see python for example how to do it)
+    flags = {
+        ftNix = {
+          # because we cd to src in the main patch phase, we can't just add this
+          # patch to the list, we have to apply it manually
+          postPatch = ''
+            cd runtime
+            patch -p2 < ${./ft-nix-support.patch}
+            cd ..
+          '';
+        };
+      }
+      // edf { name = "darwin"; } #Disable Darwin (Mac OS X) support.
+      // edf { name = "xsmp"; } #Disable XSMP session management
+      // edf { name = "xsmp_interact"; } #Disable XSMP interaction
+      // edf { name = "mzscheme"; } #Include MzScheme interpreter.
+      // edf { name = "perl"; feat = "perlinterp"; enable = { nativeBuildInputs = [perl]; };} #Include Perl interpreter.
+
+      // edf {
+        name = "python";
+        feat = "pythoninterp";
+        enable = {
+          nativeBuildInputs = [ python ];
+        } // lib.optionalAttrs stdenv.isDarwin {
+          configureFlags
+            = [ "--enable-pythoninterp=yes"
+                "--with-python-config-dir=${python}/lib" ];
+        };
+      }
+
+      // edf { name = "tcl"; enable = { nativeBuildInputs = [tcl]; }; } #Include Tcl interpreter.
+      // edf { name = "ruby"; feat = "rubyinterp"; enable = { nativeBuildInputs = [ruby]; };} #Include Ruby interpreter.
+      // edf { name = "lua" ; feat = "luainterp"; enable = { nativeBuildInputs = [lua]; configureFlags = ["--with-lua-prefix=${args.lua}"];};}
+      // edf { name = "cscope"; } #Include cscope interface.
+      // edf { name = "workshop"; } #Include Sun Visual Workshop support.
+      // edf { name = "netbeans"; } #Disable NetBeans integration support.
+      // edf { name = "sniff"; feat = "sniff" ; } #Include Sniff interface.
+      // edf { name = "multibyte"; } #Include multibyte editing support.
+      // edf { name = "hangulinput"; feat = "hangulinput" ;} #Include Hangul input support.
+      // edf { name = "xim"; } #Include XIM input support.
+      // edf { name = "fontset"; } #Include X fontset output support.
+      // edf { name = "acl"; } #Don't check for ACL support.
+      // edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon).
+      // edf { name = "nls"; enable = {nativeBuildInputs = [gettext];}; } #Don't support NLS (gettext()).
+      ;
+
+  cfg = {
+    pythonSupport    = config.vim.python or true;
+    rubySupport      = config.vim.ruby or true;
+    nlsSupport       = config.vim.nls or false;
+    tclSupport       = config.vim.tcl or false;
+    multibyteSupport = config.vim.multibyte or false;
+    cscopeSupport    = config.vim.cscope or false;
+    netbeansSupport  = config.netbeans or true; # eg envim is using it
+
+    # by default, compile with darwin support if we're compiling on darwin, but
+    # allow this to be disabled by setting config.vim.darwin to false
+    darwinSupport    = stdenv.isDarwin && (config.vim.darwin or true);
+
+    # add .nix filetype detection and minimal syntax highlighting support
+    ftNixSupport     = config.vim.ftNix or true;
+  };
+
+  postInstall = stdenv.lib.optionalString stdenv.isLinux ''
+    rpath=`patchelf --print-rpath $out/bin/qvim`;
+    for i in $nativeBuildInputs; do
+      echo adding $i/lib
+      rpath=$rpath:$i/lib
+    done
+    echo $nativeBuildInputs
+    echo $rpath
+    patchelf --set-rpath $rpath $out/bin/qvim
+  '';
+
+  dontStrip = 1;
+
+  meta = with stdenv.lib; {
+    description = "The most popular clone of the VI editor (Qt GUI fork)";
+    homepage    = https://bitbucket.org/equalsraf/vim-qt/wiki/Home;
+    maintainers = with maintainers; [ smironov ];
+    platforms   = platforms.linux;
+  };
+})
+
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index c2a661c82fd..aa0bdbfe56c 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -1,6 +1,8 @@
 { stdenv
 , fetchurl
+, pkgconfig
 , bzip2
+, fontconfig
 , freetype
 , ghostscript ? null
 , libjpeg
@@ -16,14 +18,14 @@
 }:
 
 let
-  version = "6.8.6-9";
+  version = "6.8.7-5";
 in
 stdenv.mkDerivation rec {
   name = "ImageMagick-${version}";
 
   src = fetchurl {
     url = "mirror://imagemagick/${name}.tar.xz";
-    sha256 = "1bpj8676mph5cvyjsdgf27i6yg2iw9iskk5c69mvpxkyawgjw1vg";
+    sha256 = "1cn1kg7scs6r7r00qlqirhnmqjnmyczbidab3vgqarw9qszh2ri6";
   };
 
   enableParallelBuilding = true;
@@ -42,17 +44,18 @@ stdenv.mkDerivation rec {
   '';
 
   propagatedBuildInputs =
-    [ bzip2 freetype libjpeg libpng libtiff libxml2 zlib librsvg
+    [ bzip2 fontconfig freetype libjpeg libpng libtiff libxml2 zlib librsvg
       libtool jasper libX11
     ] ++ stdenv.lib.optional (ghostscript != null && stdenv.system != "x86_64-darwin") ghostscript;
 
-  buildInputs = [ tetex ];
+  buildInputs = [ tetex pkgconfig ];
 
   postInstall = ''(cd "$out/include" && ln -s ImageMagick* ImageMagick)'';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.imagemagick.org/;
     description = "A software suite to create, edit, compose, or convert bitmap images";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux ++ [ "x86_64-darwin" ];
+    maintainers = with maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
index 4e12e232081..d6b005e8e3d 100644
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ b/pkgs/applications/graphics/gimp/2.8.nix
@@ -4,11 +4,11 @@
 , python, pygtk, libart_lgpl, libexif, gettext, xlibs }:
 
 stdenv.mkDerivation rec {
-  name = "gimp-2.8.6";
+  name = "gimp-2.8.8";
 
   src = fetchurl {
     url = "ftp://ftp.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
-    md5 = "12b3fdf33d1f07ae79b412a9e38b9693";
+    md5 = "ef2547c3514a1096931637bd6250635a";
   };
 
   buildInputs =
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index d314d93ea4c..234249e8562 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -68,18 +68,18 @@ rec {
     };
   };
 
-  fourier = pluginDerivation {
+  fourier = pluginDerivation rec {
     /* menu:
        Filters/Generic/FFT Forward
        Filters/Generic/FFT Inverse
     */
-    name = "fourier-0.3.3";
-    buildInputs = [ gimp pkgs.fftwSinglePrec  pkgconfig glib] ++ gimp.nativeBuildInputs;
+    name = "fourier-0.4.1";
+    buildInputs = [ gimp pkgs.fftw  pkgconfig glib] ++ gimp.nativeBuildInputs;
     postInstall = "fail";
     installPhase = "installPlugins fourier";
     src = fetchurl {
-      url = http://people.via.ecp.fr/~remi/soft/gimp/fourier-0.3.3.tar.gz;
-      sha256 = "0xxgp0lrjxsj54sgygi31c7q41jkqzn0v18qyznrviv8r099v29p";
+      url = "http://registry.gimp.org/files/${name}.tar.gz";
+      sha256 = "1pr3y3zl9w8xs1circdrxpr98myz9m8wfzy022al79z4pdanwvs1";
     };
   };
 
@@ -110,6 +110,9 @@ rec {
       url = mirror://sourceforge/gimp-texturize/texturize-2.1_src.tgz;
       sha256 = "0cdjq25g3yfxx6bzx6nid21kq659s1vl9id4wxyjs2dhcv229cg3";
     };
+    patchPhase = ''
+      sed -i '/.*gimpimage_pdb.h.*/ d' src/*.c*
+    '';
     installPhase = "installPlugins src/texturize";
   };
 
@@ -140,21 +143,23 @@ rec {
     installPhase = "installPlugins src/gimp-lqr-plugin";
   };
 
-  # this is more than a gimp plugin !
-  # it can be made to compile the gimp plugin only though..
   gmic =
-  let imagemagick = pkgs.imagemagickBig; # maybe the non big version is enough?
-  in pluginDerivation {
-      name = "gmic-1.3.2.0";
-      buildInputs = [ imagemagick pkgconfig gimp pkgs.fftwSinglePrec ] ++ gimp.nativeBuildInputs;
+  let
+    imagemagick = pkgs.imagemagickBig; # maybe the non big version is enough?
+    fftw = pkgs.fftw.override {pthreads = true;};
+  in pluginDerivation rec {
+      name = "gmic-1.5.7.2";
+      buildInputs = [imagemagick pkgconfig fftw gimp] ++ gimp.nativeBuildInputs;
       src = fetchurl {
-        url = mirror://sourceforge/gmic/gmic_1.3.2.0.tar.gz;
-        sha256 = "0mxq664vzzc2l6k6sqm9syp34mihhi262i6fixk1g12lmc28797h";
+        url = mirror://sourceforge/gmic/gmic_1.5.7.2.tar.gz;
+        sha256 = "1cpbxb3p2c8bcv2cbr150whapzjc7w09i3jza0z9x3xj8c0vdyv1";
       };
       preConfigure = ''
         export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${imagemagick}/include/ImageMagick"
       '';
-      installPhase = "installPlugins src/gmic4gimp";
+      sourceRoot = "${name}/src";
+      buildPhase = "make gimp";
+      installPhase = "installPlugins gmic_gimp";
       meta = { 
         description = "script language for image processing which comes with its open-source interpreter";
         homepage = http://gmic.sourceforge.net/repository.shtml;
@@ -170,9 +175,9 @@ rec {
   # this is more than a gimp plugin !
   # either load the raw image with gimp (and the import dialog will popup)
   # or use the binary
-  ufraw = pluginDerivation {
-    name = "ufraw-0.15";
-    buildInputs = [pkgs.lcms gimp] ++ gimp.nativeBuildInputs;
+  ufraw = pluginDerivation rec {
+    name = "ufraw-0.19.2";
+    buildInputs = [pkgs.gtkimageview pkgs.lcms gimp] ++ gimp.nativeBuildInputs;
       # --enable-mime - install mime files, see README for more information
       # --enable-extras - build extra (dcraw, nikon-curve) executables
       # --enable-dst-correction - enable DST correction for file timestamps.
@@ -184,8 +189,8 @@ rec {
     configureFlags = "--enable-extras --enable-dst-correction --enable-contrast";
 
     src = fetchurl {
-      url = mirror://sourceforge/ufraw/ufraw-0.15.tar.gz;
-      sha256 = "0cf3csksjkyl91zxhjnn74vc31l14nm6n1i02s76xdvvkk9ics8k";
+      url = "mirror://sourceforge/ufraw/${name}.tar.gz";
+      sha256 = "1lxba7pb3vcsq94dwapg9bk9mb3ww6r3pvvcyb0ah5gh2sgzxgkk";
     };
     installPhase = "
       installPlugins ufraw-gimp
diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix
index dd1fbcc7e07..cd5388c1b88 100644
--- a/pkgs/applications/graphics/mirage/default.nix
+++ b/pkgs/applications/graphics/mirage/default.nix
@@ -17,6 +17,10 @@ buildPythonPackage rec {
 
     buildInputs = [ stdenv libX11 gettext ];
 
+    patchPhase = ''
+      sed -i "s@/usr/local/share/locale@$out/share/locale@" mirage.py
+    '';
+
     pythonPath = [ pygtk pil ];
 
     meta = {
diff --git a/pkgs/applications/graphics/sane/backends-git.nix b/pkgs/applications/graphics/sane/backends-git.nix
index c9cea4109dc..7ba6e1756ba 100644
--- a/pkgs/applications/graphics/sane/backends-git.nix
+++ b/pkgs/applications/graphics/sane/backends-git.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, fetchgit, hotplugSupport ? true, libusb ? null, gt68xxFirmware ? null }:
+{ stdenv, fetchurl, fetchgit, hotplugSupport ? true, libusb ? null
+, gt68xxFirmware ? null, snapscanFirmware ? null
+}:
 let
   firmware = gt68xxFirmware { inherit fetchurl; };
 in
@@ -29,6 +31,11 @@ stdenv.mkDerivation {
     if gt68xxFirmware != null then
       "mkdir -p \${out}/share/sane/gt68xx ; ln -s " + firmware.fw +
       " \${out}/share/sane/gt68xx/" + firmware.name
+    else if snapscanFirmware != null then
+      "mkdir -p \${out}/share/sane/snapscan ; ln -s " + snapscanFirmware +
+      " \${out}/share/sane/snapscan/your-firmwarefile.bin ;" +
+      "mkdir -p \${out}/etc/sane.d ; " +
+      "echo epson2 > \${out}/etc/sane.d/dll.conf"
     else "";
 
   meta = {
diff --git a/pkgs/applications/graphics/sane/backends.nix b/pkgs/applications/graphics/sane/backends.nix
index a53466ae818..eaf1c3b725f 100644
--- a/pkgs/applications/graphics/sane/backends.nix
+++ b/pkgs/applications/graphics/sane/backends.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null, libv4l ? null, pkgconfig ? null , gt68xxFirmware ? null }:
+{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null, libv4l ? null
+, pkgconfig ? null, gt68xxFirmware ? null, snapscanFirmware ? null
+}:
 
 assert hotplugSupport -> (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux");
 
@@ -36,6 +38,9 @@ stdenv.mkDerivation rec {
     if gt68xxFirmware != null then
       "mkdir -p \${out}/share/sane/gt68xx ; ln -s " + firmware.fw +
       " \${out}/share/sane/gt68xx/" + firmware.name
+    else if snapscanFirmware != null then
+      "mkdir -p \${out}/share/sane/snapscan ; ln -s " + snapscanFirmware +
+      " \${out}/share/sane/snapscan/your-firmwarefile.bin"
     else "";
 
   meta = {
diff --git a/pkgs/applications/graphics/sane/xsane.nix b/pkgs/applications/graphics/sane/xsane.nix
index de8d4c33652..32b39c0160d 100644
--- a/pkgs/applications/graphics/sane/xsane.nix
+++ b/pkgs/applications/graphics/sane/xsane.nix
@@ -1,4 +1,9 @@
-{ stdenv, fetchurl, saneBackends, saneFrontends, libX11, gtk, pkgconfig, libpng, libusb ? null }:
+{ stdenv, fetchurl, saneBackends, saneFrontends, libX11, gtk, pkgconfig, libpng
+, libusb ? null
+, gimpSupport ? false, gimp_2_8 ? null
+}:
+
+assert gimpSupport -> gimp_2_8 != null;
 
 stdenv.mkDerivation rec {
   name = "xsane-0.998";
@@ -12,8 +17,9 @@ stdenv.mkDerivation rec {
     sed -e '/SANE_CAP_ALWAYS_SETTABLE/d' -i src/xsane-back-gtk.c
   '';
 
-  buildInputs = [libpng saneBackends saneFrontends libX11 gtk pkgconfig ] ++
-	(if libusb != null then [libusb] else []);
+  buildInputs = [libpng saneBackends saneFrontends libX11 gtk pkgconfig ]
+    ++ (if libusb != null then [libusb] else [])
+    ++ stdenv.lib.optional gimpSupport gimp_2_8;
 
   meta = {
     homepage = http://www.sane-project.org/;
diff --git a/pkgs/applications/graphics/smartdeblur/default.nix b/pkgs/applications/graphics/smartdeblur/default.nix
new file mode 100644
index 00000000000..83f3c751029
--- /dev/null
+++ b/pkgs/applications/graphics/smartdeblur/default.nix
@@ -0,0 +1,33 @@
+{ fetchurl, stdenv, cmake, qt4, fftw }:
+
+let
+  rev = "9895036d26";
+in
+stdenv.mkDerivation rec {
+  name = "smartdeblur-git-${rev}";
+
+  src = fetchurl {
+    url = "https://github.com/Y-Vladimir/SmartDeblur/tarball/${rev}";
+    name = "${name}.tar.gz";
+    sha256 = "126x9x1zhqdarjz9in0p1qhmqg3jwz7frizadjvx723g2ppi33s4";
+  };
+
+  preConfigure = ''
+    cd src
+  '';
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ cmake qt4 fftw ];
+
+  cmakeFlags = "-DUSE_SYSTEM_FFTW=ON";
+
+  meta = {
+    homepage = "https://github.com/Y-Vladimir/SmartDeblur";
+    description = "Tool for restoring blurry and defocused images";
+    license = "GPLv3";
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
+
diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix
index 5fe30bd7a03..93d1b28854a 100644
--- a/pkgs/applications/graphics/zgrviewer/default.nix
+++ b/pkgs/applications/graphics/zgrviewer/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
   meta = {
     # Quicker to unpack locally than load Hydra
-    platforms = [];
+    hydraPlatforms = [];
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = with stdenv.lib.licenses; lgpl21Plus;
     description = "GraphViz graph viewer/navigator";
diff --git a/pkgs/applications/misc/adobe-reader/default.nix b/pkgs/applications/misc/adobe-reader/default.nix
index 46ccdb39946..a186f5f5ee0 100644
--- a/pkgs/applications/misc/adobe-reader/default.nix
+++ b/pkgs/applications/misc/adobe-reader/default.nix
@@ -3,7 +3,7 @@
 
 assert stdenv.system == "i686-linux";
 
-let version = "9.5.1"; in
+let version = "9.5.5"; in
 
 stdenv.mkDerivation {
   name = "adobe-reader-${version}-1";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/${version}/enu/AdbeRdr${version}-1_i486linux_enu.tar.bz2";
-    sha256 = "19mwhbfsivb21zmrz2hllf0kh4i225ac697y026bakyysn0vig56";
+    sha256 = "0h35misxrqkl5zlmmvray1bqf4ywczkm89n9qw7d9arqbg3aj3pf";
   };
 
   # !!! Adobe Reader contains copies of OpenSSL, libcurl, and libicu.
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
index cb594e494db..1b61d75ddf2 100644
--- a/pkgs/applications/misc/dunst/default.nix
+++ b/pkgs/applications/misc/dunst/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   rev = "6a3a855b48a3db64821d1cf8a91c5ee2815a2b2d";
-  name = "dunst-${rev}";
+  name = "dunst-0-${stdenv.lib.strings.substring 0 7 rev}";
 
   # 1.0.0 release doesn't include 100% CPU fix
   # https://github.com/knopwob/dunst/issues/98
diff --git a/pkgs/applications/misc/fbreader/default.nix b/pkgs/applications/misc/fbreader/default.nix
index fa361308ff1..612285c697c 100644
--- a/pkgs/applications/misc/fbreader/default.nix
+++ b/pkgs/applications/misc/fbreader/default.nix
@@ -25,10 +25,11 @@ stdenv.mkDerivation {
       --replace "/usr/share" "$out/share"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An e-book reader for Linux";
     homepage = http://www.fbreader.org/;
-    license = "GPL";
-    maintainer = [ stdenv.lib.maintainers.coroa ];
+    license = licenses.gpl3;
+    platforms = platforms.linux; # possibly also on unix general
+    maintainer = [ maintainers.coroa ];
   }; 
 }
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
new file mode 100644
index 00000000000..3c47e3bf8a8
--- /dev/null
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -0,0 +1,76 @@
+{ stdenv, fetchurl
+# core dependencies
+, cmake, pkgconfig, git, boost, cppunit, fftw
+# python wrappers
+, python, swig2, numpy, scipy, matplotlib
+# grc - the gnu radio companion
+, cheetahTemplate, pygtk
+# gr-wavelet: collection of wavelet blocks
+, gsl
+# gr-qtgui: the Qt-based GUI
+, qt4, qwt, pyqt4 #, pyqwt
+# gr-wxgui: the Wx-based GUI
+, wxPython, lxml
+# gr-audio: audio subsystems (system/OS dependent)
+, alsaLib
+# uhd: the Ettus USRP Hardware Driver Interface
+, uhd
+# gr-video-sdl: PAL and NTSC display
+, SDL
+, libusb1, orc, pyopengl
+, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "gnuradio-${version}";
+  version = "3.7.1";
+
+  src = fetchurl {
+    url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz";
+    sha256 = "1kfni8vpgr6v9rdiz3zsmwc07qj6zka9x22z2y0y4rak2xnzdxz9";
+  };
+
+  buildInputs = [
+    cmake pkgconfig git boost cppunit fftw python swig2 orc lxml qt4 qwt
+    alsaLib SDL libusb1 uhd gsl makeWrapper
+  ];
+
+  propagatedBuildInputs = [
+    cheetahTemplate numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl
+  ];
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable"
+  '';
+
+  # - Ensure we get an interactive backend for matplotlib. If not the gr_plot_*
+  #   programs will not display anything. Yes, $MATPLOTLIBRC must point to the
+  #   *dirname* where matplotlibrc is located, not the file itself.
+  # - GNU Radio core is C++ but the user interface (GUI and API) is Python, so
+  #   we must wrap the stuff in bin/.
+  postInstall = ''
+    printf "backend : Qt4Agg\n" > "$out/share/gnuradio/matplotlibrc"
+
+    for file in "$out"/bin/*; do
+        wrapProgram "$file" \
+            --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out") \
+            --set MATPLOTLIBRC "$out/share/gnuradio"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Software Defined Radio (SDR) software";
+    longDescription = ''
+      GNU Radio is a free & open-source software development toolkit that
+      provides signal processing blocks to implement software radios. It can be
+      used with readily-available low-cost external RF hardware to create
+      software-defined radios, or without hardware in a simulation-like
+      environment. It is widely used in hobbyist, academic and commercial
+      environments to support both wireless communications research and
+      real-world radio systems.
+    '';
+    homepage = http://www.gnuradio.org;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix
index baf97e7a824..b8bf0f38d10 100644
--- a/pkgs/applications/misc/ikiwiki/default.nix
+++ b/pkgs/applications/misc/ikiwiki/default.nix
@@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null);
 
 let
   name = "ikiwiki";
-  version = "3.20130518";
+  version = "3.20130904.1";
 
   lib = stdenv.lib;
 in
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
-    sha256 = "00mmxxlbzv6bz3cz3746r5lqwby6liwsg7m3jfba8258y52w13qp";
+    sha256 = "1nxycsz49y6801lbrvazzg7qc9q2vpr2ny1sba26f9gwc00c650h";
   };
 
   buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index 220309a8e22..17b86910de0 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -10,8 +10,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ];
 
+  enableParallelBuilding = true;
+
   preBuild = ''
-    export makeFlags="prefix=$out"
+    export makeFlags="prefix=$out build=release"
     export NIX_CFLAGS_COMPILE=" $NIX_CFLAGS_COMPILE -I$(echo ${openjpeg}/include/openjpeg-*) "
   '';
 
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index 3bed6e1a2d7..ae983aedc67 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/redshift-gtk" --prefix PYTHONPATH : $PYTHONPATH:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0:${pyxdg}/lib/${python.libPrefix}/site-packages/pyxdg:$out/lib/${python.libPrefix}/site-packages
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "changes the color temperature of your screen gradually";
     longDescription = ''
       The color temperature is set according to the position of the
@@ -39,5 +39,6 @@ stdenv.mkDerivation rec {
       '';
     license = "GPLv3+";
     homepage = "http://jonls.dk/redshift";
+    platforms = platforms.linux;
   }; 
 }
diff --git a/pkgs/applications/networking/browsers/icecat-3/default.nix b/pkgs/applications/networking/browsers/icecat-3/default.nix
index 7e181669cd1..84269a290e9 100644
--- a/pkgs/applications/networking/browsers/icecat-3/default.nix
+++ b/pkgs/applications/networking/browsers/icecat-3/default.nix
@@ -114,5 +114,6 @@ stdenv.mkDerivation {
   passthru = {
     inherit gtk version;
     isFirefox3Like = true;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
index 0363176257f..d4d95f7e5b9 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -44,9 +44,9 @@ let
         throw "no x86_64 debugging version available"
       else rec {
         # -> http://labs.adobe.com/downloads/flashplayer10.html
-        version = "11.2.202.297";
+        version = "11.2.202.310";
         url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
-        sha256 = "0jfigq56p6zp61pmc4jl12p8gv2jhfmim18j1b30iikw3iv26lh8";
+        sha256 = "03r9r7h3l4i15hw62k9il6pjzq122nldbgxr37b4y10xp08a9izj";
       }
     else if stdenv.system == "i686-linux" then
       if debug then {
@@ -55,9 +55,9 @@ let
         url = http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_plugin_debug.i386.tar.gz;
         sha256 = "1z3649lv9sh7jnwl8d90a293nkaswagj2ynhsr4xmwiy7c0jz2lk";
       } else rec {
-        version = "11.2.202.297";
+        version = "11.2.202.310";
         url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
-        sha256 = "0mpj25b2ar7gccqmw5lffdzlr3yyfalphpgwnl18s05wy1fx484y";
+        sha256 = "0qf09p92silp81pjfcg2vcfcfi1padizmb58q5iaarnapgkawlbh";
       }
     else throw "Flash Player is not supported on this platform";
 
diff --git a/pkgs/applications/networking/browsers/netsurf/haru.nix b/pkgs/applications/networking/browsers/netsurf/haru.nix
index 883cf94b06f..47f0c2f6455 100644
--- a/pkgs/applications/networking/browsers/netsurf/haru.nix
+++ b/pkgs/applications/networking/browsers/netsurf/haru.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation {
     license = "ZLIB/LIBPNG"; # see README.
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix b/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix
index 8ee8518c531..fec93c39ab9 100644
--- a/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libParserUtils.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation {
     license = "MIT";
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
index 63ae2ef86d4..5894e5c1c03 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation {
     license = "MIT";
     maintainers = [args.lib.maintainers.marcweber];
     platforms = args.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 24fdd105341..b7c9a76e151 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,30 +1,33 @@
-{ stdenv, fetchurl, dbus, gnutls2, wxGTK28, libidn, tinyxml, gettext, pkgconfig, xdg_utils, gtk2, sqlite }:
+{ stdenv, fetchurl, dbus, gnutls2, wxGTK28, libidn, tinyxml, gettext
+, pkgconfig, xdg_utils, gtk2, sqlite }:
 
-let version = "3.6.0.2"; in
+let version = "3.7.3"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "01n6k1q21i21451rdx3rgc4hhxghdn5b0ldzpjsp44ipgww5wsjk";
+    sha256 = "0hn043jjb7qh040dgyhffp9jrrmca1xxbc998vyqyg83lrq2j09b";
   };
 
   configureFlags = [
     "--disable-manualupdatecheck"
   ];
 
-  buildInputs = [ dbus gnutls2 wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite ];
+  buildInputs = [
+    dbus gnutls2 wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite
+  ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://filezilla-project.org/";
     description = "Graphical FTP, FTPS and SFTP client";
-    license = "GPLv2";
-
+    license = licenses.gpl2;
     longDescription = ''
       FileZilla Client is a free, open source FTP client. It supports
       FTP, SFTP, and FTPS (FTP over SSL/TLS). The client is available
       under many platforms, binaries for Windows, Linux and Mac OS X are
       provided.
     '';
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix
index c2af1274a24..59aef8c6c43 100644
--- a/pkgs/applications/networking/instant-messengers/toxic/default.nix
+++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix
@@ -2,8 +2,8 @@
 , libtoxcore, pkgconfig }:
 
 let
-  version = "75d356e52a";
-  date = "20131011";
+  version = "5570b7c98aa";
+  date = "20131112";
 in
 stdenv.mkDerivation rec {
   name = "toxic-${date}-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://github.com/Tox/toxic/tarball/${version}";
     name = "${name}.tar.gz";
-    sha256 = "14wyvms8l07sl88g8y6g2jv95sq7cnhbaqf4n32xxilch8rymq47";
+    sha256 = "02jfdp10qcw4w62qpra59m9yzzk7a3k2nypkbq5q7ydksbqlx8sj";
   };
 
   preConfigure = ''
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
new file mode 100644
index 00000000000..5aff37580d3
--- /dev/null
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, qt4, which, dbus_libs, boost, libtorrentRasterbar
+, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "qbittorrent-3.1.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
+    sha256 = "1viia11qixp1qqxcyiw1x4if63cfyqk4rscpzp1vnhnzm06irv7y";
+  };
+
+  buildInputs = [ qt4 which dbus_libs boost libtorrentRasterbar
+    pkgconfig ];
+
+  configureFlags = "--with-libboost-inc=${boost}/include "
+    + "--with-libboost-lib=${boost}/lib";
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Free Software alternative to µtorrent";
+    homepage = http://www.qbittorrent.org/;
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+  };
+}
diff --git a/pkgs/applications/networking/remote/freerdp/unstable.nix b/pkgs/applications/networking/remote/freerdp/unstable.nix
index ef8ddf8b0e3..cce3d23d194 100644
--- a/pkgs/applications/networking/remote/freerdp/unstable.nix
+++ b/pkgs/applications/networking/remote/freerdp/unstable.nix
@@ -25,7 +25,7 @@ assert printerSupport -> cups != null;
 let rev = "ec6effcb1e7759551cf31f5b18d768afc67db97d"; in
 
 stdenv.mkDerivation rec {
-  name = "freerdp-1.1pre${rev}";
+  name = "freerdp-1.1pre-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
     url = git://github.com/FreeRDP/FreeRDP.git;
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index b2b24a2565c..24bc20af652 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -1,8 +1,21 @@
 { stdenv, fetchurl, cmake, pkgconfig, makeWrapper
 , glib, gtk, gettext, libxkbfile, libgnome_keyring, libX11
-, freerdp, libssh, libgcrypt, gnutls }:
+, freerdp, libssh, libgcrypt, gnutls, makeDesktopItem }:
 
-let version = "1.0.0"; in
+let
+  version = "1.0.0";
+  
+  desktopItem = makeDesktopItem {
+    name = "remmina";
+    desktopName = "Remmina";
+    genericName = "Remmina Remote Desktop Client";
+    exec = "remmina";
+    icon = "remmina";
+    comment = "Connect to remote desktops";
+    categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;";
+  };
+
+in
 
 stdenv.mkDerivation {
   name = "remmina-${version}";
@@ -18,14 +31,21 @@ stdenv.mkDerivation {
 
   cmakeFlags = "-DWITH_VTE=OFF -DWITH_TELEPATHY=OFF -DWITH_AVAHI=OFF";
 
+  patches = [ ./lgthread.patch ];
+
   postInstall = ''
+    mkdir -pv $out/share/applications
+    mkdir -pv $out/share/icons
+    cp ${desktopItem}/share/applications/* $out/share/applications
+    cp -r $out/share/remmina/icons/* $out/share/icons
     wrapProgram $out/bin/remmina --prefix LD_LIBRARY_PATH : "${libX11}/lib"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     license = "GPLv2";
     homepage = "http://remmina.sourceforge.net/";
     description = "Remmina is a remote desktop client written in GTK+";
     maintainers = [];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/remote/remmina/lgthread.patch b/pkgs/applications/networking/remote/remmina/lgthread.patch
new file mode 100644
index 00000000000..2d8e60f7572
--- /dev/null
+++ b/pkgs/applications/networking/remote/remmina/lgthread.patch
@@ -0,0 +1,16 @@
+Fix [undefined reference to `g_thread_init'] as suggested by
+http://ragnermagalhaes.blogspot.ru/2007/09/undefined-reference-to-gthreadinit.html
+
+diff -ru FreeRDP-Remmina-356c033.orig/remmina/CMakeLists.txt FreeRDP-Remmina-356c033/remmina/CMakeLists.txt
+--- FreeRDP-Remmina-356c033.orig/remmina/CMakeLists.txt	2013-11-05 12:43:27.660276912 +0400
++++ FreeRDP-Remmina-356c033/remmina/CMakeLists.txt	2013-11-05 12:53:39.607018349 +0400
+@@ -132,6 +132,8 @@
+ 	endif()
+ endif()
+ 
++set( CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} -lgthread-2.0" )
++
+ add_subdirectory(po)
+ add_subdirectory(icons)
+ add_subdirectory(desktop)
+
diff --git a/pkgs/applications/networking/znc/modules.nix b/pkgs/applications/networking/znc/modules.nix
index ba6d36a3c76..478900bae4c 100644
--- a/pkgs/applications/networking/znc/modules.nix
+++ b/pkgs/applications/networking/znc/modules.nix
@@ -10,7 +10,7 @@ let
     inherit buildPhase;
     inherit installPhase;
 
-    meta.platforms = stdenv.lib.platforms.unix;
+    meta = a.meta // { platforms = stdenv.lib.platforms.unix; };
     passthru.module_name = module_name;
   });
 
@@ -30,7 +30,7 @@ in rec {
       description = "Push notification service module for ZNC";
       homepage = https://github.com/jreese/znc-push;
       repositories.git = https://github.com/jreese/znc-push.git;
-      license = stdenv.lib.license.mit;
+      license = stdenv.lib.licenses.mit;
       maintainers = [ stdenv.lib.maintainers.offline ];
     };
   };
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index eddaf8f33e7..b399c80ebff 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk, libgnomeui, libofx
 , libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
 , intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
-, libgsf, libart_lgpl
+, libgsf, libart_lgpl, perlPackages
 }:
 
 /* If you experience GConf errors when running GnuCash on NixOS, see
@@ -21,23 +21,31 @@ stdenv.mkDerivation rec {
     pkgconfig libxml2 gconf glib gtk libgnomeui libgtkhtml gtkhtml
     libgnomeprint goffice enchant gettext intltool perl guile slibGuile
     swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
+    perlPackages.DateManip perlPackages.FinanceQuote
   ];
 
   configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx";
 
   postInstall = ''
-    sed -i $out/bin/update-gnucash-gconf                                \
+    # Auto-updaters don't make sense in Nix.
+    rm $out/bin/gnc-fq-update
+
+    sed -i $out/bin/update-gnucash-gconf \
        -e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|'
-    for prog in "$out/bin/"*
+
+    for prog in $(echo "$out/bin/"*)
     do
+      # Don't wrap the gnc-fq-* scripts, since gnucash calls them as
+      # "perl <script>', i.e. they must be Perl scripts.
+      if [[ $prog =~ gnc-fq ]]; then continue; fi
       wrapProgram "$prog"                                               \
         --set SCHEME_LIBRARY_PATH "$SCHEME_LIBRARY_PATH"                \
         --prefix GUILE_LOAD_PATH ":" "$GUILE_LOAD_PATH"                 \
         --prefix LD_LIBRARY_PATH ":" "${libgnomeui}/lib/libglade/2.0"   \
         --prefix LD_LIBRARY_PATH ":" "${libbonoboui}/lib/libglade/2.0"  \
+        --prefix PERL5LIB ":" "$PERL5LIB"                               \
         --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
-        --prefix PATH ":" "${gconf}/bin"                                \
-        --suffix PATH ":" "$out/bin"
+        --prefix PATH ":" "$out/bin:${perl}/bin:${gconf}/bin"
     done
   '';
 
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index cc53611493d..11d2e770165 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchurl, fetchbzr, unzip, cmake, mesa, gtk, wxGTK, zlib, libX11, 
-gettext, cups } : 
+{ stdenv, fetchurl, fetchbzr, cmake, mesa, wxGTK, zlib, libX11, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "kicad-20130325";
+  name = "kicad-20131025";
 
-  src = fetchurl {
-    url = "http://iut-tice.ujf-grenoble.fr/cao/kicad-sources-stable_2013-03-25_BZR4005.zip";
-    sha256 = "0hg2aiis14am7mmpimcxnxvhy7c7fr5rgzlk6rjv44d9m0f9957m";
+  src = fetchbzr {
+    url = "https://code.launchpad.net/~kicad-stable-committers/kicad/stable";
+    revision = 4024;
+    sha256 = "1sv1l2zpbn6439ccz50p05hvqg6j551aqra551wck9h3929ghly5";
   };
 
   srcLibrary = fetchbzr {
     url = "http://bazaar.launchpad.net/~kicad-lib-committers/kicad/library";
-    revision = 220;
-    sha256 = "0l2lblgnm51n2w1p4ifpwdvq04rxgq73zrfxlhqa9zdlyh4rcddb";
+    revision = 293;
+    sha256 = "1wn9a4nhqyjzzfkq6xm7ag8n5n10xy7gkq6i7yry7wxini7pzv1i";
   };
 
-  cmakeFlags = "-DKICAD_TESTING_VERSION=ON";
+  cmakeFlags = "-DKICAD_STABLE_VERSION=ON";
 
   # They say they only support installs to /usr or /usr/local,
   # so we have to handle this.
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ unzip cmake mesa wxGTK zlib libX11 gettext ];
+  buildInputs = [ cmake mesa wxGTK zlib libX11 gettext ];
 
   postInstall = ''
     mkdir library
diff --git a/pkgs/applications/science/logic/hol/default.nix b/pkgs/applications/science/logic/hol/default.nix
index 2e1647b6c71..dc8e975ce1d 100644
--- a/pkgs/applications/science/logic/hol/default.nix
+++ b/pkgs/applications/science/logic/hol/default.nix
@@ -46,11 +46,11 @@ stdenv.mkDerivation {
     #sed -ie "/compute/,999 d" tools/build-sequence # for testing
 
     poly < tools/smart-configure.sml
-
+    
     bin/build ${kernelFlag} -symlink
 
     mkdir -p "$out/bin"
-    ln -st $out/bin  "$out/src/${holsubdir}/bin/"*
+    ln -st $out/bin  $out/src/${holsubdir}/bin/*
     # ln -s $out/src/hol4.${version}/bin $out/bin
   '';
 
diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix
index 5c8cb720324..68d1cca7e73 100644
--- a/pkgs/applications/science/logic/tptp/default.nix
+++ b/pkgs/applications/science/logic/tptp/default.nix
@@ -74,8 +74,7 @@ rec {
     # A GiB of data. Installation is unpacking and editing a few files.
     # No sense in letting Hydra build it.
     # Also, it is unclear what is covered by "verbatim" - we will edit configs
-    platforms = with a.lib.platforms;
-      [];
+    hydraPlatforms = [];
     license = "verbatim-redistribution";
   };
   passthru = {
diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix
index cedb491cc8b..997080ee303 100644
--- a/pkgs/applications/science/math/mathematica/default.nix
+++ b/pkgs/applications/science/math/mathematica/default.nix
@@ -18,10 +18,8 @@
 
 let
   platform =
-    if stdenv.system == "i686-linux" then
+    if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then
       "Linux"
-    else if stdenv.system == "x86_64-linux" then
-      "Linux-x86-64"
     else
       throw "Mathematica requires i686-linux or x86_64 linux";
 in
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index b8f7f2e65b6..2c85a1c97d1 100644
--- a/pkgs/applications/science/math/maxima/default.nix
+++ b/pkgs/applications/science/math/maxima/default.nix
@@ -2,7 +2,7 @@
 
 let
   name    = "maxima";
-  version = "5.31.2";
+  version = "5.31.3";
 
   searchPath =
     stdenv.lib.makeSearchPath "bin"
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "12j5irwfckl5583h7lwh0wrp0c65q7mqzcsri2v086j50xvvv398";
+    sha256 = "1g959569plywqaxxp488ylblgkirqg24arwa93dplfxi4h7fc4km";
   };
 
   buildInputs = [sbcl texinfo perl makeWrapper];
diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix
index 4c1cf318b5a..2e25ff582ee 100644
--- a/pkgs/applications/science/misc/vite/default.nix
+++ b/pkgs/applications/science/misc/vite/default.nix
@@ -44,5 +44,7 @@ stdenv.mkDerivation {
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+
+    broken = true;
   };
 }
diff --git a/pkgs/applications/version-management/darcs/default.nix b/pkgs/applications/version-management/darcs/default.nix
index f33e479b3ad..8ec65e50adf 100644
--- a/pkgs/applications/version-management/darcs/default.nix
+++ b/pkgs/applications/version-management/darcs/default.nix
@@ -21,10 +21,13 @@ cabal.mkDerivation (self: {
     mv contrib/darcs_completion $out/etc/bash_completion.d/darcs
   '';
   meta = {
-    homepage = "http://darcs.net/";
-    description = "a distributed, interactive, smart revision control system";
+    homepage = http://darcs.net/;
+    description = "A distributed, interactive, smart revision control system";
     license = "GPL";
-    platforms = self.ghc.meta.platforms;
+    # FIXME: this gives an infinite recursion in the "darcs" attribute
+    # in all-packages.nix.
+    #platforms = self.ghc.meta.platforms;
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index af1ab52c04d..9f7f26041ca 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -66,7 +66,7 @@ rec {
   };
 
   tig = import ./tig {
-    inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl;
+    inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl docbook_xml_dtd_45;
   };
 
   hub = import ./hub {
diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
index e32a7dc52b9..2506de8d14e 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -14,8 +14,8 @@
 
 cabal.mkDerivation (self: {
   pname = "git-annex";
-  version = "4.20131024";
-  sha256 = "1a4mrx8zr5znhcy2cszv5ri9avqj7lcn467nmaj172f00vn4fd5x";
+  version = "4.20131106";
+  sha256 = "019k3zhbc3wjg8isndw6hkgrr3h3qxrbfydv7m6zpgv2khjyhfh0";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index fb2e34c7aac..050cfd1aabe 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -10,7 +10,7 @@
 
 let
 
-  version = "1.8.4";
+  version = "1.8.4.3";
 
   svn = subversionClient.override { perlBindings = true; };
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
-    sha256 = "156bwqqgaw65rsvbb4wih5jfg94bxyf6p16mdwf0ky3f4ln55s2i";
+    sha256 = "08fbdxh2cjd4hffm0nydwysh5zh6nrssbi9x01yy0n2y8rqzly0a";
   };
 
   patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ];
diff --git a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
index 557886a4deb..0752504278b 100644
--- a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "github-backup";
-  version = "1.20131006";
-  sha256 = "0yc2hszi509mc0d6245dc8cq20mjjmr8mgrd8571dy9sgda532pf";
+  version = "1.20131101";
+  sha256 = "07l8a3xiy65xicxa5v14li6jnj3niwhndm8gd6q4d7aw14yq8wbn";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index bdd6e806fe3..23009efdbd5 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -1,22 +1,30 @@
-{ stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl }:
+{ stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45 }:
 
 stdenv.mkDerivation rec {
-  name = "tig-1.1";
+  name = "tig-1.2.1";
+
   src = fetchurl {
     url = "http://jonas.nitro.dk/tig/releases/${name}.tar.gz";
-    md5 = "adeb797a8320962eeb345a615257cbac";
+    sha256 = "0i19lc6dd3vdpkdd8q07xii2c4mcpiwmg55av81jyhx0y82x425p";
   };
-  buildInputs = [ncurses asciidoc xmlto docbook_xsl];
+
+  buildInputs = [ ncurses asciidoc xmlto docbook_xsl ];
+
+  preConfigure = ''
+    export XML_CATALOG_FILES='${docbook_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml'
+  '';
+
   installPhase = ''
     make install
     make install-doc
     mkdir -p $out/etc/bash_completion.d/
     cp contrib/tig-completion.bash $out/etc/bash_completion.d/
   '';
+
   meta = with stdenv.lib; {
     homepage = "http://jonas.nitro.dk/tig/";
-    description = "Tig is a git repository browser that additionally can act as a pager for output from various git commands";
-    maintainers = [ maintainers.garbas maintainers.bjornfor maintainers.iElectric ];
+    description = "Text-mode interface for git";
+    maintainers = with maintainers; [ garbas bjornfor iElectric ];
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index b1469038d42..bdf34cdba9a 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -67,6 +67,9 @@ stdenv.mkDerivation rec {
         make install
         cd -
     fi
+
+    mkdir -p $out/share/bash-completion/completions
+    cp tools/client-side/bash_completion $out/share/bash-completion/completions/subversion
   '';
 
   inherit perlBindings pythonBindings;
@@ -77,6 +80,6 @@ stdenv.mkDerivation rec {
     description = "A version control system intended to be a compelling replacement for CVS in the open source community";
     homepage = http://subversion.apache.org/;
     maintainers = with stdenv.lib.maintainers; [ eelco lovek323 ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/applications/version-management/veracity/default.nix b/pkgs/applications/version-management/veracity/default.nix
index 6bf452c1821..4c69f41106b 100644
--- a/pkgs/applications/version-management/veracity/default.nix
+++ b/pkgs/applications/version-management/veracity/default.nix
@@ -102,6 +102,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux ;
+    broken = true;
   };
 }) x
 
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 7d2eb514c94..ed64448c13a 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -15,11 +15,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mkvtoolnix-6.2.0";
+  name = "mkvtoolnix-6.5.0";
 
   src = fetchurl {
     url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz";
-    sha256 = "0864vmdcnfwk5cb2fv1y60yvp9kqcyaqxwbvy4nsj7bzwv1iqysn";
+    sha256 = "0a3h878bsjbpb2r7b528xzyqzl8r82yhrniry9bnhmw7rcl53bd8";
   };
 
   buildInputs = [ libmatroska flac libvorbis file boost xdg_utils expat wxGTK zlib ruby gettext pkgconfig curl ];
diff --git a/pkgs/applications/video/tvtime/default.nix b/pkgs/applications/video/tvtime/default.nix
index eef6e9caf16..2ec5e813c41 100644
--- a/pkgs/applications/video/tvtime/default.nix
+++ b/pkgs/applications/video/tvtime/default.nix
@@ -60,5 +60,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [qknight];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 3d48b296ad9..de6ad902150 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   name = "vlc-${version}";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchurl {
     url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz";
-    sha256 = "1xs1zsjip6ljqyy5jlqf14ncda4pjx166bqvjqgcyskq66m7s5yj";
+    sha256 = "14mrcswz5mz976dmplbrdm3mkwjrksspvkignhbnbvrrp77r571k";
   };
 
   buildInputs =
diff --git a/pkgs/applications/video/xawtv/default.nix b/pkgs/applications/video/xawtv/default.nix
index 5f2e905efa0..63c1adb15e4 100644
--- a/pkgs/applications/video/xawtv/default.nix
+++ b/pkgs/applications/video/xawtv/default.nix
@@ -1,15 +1,31 @@
-{stdenv, fetchurl, ncurses, libjpeg, libX11, libXt, libXft, xproto, libFS, fontsproto, libXaw, libXpm, libXext, libSM, libICE, perl, xextproto, linux}:
+{stdenv, fetchurl, ncurses, libjpeg, libX11, libXt, alsaLib, aalib, libXft, xproto, libv4l
+, libFS, fontsproto, libXaw, libXpm, libXext, libSM, libICE, perl, xextproto, linux}:
 
-stdenv.mkDerivation {
-  name = "xawtv-3.95";
+stdenv.mkDerivation rec {
+  name = "xawtv-3.103";
   src = fetchurl {
-    url = http://dl.bytesex.org/releases/xawtv/xawtv-3.95.tar.gz;
-    md5 = "ad25e03f7e128b318e392cb09f52207d";
+    url = "http://linuxtv.org/downloads/xawtv/${name}.tar.bz2";
+    sha256 = "0lnxr3xip80g0rz7h6n14n9d1qy0cm56h0g1hsyr982rbldskwrc";
   };
+
   preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${linux}/lib/modules/*/build/include)"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${linux}/lib/modules/${linux.modDirVersion}/build"
   '';
-  buildInputs = [ncurses libjpeg libX11 libXt libXft xproto libFS fontsproto libXaw libXpm libXext libSM libICE perl xextproto];
-  patches = [./xawtv-3.95-libfs.patch ./xawtv-3.95-makefile.patch ./xawtv-3.95-page-mask.patch ];
+
+  configureFlags="--prefix=";
+  NIX_LDFLAGS="-lgcc_s";
+
+  makeFlags = "SUID_ROOT= DESTDIR=\$(out) PREFIX=";
+
+  buildInputs = [ncurses libjpeg libX11 libXt libXft xproto libFS perl alsaLib aalib
+                 fontsproto libXaw libXpm libXext libSM libICE xextproto libv4l];
+
+  meta = {
+    description = "TV application for Linux with apps and tools such as a teletext browser";
+    license = stdenv.lib.licenses.gpl2;
+    homePage = https://www.kraxel.org/blog/linux/xawtv/;
+    maintainers = with stdenv.lib.maintainers; [ iElectric ];
+    platforms = stdenv.lib.platforms.linux;
+  };
   
 }
diff --git a/pkgs/applications/video/xawtv/xawtv-3.95-libfs.patch b/pkgs/applications/video/xawtv/xawtv-3.95-libfs.patch
deleted file mode 100644
index 4555f105867..00000000000
--- a/pkgs/applications/video/xawtv/xawtv-3.95-libfs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ruN xawtv-3.95/console/fs.h xawtv-3.95.new/console/fs.h
---- xawtv-3.95/console/fs.h	2003-02-14 15:14:04.000000000 +0100
-+++ xawtv-3.95.new/console/fs.h	2006-01-03 22:16:06.000000000 +0100
-@@ -1,5 +1,5 @@
- #ifndef X_DISPLAY_MISSING
--# include <FSlib.h>
-+# include <X11/fonts/FSlib.h>
- 
- struct fs_font {
-     Font               font;
-diff -ruN xawtv-3.95/console/Subdir.mk xawtv-3.95.new/console/Subdir.mk
---- xawtv-3.95/console/Subdir.mk	2003-02-14 15:14:04.000000000 +0100
-+++ xawtv-3.95.new/console/Subdir.mk	2006-01-03 22:32:38.000000000 +0100
-@@ -74,7 +74,7 @@
- # libraries to link
- console/fbtv     : LDLIBS  += \
- 	$(THREAD_LIBS) $(CURSES_LIBS) $(LIRC_LIBS) $(ALSA_LIBS) \
--	$(FS_LIBS) -ljpeg -lm
-+	$(FS_LIBS) -ljpeg -lm -lFS
- console/ttv      : LDLIBS  += $(THREAD_LIBS) $(AA_LIBS) -ljpeg -lm
- console/scantv   : LDLIBS  += $(THREAD_LIBS) $(VBI_LIBS) -ljpeg
- console/streamer : LDLIBS  += $(THREAD_LIBS) -ljpeg -lm
diff --git a/pkgs/applications/video/xawtv/xawtv-3.95-makefile.patch b/pkgs/applications/video/xawtv/xawtv-3.95-makefile.patch
deleted file mode 100644
index 271bb4c7e5c..00000000000
--- a/pkgs/applications/video/xawtv/xawtv-3.95-makefile.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ruN xawtv-3.95/Makefile.in xawtv-3.95.new/Makefile.in
---- xawtv-3.95/Makefile.in	2004-04-22 16:52:29.000000000 +0200
-+++ xawtv-3.95.new/Makefile.in	2006-01-20 13:07:00.000000000 +0100
-@@ -3,7 +3,7 @@
- 
- # for package builds (buildroot install + no root privs needed)
- DESTDIR=
--SUID_ROOT=-m4755 -o root
-+SUID_ROOT=
- 
- # install paths
- prefix		:= @prefix@
-@@ -12,7 +12,7 @@
- mandir		:= $(DESTDIR)@mandir@
- libdir		:= $(DESTDIR)@libdir@/xawtv
- datadir		:= $(DESTDIR)@datadir@/xawtv
--resdir		:= $(DESTDIR)@resdir@
-+resdir		:= $(out)@resdir@
- config		:= @x11conf@/xawtvrc
- 
- # programs
diff --git a/pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch b/pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch
deleted file mode 100644
index 5714e8238e6..00000000000
--- a/pkgs/applications/video/xawtv/xawtv-3.95-page-mask.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Fix problems with fbtv and kernel headers
-
-diff -urN ../tmp-orig/xawtv-3.95/console/fbtools.c ./console/fbtools.c
---- xawtv-3.95/console/fbtools.c	2003-02-14 14:14:04.000000000 +0000
-+++ xawtv-3.95/console/fbtools.c	2006-08-23 10:57:40.000000000 +0000
-@@ -21,8 +21,6 @@
- #include <linux/vt.h>
- #include <linux/fb.h>
- 
--#include <asm/page.h>
--
- #include "fbtools.h"
- 
- /* -------------------------------------------------------------------- */
-@@ -424,7 +422,7 @@
- 	goto err;
-     }
- #endif
--    fb_mem_offset = (unsigned long)(fb_fix.smem_start) & (~PAGE_MASK);
-+    fb_mem_offset = (unsigned long)(fb_fix.smem_start) & ~(sysconf(_SC_PAGE_SIZE)-1);
-     fb_mem = mmap(NULL,fb_fix.smem_len+fb_mem_offset,
- 		  PROT_READ|PROT_WRITE,MAP_SHARED,fb,0);
-     if (-1L == (long)fb_mem) {
-diff -urN ../tmp-orig/xawtv-3.95/console/matrox.c ./console/matrox.c
---- xawtv-3.95/console/matrox.c	2005-02-03 10:40:41.000000000 +0000
-+++ xawtv-3.95/console/matrox.c	2006-08-23 11:09:51.000000000 +0000
-@@ -9,7 +9,6 @@
- #include <sys/ioctl.h>
- #include <sys/mman.h>
- 
--#include <asm/page.h> /* PAGE_SIZE */
- #include <linux/fb.h>
- 
- #include "byteswap.h"
-@@ -226,7 +225,7 @@
- 	return -1;
-     }
-     off = (unsigned long)fb_fix.mmio_start -
--	((unsigned long)fb_fix.mmio_start & ~(PAGE_SIZE-1));
-+	((unsigned long)fb_fix.mmio_start & ~(sysconf(_SC_PAGE_SIZE)-1));
-     bmmio += off;
-     mmio = (uint32_t*)bmmio;
-     return 0;
-
diff --git a/pkgs/applications/virtualization/nova/client.nix b/pkgs/applications/virtualization/nova/client.nix
index bb65f80d206..bcc72d19bb3 100644
--- a/pkgs/applications/virtualization/nova/client.nix
+++ b/pkgs/applications/virtualization/nova/client.nix
@@ -16,5 +16,6 @@ pythonPackages.buildPythonPackage rec {
   meta = {
     homepage = https://github.com/rackspace/python-novaclient;
     description = "Client library and command line tool for the OpenStack Nova API";
+    broken = true;
   };
 }
diff --git a/pkgs/applications/virtualization/nova/default.nix b/pkgs/applications/virtualization/nova/default.nix
index a9a36ffca4f..c1ef20b7aa0 100644
--- a/pkgs/applications/virtualization/nova/default.nix
+++ b/pkgs/applications/virtualization/nova/default.nix
@@ -20,13 +20,13 @@ stdenv.mkDerivation rec {
       paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate
       distutils_extra simplejson readline glance cheetah lockfile httplib2
       # !!! should libvirt be a build-time dependency?  Note that
-      # libxml2Python is a dependency of libvirt.py. 
+      # libxml2Python is a dependency of libvirt.py.
       libvirt libxml2Python
       novaclient
     ];
 
   buildInputs =
-    [ pythonPackages.python 
+    [ pythonPackages.python
       pythonPackages.wrapPython
       pythonPackages.mox
       intltool
@@ -45,11 +45,11 @@ stdenv.mkDerivation rec {
       substituteInPlace nova/api/ec2/cloud.py \
         --replace 'sh genrootca.sh' $out/libexec/nova/genrootca.sh
     '';
-  
+
   buildPhase = "python setup.py build";
 
   installPhase =
-    ''    
+    ''
       p=$(toPythonPath $out)
       export PYTHONPATH=$p:$PYTHONPATH
       mkdir -p $p
@@ -59,14 +59,14 @@ stdenv.mkDerivation rec {
       # computes some stuff from its own argv[0].  So put the wrapped
       # programs in $out/libexec under their original names.
       mkdir -p $out/libexec/nova
-      
+
       wrapProgram() {
           local prog="$1"
           local hidden=$out/libexec/nova/$(basename "$prog")
           mv $prog $hidden
           makeWrapper $hidden $prog "$@"
       }
-      
+
       wrapPythonPrograms
 
       cp -prvd etc $out/etc
@@ -86,9 +86,10 @@ stdenv.mkDerivation rec {
   doCheck = false; # !!! fix
 
   checkPhase = "python setup.py test";
-    
+
   meta = {
     homepage = http://nova.openstack.org/;
     description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller";
+    broken = true;
   };
 }
diff --git a/pkgs/applications/virtualization/xen/default.nix b/pkgs/applications/virtualization/xen/default.nix
index 3cb16a6b442..5f149b05978 100644
--- a/pkgs/applications/virtualization/xen/default.nix
+++ b/pkgs/applications/virtualization/xen/default.nix
@@ -136,5 +136,6 @@ stdenv.mkDerivation {
     description = "Xen hypervisor and management tools for Dom0";
     platforms = [ "i686-linux" "x86_64-linux" ];
     maintainers = [ stdenv.lib.maintainers.eelco ];
+    broken = true;
   };
 }
diff --git a/pkgs/build-support/clang-wrapper/builder.sh b/pkgs/build-support/clang-wrapper/builder.sh
index 9f1542e0411..3f90b9d32bd 100644
--- a/pkgs/build-support/clang-wrapper/builder.sh
+++ b/pkgs/build-support/clang-wrapper/builder.sh
@@ -58,11 +58,14 @@ fi
 doSubstitute() {
     local src=$1
     local dst=$2
+    local uselibcxx=
+    if test -n "$libcxx" && echo $dst | fgrep ++; then uselibcxx=$libcxx; fi
     # Can't use substitute() here, because replace may not have been
     # built yet (in the bootstrap).
     sed \
         -e "s^@out@^$out^g" \
         -e "s^@shell@^$shell^g" \
+        -e "s^@libcxx@^$uselibcxx^g" \
         -e "s^@clang@^$clang^g" \
         -e "s^@clangProg@^$clangProg^g" \
         -e "s^@binutils@^$binutils^g" \
diff --git a/pkgs/build-support/clang-wrapper/clang-wrapper.sh b/pkgs/build-support/clang-wrapper/clang-wrapper.sh
index 2052d2c2eb4..84067844cad 100644
--- a/pkgs/build-support/clang-wrapper/clang-wrapper.sh
+++ b/pkgs/build-support/clang-wrapper/clang-wrapper.sh
@@ -52,7 +52,6 @@ if test "$nonFlagArgs" = "0"; then
     dontLink=1
 fi
 
-
 # Optionally filter out paths not refering to the store.
 params=("$@")
 if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
@@ -79,6 +78,10 @@ if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then
     params=("${rest[@]}")
 fi
 
+if test -n "@libcxx@"; then
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem@libcxx@/include/c++/v1 -stdlib=libc++"
+    NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -L@libcxx@/lib -stdlib=libc++ -lc++abi"
+fi
 
 # Add the flags for the C compiler proper.
 extraAfter=($NIX_CFLAGS_COMPILE)
@@ -134,6 +137,12 @@ if test -n "$NIX_CLANG_WRAPPER_EXEC_HOOK"; then
     source "$NIX_CLANG_WRAPPER_EXEC_HOOK"
 fi
 
+# We nuke LD_LIBRARY_PATH here, because clang dynamically links to LLVM.
+# Unfortunately, when such clang is used to build LLVM again, it can get in
+# trouble temporarily binding to the build-directory versions of the libraries
+# (the buildsystem sets LD_LIBRARY_PATH).  That is very undesirable and can
+# cause mysterious failures.
+LD_LIBRARY_PATH=
 
 # Call the real `clang'.  Filter out warnings from stderr about unused
 # `-B' flags, since they confuse some programs.  Deep bash magic to
diff --git a/pkgs/build-support/clang-wrapper/default.nix b/pkgs/build-support/clang-wrapper/default.nix
index 9f560d0d2fb..1b2a02fa86a 100644
--- a/pkgs/build-support/clang-wrapper/default.nix
+++ b/pkgs/build-support/clang-wrapper/default.nix
@@ -7,7 +7,7 @@
 
 { name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? ""
 , clang ? null, libc ? null, binutils ? null, coreutils ? null, shell ? ""
-, zlib ? null
+, zlib ? null, libcxx ? null
 }:
 
 assert nativeTools -> nativePrefix != "";
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
   utils = ./utils.sh;
   addFlags = ./add-flags;
   
-  inherit nativeTools nativeLibc nativePrefix clang clangVersion;
+  inherit nativeTools nativeLibc nativePrefix clang clangVersion libcxx;
   gcc = clang.gcc;
   libc = if nativeLibc then null else libc;
   binutils = if nativeTools then null else binutils;
diff --git a/pkgs/build-support/fetchsvn/builder.sh b/pkgs/build-support/fetchsvn/builder.sh
index ea52ca19fa6..68dce2cc585 100644
--- a/pkgs/build-support/fetchsvn/builder.sh
+++ b/pkgs/build-support/fetchsvn/builder.sh
@@ -21,8 +21,8 @@ fi;
 # Pipe the "p" character into Subversion to force it to accept the
 # server's certificate.  This is perfectly safe: we don't care
 # whether the server is being spoofed --- only the cryptographic
-# hash of the output matters.
-echo 'p' | svn export ${ignoreExternals:+--ignore-externals} \
+# hash of the output matters. Pass in extra p's to handle redirects.
+printf 'p\np\np\n' | svn export ${ignoreExternals:+--ignore-externals} \
     -r "$rev" "$url" "$out"
 
 stopNest
diff --git a/pkgs/data/fonts/andagii/default.nix b/pkgs/data/fonts/andagii/default.nix
index 6e59e97171e..8b08708fb1d 100644
--- a/pkgs/data/fonts/andagii/default.nix
+++ b/pkgs/data/fonts/andagii/default.nix
@@ -43,8 +43,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      [];
+    hydraPlatforms = [];
     # There are multiple claims that the font is GPL, 
     # so I include the package; but I cannot find the
     # original source, so use it on your own risk
diff --git a/pkgs/desktops/xfce/core/libxfce4ui.nix b/pkgs/desktops/xfce/core/libxfce4ui.nix
index 4f0e7062e45..5675c09fed8 100644
--- a/pkgs/desktops/xfce/core/libxfce4ui.nix
+++ b/pkgs/desktops/xfce/core/libxfce4ui.nix
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
       libstartup_notification
     ];
 
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/desktops/xfce/core/thunar-archive-plugin.nix b/pkgs/desktops/xfce/core/thunar-archive-plugin.nix
index 62b04caaa34..4776af3be32 100644
--- a/pkgs/desktops/xfce/core/thunar-archive-plugin.nix
+++ b/pkgs/desktops/xfce/core/thunar-archive-plugin.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig thunar intltool exo gtk udev libxfce4ui libxfce4util xfconf ];
   enableParallelBuilding = true;
 
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
   meta = {
     homepage = http://foo-projects.org/~benny/projects/thunar-archive-plugin/;
     description = "The Thunar Archive Plugin allows you to create and extract archive files using the file context menus in the Thunar file manager";
diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix
index 1e7c3c5127e..06902792624 100644
--- a/pkgs/desktops/xfce/core/tumbler.nix
+++ b/pkgs/desktops/xfce/core/tumbler.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, intltool, dbus_glib, gdk_pixbuf }:
+{ stdenv, fetchurl, pkgconfig, intltool, dbus_glib, gdk_pixbuf, curl, freetype,
+libgsf, poppler, bzip2 }:
 
 stdenv.mkDerivation rec {
   p_name  = "tumbler";
@@ -11,11 +12,24 @@ stdenv.mkDerivation rec {
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
-  buildInputs = [ pkgconfig intltool dbus_glib gdk_pixbuf ];
+  buildInputs = [ pkgconfig intltool dbus_glib gdk_pixbuf curl freetype
+    poppler libgsf bzip2];
+
+  configureFlags = [
+    # Needs gst-tag
+    # "--enable-gstreamer-thumbnailer"
+
+    # Needs libffmpegthumbnailer
+    # "--enable-ffmpeg-thumbnailer"
+    
+    "--enable-odf-thumbnailer"
+    "--enable-poppler-thumbnailer"
+  ];
 
   meta = {
     homepage = http://git.xfce.org/xfce/tumbler/;
     description = "A D-Bus thumbnailer service";
+    platforms = stdenv.lib.platforms.linux;
     license = "GPLv2";
   };
 }
diff --git a/pkgs/development/compilers/elm/elm.nix b/pkgs/development/compilers/elm/elm.nix
index c9e9fb9e14b..6fc65bf368b 100644
--- a/pkgs/development/compilers/elm/elm.nix
+++ b/pkgs/development/compilers/elm/elm.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Elm";
-  version = "0.10.0.1";
-  sha256 = "1r7z2fw9v6ngr9w4lmj1l6sc78rmxvqkqlxv4a9yc5jm80k3ar0i";
+  version = "0.10.0.2";
+  sha256 = "08aqz9lf754ygdwvjf4bs5ivnjyjx9rd43vrbzp0p4d3if6w6avz";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/compilers/gcc/4.6/default.nix b/pkgs/development/compilers/gcc/4.6/default.nix
index 6713dd12b3c..d7d9325ca4f 100644
--- a/pkgs/development/compilers/gcc/4.6/default.nix
+++ b/pkgs/development/compilers/gcc/4.6/default.nix
@@ -462,7 +462,10 @@ stdenv.mkDerivation ({
     # Volunteers needed for the {Cyg,Dar}win ports of *PPL.
     # gnatboot is not available out of linux platforms, so we disable the darwin build
     # for the gnat (ada compiler).
-    platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false && libelf == null) [ "i686-darwin" ];
+    platforms =
+      stdenv.lib.platforms.linux ++
+      stdenv.lib.platforms.freebsd ++
+      optionals (langAda == false) stdenv.lib.platforms.darwin;
   };
 }
 
diff --git a/pkgs/development/compilers/ghc/with-packages.nix b/pkgs/development/compilers/ghc/with-packages.nix
index b32b12d5b95..9909c49e143 100644
--- a/pkgs/development/compilers/ghc/with-packages.nix
+++ b/pkgs/development/compilers/ghc/with-packages.nix
@@ -1,16 +1,42 @@
-{ stdenv, ghc, packages, buildEnv, makeWrapper }:
+{ stdenv, ghc, packages, buildEnv, makeWrapper, ignoreCollisions ? false }:
 
-assert packages != [];
+# This wrapper works only with GHC 6.12 or later.
+assert stdenv.lib.versionOlder "6.12" ghc.version;
+
+# It's probably a good idea to include the library "ghc-paths" in the
+# compiler environment, because we have a specially patched version of
+# that package in Nix that honors these environment variables
+#
+#   NIX_GHC
+#   NIX_GHCPKG
+#   NIX_GHC_DOCDIR
+#   NIX_GHC_LIBDIR
+#
+# instead of hard-coding the paths. The wrapper sets these variables
+# appropriately to configure ghc-paths to point back to the wrapper
+# instead of to the pristine GHC package, which doesn't know any of the
+# additional libraries.
+#
+# A good way to import the environment set by the wrapper below into
+# your shell is to add the following snippet to your ~/.bashrc:
+#
+#   if [ -e ~/.nix-profile/bin/ghc ]; then
+#     eval $(grep export ~/.nix-profile/bin/ghc)
+#   fi
 
 let
   ghc761OrLater = stdenv.lib.versionOlder "7.6.1" ghc.version;
-  packageDBFlag = if ghc761OrLater then "--package-db" else "--package-conf";
+  packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf";
   libDir        = "$out/lib/ghc-${ghc.version}";
+  docDir        = "$out/share/doc/ghc/html";
   packageCfgDir = "${libDir}/package.conf.d";
+  isHaskellPkg  = x: (x ? pname) && (x ? version);
 in
+if packages == [] then ghc else
 buildEnv {
   name = "haskell-env-${ghc.name}";
-  paths = stdenv.lib.filter (x: x ? ghc) (stdenv.lib.closePropagation packages) ++ [ghc];
+  paths = stdenv.lib.filter isHaskellPkg (stdenv.lib.closePropagation packages) ++ [ghc];
+  inherit ignoreCollisions;
   postBuild = ''
     . ${makeWrapper}/nix-support/setup-hook
 
@@ -20,6 +46,7 @@ buildEnv {
         --add-flags '"-B$NIX_GHC_LIBDIR"'               \
         --set "NIX_GHC"        "$out/bin/ghc"           \
         --set "NIX_GHCPKG"     "$out/bin/ghc-pkg"       \
+        --set "NIX_GHC_DOCDIR" "${docDir}"              \
         --set "NIX_GHC_LIBDIR" "${libDir}"
     done
 
@@ -29,12 +56,13 @@ buildEnv {
         --add-flags "-f $out/bin/ghc"                   \
         --set "NIX_GHC"        "$out/bin/ghc"           \
         --set "NIX_GHCPKG"     "$out/bin/ghc-pkg"       \
+        --set "NIX_GHC_DOCDIR" "${docDir}"              \
         --set "NIX_GHC_LIBDIR" "${libDir}"
     done
 
     for prg in ghc-pkg ghc-pkg-${ghc.version}; do
       rm -f $out/bin/$prg
-      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag} ${packageCfgDir}"
+      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag}=${packageCfgDir}"
     done
 
     $out/bin/ghc-pkg recache
diff --git a/pkgs/development/compilers/llvm/clang-tablegen-dir.patch b/pkgs/development/compilers/llvm/clang-tablegen-dir.patch
new file mode 100644
index 00000000000..de6a468b239
--- /dev/null
+++ b/pkgs/development/compilers/llvm/clang-tablegen-dir.patch
@@ -0,0 +1,9 @@
+--- a/utils/TableGen/CMakeLists.txt       (revision 190146)
++++ b/utils/TableGen/CMakeLists.txt       (working copy)
+@@ -1,4 +1,5 @@
+ set(LLVM_LINK_COMPONENTS Support)
++set(LLVM_TOOLS_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
+ 
+ add_tablegen(clang-tblgen CLANG
+   ClangASTNodesEmitter.cpp
+
diff --git a/pkgs/development/compilers/llvm/clang.nix b/pkgs/development/compilers/llvm/clang.nix
index df58591973e..8c178c9ce03 100644
--- a/pkgs/development/compilers/llvm/clang.nix
+++ b/pkgs/development/compilers/llvm/clang.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ perl llvm groff cmake libxml2 python ];
 
-  patches = stdenv.lib.optional (stdenv.gcc.libc != null) ./clang-purity.patch;
+  patches = [ ./clang-tablegen-dir.patch ] ++
+            stdenv.lib.optional (stdenv.gcc.libc != null) ./clang-purity.patch;
 
   cmakeFlags = [
     "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}"
diff --git a/pkgs/development/compilers/scala/2.9.nix b/pkgs/development/compilers/scala/2.9.nix
new file mode 100644
index 00000000000..a7c9dbc9073
--- /dev/null
+++ b/pkgs/development/compilers/scala/2.9.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl }:
+
+# at runtime, need jre or jdk
+
+stdenv.mkDerivation rec {
+  name = "scala-2.9.2";
+
+  src = fetchurl {
+    url = "http://www.scala-lang.org/downloads/distrib/files/${name}.tgz";
+    sha256 = "0s1shpzw2hyz7bwxdqq19rcrzbpq4d7b0kvdvjvhy7h05x496b46";
+  };
+
+  installPhase = ''
+    mkdir -p $out
+    rm bin/*.bat
+    rm lib/scalacheck.jar
+    mv * $out
+  '';
+
+  meta = {
+    description = "Scala is a general purpose programming language";
+    longDescription = ''
+      Scala is a general purpose programming language designed to express
+      common programming patterns in a concise, elegant, and type-safe way.
+      It smoothly integrates features of object-oriented and functional
+      languages, enabling Java and other programmers to be more productive.
+      Code sizes are typically reduced by a factor of two to three when
+      compared to an equivalent Java application.
+    '';
+    homepage = http://www.scala-lang.org/;
+    license = "BSD";
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index a7c9dbc9073..c128baf5100 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -1,20 +1,23 @@
-{ stdenv, fetchurl }:
-
-# at runtime, need jre or jdk
+{ stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "scala-2.9.2";
+  name = "scala-2.10.3";
 
   src = fetchurl {
-    url = "http://www.scala-lang.org/downloads/distrib/files/${name}.tgz";
-    sha256 = "0s1shpzw2hyz7bwxdqq19rcrzbpq4d7b0kvdvjvhy7h05x496b46";
+    url = "http://www.scala-lang.org/files/archive/${name}.tgz";
+    sha256 = "16ac935wydrxrvijv4ldnz4vl2xk8yb3yzb9bsi3nb9sic7fxl95";
   };
 
+  buildInputs = [ jre makeWrapper ] ;
+
   installPhase = ''
     mkdir -p $out
     rm bin/*.bat
-    rm lib/scalacheck.jar
     mv * $out
+
+    for p in $(ls $out/bin/) ; do
+      wrapProgram $out/bin/$p --prefix PATH ":" ${jre}/bin ;
+    done
   '';
 
   meta = {
diff --git a/pkgs/development/interpreters/erlang/R16B01.nix b/pkgs/development/interpreters/erlang/default.nix
index 168db4484b1..9562a0dc452 100644
--- a/pkgs/development/interpreters/erlang/R16B01.nix
+++ b/pkgs/development/interpreters/erlang/default.nix
@@ -4,14 +4,13 @@
 
 assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
 
-let version = "16B01"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "erlang-" + version;
+  version = "R16B02";
 
   src = fetchurl {
-    url = "http://www.erlang.org/download/otp_src_R16B01.tar.gz";
-    sha256 = "1h5b2mil79z307mc7ammi38qnd8f50n3sv5vyl4d1gcfgg08nf6s";
+    url = "http://www.erlang.org/download/otp_src_${version}.tar.gz";
+    sha256 = "119gnf3jfd98hpxxqs8vnzrc81myv07y302b99alalqqz0fsvf3a";
   };
 
   buildInputs =
diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix
new file mode 100644
index 00000000000..e5e3aed8d12
--- /dev/null
+++ b/pkgs/development/interpreters/luajit/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl} :
+
+stdenv.mkDerivation rec{
+    version = "2.0.2";
+    name = "LuaJIT-${version}";
+
+    src = fetchurl {
+        url="http://luajit.org/download/${name}.tar.gz";
+        sha256="0f3cykihfdn3gi6na9p0xjd4jnv26z18m441n5vyg42q9abh4ln0";
+    };
+
+    installPhase = ''
+        mkdir -p $out
+        make install PREFIX=$out
+    '';
+
+    meta = {
+        description= "Just-in-time compiler and interpreter for lua 5.1.";
+        homepage = http://luajit.org;
+        license = stdenv.lib.licenses.mit;
+    };
+}
diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix
index 3edf25b0cd9..1e3d73fa884 100644
--- a/pkgs/development/interpreters/php/5.4.nix
+++ b/pkgs/development/interpreters/php/5.4.nix
@@ -9,7 +9,7 @@ in
 
 composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
 
-  version = "5.4.20";
+  version = "5.4.21";
 
   name = "php-${version}";
 
@@ -235,7 +235,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
       "http://nl1.php.net/get/php-${version}.tar.bz2/from/this/mirror"
       "http://se1.php.net/get/php-${version}.tar.bz2/from/this/mirror"
     ];
-    sha256 = "1qarcxj46rzkmql3w2dln0hxzs349ph31fxcslizxch1ig7l43nd";
+    sha256 = "1v2nqvgb0lvja4as5361ja3ry8ja7ib38wzia34g7inw3bp7r3za";
     name = "php-${version}.tar.bz2";
   };
 
diff --git a/pkgs/development/interpreters/pypy/2.1/default.nix b/pkgs/development/interpreters/pypy/2.2/default.nix
index f80a1dc7242..b418b50c089 100644
--- a/pkgs/development/interpreters/pypy/2.1/default.nix
+++ b/pkgs/development/interpreters/pypy/2.2/default.nix
@@ -5,7 +5,7 @@ assert zlibSupport -> zlib != null;
 
 let
 
-  majorVersion = "2.1";
+  majorVersion = "2.2";
   version = "${majorVersion}";
   pythonVersion = "2.7";
   libPrefix = "pypy${majorVersion}";
@@ -17,7 +17,7 @@ let
 
     src = fetchurl {
       url = "https://bitbucket.org/pypy/pypy/downloads/pypy-${version}-src.tar.bz2";
-      sha256 = "05vz7ya6jh5pw5yl607cf1rvdhwxj5d4ip0vpgb1gc9rjxn0dcri";
+      sha256 = "0kp0922d1739v3fqnxhrbwz1fg651dc5dmk3199ikq1rc2wgrzsh";
     };
 
     buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite ]
diff --git a/pkgs/development/interpreters/pypy/2.1/setup-hook.sh b/pkgs/development/interpreters/pypy/2.2/setup-hook.sh
index 87874f0370b..35f4915569e 100644
--- a/pkgs/development/interpreters/pypy/2.1/setup-hook.sh
+++ b/pkgs/development/interpreters/pypy/2.2/setup-hook.sh
@@ -1,12 +1,12 @@
 addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.1/site-packages
+    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.2/site-packages
 }
 
 toPythonPath() {
     local paths="$1"
     local result=
     for i in $paths; do
-        p="$i/lib/pypy2.1/site-packages"
+        p="$i/lib/pypy2.2/site-packages"
         result="${result}${result:+:}$p"
     done
     echo $result
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index 1699690749f..34af23740d5 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -1,25 +1,28 @@
-{ stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [] }:
+{ stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [], postBuild ? ""
+, stdLibs ? stdenv.lib.attrValues python.modules
+}:
 
 # Create a python executable that knows about additional packages.
 
 (buildEnv {
   name = "python-${python.version}-wrapper";
-  paths = extraLibs ++ [ python makeWrapper recursivePthLoader ];
+  paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ stdLibs ++ [ python recursivePthLoader ];
   ignoreCollisions = false;
 
   postBuild = ''
     . "${makeWrapper}/nix-support/setup-hook"
+
     if [ -L "$out/bin" ]; then
         unlink "$out/bin"
     fi
     mkdir -p "$out/bin"
+
     cd "${python}/bin"
     for prg in *; do
-      echo "$prg --> $out/bin/$prg"
       rm -f "$out/bin/$prg"
       makeWrapper "${python}/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out"
     done
-  '';
+  '' + postBuild;
 }) // {
   inherit python;
   inherit (python) meta;
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
index f0cfa7b0152..761aeb921cc 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -12,7 +12,7 @@ g: # Get dependencies from patched gems
     activesupport = g.activesupport_4_0_0;
     addressable = g.addressable_2_3_5;
     arel = g.arel_4_0_0;
-    atomic = g.atomic_1_1_13;
+    atomic = g.atomic_1_1_14;
     atoulme_Antwrap = g.atoulme_Antwrap_0_7_4;
     autotest_rails = g.autotest_rails_4_1_2;
     aws_sdk = g.aws_sdk_1_16_1;
@@ -24,6 +24,9 @@ g: # Get dependencies from patched gems
     childprocess = g.childprocess_0_3_9;
     chronic = g.chronic_0_10_1;
     coderay = g.coderay_1_0_9;
+    coffee_rails = g.coffee_rails_4_0_1;
+    coffee_script = g.coffee_script_2_2_0;
+    coffee_script_source = g.coffee_script_source_1_6_3;
     cucumber = g.cucumber_1_3_8;
     daemons = g.daemons_1_1_9;
     diff_lcs = g.diff_lcs_1_1_3;
@@ -35,6 +38,7 @@ g: # Get dependencies from patched gems
     ethon = g.ethon_0_6_1;
     eventmachine = g.eventmachine_1_0_3;
     eventmachine_tail = g.eventmachine_tail_0_6_4;
+    execjs = g.execjs_2_0_2;
     fakes3 = g.fakes3_0_1_5;
     faraday = g.faraday_0_8_8;
     faraday_middleware = g.faraday_middleware_0_9_0;
@@ -50,6 +54,7 @@ g: # Get dependencies from patched gems
     http_cookie = g.http_cookie_1_0_1;
     i18n = g.i18n_0_6_5;
     iconv = g.iconv_1_0_3;
+    jquery_rails = g.jquery_rails_3_0_4;
     jruby_pageant = g.jruby_pageant_1_1_1;
     jsduck = g.jsduck_5_1_0;
     json = g.json_1_8_0;
@@ -65,7 +70,8 @@ g: # Get dependencies from patched gems
     mini_portile = g.mini_portile_0_5_1;
     minitar = g.minitar_0_5_3;
     minitest = g.minitest_4_7_5;
-    multi_json = g.multi_json_1_7_9;
+    mono_logger = g.mono_logger_1_1_0;
+    multi_json = g.multi_json_1_8_2;
     multi_test = g.multi_test_0_0_2;
     multipart_post = g.multipart_post_1_2_0;
     net_http_digest_auth = g.net_http_digest_auth_1_4;
@@ -84,14 +90,17 @@ g: # Get dependencies from patched gems
     pry = g.pry_0_9_12_2;
     pusher_client = g.pusher_client_0_3_1;
     rack = g.rack_1_5_2;
-    rack_protection = g.rack_protection_1_5_0;
-    rack_test = g.rack_test_0_6_2;
+    rack_protection = g.rack_protection_1_5_1;
     rails = g.rails_4_0_0;
     railties = g.railties_4_0_0;
     rake = g.rake_10_1_0;
     rb_fsevent = g.rb_fsevent_0_9_3;
     rdiscount = g.rdiscount_2_1_6;
+    redis = g.redis_3_0_5;
+    redis_namespace = g.redis_namespace_1_3_1;
     remote_syslog = g.remote_syslog_1_6_14;
+    resque = g.resque_1_25_1;
+    resque_web = g.resque_web_0_0_3;
     right_aws = g.right_aws_3_1_0;
     right_http_connection = g.right_http_connection_1_4_0;
     rjb = g.rjb_1_4_8;
@@ -105,13 +114,14 @@ g: # Get dependencies from patched gems
     ruby_hmac = g.ruby_hmac_0_4_0;
     rubyforge = g.rubyforge_2_0_4;
     rubyzip = g.rubyzip_0_9_9;
-    sass = g.sass_3_2_10;
+    sass = g.sass_3_2_12;
+    sass_rails = g.sass_rails_4_0_1;
     selenium_webdriver = g.selenium_webdriver_2_35_1;
     servolux = g.servolux_0_10_0;
-    sinatra = g.sinatra_1_3_2;
+    sinatra = g.sinatra_1_4_4;
     slop = g.slop_3_4_6;
     sprockets = g.sprockets_2_10_0;
-    sprockets_rails = g.sprockets_rails_2_0_0;
+    sprockets_rails = g.sprockets_rails_2_0_1;
     syslog_protocol = g.syslog_protocol_0_9_2;
     systemu = g.systemu_2_5_2;
     taskjuggler = g.taskjuggler_3_5_0;
@@ -120,19 +130,21 @@ g: # Get dependencies from patched gems
     text = g.text_1_2_3;
     thin = g.thin_1_5_1;
     thor = g.thor_0_18_1;
-    thread_safe = g.thread_safe_0_1_2;
+    thread_safe = g.thread_safe_0_1_3;
     tilt = g.tilt_1_4_1;
     tins = g.tins_0_9_0;
     travis = g.travis_1_5_3;
     treetop = g.treetop_1_4_15;
     trollop = g.trollop_2_0;
+    twitter_bootstrap_rails = g.twitter_bootstrap_rails_2_2_8;
     typhoeus = g.typhoeus_0_6_5;
-    tzinfo = g.tzinfo_0_3_37;
+    tzinfo = g.tzinfo_0_3_38;
     unf = g.unf_0_1_2;
     unf_ext = g.unf_ext_0_0_6;
     unicode = g.unicode_0_4_4;
     uuid = g.uuid_2_3_7;
     uuidtools = g.uuidtools_2_1_4;
+    vegas = g.vegas_0_1_11;
     webrobots = g.webrobots_0_1_1;
     websocket = g.websocket_1_0_7;
     xapian_full = g.xapian_full_1_2_3;
@@ -282,6 +294,17 @@ database compatibility and query generation.'';
       requiredGems = [  ];
       sha256 = ''0sdy8fcncm6p2cba3p8v7dnbsa4z41f4cs1dd0myf4fq7axrrh0s'';
     };
+    atomic_1_1_14 = {
+      basename = ''atomic'';
+      meta = {
+        description = ''An atomic reference implementation for JRuby, Rubinius, and MRI'';
+        homepage = ''http://github.com/headius/ruby-atomic'';
+        longDescription = ''An atomic reference implementation for JRuby, Rubinius, and MRI'';
+      };
+      name = ''atomic-1.1.14'';
+      requiredGems = [  ];
+      sha256 = ''09dzi1gxr5yj273s6s6ss7l2sq4ayavpg95561kib3n4kzvxrhk4'';
+    };
     atoulme_Antwrap_0_7_4 = {
       basename = ''atoulme_Antwrap'';
       meta = {
@@ -468,6 +491,45 @@ for those one-off tasks, with a language that's a joy to use.
       requiredGems = [  ];
       sha256 = ''1pbjsvd6r2daxd6aicp19fnb1j5z7fxadflsm1h0r33cy3vi7iy8'';
     };
+    coffee_rails_4_0_1 = {
+      basename = ''coffee_rails'';
+      meta = {
+        description = ''CoffeeScript adapter for the Rails asset pipeline.'';
+        homepage = ''https://github.com/rails/coffee-rails'';
+        longDescription = ''CoffeeScript adapter for the Rails asset pipeline.'';
+      };
+      name = ''coffee-rails-4.0.1'';
+      requiredGems = [ g.coffee_script_2_2_0 g.railties_4_0_0 ];
+      sha256 = ''12nqw61xfs43qap4bxp123q4fgj41gvxirdal95ymdd2qzr3cvig'';
+    };
+    coffee_script_2_2_0 = {
+      basename = ''coffee_script'';
+      meta = {
+        description = ''Ruby CoffeeScript Compiler'';
+        homepage = ''http://github.com/josh/ruby-coffee-script'';
+        longDescription = ''    Ruby CoffeeScript is a bridge to the JS CoffeeScript compiler.
+'';
+      };
+      name = ''coffee-script-2.2.0'';
+      requiredGems = [ g.coffee_script_source_1_6_3 g.execjs_2_0_2 ];
+      sha256 = ''133cp4znfp44wwnv12myw8s0z6qws74ilqmw88iwzkshg689zpdc'';
+    };
+    coffee_script_source_1_6_3 = {
+      basename = ''coffee_script_source'';
+      meta = {
+        description = ''The CoffeeScript Compiler'';
+        homepage = ''http://jashkenas.github.com/coffee-script/'';
+        longDescription = ''      CoffeeScript is a little language that compiles into JavaScript.
+      Underneath all of those embarrassing braces and semicolons,
+      JavaScript has always had a gorgeous object model at its heart.
+      CoffeeScript is an attempt to expose the good parts of JavaScript
+      in a simple way.
+'';
+      };
+      name = ''coffee-script-source-1.6.3'';
+      requiredGems = [  ];
+      sha256 = ''0p33h0rdj1n8xhm2d5hzqbb8br6wn4rx0gk4hyhc6rxkaxsy79b4'';
+    };
     cucumber_1_3_8 = {
       basename = ''cucumber'';
       meta = {
@@ -649,6 +711,17 @@ using TCP/IP, especially if custom protocols are required.'';
       requiredGems = [ g.eventmachine_1_0_3 ];
       sha256 = ''1pvlb34vdzd81kf9f3xyibb4f55xjqm7lqqy28dgyci5cyv50y61'';
     };
+    execjs_2_0_2 = {
+      basename = ''execjs'';
+      meta = {
+        description = ''Run JavaScript code from Ruby'';
+        homepage = ''https://github.com/sstephenson/execjs'';
+        longDescription = ''ExecJS lets you run JavaScript code from Ruby.'';
+      };
+      name = ''execjs-2.0.2'';
+      requiredGems = [  ];
+      sha256 = ''167kbkyql7nvvwjsgdw5z8j66ngq7kc59gxfwsxhqi5fl1z0jbjs'';
+    };
     fakes3_0_1_5 = {
       basename = ''fakes3'';
       meta = {
@@ -854,6 +927,17 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [  ];
       sha256 = ''1nhjn07h2fqivdj6xqzi2x2kzh28vigx8z3q5fv2cqn9aqmbdacl'';
     };
+    jquery_rails_3_0_4 = {
+      basename = ''jquery_rails'';
+      meta = {
+        description = ''Use jQuery with Rails 3'';
+        homepage = ''http://rubygems.org/gems/jquery-rails'';
+        longDescription = ''This gem provides jQuery and the jQuery-ujs driver for your Rails 3 application.'';
+      };
+      name = ''jquery-rails-3.0.4'';
+      requiredGems = [ g.railties_4_0_0 g.thor_0_18_1 ];
+      sha256 = ''0k13mcl9d0zxa2azml0d06y14ggk5yl2xvzsc9l2qv2cwc9xxajm'';
+    };
     jruby_pageant_1_1_1 = {
       basename = ''jruby_pageant'';
       meta = {
@@ -1133,6 +1217,17 @@ extract-method refactorings still apply.'';
       requiredGems = [  ];
       sha256 = ''03p6iban9gcpcflzp4z901s1hgj9369p6515h967ny6hlqhcf2iy'';
     };
+    mono_logger_1_1_0 = {
+      basename = ''mono_logger'';
+      meta = {
+        description = ''A lock-free logger compatible with Ruby 2.0.'';
+        homepage = ''http://github.com/steveklabnik/mono_logger'';
+        longDescription = ''A lock-free logger compatible with Ruby 2.0. Ruby does not allow you to request a lock in a trap handler because that could deadlock, so Logger is not sufficient.'';
+      };
+      name = ''mono_logger-1.1.0'';
+      requiredGems = [  ];
+      sha256 = ''18yplq3xxv5crwpfwbw2sb6brqd3g51si7x9fbh9bcimg4ipzayp'';
+    };
     multi_json_1_7_9 = {
       basename = ''multi_json'';
       meta = {
@@ -1144,6 +1239,17 @@ extract-method refactorings still apply.'';
       requiredGems = [  ];
       sha256 = ''1q13ldcc8shlfisy90k19zrar87208gs3za6jmr78p11ip21picx'';
     };
+    multi_json_1_8_2 = {
+      basename = ''multi_json'';
+      meta = {
+        description = ''A common interface to multiple JSON libraries.'';
+        homepage = ''http://github.com/intridea/multi_json'';
+        longDescription = ''A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson.'';
+      };
+      name = ''multi_json-1.8.2'';
+      requiredGems = [  ];
+      sha256 = ''1ffmnwsfwdgspk86x1g98cq2ivqlgqpqngyrvs07zsnvgdimahdb'';
+    };
     multi_test_0_0_2 = {
       basename = ''multi_test'';
       meta = {
@@ -1409,6 +1515,17 @@ Also see http://rack.github.com/.
       requiredGems = [ g.rack_1_5_2 ];
       sha256 = ''10wm67f2mp9pryg0s8qapbyxd2lcrpb8ywsbicg29cv2xprhbl4j'';
     };
+    rack_protection_1_5_1 = {
+      basename = ''rack_protection'';
+      meta = {
+        description = ''You should use protection!'';
+        homepage = ''http://github.com/rkh/rack-protection'';
+        longDescription = ''You should use protection!'';
+      };
+      name = ''rack-protection-1.5.1'';
+      requiredGems = [ g.rack_1_5_2 ];
+      sha256 = ''0qxq5ld15nljxzdcx2wmbc3chw8nb6la1ap838vf263lnjcpx3dd'';
+    };
     rack_test_0_6_2 = {
       basename = ''rack_test'';
       meta = {
@@ -1499,6 +1616,34 @@ request helpers feature.'';
       requiredGems = [  ];
       sha256 = ''180ln9gwxn0cyflg0i1viv7jyalmjqvqr34cb65xsmmsz1nz55q2'';
     };
+    redis_3_0_5 = {
+      basename = ''redis'';
+      meta = {
+        description = ''A Ruby client library for Redis'';
+        homepage = ''https://github.com/redis/redis-rb'';
+        longDescription = ''    A Ruby client that tries to match Redis' API one-to-one, while still
+    providing an idiomatic interface. It features thread-safety,
+    client-side sharding, pipelining, and an obsession for performance.
+'';
+      };
+      name = ''redis-3.0.5'';
+      requiredGems = [  ];
+      sha256 = ''01gg3mgh3yznfhxschcka593a3ivsyw5g5vr0g5apiz4lfh6dlkn'';
+    };
+    redis_namespace_1_3_1 = {
+      basename = ''redis_namespace'';
+      meta = {
+        description = ''Namespaces Redis commands.'';
+        homepage = ''http://github.com/resque/redis-namespace'';
+        longDescription = ''Adds a Redis::Namespace class which can be used to namespace calls
+to Redis. This is useful when using a single instance of Redis with
+multiple, different applications.
+'';
+      };
+      name = ''redis-namespace-1.3.1'';
+      requiredGems = [ g.redis_3_0_5 ];
+      sha256 = ''1l6a64z09ni5pi6mbgvsph0lp14cnp180aj7mxnq2nb38sig4iw5'';
+    };
     remote_syslog_1_6_14 = {
       basename = ''remote_syslog'';
       meta = {
@@ -1510,6 +1655,42 @@ request helpers feature.'';
       requiredGems = [ g.servolux_0_10_0 g.file_tail_1_0_12 g.eventmachine_1_0_3 g.eventmachine_tail_0_6_4 g.syslog_protocol_0_9_2 g.em_resolv_replace_1_1_3 ];
       sha256 = ''1f2yjyqhbdc4vlx52zli1b33f6yn8qc1kd4n0dpv27zswj9qfdkr'';
     };
+    resque_1_25_1 = {
+      basename = ''resque'';
+      meta = {
+        description = ''Resque is a Redis-backed queueing system.'';
+        homepage = ''http://github.com/defunkt/resque'';
+        longDescription = ''    Resque is a Redis-backed Ruby library for creating background jobs,
+    placing those jobs on multiple queues, and processing them later.
+
+    Background jobs can be any Ruby class or module that responds to
+    perform. Your existing classes can easily be converted to background
+    jobs or you can create new classes specifically to do work. Or, you
+    can do both.
+
+    Resque is heavily inspired by DelayedJob (which rocks) and is
+    comprised of three parts:
+
+    * A Ruby library for creating, querying, and processing jobs
+    * A Rake task for starting a worker which processes jobs
+    * A Sinatra app for monitoring queues, jobs, and workers.
+'';
+      };
+      name = ''resque-1.25.1'';
+      requiredGems = [ g.redis_namespace_1_3_1 g.vegas_0_1_11 g.sinatra_1_4_4 g.multi_json_1_8_2 g.mono_logger_1_1_0 ];
+      sha256 = ''0p9kpj900cyb888wmpqx6ms9b0hza09glr4cvrwqwp1vqya25lpy'';
+    };
+    resque_web_0_0_3 = {
+      basename = ''resque_web'';
+      meta = {
+        description = ''Rails-based Resque web interface'';
+        homepage = ''https://github.com/resque/resque-web'';
+        longDescription = ''A Rails-based frontend to the Resque job queue system.'';
+      };
+      name = ''resque-web-0.0.3'';
+      requiredGems = [ g.resque_1_25_1 g.twitter_bootstrap_rails_2_2_8 g.jquery_rails_3_0_4 g.sass_rails_4_0_1 g.coffee_rails_4_0_1 ];
+      sha256 = ''1v4g0zrlq9n0pkhdiwxqcmis5p8hpxm475vchldk63mi1vy4fvr2'';
+    };
     right_aws_3_1_0 = {
       basename = ''right_aws'';
       meta = {
@@ -1739,6 +1920,32 @@ Originally written by Daiki Ueno. Converted to a RubyGem by Geoffrey Grosenbach'
       requiredGems = [  ];
       sha256 = ''0anfff4hz8fz1wbimmp9vv4mjfl1swg7ww74j549788x41l4x283'';
     };
+    sass_3_2_12 = {
+      basename = ''sass'';
+      meta = {
+        description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
+        homepage = ''http://sass-lang.com/'';
+        longDescription = ''      Sass makes CSS fun again. Sass is an extension of CSS3, adding
+      nested rules, variables, mixins, selector inheritance, and more.
+      It's translated to well-formatted, standard CSS using the
+      command line tool or a web-framework plugin.
+'';
+      };
+      name = ''sass-3.2.12'';
+      requiredGems = [  ];
+      sha256 = ''074118ia17nx68i97mbkly2f08y57j52b2yfhdc3s02s4s5593f8'';
+    };
+    sass_rails_4_0_1 = {
+      basename = ''sass_rails'';
+      meta = {
+        description = ''Sass adapter for the Rails asset pipeline.'';
+        homepage = ''https://github.com/rails/sass-rails'';
+        longDescription = ''Sass adapter for the Rails asset pipeline.'';
+      };
+      name = ''sass-rails-4.0.1'';
+      requiredGems = [ g.sass_3_2_12 g.railties_4_0_0 g.sprockets_rails_2_0_1 ];
+      sha256 = ''01sacnipgvl7ad39zzbr6iip6jja7blxfbpjg2dnm6w8gi6smxh1'';
+    };
     selenium_webdriver_2_35_1 = {
       basename = ''selenium_webdriver'';
       meta = {
@@ -1775,6 +1982,17 @@ interpreters.'';
       requiredGems = [ g.rack_1_5_2 g.rack_protection_1_5_0 g.tilt_1_4_1 ];
       sha256 = ''05blf915zpiwyz7agcn9rwdmddwxz0z4l3gd4qlqmrgd2vkw4sxc'';
     };
+    sinatra_1_4_4 = {
+      basename = ''sinatra'';
+      meta = {
+        description = ''Classy web-development dressed in a DSL'';
+        homepage = ''http://www.sinatrarb.com/'';
+        longDescription = ''Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.'';
+      };
+      name = ''sinatra-1.4.4'';
+      requiredGems = [ g.rack_1_5_2 g.tilt_1_4_1 g.rack_protection_1_5_1 ];
+      sha256 = ''12iy0f92d3zyk4759flgcracrbzc3x6cilpgdkzhzgjrsm9aa5hs'';
+    };
     slop_3_4_6 = {
       basename = ''slop'';
       meta = {
@@ -1807,6 +2025,16 @@ interpreters.'';
       requiredGems = [ g.sprockets_2_10_0 g.actionpack_4_0_0 g.activesupport_4_0_0 ];
       sha256 = ''068w0ly7x1vciy4j6mwgsnz6a983pld4rzk1fpvfsmkdqcizb20x'';
     };
+    sprockets_rails_2_0_1 = {
+      basename = ''sprockets_rails'';
+      meta = {
+        description = ''Sprockets Rails integration'';
+        homepage = ''https://github.com/rails/sprockets-rails'';
+      };
+      name = ''sprockets-rails-2.0.1'';
+      requiredGems = [ g.sprockets_2_10_0 g.actionpack_4_0_0 g.activesupport_4_0_0 ];
+      sha256 = ''170llk1qsvzhhslmasqk4hp5lrv9ibwy44q32yg6kn9s7sh0c1wy'';
+    };
     syslog_protocol_0_9_2 = {
       basename = ''syslog_protocol'';
       meta = {
@@ -1914,6 +2142,17 @@ management.
       requiredGems = [ g.atomic_1_1_13 ];
       sha256 = ''1bxyh5l11inadbk7pjyz5s98g24qj8xavh55bc56nrzj51y9aavy'';
     };
+    thread_safe_0_1_3 = {
+      basename = ''thread_safe'';
+      meta = {
+        description = ''A collection of data structures and utilities to make thread-safe programming in Ruby easier'';
+        homepage = ''https://github.com/headius/thread_safe'';
+        longDescription = ''Thread-safe collections and utilities for Ruby'';
+      };
+      name = ''thread_safe-0.1.3'';
+      requiredGems = [ g.atomic_1_1_14 ];
+      sha256 = ''0f2w62x5nx95d2c2lrn9v4g60xhykf8zw7jaddkrgal913dzifgq'';
+    };
     tilt_1_4_1 = {
       basename = ''tilt'';
       meta = {
@@ -1972,6 +2211,17 @@ specify.'';
       requiredGems = [  ];
       sha256 = ''0iz5k7ax7a5jm9x6p81k6f4mgp48wxxb0j55ypnwxnznih8fsghz'';
     };
+    twitter_bootstrap_rails_2_2_8 = {
+      basename = ''twitter_bootstrap_rails'';
+      meta = {
+        description = ''Bootstrap CSS toolkit for Rails 3.1 Asset Pipeline'';
+        homepage = ''https://github.com/seyhunak/twitter-bootstrap-rails'';
+        longDescription = ''twitter-bootstrap-rails project integrates Bootstrap CSS toolkit for Rails 3.1 Asset Pipeline'';
+      };
+      name = ''twitter-bootstrap-rails-2.2.8'';
+      requiredGems = [ g.railties_4_0_0 g.actionpack_4_0_0 g.execjs_2_0_2 g.rails_4_0_0 ];
+      sha256 = ''06n836l2kj5ld7w6b1pb5q423mhqnahf4phk5ai5vl927p4g3bgy'';
+    };
     typhoeus_0_6_5 = {
       basename = ''typhoeus'';
       meta = {
@@ -1994,6 +2244,17 @@ specify.'';
       requiredGems = [  ];
       sha256 = ''0pi2vabsg73h6z4wfwyd27k63issp2qp1nh0vd74rdk740gmb3kc'';
     };
+    tzinfo_0_3_38 = {
+      basename = ''tzinfo'';
+      meta = {
+        description = ''Daylight-savings aware timezone library'';
+        homepage = ''http://tzinfo.github.io'';
+        longDescription = ''TZInfo is a Ruby library that uses the standard tz (Olson) database to provide daylight savings aware transformations between times in different time zones.'';
+      };
+      name = ''tzinfo-0.3.38'';
+      requiredGems = [  ];
+      sha256 = ''1s339ravgk0rqm5dhv1l0yi81sczjvdiryn8ihi2czkb0md55j68'';
+    };
     unf_0_1_2 = {
       basename = ''unf'';
       meta = {
@@ -2054,6 +2315,17 @@ to Ruby/JRuby.
       requiredGems = [  ];
       sha256 = ''1w0bhnkp5515f3yx5fakfrfkawxjpb4fjm1r2c6lk691xlr696s3'';
     };
+    vegas_0_1_11 = {
+      basename = ''vegas'';
+      meta = {
+        description = ''Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps.'';
+        homepage = ''http://code.quirkey.com/vegas'';
+        longDescription = ''Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps. It includes a class Vegas::Runner that wraps Rack/Sinatra applications and provides a simple command line interface and launching mechanism.'';
+      };
+      name = ''vegas-0.1.11'';
+      requiredGems = [ g.rack_1_5_2 ];
+      sha256 = ''0kzv0v1zb8vvm188q4pqwahb6468bmiamn6wpsbiq6r5i69s1bs5'';
+    };
     webrobots_0_1_1 = {
       basename = ''webrobots'';
       meta = {
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index 7bc27362a29..c3b33dfaf62 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -16,18 +16,17 @@ assert pulseaudioSupport -> pulseaudio != null;
 
 let
   configureFlagsFun = attrs: ''
-        --disable-oss --disable-video-x11-xme
-        --disable-x11-shared --disable-alsa-shared --enable-rpath --disable-pulseaudio-shared
-        --disable-osmesa-shared --enable-static
+        --disable-oss --disable-x11-shared
+        --disable-pulseaudio-shared --disable-alsa-shared
         ${if alsaSupport then "--with-alsa-prefix=${attrs.alsaLib}/lib" else ""}
       '';
 in
 stdenv.mkDerivation rec {
-  name = "SDL2-2.0.0";
+  name = "SDL2-2.0.1";
 
   src = fetchurl {
     url = "http://www.libsdl.org/release/${name}.tar.gz";
-    sha256 = "0y3in99brki7vc2mb4c0w39v70mf4h341mblhh8nmq4h7lawhskg";
+    sha256 = "1w1jcz7hilk4fl8wlhiwvd1licg8lwy0brqz05562xv7l81fkrqa";
   };
 
   # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
@@ -38,6 +37,9 @@ stdenv.mkDerivation rec {
     stdenv.lib.optional openglSupport [ mesa ] ++
     stdenv.lib.optional alsaSupport alsaLib;
 
+  # https://bugzilla.libsdl.org/show_bug.cgi?id=1431
+  dontDisableStatic = true;
+
   # XXX: By default, SDL wants to dlopen() PulseAudio, in which case
   # we must arrange to add it to its RPATH; however, `patchelf' seems
   # to fail at doing this, hence `--disable-pulseaudio-shared'.
@@ -47,10 +49,17 @@ stdenv.mkDerivation rec {
       configureFlags = configureFlagsFun { alsaLib = alsaLib.crossDrv; };
   };
 
+  postInstall = ''
+    rm $out/lib/*.a
+  '';
+
   passthru = {inherit openglSupport;};
 
   meta = {
     description = "A cross-platform multimedia library";
     homepage = http://www.libsdl.org/;
+    license = stdenv.lib.licenses.zlib;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.page ];
   };
 }
diff --git a/pkgs/development/libraries/aqbanking/default.nix b/pkgs/development/libraries/aqbanking/default.nix
index 0ddb1aaa749..7dfc6a60a99 100644
--- a/pkgs/development/libraries/aqbanking/default.nix
+++ b/pkgs/development/libraries/aqbanking/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     maintainers = [ stdenv.lib.maintainers.urkud ];
     # Tries to install gwenhywfar plugin, thus `make install` fails
-    platforms = [];
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/development/libraries/aterm/2.5.nix b/pkgs/development/libraries/aterm/2.5.nix
index f116da12643..df509943ba2 100644
--- a/pkgs/development/libraries/aterm/2.5.nix
+++ b/pkgs/development/libraries/aterm/2.5.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation {
     homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm;
     license = "LGPL";
     description = "Library for manipulation of term data structures in C";
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = stdenv.lib.maintainers.eelco;
   };
 }
diff --git a/pkgs/development/libraries/aterm/2.8.nix b/pkgs/development/libraries/aterm/2.8.nix
index 498b0244b87..6d4b13f165a 100644
--- a/pkgs/development/libraries/aterm/2.8.nix
+++ b/pkgs/development/libraries/aterm/2.8.nix
@@ -1,9 +1,9 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 let
   isMingw = stdenv ? cross && stdenv.cross.config == "i686-pc-mingw32" ;
 in
-stdenv.mkDerivation ( {
+stdenv.mkDerivation {
   name = "aterm-2.8";
 
   src = fetchurl {
@@ -23,9 +23,13 @@ stdenv.mkDerivation ( {
   # feel too serious to just ignore.
   doCheck = true;
 
+  dontStrip = isMingw;
+
   meta = {
     homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm;
     license = "LGPL";
     description = "Library for manipulation of term data structures in C";
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = stdenv.lib.maintainers.eelco;
   };
-} // ( if isMingw then { dontStrip = true; } else {}) )
+}
diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix
index b023ed68904..a93aaa5a43f 100644
--- a/pkgs/development/libraries/atk/default.nix
+++ b/pkgs/development/libraries/atk/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     license = "LGPLv2+";
 
     maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 
 }
diff --git a/pkgs/development/libraries/boost/1.55.nix b/pkgs/development/libraries/boost/1.55.nix
new file mode 100644
index 00000000000..3ae54c22be3
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.55.nix
@@ -0,0 +1,91 @@
+{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
+, enableRelease ? true
+, enableDebug ? false
+, enableSingleThreaded ? false
+, enableMultiThreaded ? true
+, enableShared ? true
+, enableStatic ? false
+, enablePIC ? false
+, enableExceptions ? false
+, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
+}:
+
+let
+
+  variant = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableRelease "release" ++
+     stdenv.lib.optional enableDebug "debug");
+
+  threading = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableSingleThreaded "single" ++
+     stdenv.lib.optional enableMultiThreaded "multi");
+
+  link = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableShared "shared" ++
+     stdenv.lib.optional enableStatic "static");
+
+  # To avoid library name collisions
+  layout = if taggedLayout then "tagged" else "system";
+
+  cflags = if enablePIC && enableExceptions then
+             "cflags=\"-fPIC -fexceptions\" cxxflags=-fPIC linkflags=-fPIC"
+           else if enablePIC then
+             "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC"
+           else if enableExceptions then
+             "cflags=-fexceptions"
+           else
+             "";
+in
+
+stdenv.mkDerivation {
+  name = "boost-1.55.0";
+
+  meta = {
+    homepage = "http://boost.org/";
+    description = "Boost C++ Library Collection";
+    license = "boost-license";
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_55_0.tar.bz2";
+    sha256 = "0lkv5dzssbl5fmh2nkaszi8x9qbj80pr4acf9i26sj3rvlih1w7z";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [icu expat zlib bzip2 python];
+
+  configureScript = "./bootstrap.sh";
+  configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
+
+  buildPhase = "./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
+
+  # normal install does not install bjam, this is a separate step
+  installPhase = ''
+    cd tools/build/v2
+    sh bootstrap.sh
+    ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install
+  '';
+
+  crossAttrs = rec {
+    buildInputs = [ expat.crossDrv zlib.crossDrv bzip2.crossDrv ];
+    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
+    # override them.
+    propagatedBuildInputs = buildInputs;
+    # We want to substitute the contents of configureFlags, removing thus the
+    # usual --build and --host added on cross building.
+    preConfigure = ''
+      export configureFlags="--prefix=$out --without-icu"
+    '';
+    buildPhase = ''
+      set -x
+      cat << EOF > user-config.jam
+      using gcc : cross : $crossConfig-g++ ;
+      EOF
+      ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.crossDrv}/include -sEXPAT_LIBPATH=${expat.crossDrv}/lib --layout=${layout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
+    '';
+  };
+}
diff --git a/pkgs/development/libraries/boost/header-only-wrapper.nix b/pkgs/development/libraries/boost/header-only-wrapper.nix
index d32462d3720..6027ea5c393 100644
--- a/pkgs/development/libraries/boost/header-only-wrapper.nix
+++ b/pkgs/development/libraries/boost/header-only-wrapper.nix
@@ -8,10 +8,7 @@ in
 stdenv.mkDerivation {
   name = "boost-headers-${version}";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/boost/${pkgid}.tar.bz2";
-    sha256 = "07df925k56pbz3gvhxpx54aij34qd40a7sxw4im11brnwdyr4zh4";
-  };
+  src = boost.src;
 
   phases = [ "installPhase" ];
 
diff --git a/pkgs/development/libraries/caelum/default.nix b/pkgs/development/libraries/caelum/default.nix
index e48ed5a7692..808310e326f 100644
--- a/pkgs/development/libraries/caelum/default.nix
+++ b/pkgs/development/libraries/caelum/default.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     description = "Add-on for the OGRE, aimed to render atmospheric effects";
     homepage = http://code.google.com/p/caelum/;
     license = "LGPLv2.1+";
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index f37195021fa..91af939db43 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -30,10 +30,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A library for image loading and manipulation";
-
     homepage = http://library.gnome.org/devel/gdk-pixbuf/;
-
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix
new file mode 100644
index 00000000000..1e030d4d7ce
--- /dev/null
+++ b/pkgs/development/libraries/gtest/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, unzip, cmake}:
+
+stdenv.mkDerivation rec {
+  version = "1.7.0";
+  name = "gtest-${version}";
+
+  src = fetchurl {
+    url = "https://googletest.googlecode.com/files/${name}.zip";
+    sha256="03fnw3bizw9bcx7l5qy1vz7185g33d5pxqcb6aqxwlrzv26s2z14";
+  };
+
+  buildInputs = [ unzip cmake ];
+
+  configurePhase = ''
+    mkdir build
+    cd build
+    cmake ../ -DCMAKE_INSTALL_PREFIX=$out
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -v libgtest.a libgtest_main.a $out/lib
+    cp -v -r ../include $out
+  '';
+
+  meta = {
+    description = "Google test: Google's framework for writing C++ tests.";
+    homepage = https://code.google.com/p/googletest/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.zoomulator ];
+  };
+}
+
diff --git a/pkgs/development/libraries/gts/default.nix b/pkgs/development/libraries/gts/default.nix
index 7eb519a045c..7724bc5cc3a 100644
--- a/pkgs/development/libraries/gts/default.nix
+++ b/pkgs/development/libraries/gts/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     '';
 
     maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/gurobi/default.nix b/pkgs/development/libraries/gurobi/default.nix
deleted file mode 100644
index 4bdee56ae99..00000000000
--- a/pkgs/development/libraries/gurobi/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, requireFile }:
-
-stdenv.mkDerivation {
-  name = "gurobi-5.6.0";
-
-  src = requireFile {
-    name = "gurobi5.6.0_linux64.tar.gz";
-    sha256 = "1qwfjyx5y71x97gkndqnl9h4xc8hl48zwcwss7jagqfj3gxwvnky";
-    url = "http://www.gurobi.com/download/gurobi-optimizer";
-  };
-
-  installPhase = "mv linux64 $out";
-
-  fixupPhase = ''
-    interp=`cat $NIX_GCC/nix-support/dynamic-linker`
-    find $out/bin -type f -executable -exec patchelf --interpreter "$interp" --set-rpath $out/lib {} \;
-  '';
-
-  meta = {
-    description = "State-of-the-art mathematical programming solver";
-    homepage = http://www.gurobi.com/;
-    license = "unfree";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
-  };
-}
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 1202ab5825d..78e016c1582 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     description = "An OpenType text shaping engine";
     homepage = http://www.freedesktop.org/wiki/Software/HarfBuzz;
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
index 99ab741be49..e28ff279083 100644
--- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
@@ -1,13 +1,13 @@
-{ cabal, cairo, Chart, colour, dataDefaultClass, mtl, operational
-, time
+{ cabal, cairo, Chart, colour, dataDefaultClass, lens, mtl
+, operational, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "Chart-cairo";
-  version = "1.0";
-  sha256 = "0z5qhsq9v5sd32d18gl09svxic8n6s65v4nyq04zcp76219mhp55";
+  version = "1.1";
+  sha256 = "0pm8iwd83pn5ba0g3231zs7f39cdjr7n7k76cm642n4b0hf93fmb";
   buildDepends = [
-    cairo Chart colour dataDefaultClass mtl operational time
+    cairo Chart colour dataDefaultClass lens mtl operational time
   ];
   meta = {
     homepage = "https://github.com/timbod7/haskell-chart/wiki";
diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
index d97fdc21f03..0c2534c4c3b 100644
--- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-gtk";
-  version = "1.0";
-  sha256 = "06i53922hdc7dvh2a76ccvwrwfhvhji0ya8j4f2lddg5zckvp3yj";
+  version = "1.1";
+  sha256 = "1394h7jd8pk55396nz1xjisz4v7brqcf9fwdnw9g4q3x1b7dcgs8";
   buildDepends = [ cairo Chart ChartCairo colour gtk mtl time ];
   meta = {
     homepage = "https://github.com/timbod7/haskell-chart/wiki";
diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix
index 0d9dd690758..50459dfa007 100644
--- a/pkgs/development/libraries/haskell/Chart/default.nix
+++ b/pkgs/development/libraries/haskell/Chart/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart";
-  version = "1.0";
-  sha256 = "137njda84vxrj3pk12bmkf11wh8fj89nxpz067wrycrgw9xy5rd3";
+  version = "1.1";
+  sha256 = "136s44mbhf3wmg85rr9qr0kv59lq1lfd3l58a5aijpv9vz1isf7p";
   buildDepends = [
     colour dataDefaultClass lens mtl operational time
   ];
diff --git a/pkgs/development/libraries/haskell/HList/default.nix b/pkgs/development/libraries/haskell/HList/default.nix
index 35b03f77dde..df2bfcf1f79 100644
--- a/pkgs/development/libraries/haskell/HList/default.nix
+++ b/pkgs/development/libraries/haskell/HList/default.nix
@@ -1,9 +1,10 @@
-{ cabal }:
+{ cabal, diffutils }:
 
 cabal.mkDerivation (self: {
   pname = "HList";
   version = "0.2.3";
   sha256 = "1efbe0c2cb361ab0a9d864a09f9c58075132cb50094207260cb1363fe73c2908";
+  buildTools = [ diffutils ];
   meta = {
     description = "Heterogeneous lists";
     license = self.stdenv.lib.licenses.mit;
diff --git a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
index 8df2209ffbf..eb7c406e81e 100644
--- a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
+++ b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HsOpenSSL";
-  version = "0.10.3.4";
-  sha256 = "1xgnzivphnzb4yf31406yg5fjycrfypwrlxi2s8lfzgja8m1l7h5";
+  version = "0.10.3.5";
+  sha256 = "1yvpvc9ylfqskdv0dqg6cl43w3wg7rggz0lwlrv04a45mrxygh80";
   buildDepends = [ network time ];
   extraLibraries = [ openssl ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/HsSyck/default.nix b/pkgs/development/libraries/haskell/HsSyck/default.nix
index 56e999d7b83..1c10075d13c 100644
--- a/pkgs/development/libraries/haskell/HsSyck/default.nix
+++ b/pkgs/development/libraries/haskell/HsSyck/default.nix
@@ -1,10 +1,10 @@
-{ cabal, syb, utf8String }:
+{ cabal, hashtables, syb, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "HsSyck";
-  version = "0.50";
-  sha256 = "0ap675i2fngvd1nw1dk8p2fz4nbd2aq5ci8dsvpcjbp28y9j2blm";
-  buildDepends = [ syb utf8String ];
+  version = "0.51";
+  sha256 = "13y5vbzrix33dzwhdrvng2ds2dnipkxn1h22jvbf47rwnkyh2g49";
+  buildDepends = [ hashtables syb utf8String ];
   meta = {
     description = "Fast, lightweight YAML loader and dumper";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/abstract-par/default.nix b/pkgs/development/libraries/haskell/abstract-par/default.nix
index 033fc242321..537df70390c 100644
--- a/pkgs/development/libraries/haskell/abstract-par/default.nix
+++ b/pkgs/development/libraries/haskell/abstract-par/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "abstract-par";
-  version = "0.3.1";
-  sha256 = "0qzv520823b07hrr49rnpzayh96m6cjrmb1cn9l0dn80j6k9xayk";
+  version = "0.3.3";
+  sha256 = "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4";
   buildDepends = [ deepseq ];
   meta = {
     homepage = "https://github.com/simonmar/monad-par";
diff --git a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
index cabfccc0266..d7e11f11ef0 100644
--- a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
@@ -17,7 +17,7 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/AccelerateHS/accelerate-cuda/";
     description = "Accelerate backend for NVIDIA GPUs";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
+    platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate-examples/default.nix b/pkgs/development/libraries/haskell/accelerate-examples/default.nix
index b9536052dd2..e48abc543f8 100644
--- a/pkgs/development/libraries/haskell/accelerate-examples/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-examples/default.nix
@@ -23,7 +23,7 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/AccelerateHS/accelerate-examples";
     description = "Examples using the Accelerate library";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
+    platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate-fft/default.nix b/pkgs/development/libraries/haskell/accelerate-fft/default.nix
index b3c1cb90b29..523e5ae1504 100644
--- a/pkgs/development/libraries/haskell/accelerate-fft/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-fft/default.nix
@@ -9,6 +9,6 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/AccelerateHS/accelerate-fft";
     description = "FFT using the Accelerate library";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
+    platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/active/default.nix b/pkgs/development/libraries/haskell/active/default.nix
index 1d6df75e5fa..322e411db8e 100644
--- a/pkgs/development/libraries/haskell/active/default.nix
+++ b/pkgs/development/libraries/haskell/active/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "active";
-  version = "0.1.0.8";
-  sha256 = "1q2zrx1i5j04c9bss7c19nm6lqasmwxyfzkh49my7yaik95k7bw9";
+  version = "0.1.0.9";
+  sha256 = "0639qp4yc3dfvc9xcjk9k7qagvbcjwdgz3lklqsak9h551ccl7bv";
   buildDepends = [ newtype semigroupoids semigroups vectorSpace ];
   testDepends = [
     newtype QuickCheck semigroupoids semigroups vectorSpace
diff --git a/pkgs/development/libraries/haskell/bifunctors/default.nix b/pkgs/development/libraries/haskell/bifunctors/default.nix
index d7c8fa6debb..5d13f3a384e 100644
--- a/pkgs/development/libraries/haskell/bifunctors/default.nix
+++ b/pkgs/development/libraries/haskell/bifunctors/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bifunctors";
-  version = "4.1.0.1";
-  sha256 = "1mf1v64g5pr2k1jpc7i4994ki2fp5vkxg4n5v84lfbl2r3kr92yg";
+  version = "4.1.1";
+  sha256 = "0apdnhfqn3xyi99d5ybc51y2i0gpxix5hlaqxgpbzr4b0zkk7c4w";
   buildDepends = [ semigroupoids semigroups tagged ];
   meta = {
     homepage = "http://github.com/ekmett/bifunctors/";
diff --git a/pkgs/development/libraries/haskell/cereal/default.nix b/pkgs/development/libraries/haskell/cereal/default.nix
index 4770d5216e2..94b5033e7ef 100644
--- a/pkgs/development/libraries/haskell/cereal/default.nix
+++ b/pkgs/development/libraries/haskell/cereal/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cereal";
-  version = "0.4.0.0";
-  sha256 = "0q6lrfa2p70mh3d08mbj89anc3p9ycy6wyyiycj5pm62kcimv7rj";
+  version = "0.4.0.1";
+  sha256 = "12g23cbjxxgh3xzv6hvs093zpycl29h8fmc7kv6jx43ws4cxy2jv";
   meta = {
     description = "A binary serialization library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index ab41f5a5621..ffe52d0f9c7 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "1.0.8";
-  sha256 = "0qsi9p7hwzaw1ridgydfmaagjjpkbgq755b1r9xm4apdy6fikcz5";
+  version = "1.0.9";
+  sha256 = "00xzy6iq98p0b8bqncj2xl1gzba1kr58xmfbc3s29bqg1sisvjsz";
   buildDepends = [
     liftedBase mmorph monadControl mtl resourcet text transformers
     transformersBase void
diff --git a/pkgs/development/libraries/haskell/control-monad-loop/default.nix b/pkgs/development/libraries/haskell/control-monad-loop/default.nix
new file mode 100644
index 00000000000..561564093b9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/control-monad-loop/default.nix
@@ -0,0 +1,14 @@
+{ cabal, transformers, transformersBase }:
+
+cabal.mkDerivation (self: {
+  pname = "control-monad-loop";
+  version = "0.1";
+  sha256 = "003k4pp6wgn30m9ksbh8680f0klzsvd90wsl9jpqs9lpg14hi6zj";
+  buildDepends = [ transformers transformersBase ];
+  meta = {
+    homepage = "https://github.com/joeyadams/haskell-control-monad-loop";
+    description = "Simple monad transformer for imperative-style loops";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cpu/default.nix b/pkgs/development/libraries/haskell/cpu/default.nix
index dc27553c2a3..3d8ba2784f5 100644
--- a/pkgs/development/libraries/haskell/cpu/default.nix
+++ b/pkgs/development/libraries/haskell/cpu/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cpu";
-  version = "0.1.1";
-  sha256 = "0ygkxx8ksa0rh63569d3g0w8pzgwg6062sd4yyi3q646zcmryhj6";
+  version = "0.1.2";
+  sha256 = "0x19mlanmkg96h6h1i04w2i631z84y4rbk22ki4zhgsajysgw9sn";
   isLibrary = true;
   isExecutable = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/crypto-numbers/default.nix b/pkgs/development/libraries/haskell/crypto-numbers/default.nix
index 68deb8e3472..7633c479e7c 100644
--- a/pkgs/development/libraries/haskell/crypto-numbers/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-numbers/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-numbers";
-  version = "0.2.1";
-  sha256 = "1bc24xk101x7npv083gzh3vjzwjh65ql85h4z0vxk3lnd0pmdmnq";
+  version = "0.2.3";
+  sha256 = "0nx2mlf40127j7vas7liqy2yzfg4alfaxcjilcxk99kavpaanzgp";
   buildDepends = [ cryptoRandom vector ];
   testDepends = [
     byteable cryptoRandom HUnit QuickCheck testFramework
diff --git a/pkgs/development/libraries/haskell/crypto-pubkey/default.nix b/pkgs/development/libraries/haskell/crypto-pubkey/default.nix
index a4f98e5a2a1..aa400c736cb 100644
--- a/pkgs/development/libraries/haskell/crypto-pubkey/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-pubkey/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "crypto-pubkey";
-  version = "0.2.1";
-  sha256 = "06cb2h9c3r1ycgcw7scc191gbr86qi8pxil07207n5fccq3vpjys";
+  version = "0.2.2";
+  sha256 = "084758n5fyh2aigd6055a75pnqjhx42sbjg36hhp2a40vhl7xr2f";
   buildDepends = [
     byteable cryptohash cryptoNumbers cryptoPubkeyTypes cryptoRandom
   ];
diff --git a/pkgs/development/libraries/haskell/cuda/default.nix b/pkgs/development/libraries/haskell/cuda/default.nix
index ac9e41fd628..fbe0ec0a20c 100644
--- a/pkgs/development/libraries/haskell/cuda/default.nix
+++ b/pkgs/development/libraries/haskell/cuda/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cuda";
-  version = "0.5.0.2";
-  sha256 = "1if730wcww5qx5qki1ir0d576wwpwrh00krp1svgdlx2j50rmgq5";
+  version = "0.5.1.0";
+  sha256 = "1zsfsz8i05iq54wxj1maj6qqzv4ibr459h47knc7ds1qv4giwzhl";
   buildTools = [ c2hs ];
   extraLibraries = [ cudatoolkit nvidia_x11 self.stdenv.gcc ];
   doCheck = false;
@@ -31,9 +31,10 @@ cabal.mkDerivation (self: {
     ./Setup configure --verbose --prefix="$out" $libraryProfiling $extraLibDirs $configureFlags
   '';
   meta = {
+    homepage = "https://github.com/tmcdonell/cuda";
     description = "FFI binding to the CUDA interface for programming NVIDIA GPUs";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
+    platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cufft/default.nix b/pkgs/development/libraries/haskell/cufft/default.nix
index e9f1fe166bd..76039f06548 100644
--- a/pkgs/development/libraries/haskell/cufft/default.nix
+++ b/pkgs/development/libraries/haskell/cufft/default.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     homepage = "http://github.com/robeverest/cufft";
     description = "Haskell bindings for the CUFFT library";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.stdenv.lib.platforms.none;
+    platforms = self.ghc.meta.platforms;
   };
 })
diff --git a/pkgs/development/libraries/haskell/dbus/default.nix b/pkgs/development/libraries/haskell/dbus/default.nix
index e0072bd8446..a96f1499f97 100644
--- a/pkgs/development/libraries/haskell/dbus/default.nix
+++ b/pkgs/development/libraries/haskell/dbus/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dbus";
-  version = "0.10.4";
-  sha256 = "0cv4sgk1mdxc81jlky21k0y3zg7qii585xiapr1m589r5528gj2f";
+  version = "0.10.5";
+  sha256 = "1wblqkwlwv3bxhz2n4qm0w0npawng86y2hyacjxmx8cw25gkw41x";
   buildDepends = [
     cereal libxmlSax network parsec random text transformers vector
     xmlTypes
diff --git a/pkgs/development/libraries/haskell/deepseq/1.3.0.1.nix b/pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix
index 78f9273e46a..3c6ce781dc2 100644
--- a/pkgs/development/libraries/haskell/deepseq/1.3.0.1.nix
+++ b/pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "deepseq";
-  version = "1.3.0.1";
-  sha256 = "068zka6rwprbzpx7yisi1ajsxdly23zaf2vjklx1wp66yypx54lp";
+  version = "1.3.0.2";
+  sha256 = "09jnfz5158s4fvlfjbz44vb5jsvflagmsrgbk846arymwym6b7bp";
   meta = {
     description = "Deep evaluation of data structures";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/direct-sqlite/default.nix b/pkgs/development/libraries/haskell/direct-sqlite/default.nix
new file mode 100644
index 00000000000..7dc259cef93
--- /dev/null
+++ b/pkgs/development/libraries/haskell/direct-sqlite/default.nix
@@ -0,0 +1,15 @@
+{ cabal, base16Bytestring, HUnit, text }:
+
+cabal.mkDerivation (self: {
+  pname = "direct-sqlite";
+  version = "2.3.8";
+  sha256 = "0qvqacjymrm6yy093p8biq3swdinh3lx75m27iz1p3ckdkw10lva";
+  buildDepends = [ text ];
+  testDepends = [ base16Bytestring HUnit text ];
+  meta = {
+    homepage = "http://ireneknapp.com/software/";
+    description = "Low-level binding to SQLite3. Includes UTF8 and BLOB support.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dual-tree/default.nix b/pkgs/development/libraries/haskell/dual-tree/default.nix
index c0896557e33..218855f322e 100644
--- a/pkgs/development/libraries/haskell/dual-tree/default.nix
+++ b/pkgs/development/libraries/haskell/dual-tree/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dual-tree";
-  version = "0.1.0.4";
-  sha256 = "0xrpb7kz6aazqy9w0b7hcbxgmy4ddy0zh7gdpv2w140vvyx5qjrn";
+  version = "0.2";
+  sha256 = "0wasnjkixl6zkskjp18qj3jym3yv3a85i3w5qphgjr3xifbzwnjf";
   buildDepends = [ monoidExtras newtype semigroups ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/fclabels/default.nix b/pkgs/development/libraries/haskell/fclabels/default.nix
index 162b83733b1..67276b77c1d 100644
--- a/pkgs/development/libraries/haskell/fclabels/default.nix
+++ b/pkgs/development/libraries/haskell/fclabels/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fclabels";
-  version = "2.0.0.2";
-  sha256 = "1c706v10g4av7jxiw3x4n1hg9h7sbwcnrj676b1q0rcb3pd32kz6";
+  version = "2.0.0.5";
+  sha256 = "1xg0bvk6m981v05j3jp35hyclfilnic1q83kla8zlbnmdpqljqdb";
   buildDepends = [ mtl transformers ];
   meta = {
     homepage = "https://github.com/sebastiaanvisser/fclabels";
diff --git a/pkgs/development/libraries/haskell/free/default.nix b/pkgs/development/libraries/haskell/free/default.nix
index 64d9541f401..a481d451973 100644
--- a/pkgs/development/libraries/haskell/free/default.nix
+++ b/pkgs/development/libraries/haskell/free/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "free";
-  version = "4.1";
-  sha256 = "16951r4f7ggvcw2qgjwdrmaxxnrmrm69c67nixs77lm1d31nks4w";
+  version = "4.2";
+  sha256 = "0g2k36xqma8r6shrih40w5xv0pgs5ldr9lhc5hjpwmh4n3hgdhfb";
   buildDepends = [
     bifunctors comonad distributive mtl profunctors semigroupoids
     semigroups transformers
diff --git a/pkgs/development/libraries/haskell/html-conduit/default.nix b/pkgs/development/libraries/haskell/html-conduit/default.nix
index eaf1754b622..3f7b2ad507a 100644
--- a/pkgs/development/libraries/haskell/html-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/html-conduit/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "html-conduit";
-  version = "1.1.0";
-  sha256 = "11mkr7plhbn8kyki0h362habzhsnlb7yrg4ypy48d0l3i7p7vm53";
+  version = "1.1.0.1";
+  sha256 = "0v3zlassakc34i7kzajx63s1rxn516xv7lrib0a4kn4cdlqn7kxs";
   buildDepends = [
     conduit filesystemConduit resourcet systemFilepath tagstreamConduit
     text transformers xmlConduit xmlTypes
diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix
index 35783c7762e..071471d906e 100644
--- a/pkgs/development/libraries/haskell/hxt/default.nix
+++ b/pkgs/development/libraries/haskell/hxt/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hxt";
-  version = "9.3.1.1";
-  sha256 = "1x0z85vx49s2b9bgjm14c2152cwr0vzf02rlxrla5dj5g565985y";
+  version = "9.3.1.2";
+  sha256 = "0v4j9z65sbjs44n1ijy14f0l2swva6jqz89x2ibf89q8bx36sj6n";
   buildDepends = [
     binary deepseq filepath HUnit hxtCharproperties hxtRegexXmlschema
     hxtUnicode mtl network parsec
diff --git a/pkgs/development/libraries/haskell/intervals/default.nix b/pkgs/development/libraries/haskell/intervals/default.nix
index 788962412d7..5623b73527c 100644
--- a/pkgs/development/libraries/haskell/intervals/default.nix
+++ b/pkgs/development/libraries/haskell/intervals/default.nix
@@ -1,9 +1,11 @@
-{ cabal }:
+{ cabal, distributive, doctest, filepath }:
 
 cabal.mkDerivation (self: {
   pname = "intervals";
-  version = "0.3";
-  sha256 = "1k8dhhwa6y5hrkm9np9x953bdn3pgk5c2lkl3zgrrmrwmd075422";
+  version = "0.4";
+  sha256 = "0w33arfv1hd3a3l4rvn67nh5q6w05jj6hjlbjmbmrjyhwg35jnac";
+  buildDepends = [ distributive ];
+  testDepends = [ doctest filepath ];
   meta = {
     homepage = "http://github.com/ekmett/intervals";
     description = "Interval Arithmetic";
diff --git a/pkgs/development/libraries/haskell/language-c-quote/default.nix b/pkgs/development/libraries/haskell/language-c-quote/default.nix
index 35d15c0291a..f4774ecd14b 100644
--- a/pkgs/development/libraries/haskell/language-c-quote/default.nix
+++ b/pkgs/development/libraries/haskell/language-c-quote/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c-quote";
-  version = "0.7.2";
-  sha256 = "01ki78qh39gbd9md3pq783vx2p86gyzhclci7pcppz2rd3man51m";
+  version = "0.7.5";
+  sha256 = "1ms6bjcqm0mfv0kqznn68svclbpvbwy5rlni0b8i0axhwfgq1l73";
   buildDepends = [
     exceptionMtl exceptionTransformers filepath haskellSrcMeta
     mainlandPretty mtl srcloc syb symbol
@@ -17,7 +17,7 @@ cabal.mkDerivation (self: {
   buildTools = [ alex happy ];
   jailbreak = true;
   meta = {
-    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    homepage = "http://www.cs.drexel.edu/~mainland/";
     description = "C/CUDA/OpenCL/Objective-C quasiquoting library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/lifted-base/default.nix b/pkgs/development/libraries/haskell/lifted-base/default.nix
index dc970925f98..cfa51bd39aa 100644
--- a/pkgs/development/libraries/haskell/lifted-base/default.nix
+++ b/pkgs/development/libraries/haskell/lifted-base/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "lifted-base";
-  version = "0.2.1.0";
-  sha256 = "0c4vzyfyjvqv5q8mprgxf9ckibpp5k1zh9k5slmdsd9m1l3pwwqy";
+  version = "0.2.1.1";
+  sha256 = "062mdh364c4adnyc3l037zi1aaqvgm43g1x6vf3pjb75c3sayc5k";
   buildDepends = [
     baseUnicodeSymbols monadControl transformersBase
   ];
diff --git a/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix b/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix
new file mode 100644
index 00000000000..4f255e893af
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix
@@ -0,0 +1,14 @@
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "parallel";
+  version = "3.2.0.4";
+  sha256 = "0v8l2rbczjadynbz4q4r00k8a1mqj70y63zbklpxckafq1zn7nwc";
+  buildDepends = [ deepseq ];
+  meta = {
+    description = "Parallel programming library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/parseargs/default.nix b/pkgs/development/libraries/haskell/parseargs/default.nix
index 2a481246e88..a421338624c 100644
--- a/pkgs/development/libraries/haskell/parseargs/default.nix
+++ b/pkgs/development/libraries/haskell/parseargs/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "parseargs";
-  version = "0.1.3.5";
-  sha256 = "1ig1n2nnicmy71qwcl5hkdk4mvwq0mz6zr5h9kw329lgvr9cyzyc";
+  version = "0.1.5.2";
+  sha256 = "0pzw7w1kr2rv6ffqgn93rypn37wy2r5k01p3y5256laaplm575am";
   isLibrary = true;
   isExecutable = true;
   meta = {
-    homepage = "http://wiki.cs.pdx.edu/bartforge/parseargs";
+    homepage = "http://github.com/BartMassey/parseargs";
     description = "Command-line argument parsing library for Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/parsers/0.10.nix b/pkgs/development/libraries/haskell/parsers/0.10.1.1.nix
index 529fdf47124..db79c81a62d 100644
--- a/pkgs/development/libraries/haskell/parsers/0.10.nix
+++ b/pkgs/development/libraries/haskell/parsers/0.10.1.1.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "parsers";
-  version = "0.10";
-  sha256 = "090dvmdb1kmnc3k2x170y9fdifxi16hzkij1gzc51flx3bpx40i1";
+  version = "0.10.1.1";
+  sha256 = "1w3dj3r2l0w54rafngrp7r1spqznbj5yzilkprqxvbvvj3jxgn5a";
   buildDepends = [
     charset parsec text transformers unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/pem/default.nix b/pkgs/development/libraries/haskell/pem/default.nix
index 473f15c4d1f..0c331e1bda5 100644
--- a/pkgs/development/libraries/haskell/pem/default.nix
+++ b/pkgs/development/libraries/haskell/pem/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pem";
-  version = "0.2.0";
-  sha256 = "1hmsyavqzjx1chbn4a8vf0r2wz2fg0xl9cxgja4ap04si3qr458v";
+  version = "0.2.1";
+  sha256 = "05ln372ad89993v07q108l9al8jgjpzardpl02pziwwacdcj1j17";
   buildDepends = [ base64Bytestring mtl ];
   testDepends = [
     HUnit QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/pipes-parse/default.nix b/pkgs/development/libraries/haskell/pipes-parse/default.nix
index 33892ef8fc6..61c0f34a57e 100644
--- a/pkgs/development/libraries/haskell/pipes-parse/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-parse/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-parse";
-  version = "2.0.1";
-  sha256 = "04sqjdmgkgk5qva0gyrblhdvmljgmci2yzzw7y17pmnwxwdja4f0";
+  version = "2.0.2";
+  sha256 = "1jcws5i9jhh4i6bh2j6m9pz1462qm05byibkkxfqvyx392sxy4wz";
   buildDepends = [ free pipes transformers ];
   meta = {
     description = "Parsing infrastructure for the pipes ecosystem";
diff --git a/pkgs/development/libraries/haskell/process-conduit/default.nix b/pkgs/development/libraries/haskell/process-conduit/default.nix
new file mode 100644
index 00000000000..45ac4495166
--- /dev/null
+++ b/pkgs/development/libraries/haskell/process-conduit/default.nix
@@ -0,0 +1,19 @@
+{ cabal, conduit, controlMonadLoop, hspec, mtl, shakespeareText
+, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "process-conduit";
+  version = "1.0.0.1";
+  sha256 = "1b1bya316gxj3rgn7qpjmmcllgy9aac69rqw664sw1rnypnic780";
+  buildDepends = [
+    conduit controlMonadLoop mtl shakespeareText text
+  ];
+  testDepends = [ conduit hspec ];
+  meta = {
+    homepage = "http://github.com/tanakh/process-conduit";
+    description = "Conduits for processes";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix
index ef7a6d69905..5f7640320f6 100644
--- a/pkgs/development/libraries/haskell/shake/default.nix
+++ b/pkgs/development/libraries/haskell/shake/default.nix
@@ -1,11 +1,11 @@
-{ cabal, binary, deepseq, filepath, hashable, random, time
-, transformers, unorderedContainers, utf8String
+{ cabal, binary, deepseq, filepath, hashable, QuickCheck, random
+, time, transformers, unorderedContainers, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "shake";
-  version = "0.10.8";
-  sha256 = "15r392b18nis9p0ys95kbj79hki19wid2gyrpy0z9zm2l5d1m3ya";
+  version = "0.10.9";
+  sha256 = "08czcf0pkchq558kjkfpz7vf5pn1dbqk8mb9fnivnphy963sf6sr";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -13,12 +13,11 @@ cabal.mkDerivation (self: {
     unorderedContainers utf8String
   ];
   testDepends = [
-    binary deepseq filepath hashable random time transformers
-    unorderedContainers utf8String
+    binary deepseq filepath hashable QuickCheck random time
+    transformers unorderedContainers utf8String
   ];
-  doCheck = false;
   meta = {
-    homepage = "http://community.haskell.org/~ndm/shake/";
+    homepage = "https://github.com/ndmitchell/shake";
     description = "Build system library, like Make, but more accurate dependencies";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix
index 52da653da3e..e35241d46ec 100644
--- a/pkgs/development/libraries/haskell/snap/core.nix
+++ b/pkgs/development/libraries/haskell/snap/core.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-core";
-  version = "0.9.4.1";
-  sha256 = "0yacbpd20y49jw1qkrm5r4qick0fhimgb07883bg1lp3ai4ysrk5";
+  version = "0.9.5.0";
+  sha256 = "1i5xmgfy807rm6f47l7p7z99nw9bq8vldlfvzi1gxzz8ic80slm4";
   buildDepends = [
     attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
     bytestringMmap caseInsensitive deepseq enumerator filepath hashable
diff --git a/pkgs/development/libraries/haskell/system-posix-redirect/default.nix b/pkgs/development/libraries/haskell/system-posix-redirect/default.nix
index b8a65e41fd8..b0ccd4b4d84 100644
--- a/pkgs/development/libraries/haskell/system-posix-redirect/default.nix
+++ b/pkgs/development/libraries/haskell/system-posix-redirect/default.nix
@@ -2,10 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "system-posix-redirect";
-  version = "1.1";
-  sha256 = "08l8n671ypmharmkm9s8wv5ipcznn7hv5zadf96liml3v16d8fcr";
+  version = "1.1.0.1";
+  sha256 = "1wkfz898d3607xnx779l1k1qc8i2k63ixg47542r45scwq8m0lsk";
   meta = {
-    description = "A toy module that allows you to temporarily redirect a program's stdout";
+    description = "A toy module to temporarily redirect a program's stdout";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix
index df14857f9ab..556ee2b65bf 100644
--- a/pkgs/development/libraries/haskell/tasty/default.nix
+++ b/pkgs/development/libraries/haskell/tasty/default.nix
@@ -1,13 +1,13 @@
-{ cabal, ansiTerminal, mtl, optparseApplicative, regexPosix, stm
-, tagged
+{ cabal, ansiTerminal, deepseq, mtl, optparseApplicative
+, regexPosix, stm, tagged
 }:
 
 cabal.mkDerivation (self: {
   pname = "tasty";
-  version = "0.3.1";
-  sha256 = "0ipndrpywzg40s5hiwyyly29mcppcfqbbpwqqp4apma57m8cdpb0";
+  version = "0.4.0.1";
+  sha256 = "04nnjg04520lvjm8h2ma0ihm4bz6p0ppk445i8gmn82ixwan76h0";
   buildDepends = [
-    ansiTerminal mtl optparseApplicative regexPosix stm tagged
+    ansiTerminal deepseq mtl optparseApplicative regexPosix stm tagged
   ];
   meta = {
     description = "Modern and extensible testing framework";
diff --git a/pkgs/development/libraries/haskell/terminfo/default.nix b/pkgs/development/libraries/haskell/terminfo/default.nix
index 24221912025..f772de7c8a1 100644
--- a/pkgs/development/libraries/haskell/terminfo/default.nix
+++ b/pkgs/development/libraries/haskell/terminfo/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "terminfo";
-  version = "0.3.2.5";
-  sha256 = "1hadb1gv28c43xq78scalb4zzvbs6im2s0hq7ycrbsdgm6iryhbg";
+  version = "0.3.2.6";
+  sha256 = "0ag81rwwwaanxdn9ccanvdi1qnh62vy8y2jbgp5bp95hhgqq887f";
   extraLibraries = [ ncurses ];
   meta = {
     homepage = "http://code.haskell.org/terminfo";
diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix
index cb346ac7d27..a129ae46a35 100644
--- a/pkgs/development/libraries/haskell/texmath/default.nix
+++ b/pkgs/development/libraries/haskell/texmath/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "texmath";
-  version = "0.6.4";
-  sha256 = "090xqs14ap3c6pljqzyva46phxb1lhqayi4g098f6d77d1ygvshf";
+  version = "0.6.5.2";
+  sha256 = "1pvaf40avjx43ydhi9n6vkkjw9gk5apws4bgqqq2g601kvmi163l";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ pandocTypes parsec syb xml ];
diff --git a/pkgs/development/libraries/haskell/text-icu/default.nix b/pkgs/development/libraries/haskell/text-icu/default.nix
index 16115809f5b..6dc42beee40 100644
--- a/pkgs/development/libraries/haskell/text-icu/default.nix
+++ b/pkgs/development/libraries/haskell/text-icu/default.nix
@@ -1,13 +1,19 @@
-{ cabal, icu, text }:
+{ cabal, deepseq, HUnit, icu, QuickCheck, random, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text
+}:
 
 cabal.mkDerivation (self: {
   pname = "text-icu";
-  version = "0.6.3.5";
-  sha256 = "1blfw9377yl732ypbjhkvi3vfg6c1f1rkxcsvwmqyhkdzb2agg0a";
+  version = "0.6.3.7";
+  sha256 = "0mzzjamcxfrld9xwgdww3890zzkgmi1qb83v5z9zrixmdgwkvhf4";
   buildDepends = [ text ];
+  testDepends = [
+    deepseq HUnit QuickCheck random testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text
+  ];
   extraLibraries = [ icu ];
   meta = {
-    homepage = "https://bitbucket.org/bos/text-icu";
+    homepage = "https://github.com/bos/text-icu";
     description = "Bindings to the ICU library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/threads/default.nix b/pkgs/development/libraries/haskell/threads/default.nix
index d802790da9d..0683ba62d4b 100644
--- a/pkgs/development/libraries/haskell/threads/default.nix
+++ b/pkgs/development/libraries/haskell/threads/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "threads";
-  version = "0.5.0.2";
-  sha256 = "14ccmjg56429a3mzx11ccv18bvkqg56ph9kbpmhdx2ajar80g6jm";
+  version = "0.5.0.3";
+  sha256 = "1da5p65qf1w746flqnl7pxd05pdh8psi6psi0zsqqxmiykw4zvrf";
   buildDepends = [ baseUnicodeSymbols stm ];
   testDepends = [
     baseUnicodeSymbols concurrentExtra HUnit stm testFramework
diff --git a/pkgs/development/libraries/haskell/thyme/default.nix b/pkgs/development/libraries/haskell/thyme/default.nix
index f40730b5e56..da8fd1e3ec8 100644
--- a/pkgs/development/libraries/haskell/thyme/default.nix
+++ b/pkgs/development/libraries/haskell/thyme/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "thyme";
-  version = "0.3.0.1";
-  sha256 = "086i8cadq2s894157s1bh3zhd9zb9apr7w39gnydywzgkx47478h";
+  version = "0.3.0.3";
+  sha256 = "187q8ag6ypbvlikynanzyv8c3hskprcz6xf3p3fjraalp95p86ay";
   buildDepends = [
     attoparsec deepseq lens QuickCheck random text time transformers
     vector vectorSpace
diff --git a/pkgs/development/libraries/haskell/trifecta/1.1.nix b/pkgs/development/libraries/haskell/trifecta/1.1.nix
index ac6cfdd43ae..bf5f2f0d0a7 100644
--- a/pkgs/development/libraries/haskell/trifecta/1.1.nix
+++ b/pkgs/development/libraries/haskell/trifecta/1.1.nix
@@ -18,8 +18,7 @@ cabal.mkDerivation (self: {
     substituteInPlace trifecta.cabal \
       --replace "blaze-html           >= 0.5     && < 0.6," "blaze-html           >= 0.5     && < 0.7," \
       --replace "hashable             >= 1.2     && < 1.3," "hashable             >= 1.1     && < 1.3," \
-      --replace "fingertree           >= 0.0.1   && < 0.1," "fingertree           >= 0.0.1   && < 0.2," \
-      --replace "comonad              == 3.*,"              "comonad              >= 3       && < 5,"
+      --replace "fingertree           >= 0.0.1   && < 0.1," "fingertree           >= 0.0.1   && < 0.2,"
   '';
   meta = {
     homepage = "http://github.com/ekmett/trifecta/";
diff --git a/pkgs/development/libraries/haskell/trifecta/1.2.nix b/pkgs/development/libraries/haskell/trifecta/1.2.nix
index de876fa7f67..f7b9a7aea81 100644
--- a/pkgs/development/libraries/haskell/trifecta/1.2.nix
+++ b/pkgs/development/libraries/haskell/trifecta/1.2.nix
@@ -18,8 +18,7 @@ cabal.mkDerivation (self: {
     substituteInPlace trifecta.cabal \
       --replace "blaze-html           >= 0.5     && < 0.6," "blaze-html           >= 0.5     && < 0.7," \
       --replace "hashable             >= 1.2     && < 1.3," "hashable             >= 1.1     && < 1.3," \
-      --replace "fingertree           >= 0.0.1   && < 0.1," "fingertree           >= 0.0.1   && < 0.2," \
-      --replace "comonad              >= 3       && < 4,"   "comonad              >= 3       && < 5,"
+      --replace "fingertree           >= 0.0.1   && < 0.1," "fingertree           >= 0.0.1   && < 0.2,"
   '';
   meta = {
     homepage = "http://github.com/ekmett/trifecta/";
diff --git a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
index 8d0b0bda23d..2a115b8b217 100644
--- a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
+++ b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "uu-parsinglib";
-  version = "2.8.1";
-  sha256 = "10phjwm8dm45rms2vfpx9vzm56v7b9wp0308xkfbalh5zbvxmv35";
+  version = "2.8.1.1";
+  sha256 = "1mz8sni7mj85b0ih0y1ld7lcj74iq5z2xi1lbwwndpqra9ahc5s6";
   buildDepends = [ ListLike time uuInterleaved ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators";
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index 9789c80e8c1..7e3424713e0 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "1.3.4.5";
-  sha256 = "062d7f8p2xgzn94fllgfc2bhbjv4vgp9j1adjaw9f0s1asnsdmnj";
+  version = "1.3.4.6";
+  sha256 = "09rk9i2fkk4haiq1c6rhcp1p72zw34j9cxsmqnm4jzh6fdsrkq2k";
   buildDepends = [
     ansiTerminal base64Bytestring blazeBuilder blazeBuilderConduit
     caseInsensitive conduit dataDefault dateCache fastLogger httpTypes
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
index b89b39acb50..d95b07121af 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
@@ -10,6 +10,7 @@ cabal.mkDerivation (self: {
     cp -v dist/build/libwxc.so.${self.version} $out/lib/libwxc.so
   '';
   patches = [ ./fix-bogus-pointer-assignment.patch ];
+  noHaddock = true;
   meta = {
     homepage = "http://haskell.org/haskellwiki/WxHaskell";
     description = "wxHaskell C++ wrapper";
diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix
index a86417f6b39..54dcf4dd19d 100644
--- a/pkgs/development/libraries/haskell/yesod-bin/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-bin";
-  version = "1.2.3.4";
-  sha256 = "0xwav5ghik0vzg706rcqlzk64gnvr4nn4iikx1bzymzz2p5zyg0z";
+  version = "1.2.4";
+  sha256 = "1n4lkhwy9kvllvfma951lwx6k731jfm4ajkpjim37k38swmmcb70";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 0bd73c2ade4..789d158fa6c 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "1.2.4.5";
-  sha256 = "091f89bwjsf2qimivbz74rykjjgzghfvs66sv9cz305pgw6kpjc7";
+  version = "1.2.5";
+  sha256 = "0ia5j6vnxy32y6776wlsfcv9d6s7slqpmkhxw3pipcqd5sjn4kf9";
   buildDepends = [
     aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup
     caseInsensitive cereal clientsession conduit cookie dataDefault
diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix
index 5c0220f1f2a..c26d88b5080 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-form";
-  version = "1.3.3";
-  sha256 = "1maf8yczijx8rdjy4abr2jq1ds4g61jg3zbqxjzaaxsbs77gna4a";
+  version = "1.3.4";
+  sha256 = "1ajdbr7lz6jxh5r0iapc7c70pmyrac8rw8qzv4vh8lbvmx0z4ck4";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml blazeMarkup cryptoApi
     dataDefault emailValidate hamlet network persistent resourcet
diff --git a/pkgs/development/libraries/haskell/yesod-platform/default.nix b/pkgs/development/libraries/haskell/yesod-platform/default.nix
index f75b5706f6a..7d56ca1142c 100644
--- a/pkgs/development/libraries/haskell/yesod-platform/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-platform/default.nix
@@ -30,8 +30,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-platform";
-  version = "1.2.4.3";
-  sha256 = "1ilkfmg4sdrz45hc2m8b8rqz242phgxzgizrnd41d5g04jib3hl3";
+  version = "1.2.4.4";
+  sha256 = "0avqaqx81rald37j4qxp75ixgq5q4a3b8fnlmfsp9d54nfp3hxji";
   buildDepends = [
     aeson ansiTerminal asn1Data asn1Types attoparsec attoparsecConduit
     authenticate base64Bytestring baseUnicodeSymbols blazeBuilder
diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix
index c4aba1ddfeb..f9193ee971d 100644
--- a/pkgs/development/libraries/haskell/yesod-static/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-static/default.nix
@@ -1,25 +1,30 @@
 { cabal, base64Bytestring, cereal, conduit, cryptoConduit
-, cryptohashCryptoapi, dataDefault, fileEmbed, hspec, httpTypes
+, cryptohashCryptoapi, dataDefault, fileEmbed, filepath, hjsmin
+, hspec, httpTypes, HUnit, mimeTypes, processConduit, resourcet
 , shakespeareCss, systemFileio, systemFilepath, text, transformers
-, unixCompat, wai, waiAppStatic, yesodCore
+, unixCompat, unorderedContainers, wai, waiAppStatic, waiTest
+, yesodCore, yesodTest
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-static";
-  version = "1.2.0.1";
-  sha256 = "1ij0j1m9j6l63rl4zdfik36a3sb3k0zpqjg85sgis6wdqr18gsi5";
+  version = "1.2.1";
+  sha256 = "0vsmsdyi0nx111mkyf1wkkl2i07l40gcjzrm9dbks7k4pfajxqjx";
   buildDepends = [
     base64Bytestring cereal conduit cryptoConduit cryptohashCryptoapi
-    dataDefault fileEmbed httpTypes shakespeareCss systemFileio
-    systemFilepath text transformers unixCompat wai waiAppStatic
+    dataDefault fileEmbed filepath hjsmin httpTypes mimeTypes
+    processConduit resourcet shakespeareCss systemFileio systemFilepath
+    text transformers unixCompat unorderedContainers wai waiAppStatic
     yesodCore
   ];
   testDepends = [
     base64Bytestring cereal conduit cryptoConduit cryptohashCryptoapi
-    dataDefault fileEmbed hspec httpTypes shakespeareCss systemFileio
-    systemFilepath text transformers unixCompat wai waiAppStatic
-    yesodCore
+    dataDefault fileEmbed filepath hjsmin hspec httpTypes HUnit
+    mimeTypes processConduit resourcet shakespeareCss systemFileio
+    systemFilepath text transformers unixCompat unorderedContainers wai
+    waiAppStatic waiTest yesodCore yesodTest
   ];
+  doCheck = false;
   meta = {
     homepage = "http://www.yesodweb.com/";
     description = "Static file serving subsite for Yesod Web Framework";
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index 556b210b91b..9f416ad27f9 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod";
-  version = "1.2.2.1";
-  sha256 = "0xhpsqfshnay7kaz0czr7ass84cbjlgz2n13jk08hs8g8dw72as4";
+  version = "1.2.3";
+  sha256 = "0y1jwz7azk078kf14hsylgpwljdmrainhwflgxwyf0gcc5l7jhz3";
   buildDepends = [
     aeson blazeHtml blazeMarkup dataDefault hamlet monadControl
     networkConduit safe shakespeareCss shakespeareJs text transformers
diff --git a/pkgs/development/libraries/java/icedtea/default.nix b/pkgs/development/libraries/java/icedtea/default.nix
index 51f375a36f9..094e2a10f95 100644
--- a/pkgs/development/libraries/java/icedtea/default.nix
+++ b/pkgs/development/libraries/java/icedtea/default.nix
@@ -108,5 +108,7 @@ stdenv.mkDerivation rec {
 
     # Restrict to GNU systems for now.
     platforms = stdenv.lib.platforms.gnu;
+
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/libc++/default.nix b/pkgs/development/libraries/libc++/default.nix
index bed95311915..1d4ef158113 100644
--- a/pkgs/development/libraries/libc++/default.nix
+++ b/pkgs/development/libraries/libc++/default.nix
@@ -1,19 +1,43 @@
-{ stdenv, fetchsvn, cmake }:
+{ stdenv, fetchsvn, cmake, libunwind }:
 
-let rev = "165151"; in
+let rev = "190100"; in
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "libc++-pre${rev}";
 
   src = fetchsvn {
     url = "http://llvm.org/svn/llvm-project/libcxx/trunk";
     inherit rev;
-    sha256 = "00l8xx5nc3cjlmln7c1sy1i4v844has9kbfxrsziwkalzbgwaslz";
+    sha256 = "0hnfvzzrkj797kp9sk2yncvbmiyx0d72k8bys3z7l6i47d37xv03";
+  };
+
+  cxxabi = fetchsvn {
+    url = "http://llvm.org/svn/llvm-project/libcxxabi/trunk";
+    inherit rev;
+    sha256 = "1kdyvngwd229cgmcqpawaf0qizas8bqc0g8s08fmbgwsrh1qrryp";
   };
 
   buildInputs = [ cmake ];
 
-  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
+  preConfigure = ''
+      sed -i 's/;cxa_demangle.h//' CMakeLists.txt
+      cp -R ${cxxabi} cxxabi
+      chmod u+w -R cxxabi # umm
+      (export NIX_CFLAGS_COMPILE="-I${libunwind}/include -I$PWD/include";
+       export NIX_CFLAGS_LINK="-L${libunwind}/lib -lunwind";
+       cd cxxabi/lib
+       sed -e s,-lstdc++,, -i buildit # do not link to libstdc++!
+       ./buildit
+       mkdir -p $out/lib && cp libc++abi.so.1.0 $out/lib
+       cd $out/lib
+       ln -s libc++abi.so.1.0 libc++abi.so
+       ln -s libc++abi.so.1.0 libc++abi.so.1)
+  '';
+
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release"
+                 "-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${cxxabi}/include"
+                 "-DLIBCXX_CXX_ABI=libcxxabi" ];
+  buildPhase = ''NIX_CFLAGS_LINK="-L$out/lib -lc++abi" make'';
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libdc1394avt/default.nix b/pkgs/development/libraries/libdc1394avt/default.nix
index 1fcdeae0d11..69f66d7f5b7 100644
--- a/pkgs/development/libraries/libdc1394avt/default.nix
+++ b/pkgs/development/libraries/libdc1394avt/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
     license = "LGPLv2.1+";
     maintainers = [ stdenv.lib.maintainers.viric ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/libebml/default.nix b/pkgs/development/libraries/libebml/default.nix
index d85c205c68a..a2065111190 100644
--- a/pkgs/development/libraries/libebml/default.nix
+++ b/pkgs/development/libraries/libebml/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libebml-1.2.2";
+  name = "libebml-1.3.0";
 
   src = fetchurl {
     url = "http://dl.matroska.org/downloads/libebml/${name}.tar.bz2";
-    sha256 = "19dp8m97xaj46iv6ahb5v0fb9sawjiy8wy1ylljc15ka8g30hss7";
+    sha256 = "1plnh2dv8k9s4d06c2blv2sl8bnz6d6shvj0h00al597nvb79c43";
   };
 
   configurePhase = "cd make/linux";
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index 7562765a3ac..b286dcfcd19 100644
--- a/pkgs/development/libraries/libiconv/default.nix
+++ b/pkgs/development/libraries/libiconv/default.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     maintainers = [ ];
 
     # This library is not needed on GNU platforms.
-    platforms = [ "i686-cygwin" ];
+    hydraPlatforms = stdenv.lib.platforms.cygwin ++ stdenv.lib.platforms.darwin ++ stdenv.lib.platforms.freebsd;
   };
 }
diff --git a/pkgs/development/libraries/libmatroska/default.nix b/pkgs/development/libraries/libmatroska/default.nix
index 0bbc095c380..67b9e728955 100644
--- a/pkgs/development/libraries/libmatroska/default.nix
+++ b/pkgs/development/libraries/libmatroska/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libebml }:
 
 stdenv.mkDerivation rec {
-  name = "libmatroska-1.3.0";
+  name = "libmatroska-1.4.1";
 
   src = fetchurl {
     url = "http://dl.matroska.org/downloads/libmatroska/${name}.tar.bz2";
-    sha256 = "0scfs5lc1nvdfv7ipgg02h7wzxks48hc5lvgk9qmwdkihnayqcaj";
+    sha256 = "1dzglkl0hpimld1kahkrrp857hw5pg1r7xxbpnx7jmlj7s3j2vq8";
   };
 
   configurePhase = "cd make/linux";
diff --git a/pkgs/development/libraries/libmusclecard/default.nix b/pkgs/development/libraries/libmusclecard/default.nix
index 5968c6d9a55..af235b83382 100644
--- a/pkgs/development/libraries/libmusclecard/default.nix
+++ b/pkgs/development/libraries/libmusclecard/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation {
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/libopensc-dnie/default.nix b/pkgs/development/libraries/libopensc-dnie/default.nix
index d229933111e..c231682b621 100644
--- a/pkgs/development/libraries/libopensc-dnie/default.nix
+++ b/pkgs/development/libraries/libopensc-dnie/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = "nonfree";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix
index 0098ddb9d77..a3de6f99418 100644
--- a/pkgs/development/libraries/libtoxcore/default.nix
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -2,8 +2,8 @@
 , libconfig, pkgconfig }:
 
 let
-  version = "31f5d7a8ab";
-  date = "20131011";
+  version = "18c98eb";
+  date = "20131112";
 in
 stdenv.mkDerivation rec {
   name = "tox-core-${date}-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://github.com/irungentoo/ProjectTox-Core/tarball/${version}";
     name = "${name}.tar.gz";
-    sha256 = "0frz8ylvi33i7zkiz3hp28ylqg4c3ffrbc2m3ibb4zv9rwfzf77r";
+    sha256 = "1g69fz9aspzsrlzlk6fpmjyyhb38v8mmp25nszlbra17n3f209yh";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/libunibreak/default.nix b/pkgs/development/libraries/libunibreak/default.nix
index e5e7f5ff0ae..5fb8622d1e0 100644
--- a/pkgs/development/libraries/libunibreak/default.nix
+++ b/pkgs/development/libraries/libunibreak/default.nix
@@ -9,10 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "0rsivyxnp9nfngf83fiy4v58s5mgdhcjz75nv5nyhxwxnjq35d25";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://vimgadgets.sourceforge.net/libunibreak/;
     description = "A library implementing a line breaking algorithm as described in Unicode 6.0.0 Standard";
-    license = "ZLIB";
-    maintainer = [ stdenv.lib.maintainers.coroa ];
+    license = licenses.zlib;
+    platforms = platforms.unix;
+    maintainer = [ maintainers.coroa ];
   };
 }
diff --git a/pkgs/development/libraries/libusb1/1_0_9.nix b/pkgs/development/libraries/libusb1/1_0_9.nix
deleted file mode 100644
index a2d628f9689..00000000000
--- a/pkgs/development/libraries/libusb1/1_0_9.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig }:
-
-stdenv.mkDerivation rec {
-  name = "libusb-1.0.9";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/libusb/${name}.tar.bz2";
-    sha256 = "16sz34ix6hw2wwl3kqx6rf26fg210iryr68wc439dc065pffw879";
-  };
-
-  buildInputs = [ pkgconfig ];
-
-  meta = {
-    homepage = http://www.libusb.org;
-    description = "User-space USB library";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.urkud ];
-  };
-}
-
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index ce81c1b2e8c..40fbbc94afd 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,16 +1,17 @@
 { stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
 , iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext
 , libtasn1, ebtables, libgcrypt, yajl, makeWrapper, pmutils, libcap_ng
+, dnsmasq
 }:
 
-let version = "1.1.2"; in
+let version = "1.1.4"; in
 
 stdenv.mkDerivation {
   name = "libvirt-${version}";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/libvirt-${version}.tar.gz";
-    md5 = "1835bbfa492099bce12e2934870e5611";
+    sha256 = "13yr9g1dk1bzzlm9h93kmavncyg6svjv3rjrv43ccl3sc37za42r";
   };
 
   buildInputs =
@@ -19,12 +20,9 @@ stdenv.mkDerivation {
       libcap_ng
     ];
 
-  # see http://www.mail-archive.com/libvir-list@redhat.com/msg83693.html
-  patches = [ ./securtyfs_userns.patch ];
-
   preConfigure =
     ''
-      PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:$PATH
+      PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:${dnsmasq}/bin:$PATH
       patchShebangs . # fixes /usr/bin/python references
     '';
 
diff --git a/pkgs/development/libraries/libvirt/securtyfs_userns.patch b/pkgs/development/libraries/libvirt/securtyfs_userns.patch
deleted file mode 100644
index 2723334f94a..00000000000
--- a/pkgs/development/libraries/libvirt/securtyfs_userns.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/src/lxc/lxc_container.c
-+++ b/src/lxc/lxc_container.c
-@@ -750,7 +750,7 @@ err:
- }
- 
- 
--static int lxcContainerMountBasicFS(void)
-+static int lxcContainerMountBasicFS(bool userns_enabled)
- {
-     const struct {
-         const char *src;
-@@ -801,6 +801,9 @@ static int lxcContainerMountBasicFS(void)
-             continue;
- #endif
- 
-+        if (STREQ(mnts[i].src, "securityfs") && userns_enabled)
-+            continue;
-+
-         if (virFileMakePath(mnts[i].dst) < 0) {
-             virReportSystemError(errno,
-                                  _("Failed to mkdir %s"),
-@@ -1530,7 +1533,7 @@ static int lxcContainerSetupPivotRoot(virDomainDefPtr vmDef,
-         goto cleanup;
- 
-     /* Mounts the core /proc, /sys, etc filesystems */
--    if (lxcContainerMountBasicFS() < 0)
-+    if (lxcContainerMountBasicFS(vmDef->idmap.nuidmap) < 0)
-         goto cleanup;
- 
-     /* Mounts /proc/meminfo etc sysinfo */
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index e25074f8d12..b86df4969c2 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -2,20 +2,17 @@
 
 assert pythonSupport -> python != null;
 
-stdenv.mkDerivation rec {
-  name = "libxml2-2.9.0";
+#TODO: share most stuff between python and non-python builds, perhaps via multiple-output
+
+stdenv.mkDerivation (rec {
+  name = "libxml2-2.9.1";
 
   src = fetchurl {
     url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
-    sha256 = "10ib8bpar2pl68aqksfinvfmqknwnk7i35ibq6yjl8dpb0cxj9dd";
+    sha256 = "1nqgd1qqmg0cg09mch78m2ac9klj9n87blilx4kymi7jcv5n8g7x";
   };
 
-  patches = [ ./pthread-once-init.patch ];
-
-  configureFlags = stdenv.lib.optionalString pythonSupport "--with-python=${python}";
-
-  buildInputs = (stdenv.lib.optional pythonSupport [ python ])
-
+  buildInputs = stdenv.lib.optional pythonSupport python
     # Libxml2 has an optional dependency on liblzma.  However, on impure
     # platforms, it may end up using that from /usr/lib, and thus lack a
     # RUNPATH for that, leading to undefined references for its users.
@@ -33,7 +30,18 @@ stdenv.mkDerivation rec {
     homepage = http://xmlsoft.org/;
     description = "An XML parsing library for C";
     license = "bsd";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
-}
+
+} // stdenv.lib.optionalAttrs pythonSupport {
+  configureFlags = "--with-python=${python}";
+
+  # this is a pair of ugly hacks to make python stuff install into the right place
+  preInstall = ''substituteInPlace python/libxml2mod.la --replace "${python}" "$out"'';
+  installFlags = ''pythondir="$(out)/lib/${python.libPrefix}/site-packages"'';
+
+} // stdenv.lib.optionalAttrs (!pythonSupport && stdenv.isFreeBSD) {
+  configureFlags = "--with-python=no"; # otherwise build impurity bites us
+})
+
diff --git a/pkgs/development/libraries/libxml2/pthread-once-init.patch b/pkgs/development/libraries/libxml2/pthread-once-init.patch
deleted file mode 100644
index fadfc27a911..00000000000
--- a/pkgs/development/libraries/libxml2/pthread-once-init.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-http://git.gnome.org/browse/libxml2/commit/?id=3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e
-
-From 3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e Mon Sep 17 00:00:00 2001
-From: Friedrich Haubensak <hsk@fli-leibniz.de>
-Date: Wed, 12 Sep 2012 15:34:53 +0000
-Subject: Fix a thread portability problem
-
-cannot compile libxml2-2.9.0 using studio 12.1 compiler on solaris 10
-
-I.M.O. structure initializer (as PTHREAD_ONCE_INIT) cannot be used in
-a structure assignment anyway
----
-diff --git a/threads.c b/threads.c
-index f206149..7e85a26 100644
---- a/threads.c
-+++ b/threads.c
-@@ -146,6 +146,7 @@ struct _xmlRMutex {
- static pthread_key_t globalkey;
- static pthread_t mainthread;
- static pthread_once_t once_control = PTHREAD_ONCE_INIT;
-+static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
- static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
- #elif defined HAVE_WIN32_THREADS
- #if defined(HAVE_COMPILER_TLS)
-@@ -915,7 +916,7 @@ xmlCleanupThreads(void)
- #ifdef HAVE_PTHREAD_H
-     if ((libxml_is_threaded)  && (pthread_key_delete != NULL))
-         pthread_key_delete(globalkey);
--    once_control = PTHREAD_ONCE_INIT;
-+    once_control = once_control_init;
- #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
-     if (globalkey != TLS_OUT_OF_INDEXES) {
-         xmlGlobalStateCleanupHelperParams *p;
---
-cgit v0.9.0.2
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index ed56ffaff73..e2568af6c9b 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation (rec {
     homepage = http://xmlsoft.org/XSLT/;
     description = "A C library and tools to do XSL transformations";
     license = "bsd";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 } // (if !stdenv.isFreeBSD then {} else {
diff --git a/pkgs/development/libraries/nanomsg/default.nix b/pkgs/development/libraries/nanomsg/default.nix
new file mode 100644
index 00000000000..8bf7ccbfcfa
--- /dev/null
+++ b/pkgs/development/libraries/nanomsg/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "0.2-alpha";
+  name = "nanomsg-${version}";
+
+  src = fetchurl {
+    url = "http://download.nanomsg.org/${name}.tar.gz";
+    sha256 = "0bgjj1x1a991pckw4nm5bkmbibjsf74y0ns23fpk4jj5dwarhm3d";
+  };
+
+  installPhase = ''
+    mkdir -p "$out"
+    make install PREFIX="$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description= "Socket library that provides several common communication patterns";
+    homepage = http://nanomsg.org/;
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/opencv/2.1.nix b/pkgs/development/libraries/opencv/2.1.nix
index ea5b1313dc7..4b0ccc0903f 100644
--- a/pkgs/development/libraries/opencv/2.1.nix
+++ b/pkgs/development/libraries/opencv/2.1.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 99bf8f10fd8..ca1db137206 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     license = "LGPLv2+";
 
     maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 9cd094855d2..c438849e0cd 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -4,8 +4,8 @@
 }:
 
 let
-  version = "0.24.1"; # even major numbers are stable
-  sha256 = "1ipzirrh5ppkq99zb59xpfg5j2fgc8mr569r1cmxjjqql0dc1vsw";
+  version = "0.24.3"; # even major numbers are stable
+  sha256 = "0kip6mxp4lscr3wvgfashqk7ymhx2w1hgdilfpgig0a5kr805kfj";
 
   qtcairo_patches =
     let qtcairo = fetchgit { # the version for poppler-0.22
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index 72e08d608d1..79209017188 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -176,6 +176,6 @@ stdenv.mkDerivation rec {
     description = "A cross-platform application framework for C++";
     license     = "GPL/LGPL";
     maintainers = with maintainers; [ lovek323 phreedom sander urkud ];
-    platforms   = platforms.all;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 7521abc599b..de96ab58eae 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.sqlite.org/;
     description = "A self-contained, serverless, zero-configuration, transactional SQL database engine";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/unicap/default.nix b/pkgs/development/libraries/unicap/default.nix
index 7a64017ca8b..daec5a78566 100644
--- a/pkgs/development/libraries/unicap/default.nix
+++ b/pkgs/development/libraries/unicap/default.nix
@@ -45,6 +45,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
+    broken = true;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix
index 332a3bd0e8f..06688ded22a 100644
--- a/pkgs/development/perl-modules/DBD-SQLite/default.nix
+++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix
@@ -35,5 +35,5 @@ buildPerlPackage rec {
   # (e.g. "database is locked(5) at dbdimp.c line 402 at t/07busy.t").
   doCheck = false;
 
-  meta.platforms = stdenv.lib.platforms.linux;
+  meta.platforms = stdenv.lib.platforms.unix;
 }
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index b1664010550..a41cf69ad23 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
-  version = "2.3.2";
+  version = "2.3.3";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
-    sha256 = "1dpvs6b2n309ixglmdpw64k8fbz8n4rd61xp4jrih0z7dgvcql6h";
+    sha256 = "0lc5ivgknkflk6k4a4q1r8bm3kq63p4cazfs1rdb02cfhdip52hc";
   };
 
   jarsrc = fetchurl {
     url = "https://leiningen.s3.amazonaws.com/downloads/${pname}-${version}-standalone.jar";
-    sha256 = "0g6sgmgl0azawwchi86qxqsknk753ffwiszsxg4idqb713ac6cda";
+    sha256 = "1a8i0940ww7xqhwlaaavsgw8s9rjqdnv46hfsla41ns789bappxf";
   };
 
   patches = ./lein_2.3.0.patch;
diff --git a/pkgs/development/tools/build-managers/simple-build-tool/default.nix b/pkgs/development/tools/build-managers/simple-build-tool/default.nix
index e446bf1c1eb..13a216799a2 100644
--- a/pkgs/development/tools/build-managers/simple-build-tool/default.nix
+++ b/pkgs/development/tools/build-managers/simple-build-tool/default.nix
@@ -1,93 +1,30 @@
-{ stdenv, versionedDerivation, fetchurl, version ? "xsbt-0.12.3" }:
+{ stdenv, fetchurl, jre }:
 
-let
+stdenv.mkDerivation rec {
+  name = "sbt-${version}";
+  version = "0.13.0";
 
-      description = "A build tool for Scala";
-      longDescription = name: ''
-        ${name} is a simple build tool for Scala projects that aims to do the
-        basics well.
-
-        This package is the sbt launcher which automatically manages
-        and downloads dependencies, including the SBT package and the
-        Scala compiler.
-      '';
-
-      metaSBT = {
-        inherit description;
-        longDescription = longDescription "sbt";
-        homepage = http://code.google.com/p/simple-build-tool/;
-        license = "bsd";
-      };
-
-      metaXSBT = {
-        inherit description;
-        longDescription = longDescription "xsbt";
-        homepage = https://github.com/harrah/xsbt;
-        license = "bsd";
-      };
-
-in
-
-# Depends on a JRE at runtime.
-
-versionedDerivation "simple-build-tool" version {
-  "0.7.3" = let version = "0.7.3"; in {
-    name = "simple-build-tool-${version}";
-    src = fetchurl {
-      url = "http://simple-build-tool.googlecode.com/files/sbt-launch-${version}.jar";
-      sha256 = "1nciifzf00cs54a4h57a7v1hyklm5vgln0sscmz5kzv96ggphs6k";
-    };
-    meta = metaSBT;
-  };
-
-  "0.7.7" = let version = "0.7.7"; in {
-    name = "simple-build-tool-${version}";
-    src = fetchurl {
-      url = "http://simple-build-tool.googlecode.com/files/sbt-launch-${version}.jar";
-      # sha256 = "1nciifzf00cs54a4h57a7v1hyklm5vgln0sscmz5kzv96ggphs6j";
-      sha256 = "2720b033012a7509f7fbdfddfa69c07b105452a6f95bc410cb7dc34c1594ab3d";
-    };
-    meta = metaSBT;
-  };
-
-  "xsbt-0.11.2" = let version = "0.11.2"; in { # scala 2.9
-    name = "xsbt-${version}";
-
-    # scala needs much more PermGen space
-    javaArgs = "-Xmx1024M";
-    # from https://github.com/harrah/xsbt/wiki/Getting-Started-Setup
-    src = fetchurl {
-      url = http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt-launch/0.11.2/sbt-launch.jar;
-      sha256 = "14fbzvb1s66wpbqznw65a7nn27qrq1i9pd7wlbydv8ffl49d262n";
-    };
-    meta = metaXSBT;
+  src = fetchurl {
+    url = "http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${version}/sbt-launch.jar";
+    sha256 = "04s49v5mw4kwz1rmvbf07kq51i2m0lcv60c9i5y524gjj518pk1w";
   };
 
-  "xsbt-0.12.3" = let version = "0.12.3"; in {
-    name = "xsbt-${version}";
-
-    # Recommended java options from sbt Getting started guide
-    javaArgs = "-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M";
-    # from https://github.com/harrah/xsbt/wiki/Getting-Started-Setup
-    src = fetchurl {
-      url = http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.12.3/sbt-launch.jar;
-      sha256 = "11r26abjzmnmpn65ndbq60qg31s3ichkvzpmxyrq941s1n1dbxgh";
-    };
-    meta = metaXSBT;
-  };
-}
-{
+  phases = [ "installPhase" ];
 
   installPhase = ''
-    mkdir -pv "$out/lib/java"
-    cp $src "$out/lib/java/sbt-launch-${version}.jar"
-    mkdir -p "$out/bin"
-    cat > "$out/bin/sbt" <<EOF
-    #! /bin/sh
-    exec java $javaArgs -jar $out/lib/java/sbt-launch-${version}.jar "\$@"
+    mkdir -p $out/bin
+    cat > $out/bin/sbt << EOF
+    #!/bin/sh
+    SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M"
+    ${jre}/bin/java $SBT_OPTS -jar ${src} "\$@"
     EOF
-    chmod u+x "$out/bin/sbt"
+    chmod +x $out/bin/sbt
   '';
 
-  phases = "installPhase";
+  meta = { 
+    homepage = http://www.scala-sbt.org/;
+    license = stdenv.lib.licenses.bsd3;
+    description = "A build tool for Scala, Java and more";
+    maintainers = [ stdenv.lib.maintainers.rickynils ];  
+  };  
 }
diff --git a/pkgs/development/tools/haskell/keter/default.nix b/pkgs/development/tools/haskell/keter/default.nix
index e6377a201fe..c3f242bc434 100644
--- a/pkgs/development/tools/haskell/keter/default.nix
+++ b/pkgs/development/tools/haskell/keter/default.nix
@@ -1,23 +1,23 @@
 { cabal, aeson, async, attoparsec, blazeBuilder, caseInsensitive
 , conduit, dataDefault, filepath, fsnotify, httpConduit
-, httpReverseProxy, httpTypes, mtl, network, networkConduit
-, networkConduitTls, random, regexTdfa, stm, systemFileio
-, systemFilepath, tar, text, time, transformers, unixCompat
-, unixProcessConduit, unorderedContainers, vector, wai
+, httpReverseProxy, httpTypes, liftedBase, mtl, network
+, networkConduit, networkConduitTls, random, regexTdfa, stm
+, systemFileio, systemFilepath, tar, text, time, transformers
+, unixCompat, unixProcessConduit, unorderedContainers, vector, wai
 , waiAppStatic, waiExtra, warp, warpTls, yaml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "keter";
-  version = "1.0.1.1";
-  sha256 = "1bcp9yxmh5z7cvap4nrj8gxnndwws21w6y352yasf35bf432nxa9";
+  version = "1.0.1.2";
+  sha256 = "1rk0sf6riyb6r1sz0jkvwwj1yyxwjxgafpidp9rqwm8wnqyx6hh8";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson async attoparsec blazeBuilder caseInsensitive conduit
     dataDefault filepath fsnotify httpConduit httpReverseProxy
-    httpTypes mtl network networkConduit networkConduitTls random
-    regexTdfa stm systemFileio systemFilepath tar text time
+    httpTypes liftedBase mtl network networkConduit networkConduitTls
+    random regexTdfa stm systemFileio systemFilepath tar text time
     transformers unixCompat unixProcessConduit unorderedContainers
     vector wai waiAppStatic waiExtra warp warpTls yaml zlib
   ];
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 4dd83f63c7d..8df9f71c181 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -8,7 +8,7 @@
 
 let
 
-  basename = "gdb-7.6";
+  basename = "gdb-7.6.1";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.bz2";
-    md5 = "fda57170e4d11cdde74259ca575412a8";
+    md5 = "fbc4dab4181e6e9937075b43a4ce2732";
   };
 
   # I think python is not a native input, but I leave it
diff --git a/pkgs/development/tools/misc/intltool/default.nix b/pkgs/development/tools/misc/intltool/default.nix
index b2a400a6189..c9bb661935a 100644
--- a/pkgs/development/tools/misc/intltool/default.nix
+++ b/pkgs/development/tools/misc/intltool/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
     homepage = "http://launchpad.net/intltool/";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     inherit (s) version;
   };
 }
diff --git a/pkgs/development/tools/misc/lttv/default.nix b/pkgs/development/tools/misc/lttv/default.nix
index df9f81d02e6..5cf8b664941 100644
--- a/pkgs/development/tools/misc/lttv/default.nix
+++ b/pkgs/development/tools/misc/lttv/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, gtk2, popt, babeltrace }:
 
 stdenv.mkDerivation rec {
-  name = "lttv-1.5-beta1";
+  name = "lttv-1.5";
 
   src = fetchurl {
     url = "http://lttng.org/files/packages/${name}.tar.bz2";
-    sha256 = "0cz69q189wndwpvic0l6wvzl1nsfqadbrigaaxgzij72r7n89sfc";
+    sha256 = "1faldxnh9dld5k0vxckwpqw241ya1r2zv286l6rpgqr500zqw7r1";
   };
 
   buildInputs = [ pkgconfig glib gtk2 popt babeltrace ];
diff --git a/pkgs/development/tools/misc/stlink/default.nix b/pkgs/development/tools/misc/stlink/default.nix
index 675f8f7f2af..c4dfa99becd 100644
--- a/pkgs/development/tools/misc/stlink/default.nix
+++ b/pkgs/development/tools/misc/stlink/default.nix
@@ -8,11 +8,12 @@
 # SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE:="0666", SYMLINK+="stlinkv2_%n"
 
 stdenv.mkDerivation {
-  name = "stlink-git20130306";
+  name = "stlink-20130306";
 
   src = fetchgit {
     url = git://github.com/texane/stlink.git;
     rev = "5be889e3feb75fc7f594012c4855b4dc16940050";
+    sha256 = "1xbfr1kz4k6hhl0xpqn1vi83fdynjxx3ymn9gb7b0pb7h6ncjcyr";
   };
 
   buildInputs = [ autoconf automake libtool pkgconfig libusb1 ];
diff --git a/pkgs/development/tools/misc/uhd/default.nix b/pkgs/development/tools/misc/uhd/default.nix
new file mode 100644
index 00000000000..d49077a5ef6
--- /dev/null
+++ b/pkgs/development/tools/misc/uhd/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, cmake, pkgconfig, python, cheetahTemplate, orc, libusb1, boost }:
+
+# You need these udev rules to not have to run as root (copied from
+# ${uhd}/share/uhd/utils/uhd-usrp.rules):
+#
+#   SUBSYSTEMS=="usb", ATTRS{idVendor}=="fffe", ATTRS{idProduct}=="0002", MODE:="0666"
+#   SUBSYSTEMS=="usb", ATTRS{idVendor}=="2500", ATTRS{idProduct}=="0002", MODE:="0666"
+
+stdenv.mkDerivation rec {
+  name = "uhd-${version}";
+  version = "3.5.4";
+
+  # UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz
+  # and xxx.yyy.zzz. Hrmpf...
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/EttusResearch/uhd/archive/release_003_005_004.tar.gz";
+    sha256 = "1l11dv72r4ynfpw58aacq0kjylzw85yapv3kzc76lg6qgdb0pqrd";
+  };
+
+  cmakeFlags = "-DLIBUSB_INCLUDE_DIRS=${libusb1}/include/libusb-1.0";
+
+  buildInputs = [ cmake pkgconfig python cheetahTemplate orc libusb1 boost ];
+
+  # Build only the host software
+  preConfigure = "cd host";
+
+  # Firmware images are downloaded (pre-built)
+  uhdImagesName = "uhd-images_003.005.004-release";
+  uhdImagesSrc = fetchurl {
+    url = "http://files.ettus.com/binaries/maint_images/archive/${uhdImagesName}.tar.gz";
+    sha256 = "0lgy9076vshlaq7l4n3q1hka3q4xxzdz7mqh7kawg4dziq7j8nl6";
+  };
+
+  postPhases = [ "installFirmware" ];
+
+  installFirmware = ''
+    tar --strip-components=1 -xvf "${uhdImagesSrc}" -C "$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "USRP Hardware Driver (for Software Defined Radio)";
+    longDescription = ''
+      The USRP Hardware Driver (UHD) software is the hardware driver for all
+      USRP (Universal Software Radio Peripheral) devices.
+
+      USRP devices are designed and sold by Ettus Research, LLC and its parent
+      company, National Instruments.
+    '';
+    homepage = http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix
index 293ff66f29d..bdd11b88da5 100644
--- a/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/pkgs/development/tools/profiling/systemtap/default.nix
@@ -69,5 +69,6 @@ stdenv.mkDerivation rec {
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix
index 217c81d4317..716bda30f0d 100644
--- a/pkgs/development/web/nodejs/build-node-package.nix
+++ b/pkgs/development/web/nodejs/build-node-package.nix
@@ -11,6 +11,11 @@ let
     tar xf ${nodejs.src}
     mv *node* $out
   '';
+
+  peerDeps = listToAttrs (concatMap (dep: map (name: {
+    inherit name;
+    value = dep;
+  }) (filter (nm: !(elem nm (args.passthru.names or []))) dep.names)) (peerDependencies));
 in
 stdenv.mkDerivation ({
   unpackPhase = "true";
@@ -21,9 +26,9 @@ stdenv.mkDerivation ({
     ${concatStrings (concatMap (dep: map (name: ''
       ln -sv ${dep}/lib/node_modules/${name} node_modules/
     '') dep.names) deps)}
-    ${concatStrings (concatMap (dep: map (name: ''
+    ${concatStrings (mapAttrsToList (name: dep: ''
       ln -sv ${dep}/lib/node_modules/${name} node_modules/
-    '') dep.names) peerDependencies)}
+    '') peerDeps)}
     export HOME=$(pwd)
     runHook postConfigure
   '';
@@ -51,9 +56,9 @@ stdenv.mkDerivation ({
         done
       fi
     '') args.passthru.names)}
-    ${concatStrings (concatMap (dep: map (name: ''
+    ${concatStrings (mapAttrsToList (name: dep: ''
       mv node_modules/${name} $out/lib/node_modules
-    '') dep.names) peerDependencies)}
+    '') peerDeps)}
     mv node_modules/.bin $out/lib/node_modules 2>/dev/null || true
     mv node_modules $out/.dependent-node-modules
     if [ -d "$out/lib/node_modules/.bin" ]; then
diff --git a/pkgs/games/alienarena/default.nix b/pkgs/games/alienarena/default.nix
index d9852971adf..b3c2dd14718 100644
--- a/pkgs/games/alienarena/default.nix
+++ b/pkgs/games/alienarena/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
     # Engine is under GPLv2, everything else is under
     license = [ "unfree-redistributable" ];
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/dwarf-therapist/default.nix b/pkgs/games/dwarf-therapist/default.nix
index d8f39ceeea4..c7e594f89bd 100644
--- a/pkgs/games/dwarf-therapist/default.nix
+++ b/pkgs/games/dwarf-therapist/default.nix
@@ -54,7 +54,8 @@ stdenv.mkDerivation rec {
     description = "Tool to manage dwarves in in a running game of Dwarf Fortress";
     maintainers = with stdenv.lib.maintainers; [ the-kenny ];
     license = "MIT";
-    platforms = stdenv.lib.platforms.none;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
     homepage = https://code.google.com/r/splintermind-attributes/;
   };
 }
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 71183d0ea2a..f3ddb633e87 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -57,7 +57,8 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Flight simulator";
     maintainers = with maintainers; [ raskin ];
-    #platforms = platforms.linux; # disabled from hydra because it's so big
+    platforms = platforms.linux;
+    hydraPlatforms = []; # disabled from hydra because it's so big
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/games/naev/default.nix b/pkgs/games/naev/default.nix
index 4516afaef6d..c2a7ee90a1f 100644
--- a/pkgs/games/naev/default.nix
+++ b/pkgs/games/naev/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation {
     homepage = http://www.naev.org;
     license = "GPLv3+";
     maintainers = with stdenv.lib.maintainers; [viric];
-    #platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/oilrush/default.nix b/pkgs/games/oilrush/default.nix
index b96fd7c3e9f..f62570dbd08 100644
--- a/pkgs/games/oilrush/default.nix
+++ b/pkgs/games/oilrush/default.nix
@@ -69,7 +69,8 @@ stdenv.mkDerivation {
     homepage = http://oilrush-game.com/;
     license = "unfree";
     #maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 
 }
diff --git a/pkgs/games/sauerbraten/default.nix b/pkgs/games/sauerbraten/default.nix
index 8bec0f7b1a9..eb5d933e885 100644
--- a/pkgs/games/sauerbraten/default.nix
+++ b/pkgs/games/sauerbraten/default.nix
@@ -66,7 +66,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
+    hydraPlatforms =
       # raskin: tested amd64-linux;
       # not setting platforms because it is 0.5+ GiB of game data
       [];
diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix
index 811d8d432ce..a61d2f370d0 100644
--- a/pkgs/games/soi/default.nix
+++ b/pkgs/games/soi/default.nix
@@ -46,6 +46,7 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = "free-noncopyleft";
+    broken = true;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/games/speed-dreams/default.nix b/pkgs/games/speed-dreams/default.nix
index e920b8c633e..7a78235bdff 100644
--- a/pkgs/games/speed-dreams/default.nix
+++ b/pkgs/games/speed-dreams/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     homepage = http://speed-dreams.sourceforge.net/;
     license = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [viric raskin];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/torcs/default.nix b/pkgs/games/torcs/default.nix
index f5b713ae337..9f1fdedd577 100644
--- a/pkgs/games/torcs/default.nix
+++ b/pkgs/games/torcs/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
     homepage = http://torcs.sourceforge.net/;
     license = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [viric];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/ufoai/default.nix b/pkgs/games/ufoai/default.nix
index d9955aec3eb..2fef444328c 100644
--- a/pkgs/games/ufoai/default.nix
+++ b/pkgs/games/ufoai/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     description = "A squad-based tactical strategy game in the tradition of X-Com";
     license = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [viric];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/unvanquished/default.nix b/pkgs/games/unvanquished/default.nix
index 2768d2fad9e..9ba3a442eb7 100644
--- a/pkgs/games/unvanquished/default.nix
+++ b/pkgs/games/unvanquished/default.nix
@@ -62,7 +62,8 @@ stdenv.mkDerivation rec {
     homepage = http://unvanquished.net;
     #license = "unknown";
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
+    platforms = stdenv.lib.platforms.linux;
     # This package can take a lot of disk space, so unavailable from channel
-    #platforms = with stdenv.lib.platforms; linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix
index 535e575fdc4..020d60fa3fa 100644
--- a/pkgs/games/urbanterror/default.nix
+++ b/pkgs/games/urbanterror/default.nix
@@ -59,6 +59,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.urbanterror.net;
     license = [ "unfree-redistributable" ];
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    #platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/vdrift/default.nix b/pkgs/games/vdrift/default.nix
index 97bd1ab432d..af112c37af4 100644
--- a/pkgs/games/vdrift/default.nix
+++ b/pkgs/games/vdrift/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
     homepage = http://vdrift.net/;
     license = "GPLv2+";
     maintainers = with stdenv.lib.maintainers; [viric];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix
index e20adc8faa7..65c99134072 100644
--- a/pkgs/games/widelands/default.nix
+++ b/pkgs/games/widelands/default.nix
@@ -64,7 +64,8 @@ rec {
       raskin
       jcumming
     ];
-    #platforms = a.lib.platforms.linux;
+    platforms = a.lib.platforms.linux;
+    hydraPlatforms = [];
     license = a.lib.licenses.gpl2Plus;
   };
   passthru = {
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index 957d7b2c7f4..5245c12e6ce 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -56,6 +56,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.xonotic.org;
     license = with stdenv.lib.licenses; gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    #platforms = with stdenv.lib.platforms; linux;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix
index 79b819c12a7..ebec9867a61 100644
--- a/pkgs/misc/drivers/gutenprint/default.nix
+++ b/pkgs/misc/drivers/gutenprint/default.nix
@@ -1,9 +1,9 @@
 # this package was called gimp-print in the past
 { fetchurl, stdenv, pkgconfig, composableDerivation, cups
-, libtiff, libpng, openssl, gimp }:
+, libtiff, libpng, makeWrapper, openssl, gimp }:
 
 let
-   version = "5.2.7";
+   version = "5.2.9";
    inherit (composableDerivation) edf wwf;
 in
 
@@ -12,11 +12,11 @@ composableDerivation.composableDerivation {} {
 
   src = fetchurl {
     url = "mirror://sourceforge/gimp-print/gutenprint-${version}.tar.bz2";
-    sha256 = "1lgf7d9vsszv0bzgsd8j3x5smby1lpk07d8x7isv1sz34y98jk0i";
+    sha256 = "185wai9hk0z0144hpxn5mqncy6xikc4bdv49vxqh5lrjdzqf89sb";
   };
 
   # gimp, gui is still not working (TODO)
-  buildInputs = [ openssl pkgconfig ];
+  buildInputs = [ makeWrapper openssl pkgconfig ];
 
   configureFlags = ["--enable-static-genppd"];
   NIX_CFLAGS_COMPILE="-include stdio.h";
@@ -37,6 +37,10 @@ composableDerivation.composableDerivation {} {
 
   installPhase = ''
     eval "make install $installArgs"
+    mkdir -p $out/lib/cups
+    ln -s $out/filter $out/lib/cups/
+    wrapProgram $out/filter/rastertogutenprint.5.2 --prefix LD_LIBRARY_PATH : $out/lib
+    wrapProgram $out/sbin/cups-genppd.5.2 --prefix LD_LIBRARY_PATH : $out/lib
   '';
 
   meta = { 
diff --git a/pkgs/misc/emulators/VisualBoyAdvance/default.nix b/pkgs/misc/emulators/VisualBoyAdvance/default.nix
index 95f7d9433f9..942bf2c2184 100644
--- a/pkgs/misc/emulators/VisualBoyAdvance/default.nix
+++ b/pkgs/misc/emulators/VisualBoyAdvance/default.nix
@@ -13,11 +13,12 @@ stdenv.mkDerivation {
     sed -i -e "s|char \* p = strrchr|const char * p = strrchr|g" src/Util.cpp
   '';
   buildInputs = [ zlib libpng SDL ] ++ stdenv.lib.optional (stdenv.system == "i686-linux") nasm;
-  
+
   meta = {
     description = "A Game Boy/Game Boy Color/Game Boy Advance Emulator";
     license = "GPLv2+";
     maintainers = [ stdenv.lib.maintainers.sander ];
     homepage = http://vba.ngemu.com;
+    broken = true;
   };
 }
diff --git a/pkgs/misc/emulators/wine/stable.nix b/pkgs/misc/emulators/wine/stable.nix
index 9c1f7fd24ae..a9e0aacba26 100644
--- a/pkgs/misc/emulators/wine/stable.nix
+++ b/pkgs/misc/emulators/wine/stable.nix
@@ -6,13 +6,13 @@
 assert stdenv.isLinux;
 assert stdenv.gcc.gcc != null;
 
-let 
-    version = "1.6";
+let
+    version = "1.6.1";
     name = "wine-${version}";
 
     src = fetchurl {
       url = "mirror://sourceforge/wine/${name}.tar.bz2";
-      sha256 = "1bj21d94i0mqvkmzxd4971232yniribk7q3fllf23ynbpppk1wg1";
+      sha256 = "0k1qb8hhaf5mbb3jk0a37jx93mvlxpk5c4dslxhalp2mic42rg6m";
     };
 
     gecko = fetchurl {
diff --git a/pkgs/misc/uboot/guruplug.nix b/pkgs/misc/uboot/guruplug.nix
index b1f4cab7b73..258ba999bf8 100644
--- a/pkgs/misc/uboot/guruplug.nix
+++ b/pkgs/misc/uboot/guruplug.nix
@@ -10,7 +10,7 @@ let
   rev = "f106056095049c2c748c2a2797e5353295240e04";
 in
 stdenv.mkDerivation {
-  name = "uboot-guruplug-0.0pre${rev}";
+  name = "uboot-guruplug-0.0-pre-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
     url = "git://git.denx.de/u-boot-marvell.git";
diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix
index 26d32594fba..239c70d515d 100644
--- a/pkgs/os-specific/linux/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-lib/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-lib-1.0.26";
+  name = "alsa-lib-1.0.27.2";
 
   src = fetchurl {
     urls = [
      "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2"
      "http://alsa.cybermirror.org/lib/${name}.tar.bz2"
     ];
-    sha256 = "0zbfkwqn7ixa71lsna9llq6i2gic540h8r8r0rjdphrwc1hq37wc";
+    sha256 = "068d8c92122hwca5jzhrjp4a131995adlb1d79zgrm7gwy9x63k9";
   };
 
   configureFlags = "--disable-xmlto";
diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix
index fb17b47b506..5b822969968 100644
--- a/pkgs/os-specific/linux/alsa-plugins/default.nix
+++ b/pkgs/os-specific/linux/alsa-plugins/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, lib, pkgconfig, alsaLib, pulseaudio ? null, jackaudio ? null }:
 
 stdenv.mkDerivation rec {
-  name = "alsa-plugins-1.0.26";
+  name = "alsa-plugins-1.0.27";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.alsa-project.org/pub/plugins/${name}.tar.bz2"
       "http://alsa.cybermirror.org/plugins/${name}.tar.bz2"
     ];
-    sha256 = "07wz3kl6isabk15ddpzz820pqlgvw6q0m7knnbgv9780s8s52l83";
+    sha256 = "0ddbycq4cn9mc8xin0vh1af0zywz2rc2xyrs6qbayyyxq8vhrg8b";
   };
 
   buildInputs =
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index c121b227eee..3eafe8bbfe5 100644
--- a/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-utils/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, alsaLib, gettext, ncurses, libsamplerate}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-utils-1.0.26";
+  name = "alsa-utils-1.0.27";
 
   src = fetchurl {
     # url = "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2";
     url = "http://alsa.cybermirror.org/utils/${name}.tar.bz2";
-    sha256 = "1rw1n3w8syqky9i7kwy5xd2rzfdbihxas32vwfxpb177lqx2lpzq";
+    sha256 = "1vssljbdzf0psqhhd7w9m9mzb0sl2kgx9fagkja25sqw6ivwsxkg";
   };
 
   buildInputs = [ alsaLib ncurses libsamplerate ];
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index 326de9ed81a..ab95accd749 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -68,7 +68,8 @@ stdenv.mkDerivation rec {
     homepage = http://support.amd.com/us/gpudownload/Pages/index.aspx;
     license = "unfree";
     maintainers = [stdenv.lib.maintainers.marcweber];
-    #platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" ];
+    hydraPlatforms = [];
   };
 
   # moved assertions here because the name is evaluated when the NixOS manual is generated
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 1ade2473627..3e1fc920a59 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -40,9 +40,6 @@
 , ...
 }:
 
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"
-  || stdenv.isArm || stdenv.system == "mips64el-linux";
-
 assert stdenv.platform.name == "sheevaplug" -> stdenv.platform.uboot != null;
 
 let
diff --git a/pkgs/os-specific/linux/kernel/linux-3.0.nix b/pkgs/os-specific/linux/kernel/linux-3.0.nix
deleted file mode 100644
index 30b70035dfa..00000000000
--- a/pkgs/os-specific/linux/kernel/linux-3.0.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ stdenv, fetchurl, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "3.0.99";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1p31gq9kzwfks980y6rb2mjyagj8lrh6y156a550v7mk0bd4fzdi";
-  };
-
-  features.iwlwifi = true;
-})
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 65660619857..84d3f64cf2c 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.15";
+  version = "3.10.18";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "07wjh58sylbbw9hwxd5xvbz3dxd05iar8ahzk90lki38m5157ffk";
+    sha256 = "0nkiy2hxwam91707vccprmap28wiwxar2v2ishj1bb2xzkbnxwpd";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.11.nix b/pkgs/os-specific/linux/kernel/linux-3.11.nix
index 6531895d8a7..52e2032daab 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.11.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.11.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.11.6";
+  version = "3.11.7";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0klbyx6qy3ifwrwh5w7yzk6m6jd32flkk73z95bih3ihmbnbzlvs";
+    sha256 = "1nb93pchv72c7jibv1kvkmgkg2556gb9a0xx21nf9mclf46a9dx9";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index f0929af1d29..dd61d824264 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,11 +1,13 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12-rc3";
+  version = "3.12";
+
+  modDirVersion = "3.12.0";
 
   src = fetchurl {
-    url = "https://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-${version}.tar.xz";
-    sha256 = "1rayb0f4n81yp9ghcws0v36dpqyl9ks3naf37p2qy7jvrwagmj28";
+    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+    sha256 = "00jshh7abn8fj6zsbmfaxxfpg83033413k5nqqfsb7z1zp3hw4if";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 47393b0ae74..e6f801d67e2 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.4.67";
+  version = "3.4.69";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1ndzlwhxvlm4lr86240h3ysxhmdkgdcp0n6qhid5nwrmxf5fpb1d";
+    sha256 = "0kwln802cxv8dg45r5kw8fi4npjczg5xf98hx7i9xwa33f57iv7g";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.9.nix b/pkgs/os-specific/linux/kernel/linux-3.9.nix
deleted file mode 100644
index 51bcf35b3fe..00000000000
--- a/pkgs/os-specific/linux/kernel/linux-3.9.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, fetchurl, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "3.9.11";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0d5j7kg1ifzwipicbi4g26plzbzn1rlvgj1hs4zip6sxj8ifbffl";
-  };
-
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.canDisableNetfilterConntrackHelpers = true;
-  features.netfilterRPFilter = true;
-})
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix
index fdf2f139c33..6d28c376078 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix
@@ -15,5 +15,5 @@ in import ./generic.nix (args // rec {
 
   features.iwlwifi = true;
 
-  extraMeta.platforms = [];
+  extraMeta.hydraPlatforms = [];
 })
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 29eb170287a..f097f2562d0 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -1,8 +1,8 @@
 { stdenv, runCommand, nettools, bc, perl, kmod, writeTextFile }:
 
-with stdenv.lib;
-
 let
+  inherit (stdenv.lib)
+    hasAttr getAttr optionalAttrs optional optionalString maintainers platforms;
 
   # Function to parse the config file into a nix expression
   readConfig = configFile:
@@ -169,6 +169,6 @@ stdenv.mkDerivation {
     maintainers = [
       maintainers.shlevy
     ];
-    platforms = lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 613f40c6fc9..6c812646209 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -68,20 +68,6 @@ rec {
       features.secPermPatch = true;
     };
 
-  aufs3_0 = rec {
-    name = "aufs3.0";
-    version = "3.0.20121210";
-    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
-    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
-    patch = makeAufs3StandalonePatch {
-      inherit version;
-      rev = "0627c706d69778f5c74be982f28c746153b8cdf7";
-      sha256 = "7008ff64f5adc2b3a30fcbb090bcbfaac61b778af38493b6144fc7d768a6514d";
-    };
-    features.aufsBase = true;
-    features.aufs3 = true;
-  };
-
   aufs3_2 = rec {
     name = "aufs3.2";
     version = "3.2.20121210";
diff --git a/pkgs/os-specific/linux/ldm/default.nix b/pkgs/os-specific/linux/ldm/default.nix
new file mode 100644
index 00000000000..df98b5260c6
--- /dev/null
+++ b/pkgs/os-specific/linux/ldm/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchgit, udev, utillinux, mountPath ? "/media/" }:
+
+assert mountPath != "";
+
+let
+  name = "ldm-0.4.2";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  # There is a stable release, but we'll use the lvm branch, which
+  # contains important fixes for LVM setups.
+  src = fetchgit {
+    url = "https://github.com/LemonBoy/ldm.git";
+    rev = "26633ce07b";
+    sha256 = "bb733d3b9b3bd5843b9cf1507a04a063c5aa45b398480411709fc727ae10b8b1";
+  };
+
+  buildInputs = [ udev utillinux ];
+
+  preBuild = ''
+    substituteInPlace ldm.c \
+      --replace "/mnt/" "${mountPath}"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -v ldm $out/bin
+  '';
+
+  meta = {
+    description = "A lightweight device mounter, with libudev as only dependency";
+    license = "MIT";
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+  };
+}
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index b60b6134fdd..5c36bb09781 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -10,7 +10,7 @@
 let
 
   rev = "7fa99818367a6d17014b36d6f918ad848cbe7ce2";
-  version = "1.0pre-${rev}"; 
+  version = "1.0pre-${stdenv.lib.strings.substring 0 7 rev}"; 
   sha256 = "15eea3acd76190c7922c71028b31963221a2eefd8afa713879e191a26bc22ae7";
 
 in stdenv.mkDerivation {
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 35595a7b8f4..02eb65123d8 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -10,7 +10,7 @@ with stdenv.lib;
 
 let
 
-  versionNumber = "319.60";
+  versionNumber = "331.20";
 
 in
 
@@ -19,21 +19,16 @@ stdenv.mkDerivation {
 
   builder = ./builder.sh;
 
-  patches =
-    [ ./version-test.patch ]
-    ++ optional (!libsOnly && versionAtLeast kernelDev.version "3.11") ./nvidia-drivers-linux-3.11-incremental.patch
-    ;
-
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "0kjidkwd2b5aik74663mxk3ffq4a3fmaybq2aq1lcbfhvvh49j6j";
+        sha256 = "0icpmfsppnsvk7vj0fshi3ry4s1wix435s2c8wwak47765fv1mks";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
-        sha256 = "0fhrxcfsw2jaycnz9gr04c9w585wydx8kpm6rjjbw19wkf8hlq3z";
+        sha256 = "02503dis3ngraqv7174a4pay2x08hp697n9q74rpjjclf5k74ax1";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
@@ -58,5 +53,7 @@ stdenv.mkDerivation {
     homepage = http://www.nvidia.com/object/unix.html;
     description = "X.org driver and kernel module for NVIDIA graphics cards";
     license = stdenv.lib.licenses.unfreeRedistributable;
+    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch b/pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch
deleted file mode 100644
index bb6fad932e3..00000000000
--- a/pkgs/os-specific/linux/nvidia-x11/nvidia-drivers-linux-3.11-incremental.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 8a8647ad942c8ac5161e1335f7f3e9dbb34dbf9e Mon Sep 17 00:00:00 2001
-From: Lukas Elsner <open@mindrunner.de>
-Date: Wed, 17 Jul 2013 01:16:04 +0200
-Subject: [PATCH] replace num_physpages with totalram_pages
-
----
- kernel/nv-linux.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h
-index 4e5ed89..46c51ec 100644
---- a/kernel/nv-linux.h
-+++ b/kernel/nv-linux.h
-@@ -957,7 +957,7 @@ static inline int nv_execute_on_all_cpus(void (*func)(void *info), void *info)
- #endif
- 
- #if !defined(NV_VMWARE)
--#define NV_NUM_PHYSPAGES                num_physpages
-+#define NV_NUM_PHYSPAGES                totalram_pages
- #define NV_GET_CURRENT_PROCESS()        current->tgid
- #define NV_IN_ATOMIC()                  in_atomic()
- #define NV_LOCAL_BH_DISABLE()           local_bh_disable()
--- 
-1.8.3.2
-
diff --git a/pkgs/os-specific/linux/nvidia-x11/version-test.patch b/pkgs/os-specific/linux/nvidia-x11/version-test.patch
deleted file mode 100644
index 9b6908ee5c0..00000000000
--- a/pkgs/os-specific/linux/nvidia-x11/version-test.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -Naur NVIDIA-Linux-x86_64-310.32-no-compat32/kernel/conftest.sh NVIDIA-patched/kernel/conftest.sh
---- NVIDIA-Linux-x86_64-310.32-no-compat32/kernel/conftest.sh	2013-01-14 18:11:17.000000000 -0430
-+++ NVIDIA-patched/kernel/conftest.sh	2013-02-05 14:44:50.757999124 -0430
-@@ -1699,11 +1699,13 @@
-                 # kernel older than 2.6.6, that's all we require to
-                 # build the module.
-                 #
-+                VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3)
-                 PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3)
-                 SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3)
- 
--                if [ -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \
--                        -a -n "$SUBLEVEL" -a $SUBLEVEL -le 5 ]; then
-+                if [ -n "$VERSION" -a -n "$PATCHLEVEL" -a -n "$SUBLEVEL" \
-+                     -a "$VERSION" -ge 3 -o "$VERSION" -eq 2 -a "$PATCHLEVEL" -ge 7 \
-+                     -o "$PATCHLEVEL" -eq 6 -a "$SUBLEVEL" -ge 6 ]; then 
-                     SELECTED_MAKEFILE=Makefile.kbuild
-                     RET=0
-                 fi
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index d5dc292ac33..cba4a510ff0 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -6,11 +6,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "upower-0.9.19";
+  name = "upower-0.9.23";
 
   src = fetchurl {
     url = "http://upower.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "053yahks5c7nwdxwx8q6nqp3mxbqldmc844mzyvc3ws9635zmisl";
+    sha256 = "06wqhab2mn0j4biiwh7mn4kxbxnfnzjkxvhpgvnlpaz9m2q54cj3";
   };
 
   buildInputs =
@@ -19,14 +19,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  configureFlags =
-    [ "--with-backend=linux" "--localstatedir=/var" ]
-    ++ stdenv.lib.optional useSystemd
-    [ "--enable-systemd"
-      "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-      "--with-systemdutildir=$(out)/lib/systemd/system-sleep"
-    ];
-
   preConfigure =
     ''
       substituteInPlace src/linux/up-backend.c \
@@ -36,6 +28,17 @@ stdenv.mkDerivation rec {
         --replace /usr/bin/dbus-send ${dbus_tools}/bin/dbus-send
     '';
 
+  configureFlags =
+    [ "--with-backend=linux" "--localstatedir=/var"
+      "--enable-deprecated" # needed for Xfce (Nov 2013)
+    ]
+    ++ stdenv.lib.optional useSystemd
+    [ "--enable-systemd"
+      "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+      "--with-systemdutildir=$(out)/lib/systemd/system-sleep"
+      "--with-udevrulesdir=$(out)/lib/udev/rules.d"
+    ];
+
   NIX_CFLAGS_LINK = "-lgcc_s";
 
   installFlags = "historydir=$(TMPDIR)/foo";
diff --git a/pkgs/os-specific/linux/v86d/default.nix b/pkgs/os-specific/linux/v86d/default.nix
index 698a7ab4ec8..4c6045e1a6c 100644
--- a/pkgs/os-specific/linux/v86d/default.nix
+++ b/pkgs/os-specific/linux/v86d/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
     homepage = http://dev.gentoo.org/~spock/projects/uvesafb/;
     license = "BSD";
     platforms = [ "i686-linux" "x86_64-linux" ];
+    broken = true;
   };
 }
 
diff --git a/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/pkgs/os-specific/linux/wpa_supplicant/gui.nix
index 29591bf0335..59a3c51c4d6 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/gui.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/gui.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Qt-based GUI for wpa_supplicant";
-    inherit (qt4.meta) platforms;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/evolution-data-server/default.nix b/pkgs/servers/evolution-data-server/default.nix
index 364bb55a5ee..3a905a82db8 100644
--- a/pkgs/servers/evolution-data-server/default.nix
+++ b/pkgs/servers/evolution-data-server/default.nix
@@ -46,6 +46,7 @@ rec {
     ];
     platforms = with a.lib.platforms;
       linux;
+    broken = true;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/servers/ftp/vsftpd/default.nix b/pkgs/servers/ftp/vsftpd/default.nix
index 39b78958b03..3b9b32898e2 100644
--- a/pkgs/servers/ftp/vsftpd/default.nix
+++ b/pkgs/servers/ftp/vsftpd/default.nix
@@ -1,23 +1,29 @@
 { stdenv, fetchurl, openssl, sslEnable ? false, libcap, pam }:
 
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   name = "vsftpd-3.0.2";
-  
+
   src = fetchurl {
     url = "https://security.appspot.com/downloads/${name}.tar.gz";
     sha256 = "0mjy345wszskz1vnk83360c1y37arwgap3gwz8hy13sjqpig0imy";
   };
 
+  preConfigure = stdenv.lib.optionalString sslEnable ''
+    echo "Will enable SSL"
+    sed -i "/VSF_BUILD_SSL/s/^#undef/#define/" builddefs.h
+  '';
+
   # The gcc-wrappers use -idirafter for glibc, and vsftpd also, and
   # their dummyinc come before those of glibc, then the build works bad.
   prePatch = ''
     sed -i -e 's/-idirafter.*//' Makefile
   '';
-  
-  preBuild = let
-      sslLibs = if sslEnable then "-lcrypt -lssl -lcrypto " else "";
+
+  preBuild =
+    let
+      sslLibs = if sslEnable then "-lcrypt -lssl -lcrypto" else "";
     in ''
-      makeFlagsArray=( "LIBS=${sslLibs}-lpam -lcap -fstack-protector" )
+      makeFlagsArray=( "LIBS=${sslLibs} -lpam -lcap -fstack-protector" )
     '';
 
   # It won't link without this flag, used in CFLAGS
@@ -35,11 +41,4 @@ stdenv.mkDerivation (rec {
     mkdir -pv $out/etc/xinetd.d
     install -v -m 644 xinetd.d/vsftpd $out/etc/xinetd.d/vsftpd
   '';
-} // (if sslEnable then {
-  preConfigure = ''
-    echo "Will enable SSL"
-    sed -i "/VSF_BUILD_SSL/s/^#undef/#define/" builddefs.h
-  '';
-
-} else { })
-)
+}
diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix
index e9b1dba22e1..c91d6bbf761 100644
--- a/pkgs/servers/http/apache-httpd/2.2.nix
+++ b/pkgs/servers/http/apache-httpd/2.2.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     description = "Apache HTTPD, the world's most popular web server";
     homepage    = http://httpd.apache.org/;
     license     = stdenv.lib.licenses.asl20;
-    platforms   = stdenv.lib.platforms.unix;
+    platforms   = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = with stdenv.lib.maintainers; [ simons lovek323 ];
   };
 }
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index bbf84a852b8..9e687e9c843 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -14,12 +14,12 @@ assert sslSupport -> aprutil.sslSupport && openssl != null;
 assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 
 stdenv.mkDerivation rec {
-  version = "2.4.4";
+  version = "2.4.6";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "0p35jy6mkb1q48bia719qxs5bwxv0wadyhxi61rsr93nrbgbvalj";
+    sha1 = "16d8ec72535ded65d035122b0d944b0e64eaa2a2";
   };
 
   buildInputs = [perl] ++
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
     description = "Apache HTTPD, the world's most popular web server";
     homepage    = http://httpd.apache.org/;
     license     = licenses.asl20;
-    platforms   = stdenv.lib.platforms.unix;
+    platforms   = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = with maintainers; [ lovek323 simons ];
   };
 }
diff --git a/pkgs/servers/http/joseki/default.nix b/pkgs/servers/http/joseki/default.nix
index 6ca5caba944..f42ae81a700 100644
--- a/pkgs/servers/http/joseki/default.nix
+++ b/pkgs/servers/http/joseki/default.nix
@@ -105,8 +105,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      []; # Builder is just unpacking/mixing what is needed
+    hydraPlatforms = []; # Builder is just unpacking/mixing what is needed
     license = "free"; # mix of packages under different licenses
     homepage = "http://openjena.org/";
   };
diff --git a/pkgs/servers/http/yaws/default.nix b/pkgs/servers/http/yaws/default.nix
index 7828cf84398..933df2d0e36 100644
--- a/pkgs/servers/http/yaws/default.nix
+++ b/pkgs/servers/http/yaws/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yaws-${version}";
-  version = "1.95";
+  version = "1.98";
 
   src = fetchurl {
     url = "http://yaws.hyber.org/download/${name}.tar.gz";
-    sha256 = "01jlp6v8l95n9k5rbp4kvklnh95q7yv9lp2a6ahyixb1cn1sxvz4";
+    sha256 = "0c88da7gxha7an3c82j5a3r1y0j7cjq66zqfrzjihg8pwp618zfl";
   };
 
   # The tarball includes a symlink yaws -> yaws-1.95, which seems to be
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     homepage = http://http://yaws.hyber.org;
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = with maintainers; [ goibhniu the-kenny ];
   };
 
 }
diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix
index 1386e1609eb..f4fde2dadef 100644
--- a/pkgs/servers/monitoring/zabbix/2.0.nix
+++ b/pkgs/servers/monitoring/zabbix/2.0.nix
@@ -81,7 +81,7 @@ in
       homepage = http://www.zabbix.com/;
       license = "GPL";
       maintainers = [ stdenv.lib.maintainers.eelco ];
-      platforms = stdenv.lib.platforms.all;
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     };
   };
 
diff --git a/pkgs/servers/monitoring/zabbix/default.nix b/pkgs/servers/monitoring/zabbix/default.nix
index b106921cdf6..22c10a6e972 100644
--- a/pkgs/servers/monitoring/zabbix/default.nix
+++ b/pkgs/servers/monitoring/zabbix/default.nix
@@ -62,7 +62,7 @@ in
       homepage = http://www.zabbix.com/;
       license = "GPL";
       maintainers = [ stdenv.lib.maintainers.eelco ];
-      platforms = stdenv.lib.platforms.all;
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     };
   };
 
diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
index 247628c30a6..462ecadd346 100644
--- a/pkgs/servers/openafs-client/default.nix
+++ b/pkgs/servers/openafs-client/default.nix
@@ -40,8 +40,7 @@ stdenv.mkDerivation {
     homepage = http://www.openafs.org;
     license = stdenv.lib.licenses.ipl10;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [
-      z77z
-    ];
+    maintainers = stdenv.lib.maintainers.z77z;
+    broken = true;
   };
 }
diff --git a/pkgs/servers/radius/default.nix b/pkgs/servers/radius/default.nix
index 5533469a1da..dcd577bb6cb 100644
--- a/pkgs/servers/radius/default.nix
+++ b/pkgs/servers/radius/default.nix
@@ -29,5 +29,7 @@ stdenv.mkDerivation rec {
 
     maintainers = [ stdenv.lib.maintainers.bjg ];
     platforms = stdenv.lib.platforms.all;
+
+    broken = true;
   };
 }
diff --git a/pkgs/servers/samba/default.nix b/pkgs/servers/samba/default.nix
index 568daf36773..5ef4ac5140e 100644
--- a/pkgs/servers/samba/default.nix
+++ b/pkgs/servers/samba/default.nix
@@ -18,11 +18,11 @@
 assert useKerberos -> kerberos != null;
 
 stdenv.mkDerivation rec {
-  name = "samba-3.6.18";
+  name = "samba-3.6.20";
 
   src = fetchurl {
     url = "http://us3.samba.org/samba/ftp/stable/${name}.tar.gz";
-    sha256 = "14lrb7724952wyc1sah4nsngd6cv8x8y96cm7f3awzjnfyxajwbd";
+    sha256 = "03rs02743slfbfws9rl053z5m520rbd31z9qr76r1j06bjkdmdaz";
   };
 
   buildInputs = [ readline pam openldap popt iniparser libunwind fam acl cups ]
diff --git a/pkgs/servers/sql/postgresql/9.2.x.nix b/pkgs/servers/sql/postgresql/9.2.x.nix
index 46b7e7ff3c5..eb6a2714eb2 100644
--- a/pkgs/servers/sql/postgresql/9.2.x.nix
+++ b/pkgs/servers/sql/postgresql/9.2.x.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "world" ];
 
+  patches = [ ./disable-resolve_symlinks.patch ];
+
   installTargets = [ "install-world" ];
 
   LC_ALL = "C";
diff --git a/pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch b/pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch
new file mode 100644
index 00000000000..3e6fd5e838a
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch
@@ -0,0 +1,14 @@
+diff --git a/src/port/exec.c b/src/port/exec.c
+index c79e8ba..42c4091 100644
+--- a/src/port/exec.c
++++ b/src/port/exec.c
+@@ -216,6 +216,9 @@ find_my_exec(const char *argv0, char *retpath)
+ static int
+ resolve_symlinks(char *path)
+ {
++    // On NixOS we *want* stuff relative to symlinks.
++    return 0;
++
+ #ifdef HAVE_READLINK
+ 	struct stat buf;
+ 	char		orig_wd[MAXPGPATH],
diff --git a/pkgs/servers/varnish/2.1.nix b/pkgs/servers/varnish/2.1.nix
new file mode 100644
index 00000000000..ef1b177054f
--- /dev/null
+++ b/pkgs/servers/varnish/2.1.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "2.1.5";
+  name = "varnish-${version}";
+
+  src = fetchurl {
+    url = "http://repo.varnish-cache.org/source/${name}.tar.gz";
+    sha256 = "10zgwn482gfmfb7n6xwi7p841bs3j58jnk55wg83b85d2jz4k01d";
+  };
+
+  buildInputs = [ pcre libxslt groff ncurses pkgconfig ];
+
+  meta = {
+    description = "Web application accelerator also known as a caching HTTP reverse proxy";
+    homepage = "https://www.varnish-cache.org";
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = [ stdenv.lib.maintainers.garbas ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/x11/xorg/unichrome/default.nix b/pkgs/servers/x11/xorg/unichrome/default.nix
index 720ccd10158..bc1ebf4eb43 100644
--- a/pkgs/servers/x11/xorg/unichrome/default.nix
+++ b/pkgs/servers/x11/xorg/unichrome/default.nix
@@ -4,7 +4,7 @@ xextproto, xf86driproto, xorgserver, xproto, libXvMC, glproto, mesa, automake,
 autoconf, libtool, libXext, utilmacros, pixman}:
 
 stdenv.mkDerivation {
-  name = "xf86-video-unichrome-git";
+  name = "xf86-video-unichrome";
   src = fetchgit {
     url = "git://people.freedesktop.org/~libv/xf86-video-unichrome";
     md5 = "6e5e0f8ee204af2385a02e502d1ca8f1";
@@ -27,5 +27,6 @@ stdenv.mkDerivation {
     license = "free";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix
index 788fe0d6ccb..f15705d4a11 100644
--- a/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/pkgs/servers/xmpp/ejabberd/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, expat, erlang, zlib, openssl, pam, lib}:
 
 stdenv.mkDerivation rec {
-  version = "2.1.10";
-  name = "ejabberd-2.1.10";
+  version = "2.1.13";
+  name = "ejabberd-${version}";
   src = fetchurl {
-    url = http://www.process-one.net/downloads/ejabberd/2.1.10/ejabberd-2.1.10.tar.gz;
-    sha256 = "1gijv6d90w9fq0as2l0mp0fn65jihgd86nxry98pv6liks4fbhlx";
+    url = "http://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
+    sha256 = "0vf8mfrx7vr3c5h3nfp3qcgwf2kmzq20rjv1h9sk3nimwir1q3d8";
   };
   buildInputs = [ expat erlang zlib openssl pam ];
   patchPhase = ''
@@ -13,9 +13,9 @@ stdenv.mkDerivation rec {
   '';
   preConfigure = ''
     cd src
-  '';  
+  '';
   configureFlags = ["--enable-pam"];
-  
+
   meta = {
     description = "Open-source XMPP application server written in Erlang";
     license = "GPLv2";
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index f8aff33a327..fcd7439e97e 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -18,6 +18,8 @@ let
 
   allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1";
 
+  allowBroken = builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
+
   stdenvGenerator = setupScript: rec {
 
     # The stdenv that we are producing.
@@ -51,6 +53,10 @@ let
         mkDerivation = attrs:
           if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then
             throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate"
+          else if !allowBroken && attrs.meta.broken or false then
+            throw "you can't use package ‘${attrs.name}’ because it has been marked as broken"
+          else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then
+            throw "the package ‘${attrs.name}’ is not supported on ‘${result.system}’"
           else
             lib.addPassthru (derivation (
               (removeAttrs attrs ["meta" "passthru" "crossAttrs"])
diff --git a/pkgs/tools/X11/x11vnc/default.nix b/pkgs/tools/X11/x11vnc/default.nix
index 23b0aaa55e8..8acb11833da 100644
--- a/pkgs/tools/X11/x11vnc/default.nix
+++ b/pkgs/tools/X11/x11vnc/default.nix
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
     substituteInPlace x11vnc/unixpw.c \
         --replace '"/bin/su"' '"/var/setuid-wrappers/su"' \
         --replace '"/bin/true"' '"${coreutils}/bin/true"'
-        
-    sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:$PATH\\n"' -e 's|/bin/su|/var/setuid-wrappers/su|g' x11vnc/ssltools.h
+
+    sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:${xorg.xauth}\/bin:$PATH\\n"' -e 's|/bin/su|/var/setuid-wrappers/su|g' x11vnc/ssltools.h
   '';
 
   meta = {
diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix
index e683df5a7fe..54b089bd08e 100644
--- a/pkgs/tools/backup/bup/default.nix
+++ b/pkgs/tools/backup/bup/default.nix
@@ -3,14 +3,16 @@
 
 assert par2Support -> par2cmdline != null;
 
+let rev = "96c6fa2a70425fff1e73d2e0945f8e242411ab58"; in
+
 with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "bup-0.25-rc1-107-g96c6fa2";
+  name = "bup-0.25-rc1-107-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
     url = "https://github.com/bup/bup.git";
-    rev = "96c6fa2a70425fff1e73d2e0945f8e242411ab58";
+    inherit rev;
     sha256 = "0d9hgyh1g5qcpdvnqv3a5zy67x79yx9qx557rxrnxyzqckp9v75n";
   };
 
diff --git a/pkgs/tools/filesystems/xtreemfs/default.nix b/pkgs/tools/filesystems/xtreemfs/default.nix
index 6d1f863fdea..81be62b5159 100644
--- a/pkgs/tools/filesystems/xtreemfs/default.nix
+++ b/pkgs/tools/filesystems/xtreemfs/default.nix
@@ -69,6 +69,7 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = a.lib.licenses.bsd3;
+    broken = true;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix
index c1aebd3dfe1..0ef70a197d6 100644
--- a/pkgs/tools/graphics/graphviz/default.nix
+++ b/pkgs/tools/graphics/graphviz/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
       interfaces for other technical domains.
     '';
 
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = with stdenv.lib.maintainers; [ simons bjornfor ];
   };
 }
diff --git a/pkgs/tools/graphics/welkin/default.nix b/pkgs/tools/graphics/welkin/default.nix
index d02b38b4127..23c5ec11aaa 100644
--- a/pkgs/tools/graphics/welkin/default.nix
+++ b/pkgs/tools/graphics/welkin/default.nix
@@ -46,8 +46,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      [];
+    hydraPlatforms = [];
     license = "free-noncopyleft";
   };
   passthru = {
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index 9e8b1f9e322..00d2f759be4 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
     parted gtk glib intltool gettext libuuid pkgconfig gtkmm libxml2
   ];
 
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
   meta = {
     description = "Graphical disk partitioning tool";
     homepage = http://gparted.sourceforge.net;
diff --git a/pkgs/tools/misc/ngrok/default.nix b/pkgs/tools/misc/ngrok/default.nix
index 971c42aac71..e517dba7c55 100644
--- a/pkgs/tools/misc/ngrok/default.nix
+++ b/pkgs/tools/misc/ngrok/default.nix
@@ -3,36 +3,43 @@
 let
   go-websocket = fetchgit {
     url = "git://github.com/garyburd/go-websocket";
-    rev = "refs/heads/master";
-    sha256 = "1e4fcff29c961cd7433ba1b655412d466edfeb1f0829b41f578764857bc801fe";
+    rev = "4bad98c955";
+    sha256 = "1zh1r1xqar47awgv8a883zmxyvj65m0mbdm17d1xf74nkkrcykqy";
   };
   go-metrics = fetchgit {
     url = "https://github.com/inconshreveable/go-metrics";
+    rev = "60ba4ca70c";
     sha256 = "3dc8c229ce5123d86269c0c48401a9cdd2cde7558d85374c9dbc4bbd531e86d5";
   };
   termbox-go = fetchgit {
     url = "https://github.com/nsf/termbox-go";
-    sha256 = "6b23e8eabb1c7a99dc8c5a7dd5ecb2c2ae736c7f54e485548d08ac337b3a0400";
+    rev = "cea198fce7";
+    sha256 = "bde4190ae83d5c5870b8e11e16387cf03f2d44a8369f94674d4b9d0960c40693";
   };
   go-bindata = fetchgit {
     url = "https://github.com/inconshreveable/go-bindata";
+    rev = "99016b3cc0";
     sha256 = "518a5b61cfbe58f8bc55bd6139adcd69997b6ba474536a70b538879aaf118578";
   };
   go-update = fetchgit {
     url = "https://github.com/inconshreveable/go-update";
+    rev = "3f04666667";
     sha256 = "34647689a50b9d12e85a280d9034cc1772079163481c4778ee4b3e6c4b41e2f4";
   };
   goyaml = fetchbzr {
     url = "https://launchpad.net/goyaml";
     sha256 = "03is37cgw62cha316xrs5h7q97im46ry5qldkfvbhimjq3ww0swj";
-    revision = "branch:lp:goyaml";
+    # Branch: "branch:lp:goyaml"
+    revision = 47;
   };
   log4go = fetchhg {
     url = "https://code.google.com/p/log4go/";
+    tag = "c3294304d93f";
     sha256 = "0q906sxrmwir295virfibqvdzlaj340qh2r4ysx1ccjrjazc0q5p";
   };
   osext = fetchhg {
     url = "https://bitbucket.org/kardianos/osext";
+    tag = "364fb57";
     sha256 = "1w9x2zj716agfd5x5497ajb9nz3ljar74768vjidsyly143vzjws";
   };
 in stdenv.mkDerivation rec {
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index c2c0a5aa534..7dd04d25120 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, pam }:
+{ stdenv, fetchurl, ncurses, pam ? null }:
 
 stdenv.mkDerivation rec {
   name = "screen-4.0.3";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in
   '';
 
-  buildInputs = [ ncurses pam ];
+  buildInputs = [ ncurses ] ++ stdenv.lib.optional stdenv.isLinux pam;
 
   doCheck = true;
 
diff --git a/pkgs/tools/misc/w3c-css-validator/default.nix b/pkgs/tools/misc/w3c-css-validator/default.nix
index 5cfe8737638..f08fe87202f 100644
--- a/pkgs/tools/misc/w3c-css-validator/default.nix
+++ b/pkgs/tools/misc/w3c-css-validator/default.nix
@@ -72,5 +72,6 @@ stdenv.mkDerivation {
     license = "w3c"; # http://www.w3.org/Consortium/Legal/ 
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/tools/misc/xmltv/default.nix b/pkgs/tools/misc/xmltv/default.nix
index 4b8ba43f597..9d393940606 100644
--- a/pkgs/tools/misc/xmltv/default.nix
+++ b/pkgs/tools/misc/xmltv/default.nix
@@ -12,4 +12,5 @@ import ../../../development/perl-modules/generic perl {
     perlPackages.DateManip perlPackages.HTMLTree perlPackages.HTMLParser
     perlPackages.HTMLTagset perlPackages.URI perlPackages.LWP
   ];
+  meta.broken = true;
 }
diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix
index a76e351efc4..ffe22a93d0d 100644
--- a/pkgs/tools/networking/cjdns/default.nix
+++ b/pkgs/tools/networking/cjdns/default.nix
@@ -4,7 +4,7 @@ let
   rev = "f7b02ac0cc";
 in
 stdenv.mkDerivation {
-  name = "cjdns-git-20130620-${rev}";
+  name = "cjdns-git-20130620-${stdenv.lib.strings.substring 0 7 rev}";
 
   src = fetchgit {
     url = "https://github.com/cjdelisle/cjdns.git";
diff --git a/pkgs/tools/networking/iperf/default.nix b/pkgs/tools/networking/iperf/default.nix
index 66f600f7678..2ee8a90cb4a 100644
--- a/pkgs/tools/networking/iperf/default.nix
+++ b/pkgs/tools/networking/iperf/default.nix
@@ -1,16 +1,17 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "iperf-2.0.4";
+stdenv.mkDerivation rec {
+  name = "iperf-2.0.5";
 
   src = fetchurl {
-    url = mirror://sourceforge/iperf/iperf-2.0.4.tar.gz;
-    sha256 = "0i3r75prbyxs56rngjbrag8rg480ki3daaa924krrafng30z2liv";
+    url = "mirror://sourceforge/iperf/${name}.tar.gz";
+    sha256 = "0nr6c81x55ihs7ly2dwq19v9i1n6wiyad1gacw3aikii0kzlwsv3";
   };
 
-  meta = {
-    homepage = ""; 
-    description = "tool to measure IP bandwidth using UDP or TCP";
+  meta = with stdenv.lib; {
+    homepage = "http://sourceforge.net/projects/iperf/"; 
+    description = "Tool to measure IP bandwidth using UDP or TCP";
+    platforms = platforms.linux;
     license = "as-is";
   };
 }
diff --git a/pkgs/tools/networking/ntop/default.nix b/pkgs/tools/networking/ntop/default.nix
index 48f2c9f0893..d5fa2deb68d 100644
--- a/pkgs/tools/networking/ntop/default.nix
+++ b/pkgs/tools/networking/ntop/default.nix
@@ -19,11 +19,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Traffic analysis with NetFlow and sFlow support";
-
     license = "GLPv3+";
-
     homepage = http://www.ntop.org/products/ntop/;
-
     platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index fa1d2fb805a..02e1f742201 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -1,14 +1,13 @@
 { pkgs, fetchurl, buildPythonPackage, sqlite3 }:
 
 buildPythonPackage rec {
-  version = "6.5.5-rc2";
+  version = "6.5.5";
   name = "offlineimap-${version}";
   namePrefix = "";
 
   src = fetchurl {
-    url = "https://github.com/OfflineIMAP/offlineimap/tarball/v${version}";
-    name = "${name}.tar.bz";
-    sha256 = "03w3irh8pxwvivi139xm5iaj2f8vmriak1ispq9d9f84z1098pd3";
+    url = "https://github.com/OfflineIMAP/offlineimap/archive/v${version}.tar.gz";
+    sha256 = "00k84qagph3xnxss6rkxm61x07ngz8fvffx4z9jyw5baf3cdd32p";
   };
 
   doCheck = false;
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 35586031ef5..7d2ae9c5bb4 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
       export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
     '';
 
-  patches = [ ./locale_archive.patch ];
+  patches = [ ./locale_archive.patch ./gcmrekey.patch ];
 
   buildInputs = [ zlib openssl libedit pkgconfig pam ] ++
     (if withKerberos then [ kerberos ] else [])
diff --git a/pkgs/tools/networking/openssh/gcmrekey.patch b/pkgs/tools/networking/openssh/gcmrekey.patch
new file mode 100644
index 00000000000..ddb694af1dd
--- /dev/null
+++ b/pkgs/tools/networking/openssh/gcmrekey.patch
@@ -0,0 +1,18 @@
+http://www.openssh.com/txt/gcmrekey.adv
+
+Index: monitor_wrap.c
+===================================================================
+RCS file: /cvs/src/usr.bin/ssh/monitor_wrap.c,v
+retrieving revision 1.76
+diff -u -p -u -r1.76 monitor_wrap.c
+--- a/monitor_wrap.c	17 May 2013 00:13:13 -0000	1.76
++++ b/monitor_wrap.c	6 Nov 2013 16:31:26 -0000
+@@ -469,7 +469,7 @@ mm_newkeys_from_blob(u_char *blob, int b
+ 	buffer_init(&b);
+ 	buffer_append(&b, blob, blen);
+ 
+-	newkey = xmalloc(sizeof(*newkey));
++	newkey = xcalloc(1, sizeof(*newkey));
+ 	enc = &newkey->enc;
+ 	mac = &newkey->mac;
+ 	comp = &newkey->comp;
diff --git a/pkgs/tools/networking/socat/2.0.0-b3.nix b/pkgs/tools/networking/socat/2.0.0-b3.nix
deleted file mode 100644
index 6567e5dfcc4..00000000000
--- a/pkgs/tools/networking/socat/2.0.0-b3.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-args : with args; 
-let 
-  version = "2.0.0-b3"; 
-  patches = [];
-in
-rec {
-  src = /* Here a fetchurl expression goes */
-        fetchurl {
-            url = http://www.dest-unreach.org/socat/download/socat-2.0.0-b3.tar.bz2;
-            sha256 = "0p4v8m898dzcardsw02xdda3y3b1rky7v956rm27x43783w5qmsx";
-        };
-
-  buildInputs = [openssl];
-  configureFlags = [];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
-      
-  name = "socat-" + version;
-  meta = {
-    description = "Socat - a different replacement for netcat";
-    longDesc = "
-        Socat, one more analogue of netcat, but not mimicking it.
-	'netcat++' (extended design, new implementation)
-";
-        homepage = "http://www.dest-unreach.org/socat/";
-	srcs = patches;
-  };
-}
diff --git a/pkgs/tools/networking/socat/2.x.nix b/pkgs/tools/networking/socat/2.x.nix
new file mode 100644
index 00000000000..62180313442
--- /dev/null
+++ b/pkgs/tools/networking/socat/2.x.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "socat-2.0.0-b6";
+
+  src = fetchurl {
+    url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2";
+    sha256 = "03n70v7ygsl4ji7rwvyv8f70d3q32jnas26j29amkf3fm4agnhvz";
+  };
+
+  buildInputs = [ openssl ];
+
+  meta = {
+    description = "A utility for bidirectional data transfer between two independent data channels";
+    homepage = http://www.dest-unreach.org/socat/;
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = stdenv.lib.maintainers.eelco;
+  };
+}
diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix
index 727bbe08605..45de7015d7a 100644
--- a/pkgs/tools/networking/socat/default.nix
+++ b/pkgs/tools/networking/socat/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "socat-1.7.2.1";
+  name = "socat-1.7.2.2";
 
   src = fetchurl {
     url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2";
-    sha256 = "0xw2qmmixv7jwsrgx2vy54bq695d6my3pm3z4dcpmf9vqvb2xsps";
+    sha256 = "0g4miazc9w3gxbk5vvw228jp3qxn775jspkgqv5hjf2d3bqpl5ls";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix
index 62a644e195a..5c9120cf33e 100644
--- a/pkgs/tools/package-management/disnix/default.nix
+++ b/pkgs/tools/package-management/disnix/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, libintlOrEmpty, libiconvOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, dbus_glib, libxml2, libxslt, getopt, nixUnstable, dysnomia, libintlOrEmpty, libiconvOrEmpty }:
 
 stdenv.mkDerivation {
-  name = "disnix-0.3pre57b56b6b9d43b48ce72e4e47f6acfdb3b1cbe3ef";
+  name = "disnix-0.3pre8aa12b65ced9029f7c17a494cee25e6ffc69fdea";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/5576475/download/4/disnix-0.3pre57b56b6b9d43b48ce72e4e47f6acfdb3b1cbe3ef.tar.gz;
-    sha256 = "18sxs4c3a1sr2sldd6p7rmxg6541v1hsl987vzc7ij8mwkcnm1r0";
+    url = http://hydra.nixos.org/build/6763179/download/4/disnix-0.3pre8aa12b65ced9029f7c17a494cee25e6ffc69fdea.tar.gz;
+    sha256 = "0zmsaz1kvc7dl1igh6z74jxy3w5p2zbfm9jsczdjdh3947fkni4p";
   };
   
-  buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty ];
+  buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty dysnomia ];
 
   dontStrip = true;
   
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
index 80ac91b5489..4c811dd3f71 100644
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, disnix, socat, pkgconfig }:
 
 stdenv.mkDerivation {
-  name = "disnixos-0.2pre77208b9bf296b2376bd95154b333db304b50bec0.tar.gz";
+  name = "disnixos-0.2prebb320d396f93d7062c28d6a54105d8e8196b9d99";
   
   src = fetchurl {
-    url = http://hydra.nixos.org/build/5578534/download/3/disnixos-0.2pre77208b9bf296b2376bd95154b333db304b50bec0.tar.gz;
-    sha256 = "0a9ah16rhq6kgknylq9dsv6mk8pp4vbahqls9hcg99ys9bn18d8z";
+    url = http://hydra.nixos.org/build/6769017/download/3/disnixos-0.2prebb320d396f93d7062c28d6a54105d8e8196b9d99.tar.gz;
+    sha256 = "0jw05qjn0fbf4xb2g8a8i0padmsw17ayr4acw7z784bljrm1z055";
   };
   
   buildInputs = [ socat pkgconfig disnix ];
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
index de3690e3e20..2a5852863f9 100644
--- a/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null
+, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null, mongodb ? null
 , enableApacheWebApplication ? false
 , enableAxis2WebService ? false
 , enableEjabberdDump ? false
@@ -7,6 +7,7 @@
 , enablePostgreSQLDatabase ? false
 , enableSubversionRepository ? false
 , enableTomcatWebApplication ? false
+, enableMongoDatabase ? false
 , catalinaBaseDir ? "/var/tomcat"
 }:
 
@@ -14,12 +15,13 @@ assert enableMySQLDatabase -> mysql != null;
 assert enablePostgreSQLDatabase -> postgresql != null;
 assert enableSubversionRepository -> subversion != null;
 assert enableEjabberdDump -> ejabberd != null;
+assert enableMongoDatabase -> mongodb != null;
 
 stdenv.mkDerivation {
-  name = "dysnomia-0.3pre7c81cc254a0f6966dd9ac55f945c458b45b3d428.tar.gz";
+  name = "dysnomia-0.3pred677260f77bb202c7490f7db08dbd8442c9db484";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/5613342/download/1/dysnomia-0.3pre7c81cc254a0f6966dd9ac55f945c458b45b3d428.tar.gz;
-    sha256 = "0ll09vh94ygqkncq4ddb62s4c84n3pr5qy0gi1ywy0j30qk6zvsq";
+    url = http://hydra.nixos.org/build/6763096/download/1/dysnomia-0.3pred677260f77bb202c7490f7db08dbd8442c9db484.tar.gz;
+    sha256 = "0k7qpqa9inzxjdryd7zfzxid8k1icsxxw995chzw4wrlgxns16xy";
   };
   
   preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else "";
@@ -32,13 +34,15 @@ stdenv.mkDerivation {
      ${if enablePostgreSQLDatabase then "--with-postgresql" else "--without-postgresql"}
      ${if enableSubversionRepository then "--with-subversion" else "--without-subversion"}
      ${if enableTomcatWebApplication then "--with-tomcat=${catalinaBaseDir}" else "--without-tomcat"}
+     ${if enableMongoDatabase then "--with-mongodb" else "--without-mongodb"}
    '';
   
   buildInputs = []
     ++ stdenv.lib.optional enableEjabberdDump ejabberd
     ++ stdenv.lib.optional enableMySQLDatabase mysql
     ++ stdenv.lib.optional enablePostgreSQLDatabase postgresql
-    ++ stdenv.lib.optional enableSubversionRepository subversion;
+    ++ stdenv.lib.optional enableSubversionRepository subversion
+    ++ stdenv.lib.optional enableMongoDatabase mongodb;
 
   meta = {
     description = "Automated deployment of mutable components and services for Disnix";
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index 1a443fc18b6..6196cc53bb2 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -48,6 +48,6 @@ pythonPackages.buildPythonPackage {
     description = "A program that scans log files for repeated failing login attempts and bans IP addresses";
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ eelco lovek323 ];
-    platforms   = platforms.unix;
+    platforms   = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/security/opensc/0.11.7.nix b/pkgs/tools/security/opensc/0.11.7.nix
index e1885836301..526b0276848 100644
--- a/pkgs/tools/security/opensc/0.11.7.nix
+++ b/pkgs/tools/security/opensc/0.11.7.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     license = "LGPL";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
+    broken = true;
   };
 }
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index e361746c57b..568b39be87d 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, coreutils, pam, groff }:
 
 stdenv.mkDerivation rec {
-  name = "sudo-1.8.6p7";
+  name = "sudo-1.8.8";
 
   src = fetchurl {
     urls =
       [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
         "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
       ];
-    sha256 = "0djh2b14d1b1knah46v971x940rz63hvnskz16fzami3nbnqj41h";
+    sha256 = "1j9gk6pfqry44gvp41p7ajfnpl58jw8shbxmvq381ywpj8g1r4cz";
   };
 
   postConfigure = ''
diff --git a/pkgs/tools/system/fdisk/default.nix b/pkgs/tools/system/fdisk/default.nix
index 111408d1339..e72497cf7c4 100644
--- a/pkgs/tools/system/fdisk/default.nix
+++ b/pkgs/tools/system/fdisk/default.nix
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/fdisk/;
 
-    maintainers = [ ];
-    #platforms = stdenv.lib.platforms.linux; # was failing for long without anyone complaining
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 93486d3decf..25201ba97ab 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -8,16 +8,16 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  name = "pciutils-3.2.0";
+  name = "pciutils-3.2.1"; # with database from 2013-11-10
 
   src = fetchurl {
     url = "mirror://kernel/software/utils/pciutils/${name}.tar.bz2";
-    sha256 = "0d9as9jzjjg5c1nwf58z1y1i7rf9fqxmww1civckhcvcn0xr85mq";
+    sha256 = "1pnwwc4sq0q7zz3mw2rsrc9j5rxwpdvxirqjmxcd0brf0hcjpm8j";
   };
 
   buildInputs = [ pkgconfig zlib kmod which ];
 
-  preBuild = "bunzip2 < ${pciids} > pci.ids";
+  #preBuild = "bunzip2 < ${pciids} > pci.ids";
 
   makeFlags = "SHARED=yes PREFIX=\${out}";
 
diff --git a/pkgs/tools/system/ts/default.nix b/pkgs/tools/system/ts/default.nix
index a392ed0bcfd..6d1c6ad5e1f 100644
--- a/pkgs/tools/system/ts/default.nix
+++ b/pkgs/tools/system/ts/default.nix
@@ -1,8 +1,9 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl,
+sendmailPath ? "/var/setuid-wrappers/sendmail" }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
 
-  name = "ts-0.7.3";
+  name = "ts-0.7.4";
 
   installPhase=''make install "PREFIX=$out"'';
 
@@ -10,9 +11,13 @@ stdenv.mkDerivation {
     makeFlags = "CC=${stdenv.cross.config}-gcc";
   };
 
+  patchPhase = ''
+    sed -i s,/usr/sbin/sendmail,${sendmailPath}, mail.c ts.1
+  '';
+
   src = fetchurl {
-    url = http://vicerveza.homeunix.net/~viric/soft/ts/ts-0.7.3.tar.gz;
-    sha256 = "1ajgk6y9y9bng5ssdqxwpzw44pmib30vn5284rgga6vr04ppakdy";
+    url = "http://viric.name/~viric/soft/ts/${name}.tar.gz";
+    sha256 = "042r9a09300v4fdrw4r60g5xi25v5m6g12kvvr6pcsm9qnfqyqqs";
   };
 
   meta = {
diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
index 63de9c30693..70b9bf69e29 100644
--- a/pkgs/tools/text/wdiff/default.nix
+++ b/pkgs/tools/text/wdiff/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "GNU wdiff, comparing files on a word by word basis";
     license = "GPLv3+";
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index aeeaf04e7ba..869fb99c63f 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -257,7 +257,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://www.methods.co.nz/asciidoc/";
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ [ "x86_64-darwin" ];
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/cm-super.nix b/pkgs/tools/typesetting/tex/texlive/cm-super.nix
index 4d161c3e053..066796ed39c 100644
--- a/pkgs/tools/typesetting/tex/texlive/cm-super.nix
+++ b/pkgs/tools/typesetting/tex/texlive/cm-super.nix
@@ -30,6 +30,6 @@ rec {
     maintainers = [ args.lib.maintainers.raskin ];
 
     # Actually, arch-independent.. 
-    platforms = [] ;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix
index 6613578e2c6..b49f02d6fda 100644
--- a/pkgs/tools/typesetting/tex/texlive/extra.nix
+++ b/pkgs/tools/typesetting/tex/texlive/extra.nix
@@ -19,6 +19,6 @@ rec {
     maintainers = [ args.lib.maintainers.raskin ];
 
     # Actually, arch-independent.. 
-    platforms = [] ;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/moderncv.nix b/pkgs/tools/typesetting/tex/texlive/moderncv.nix
index 0ce1afbb41b..f4db43f21f2 100644
--- a/pkgs/tools/typesetting/tex/texlive/moderncv.nix
+++ b/pkgs/tools/typesetting/tex/texlive/moderncv.nix
@@ -21,6 +21,6 @@ rec {
     maintainers = [ args.lib.maintainers.simons ];
 
     # Actually, arch-independent..
-    platforms = [] ;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
index 4cb93794edf..f7d8f1254c5 100644
--- a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
+++ b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
@@ -24,6 +24,6 @@ rec {
     maintainers = [ args.lib.maintainers.simons ];
 
     # Actually, arch-independent..
-    platforms = [] ;
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9a4118098a5..9a4a085ead3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1043,6 +1043,8 @@ let
 
   gt5 = callPackage ../tools/system/gt5 { };
 
+  gtest = callPackage ../development/libraries/gtest {};
+
   gtkdatabox = callPackage ../development/libraries/gtkdatabox {};
 
   gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { };
@@ -1201,7 +1203,7 @@ let
   nodejs = callPackage ../development/web/nodejs {};
 
   nodePackages = recurseIntoAttrs (import ./node-packages.nix {
-    inherit pkgs stdenv nodejs fetchurl;
+    inherit pkgs stdenv nodejs fetchurl fetchgit;
     neededNatives = [python] ++ lib.optional (lib.elem system lib.platforms.linux) utillinux;
     self = pkgs.nodePackages;
   });
@@ -1803,15 +1805,13 @@ let
 
   socat = callPackage ../tools/networking/socat { };
 
+  socat2pre = lowPrio (callPackage ../tools/networking/socat/2.x.nix { });
+
   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;
-  });
-
   squashfsTools = callPackage ../tools/filesystems/squashfs { };
 
   sshfsFuse = callPackage ../tools/filesystems/sshfs-fuse { };
@@ -1916,7 +1916,7 @@ let
   unoconv = callPackage ../tools/text/unoconv { };
 
   upx = callPackage ../tools/compression/upx { };
- 
+
   urlview = callPackage ../applications/misc/urlview {};
 
   usbmuxd = callPackage ../tools/misc/usbmuxd {};
@@ -2042,6 +2042,8 @@ let
 
   varnish = callPackage ../servers/varnish { };
 
+  varnish2 = callPackage ../servers/varnish/2.1.nix { };
+
   venus = callPackage ../tools/misc/venus {
     python = python27;
   };
@@ -2224,13 +2226,31 @@ let
   clangUnwrapped = callPackage ../development/compilers/llvm/clang.nix {
     stdenv = if stdenv.isDarwin
       then stdenvAdapters.overrideGCC stdenv gccApple
-      else stdenv;
+      else stdenvAdapters.overrideGCC stdenv gcc47;
   };
 
   clang = wrapClang clangUnwrapped;
 
+  libcxxLLVM = callPackage ../development/compilers/llvm { stdenv = libcxxStdenv; };
+  clangSelf = clangWrapSelf (callPackage ../development/compilers/llvm/clang.nix {
+     stdenv = libcxxStdenv;
+     llvm = libcxxLLVM;
+  });
+
+  clangWrapSelf = build: (import ../build-support/clang-wrapper) {
+      clang = build;
+      stdenv = clangStdenv;
+      libc = glibc;
+      binutils = binutils_gold;
+      shell = bash;
+      inherit libcxx coreutils zlib;
+      nativeTools = false;
+      nativeLibc = false;
+  };
+
   #Use this instead of stdenv to build with clang
   clangStdenv = lowPrio (stdenvAdapters.overrideGCC stdenv clang);
+  libcxxStdenv = stdenvAdapters.overrideGCC stdenv (clangWrapSelf clangUnwrapped);
 
   clean = callPackage ../development/compilers/clean { };
 
@@ -2290,7 +2310,7 @@ let
     cross = assert crossSystem != null; crossSystem;
   };
 
-  gcc44_realCross = lib.addMetaAttrs { platforms = []; }
+  gcc44_realCross = lib.addMetaAttrs { hydraPlatforms = []; }
     (makeOverridable (import ../development/compilers/gcc/4.4) {
       inherit stdenv fetchurl texinfo gmp mpfr /* ppl cloogppl */ noSysDirs
           gettext which;
@@ -2339,7 +2359,7 @@ let
 
   gcc47 = gcc47_real;
 
-  gcc45_realCross = lib.addMetaAttrs { platforms = []; }
+  gcc45_realCross = lib.addMetaAttrs { hydraPlatforms = []; }
     (makeOverridable (import ../development/compilers/gcc/4.5) {
       inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib
         ppl cloogppl gettext which noSysDirs;
@@ -2351,7 +2371,7 @@ let
       cross = assert crossSystem != null; crossSystem;
     });
 
-  gcc46_realCross = lib.addMetaAttrs { platforms = []; }
+  gcc46_realCross = lib.addMetaAttrs { hydraPlatforms = []; }
     (makeOverridable (import ../development/compilers/gcc/4.6) {
       inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib
         cloog ppl gettext which noSysDirs;
@@ -2363,7 +2383,7 @@ let
       cross = assert crossSystem != null; crossSystem;
     });
 
-  gcc47_realCross = lib.addMetaAttrs { platforms = []; }
+  gcc47_realCross = lib.addMetaAttrs { hydraPlatforms = []; }
     (makeOverridable (import ../development/compilers/gcc/4.7) {
       inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib
         cloog ppl gettext which noSysDirs;
@@ -2384,7 +2404,7 @@ let
                    if isMingw then windows.mingw_headers1 else null;
     in
       wrapGCCCross {
-      gcc = forceNativeDrv (lib.addMetaAttrs { platforms = []; } (
+      gcc = forceNativeDrv (lib.addMetaAttrs { hydraPlatforms = []; } (
         gcc_realCross.override {
           crossStageStatic = true;
           langCC = false;
@@ -2565,20 +2585,6 @@ let
 
   gcj = gcj45;
 
-  gcj44 = wrapGCC (gcc44.gcc.override {
-    name = "gcj";
-    langJava = true;
-    langFortran = false;
-    langCC = true;
-    langC = false;
-    profiledCompiler = false;
-    inherit zip unzip zlib boehmgc gettext pkgconfig;
-    inherit gtk;
-    inherit (gnome) libart_lgpl;
-    inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender
-      libXrandr xproto renderproto xextproto inputproto randrproto;
-  });
-
   gcj45 = wrapGCC (gcc45.gcc.override {
     name = "gcj";
     langJava = true;
@@ -2672,18 +2678,6 @@ let
     enableMultilib = false;
   });
 
-  # Not officially supported version for ghdl
-  ghdl_gcc44 = lowPrio (wrapGCC (import ../development/compilers/gcc/4.4 {
-    inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gnat gettext which
-      ppl cloogppl;
-    name = "ghdl";
-    langVhdl = true;
-    langCC = false;
-    langC = false;
-    profiledCompiler = false;
-    enableMultilib = false;
-  }));
-
   gcl = builderDefsPackage ../development/compilers/gcl {
     inherit mpfr m4 binutils fetchcvs emacs zlib which
       texinfo;
@@ -3033,7 +3027,9 @@ let
     inherit makeWrapper clisp;
   };
 
-  scala = callPackage ../development/compilers/scala { };
+  scala_2_9 = callPackage ../development/compilers/scala/2.9.nix { };
+  scala_2_10 = callPackage ../development/compilers/scala { };
+  scala = scala_2_10;
 
   sdcc = callPackage ../development/compilers/sdcc {
     boost = boost149; # sdcc 3.2.0 fails to build with boost 1.53
@@ -3158,8 +3154,7 @@ let
 
   erlangR14B04 = callPackage ../development/interpreters/erlang/R14B04.nix { };
   erlangR15B03 = callPackage ../development/interpreters/erlang/R15B03.nix { };
-  erlangR16B01 = callPackage ../development/interpreters/erlang/R16B01.nix { };
-  erlang = erlangR16B01;
+  erlang = callPackage ../development/interpreters/erlang/default.nix { };
 
   rebar = callPackage ../development/tools/build-managers/rebar { };
 
@@ -3197,6 +3192,8 @@ let
      lua = lua5;
   };
 
+  luajit = callPackage ../development/interpreters/luajit {};
+
   lush2 = callPackage ../development/interpreters/lush {};
 
   maude = callPackage ../development/interpreters/maude { };
@@ -3258,16 +3255,18 @@ let
     libX11 = xlibs.libX11;
   };
 
-  pypy = callPackage ../development/interpreters/pypy/2.1 { };
+  pypy = callPackage ../development/interpreters/pypy/2.2 { };
 
   pythonFull = python27Full;
   python26Full = callPackage ../development/interpreters/python/wrapper.nix {
-    extraLibs = lib.attrValues python26.modules;
+    extraLibs = [];
+    postBuild = "";
     python = python26;
     inherit (python26Packages) recursivePthLoader;
   };
   python27Full = callPackage ../development/interpreters/python/wrapper.nix {
-    extraLibs = lib.attrValues python27.modules;
+    extraLibs = [];
+    postBuild = "";
     python = python27;
     inherit (python27Packages) recursivePthLoader;
   };
@@ -3792,6 +3791,8 @@ let
 
   texi2html = callPackage ../development/tools/misc/texi2html { };
 
+  uhd = callPackage ../development/tools/misc/uhd { };
+
   uisp = callPackage ../development/tools/misc/uisp { };
 
   uncrustify = callPackage ../development/tools/misc/uncrustify { };
@@ -3900,7 +3901,8 @@ let
   boost149 = callPackage ../development/libraries/boost/1.49.nix { };
   boost153 = callPackage ../development/libraries/boost/1.53.nix { };
   boost154 = callPackage ../development/libraries/boost/1.54.nix { };
-  boost = boost154;
+  boost155 = callPackage ../development/libraries/boost/1.55.nix { };
+  boost = boost155;
 
   boostHeaders = callPackage ../development/libraries/boost/header-only-wrapper.nix { };
 
@@ -4097,6 +4099,10 @@ let
     singlePrecision = false;
   };
 
+  fftwFloat = callPackage ../development/libraries/fftw {
+    float = true;
+  };
+
   fftwSinglePrec = callPackage ../development/libraries/fftw {
     singlePrecision = true;
   };
@@ -4476,8 +4482,6 @@ let
 
   gts = callPackage ../development/libraries/gts { };
 
-  gurobi = callPackage ../development/libraries/gurobi {};
-
   gvfs = callPackage ../development/libraries/gvfs { };
 
   gwenhywfar = callPackage ../development/libraries/gwenhywfar { };
@@ -5053,7 +5057,7 @@ let
 
   libungif = callPackage ../development/libraries/giflib/libungif.nix { };
 
-  libunibreak = callPackage ../development/libraries/libunibreak/default.nix { };
+  libunibreak = callPackage ../development/libraries/libunibreak { };
 
   libunique = callPackage ../development/libraries/libunique/default.nix { };
 
@@ -5253,6 +5257,8 @@ let
 
   mythes = callPackage ../development/libraries/mythes { };
 
+  nanomsg = callPackage ../development/libraries/nanomsg { };
+
   ncurses_5_4 = makeOverridable (import ../development/libraries/ncurses/5_4.nix) {
     inherit fetchurl;
     unicode = system != "i686-cygwin";
@@ -6587,6 +6593,8 @@ let
 
   latencytop = callPackage ../os-specific/linux/latencytop { };
 
+  ldm = callPackage ../os-specific/linux/ldm { };
+
   libaio = callPackage ../os-specific/linux/libaio { };
 
   libatasmart = callPackage ../os-specific/linux/libatasmart { };
@@ -6625,14 +6633,6 @@ let
 
   kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { };
 
-  linux_3_0 = makeOverridable (import ../os-specific/linux/kernel/linux-3.0.nix) {
-    inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
-    kernelPatches =
-      [ kernelPatches.sec_perm_2_6_24
-        # kernelPatches.aufs3_0
-      ];
-  };
-
   linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) {
     inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
     kernelPatches =
@@ -6700,18 +6700,6 @@ let
     inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
   };
 
-  linux_3_9 = makeOverridable (import ../os-specific/linux/kernel/linux-3.9.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_3_10 = makeOverridable (import ../os-specific/linux/kernel/linux-3.10.nix) {
     inherit fetchurl stdenv perl mktemp bc kmod ubootChooser;
     kernelPatches =
@@ -6858,24 +6846,22 @@ let
   };
 
   # Build the kernel modules for the some of the kernels.
-  linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 linuxPackages_3_0);
   linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2);
   linuxPackages_3_2_apparmor = linuxPackagesFor pkgs.linux_3_2_apparmor linuxPackages_3_2_apparmor;
   linuxPackages_3_2_grsecurity = linuxPackagesFor pkgs.linux_3_2_grsecurity linuxPackages_3_2_grsecurity;
   linuxPackages_3_2_xen = linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen;
   linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4);
   linuxPackages_3_4_apparmor = linuxPackagesFor pkgs.linux_3_4_apparmor linuxPackages_3_4_apparmor;
-  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_6_rpi = linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi;
   linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10);
   linuxPackages_3_11 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_11 linuxPackages_3_11);
   linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12);
   # Update this when adding a new version!
-  linuxPackages_latest = pkgs.linuxPackages_3_11;
+  linuxPackages_latest = pkgs.linuxPackages_3_12;
 
   # The current default kernel / kernel modules.
   linux = linuxPackages.kernel;
-  linuxPackages = linuxPackages_3_4;
+  linuxPackages = linuxPackages_3_10;
 
   # A function to build a manually-configured kernel
   linuxManualConfig = import ../os-specific/linux/kernel/manual-config.nix {
@@ -7099,9 +7085,7 @@ let
 
   untie = callPackage ../os-specific/linux/untie { };
 
-  upower = callPackage ../os-specific/linux/upower {
-    libusb1 = callPackage ../development/libraries/libusb1/1_0_9.nix {};
-  };
+  upower = callPackage ../os-specific/linux/upower { };
 
   upstart = callPackage ../os-specific/linux/upstart { };
 
@@ -7385,7 +7369,7 @@ let
 
   abook = callPackage ../applications/misc/abook { };
 
-  adobeReader = callPackage_i686 ../applications/misc/adobe-reader { };
+  adobe-reader = callPackage_i686 ../applications/misc/adobe-reader { };
 
   aewan = callPackage ../applications/editors/aewan { };
 
@@ -7412,6 +7396,8 @@ let
 
   audacity = callPackage ../applications/audio/audacity { };
 
+  milkytracker = callPackage ../applications/audio/milkytracker { };
+
   aumix = callPackage ../applications/audio/aumix {
     gtkGUI = false;
   };
@@ -7740,6 +7726,8 @@ let
 
     notmuch = lowPrio (callPackage ../applications/networking/mailreaders/notmuch { });
 
+    offlineimap = callPackage ../applications/editors/emacs-modes/offlineimap {};
+
     # This is usually a newer version of Org-Mode than that found in GNU Emacs, so
     # we want it to have higher precedence.
     org = hiPrio (callPackage ../applications/editors/emacs-modes/org { texinfo = texinfo5; });
@@ -7819,6 +7807,11 @@ let
 
   geany = callPackage ../applications/editors/geany { };
 
+  gnuradio = callPackage ../applications/misc/gnuradio {
+    inherit (pythonPackages) lxml numpy scipy matplotlib pyopengl;
+    fftw = fftwFloat;
+  };
+
   goldendict = callPackage ../applications/misc/goldendict { };
 
   google-musicmanager = callPackage ../applications/audio/google-musicmanager { };
@@ -7934,7 +7927,7 @@ let
     lcms = lcms2;
   };
 
-  gimp = gimp_2_6;
+  gimp = gimp_2_8;
 
   gimpPlugins = recurseIntoAttrs (import ../applications/graphics/gimp/plugins {
     inherit pkgs gimp;
@@ -8592,6 +8585,8 @@ let
 
   pythonmagick = callPackage ../applications/graphics/PythonMagick { };
 
+  qbittorrent = callPackage ../applications/networking/p2p/qbittorrent { };
+
   qemu = callPackage ../applications/virtualization/qemu { };
 
   qemuImage = callPackage ../applications/virtualization/qemu/linux-img { };
@@ -8610,6 +8605,12 @@ let
     inherit (pythonPackages) mutagen;
   };
 
+  quodlibet-with-gst-plugins = callPackage ../applications/audio/quodlibet {
+    inherit (pythonPackages) mutagen;
+    withGstPlugins = true;
+    gst_plugins_bad = null;
+  };
+
   rakarrack = callPackage ../applications/audio/rakarrack {
     inherit (xorg) libXpm libXft;
     fltk = fltk13;
@@ -8714,6 +8715,10 @@ let
     libpng = libpng12;
   };
 
+  smartdeblur = callPackage ../applications/graphics/smartdeblur {
+    fftw = fftw.override {pthreads = true;};
+  };
+
   sndBase = lowPrio (builderDefsPackage (import ../applications/audio/snd) {
     inherit fetchurl stdenv stringsWithDeps lib fftw;
     inherit pkgconfig gmp gettext;
@@ -8932,6 +8937,19 @@ let
 
   vimNox = lowPrio (vim_configurable.override { source = "vim-nox"; });
 
+  qvim = lowPrio (callPackage ../applications/editors/vim/qvim.nix {
+    inherit (pkgs) fetchgit stdenv ncurses pkgconfig gettext
+      composableDerivation lib config python perl tcl ruby qt4;
+    inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu
+      libICE;
+
+    inherit (pkgs) stdenvAdapters gccApple;
+
+    features = "huge"; # one of  tiny, small, normal, big or huge
+    lua = pkgs.lua5;
+    flags = [ "python" "X11" ]; # only flag "X11" by now
+  });
+
   virtviewer = callPackage ../applications/virtualization/virt-viewer {};
   virtmanager = callPackage ../applications/virtualization/virt-manager {
     inherit (gnome) gnome_python;
@@ -9340,8 +9358,8 @@ let
 
   racer = callPackage ../games/racer { };
 
-  residualvm = callPackage ../games/residualvm { 
-    openglSupport = mesaSupported; 
+  residualvm = callPackage ../games/residualvm {
+    openglSupport = mesaSupported;
   };
 
   rigsofrods = callPackage ../games/rigsofrods {
@@ -10121,12 +10139,14 @@ let
 
   saneBackends = callPackage ../applications/graphics/sane/backends.nix {
     gt68xxFirmware = config.sane.gt68xxFirmware or null;
+    snapscanFirmware = config.sane.snapscanFirmware or null;
     hotplugSupport = config.sane.hotplugSupport or true;
     libusb = libusb1;
   };
 
   saneBackendsGit = callPackage ../applications/graphics/sane/backends-git.nix {
     gt68xxFirmware = config.sane.gt68xxFirmware or null;
+    snapscanFirmware = config.sane.snapscanFirmware or null;
     hotplugSupport = config.sane.hotplugSupport or true;
   };
 
@@ -10283,9 +10303,9 @@ let
        LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${gcc.gcc}/lib
        export LD_LIBRARY_PATH
     '';
-   };
+  };
 
-   patoline = PatolineEnv ocamlPackages_4_00_1;
+  patoline = PatolineEnv ocamlPackages_4_00_1;
 
   znc = callPackage ../applications/networking/znc { };
 
@@ -10307,4 +10327,9 @@ let
 
   mg = callPackage ../applications/editors/mg { };
 
+
+  # Attributes for backward compatibility.
+  adobeReader = adobe-reader;
+
+
 }; in pkgs
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
index d2cfbf38f98..16803155b65 100644
--- a/pkgs/top-level/haskell-defaults.nix
+++ b/pkgs/top-level/haskell-defaults.nix
@@ -60,6 +60,7 @@
       jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
       prettyShow = self.prettyShow_1_2;
       bmp = self.bmp_1_2_2_1;
+      Cabal_1_18_1_2 = self.Cabal_1_18_1_2.override { deepseq = self.deepseq_1_3_0_2; };
     };
 
   ghc703Prefs =
@@ -71,6 +72,7 @@
       jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
       prettyShow = self.prettyShow_1_2;
       bmp = self.bmp_1_2_2_1;
+      Cabal_1_18_1_2 = self.Cabal_1_18_1_2.override { deepseq = self.deepseq_1_3_0_2; };
     };
 
   ghc702Prefs = ghc701Prefs;
@@ -84,6 +86,7 @@
       jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
       prettyShow = self.prettyShow_1_2;
       bmp = self.bmp_1_2_2_1;
+      Cabal_1_18_1_2 = self.Cabal_1_18_1_2.override { deepseq = self.deepseq_1_3_0_2; };
     };
 
   ghc6123Prefs = ghc6122Prefs;
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index be07da47393..22257a81f95 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -102,10 +102,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   # argument to this function.
 
   ghcWithPackages = pkgs : callPackage ../development/compilers/ghc/with-packages.nix {
-    ghc = ghc; # refers to ghcPlain
+    ghc = ghc;                  # refers to ghcPlain
     packages = pkgs self;
+    ignoreCollisions = false;
   };
 
+  ghcWithPackagesOld = pkgs : (self.ghcWithPackages pkgs).override { ignoreCollisions = true; };
+
   # This is the Cabal builder, the function we use to build most Haskell
   # packages. It isn't the Cabal library, which is spelled "Cabal".
 
@@ -155,7 +158,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
     network      = self.network_2_4_2_0;
     OpenGL       = self.OpenGL_2_9_1_0;
     OpenGLRaw    = self.OpenGLRaw_1_4_0_0;
-    parallel     = self.parallel_3_2_0_3;
+    parallel     = self.parallel_3_2_0_4;
     parsec       = self.parsec_3_1_3;
     QuickCheck   = self.QuickCheck_2_6;
     random       = self.random_1_0_1_1;
@@ -659,10 +662,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   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_1_2 = callPackage ../development/libraries/haskell/Cabal/1.18.1.2.nix {
-    cabal = self.cabal.override { Cabal = null; };
-    deepseq = self.deepseq_1_3_0_1;
-  };
+  Cabal_1_18_1_2 = callPackage ../development/libraries/haskell/Cabal/1.18.1.2.nix { cabal = self.cabal.override { Cabal = null; }; };
   Cabal = null; # core package in GHC
 
   cabalFileTh = callPackage ../development/libraries/haskell/cabal-file-th {};
@@ -758,6 +758,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   constraints = callPackage ../development/libraries/haskell/constraints {};
 
+  controlMonadLoop = callPackage ../development/libraries/haskell/control-monad-loop {};
+
   convertible = callPackage ../development/libraries/haskell/convertible {};
 
   continuedFractions = callPackage ../development/libraries/haskell/continued-fractions {};
@@ -855,7 +857,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   deepseq_1_1_0_0 = callPackage ../development/libraries/haskell/deepseq/1.1.0.0.nix {};
   deepseq_1_1_0_2 = callPackage ../development/libraries/haskell/deepseq/1.1.0.2.nix {};
   deepseq_1_2_0_1 = callPackage ../development/libraries/haskell/deepseq/1.2.0.1.nix {};
-  deepseq_1_3_0_1 = callPackage ../development/libraries/haskell/deepseq/1.3.0.1.nix {};
+  deepseq_1_3_0_2 = callPackage ../development/libraries/haskell/deepseq/1.3.0.2.nix {};
   deepseq = null; # a core package in recent GHCs
 
   deepseqTh = callPackage ../development/libraries/haskell/deepseq-th {};
@@ -897,6 +899,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   dimensionalTf = callPackage ../development/libraries/haskell/dimensional-tf {};
 
+  directSqlite = callPackage ../development/libraries/haskell/direct-sqlite {};
+
   directoryTree = callPackage ../development/libraries/haskell/directory-tree {};
 
   distributedStatic = callPackage ../development/libraries/haskell/distributed-static {};
@@ -1636,7 +1640,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   parallel_3_1_0_1 = callPackage ../development/libraries/haskell/parallel/3.1.0.1.nix {};
   parallel_3_2_0_2 = callPackage ../development/libraries/haskell/parallel/3.2.0.2.nix {};
   parallel_3_2_0_3 = callPackage ../development/libraries/haskell/parallel/3.2.0.3.nix {};
-  parallel = self.parallel_3_2_0_3;
+  parallel_3_2_0_4 = callPackage ../development/libraries/haskell/parallel/3.2.0.4.nix {};
+  parallel = self.parallel_3_2_0_4;
 
   parallelIo = callPackage ../development/libraries/haskell/parallel-io {};
 
@@ -1651,8 +1656,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
   parsec  = self.parsec3;
 
   parsers_0_9 = callPackage ../development/libraries/haskell/parsers/0.9.nix {};
-  parsers_0_10 = callPackage ../development/libraries/haskell/parsers/0.10.nix {};
-  parsers = self.parsers_0_10;
+  parsers_0_10_1_1 = callPackage ../development/libraries/haskell/parsers/0.10.1.1.nix {};
+  parsers = self.parsers_0_10_1_1;
 
   parsimony = callPackage ../development/libraries/haskell/parsimony {};
 
@@ -1730,6 +1735,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   projectTemplate = callPackage ../development/libraries/haskell/project-template {};
 
+  processConduit = callPackage ../development/libraries/haskell/process-conduit {};
+
   processExtras = callPackage ../development/libraries/haskell/process-extras {};
 
   processLeksah = callPackage ../development/libraries/haskell/leksah/process-leksah.nix {};
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index 18ec19437db..841061bd77a 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -1,7 +1,9 @@
-{ self, fetchurl, lib }:
+{ self, fetchurl, fetchgit ? null, lib }:
 
 {
-  full."CSSselect"."0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."CSSselect"."0.x" =
+    self.by-version."CSSselect"."0.3.11";
+  by-version."CSSselect"."0.3.11" = lib.makeOverridable self.buildNodePackage {
     name = "CSSselect-0.3.11";
     src = [
       (fetchurl {
@@ -10,16 +12,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."CSSselect"."0.x" or []);
+      (self.nativeDeps."CSSselect" or []);
     deps = [
-      self.full."CSSwhat"."0.4"
-      self.full."domutils"."1.2"
+      self.by-version."CSSwhat"."0.4.1"
+      self.by-version."domutils"."1.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "CSSselect" ];
   };
-  full."CSSwhat"."0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."CSSwhat"."0.4" =
+    self.by-version."CSSwhat"."0.4.1";
+  by-version."CSSwhat"."0.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "CSSwhat-0.4.1";
     src = [
       (fetchurl {
@@ -28,14 +32,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."CSSwhat"."0.4" or []);
+      (self.nativeDeps."CSSwhat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "CSSwhat" ];
   };
-  full."abbrev"."1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."abbrev"."1" =
+    self.by-version."abbrev"."1.0.4";
+  by-version."abbrev"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "abbrev-1.0.4";
     src = [
       (fetchurl {
@@ -44,46 +50,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."abbrev"."1" or []);
+      (self.nativeDeps."abbrev" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     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 = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
-        sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."abbrev"."~1.0.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "abbrev" ];
-  };
-  full."active-x-obfuscator"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."abbrev"."1.0.x" =
+    self.by-version."abbrev"."1.0.4";
+  by-spec."abbrev"."~1.0.4" =
+    self.by-version."abbrev"."1.0.4";
+  by-spec."active-x-obfuscator"."0.0.1" =
+    self.by-version."active-x-obfuscator"."0.0.1";
+  by-version."active-x-obfuscator"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "active-x-obfuscator-0.0.1";
     src = [
       (fetchurl {
@@ -92,31 +72,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."active-x-obfuscator"."0.0.1" or []);
+      (self.nativeDeps."active-x-obfuscator" or []);
     deps = [
-      self.full."zeparser"."0.0.5"
+      self.by-version."zeparser"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "active-x-obfuscator" ];
   };
-  full."addressparser"."~0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "addressparser-0.1.3";
+  by-spec."addressparser"."~0.2.0" =
+    self.by-version."addressparser"."0.2.0";
+  by-version."addressparser"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "addressparser-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/addressparser/-/addressparser-0.1.3.tgz";
-        sha1 = "9e9ab43d257e1ae784e1df5f580c9f5240f58874";
+        url = "http://registry.npmjs.org/addressparser/-/addressparser-0.2.0.tgz";
+        sha1 = "853383313b7b60259ba4558ef1c0bc30efac08fc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."addressparser"."~0.1" or []);
+      (self.nativeDeps."addressparser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "addressparser" ];
   };
-  full."adm-zip"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."adm-zip"."0.2.1" =
+    self.by-version."adm-zip"."0.2.1";
+  by-version."adm-zip"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "adm-zip-0.2.1";
     src = [
       (fetchurl {
@@ -125,14 +109,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."adm-zip"."0.2.1" or []);
+      (self.nativeDeps."adm-zip" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "adm-zip" ];
   };
-  full."adm-zip"."~0.4.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."adm-zip"."~0.4.3" =
+    self.by-version."adm-zip"."0.4.3";
+  by-version."adm-zip"."0.4.3" = lib.makeOverridable self.buildNodePackage {
     name = "adm-zip-0.4.3";
     src = [
       (fetchurl {
@@ -141,14 +127,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."adm-zip"."~0.4.3" or []);
+      (self.nativeDeps."adm-zip" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "adm-zip" ];
   };
-  full."almond"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."almond"."*" =
+    self.by-version."almond"."0.2.6";
+  by-version."almond"."0.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "almond-0.2.6";
     src = [
       (fetchurl {
@@ -157,32 +145,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."almond"."*" or []);
+      (self.nativeDeps."almond" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "almond" ];
   };
-  "almond" = self.full."almond"."*";
-  full."ambi"."~2.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "ambi-2.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ambi/-/ambi-2.1.4.tgz";
-        sha1 = "1c0bafb3b1058754e1c3f9d7383948fc1b7c6926";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ambi"."~2.1.4" or []);
-    deps = [
-      self.full."typechecker"."~2.0.6"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ambi" ];
-  };
-  full."amdefine"."*" = lib.makeOverridable self.buildNodePackage {
+  "almond" = self.by-version."almond"."0.2.6";
+  by-spec."amdefine"."*" =
+    self.by-version."amdefine"."0.1.0";
+  by-version."amdefine"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "amdefine-0.1.0";
     src = [
       (fetchurl {
@@ -191,47 +164,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."amdefine"."*" or []);
+      (self.nativeDeps."amdefine" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "amdefine" ];
   };
-  "amdefine" = self.full."amdefine"."*";
-  full."amdefine".">=0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "amdefine-0.1.0";
+  "amdefine" = self.by-version."amdefine"."0.1.0";
+  by-spec."amdefine".">=0.0.4" =
+    self.by-version."amdefine"."0.1.0";
+  by-spec."ansi"."~0.2.1" =
+    self.by-version."ansi"."0.2.1";
+  by-version."ansi"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "ansi-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz";
-        sha1 = "3ca9735cf1dde0edf7a4bf6641709c8024f9b227";
+        url = "http://registry.npmjs.org/ansi/-/ansi-0.2.1.tgz";
+        sha1 = "3ab568ec18cd0ab7753c83117d57dad684a1c017";
       })
     ];
     buildInputs =
-      (self.nativeDeps."amdefine".">=0.0.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "amdefine" ];
-  };
-  full."ansi"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "ansi-0.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ansi/-/ansi-0.1.2.tgz";
-        sha1 = "2627e29498f06e2a1c2ece9c21e28fd494430827";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ansi"."~0.1.2" or []);
+      (self.nativeDeps."ansi" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi" ];
   };
-  full."ansi-remover"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ansi-remover"."*" =
+    self.by-version."ansi-remover"."0.0.2";
+  by-version."ansi-remover"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "ansi-remover-0.0.2";
     src = [
       (fetchurl {
@@ -240,15 +203,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi-remover"."*" or []);
+      (self.nativeDeps."ansi-remover" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi-remover" ];
   };
-  "ansi-remover" = self.full."ansi-remover"."*";
-  full."ansi-styles"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  "ansi-remover" = self.by-version."ansi-remover"."0.0.2";
+  by-spec."ansi-styles"."~0.1.0" =
+    self.by-version."ansi-styles"."0.1.2";
+  by-version."ansi-styles"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "ansi-styles-0.1.2";
     src = [
       (fetchurl {
@@ -257,14 +222,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi-styles"."~0.1.0" or []);
+      (self.nativeDeps."ansi-styles" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi-styles" ];
   };
-  full."ansi-styles"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ansi-styles"."~0.2.0" =
+    self.by-version."ansi-styles"."0.2.0";
+  by-version."ansi-styles"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "ansi-styles-0.2.0";
     src = [
       (fetchurl {
@@ -273,14 +240,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansi-styles"."~0.2.0" or []);
+      (self.nativeDeps."ansi-styles" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansi-styles" ];
   };
-  full."ansicolors"."~0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ansicolors"."~0.2.1" =
+    self.by-version."ansicolors"."0.2.1";
+  by-version."ansicolors"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "ansicolors-0.2.1";
     src = [
       (fetchurl {
@@ -289,14 +258,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ansicolors"."~0.2.1" or []);
+      (self.nativeDeps."ansicolors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ansicolors" ];
   };
-  full."apparatus".">= 0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."apparatus".">= 0.0.4" =
+    self.by-version."apparatus"."0.0.7";
+  by-version."apparatus"."0.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "apparatus-0.0.7";
     src = [
       (fetchurl {
@@ -305,15 +276,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."apparatus".">= 0.0.4" or []);
+      (self.nativeDeps."apparatus" or []);
     deps = [
-      self.full."sylvester".">= 0.0.8"
+      self.by-version."sylvester"."0.0.21"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "apparatus" ];
   };
-  full."archiver"."~0.4.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."archiver"."~0.4.6" =
+    self.by-version."archiver"."0.4.10";
+  by-version."archiver"."0.4.10" = lib.makeOverridable self.buildNodePackage {
     name = "archiver-0.4.10";
     src = [
       (fetchurl {
@@ -322,16 +295,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."archiver"."~0.4.6" or []);
+      (self.nativeDeps."archiver" or []);
     deps = [
-      self.full."readable-stream"."~1.0.2"
-      self.full."iconv-lite"."~0.2.11"
+      self.by-version."readable-stream"."1.0.17"
+      self.by-version."iconv-lite"."0.2.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "archiver" ];
   };
-  full."archy"."0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."archy"."0" =
+    self.by-version."archy"."0.0.2";
+  by-version."archy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "archy-0.0.2";
     src = [
       (fetchurl {
@@ -340,30 +315,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."archy"."0" or []);
+      (self.nativeDeps."archy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "archy" ];
   };
-  full."archy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "archy-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/archy/-/archy-0.0.2.tgz";
-        sha1 = "910f43bf66141fc335564597abc189df44b3d35e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."archy"."0.0.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "archy" ];
-  };
-  full."argparse"."0.1.15" = lib.makeOverridable self.buildNodePackage {
+  by-spec."archy"."0.0.2" =
+    self.by-version."archy"."0.0.2";
+  by-spec."argparse"."0.1.15" =
+    self.by-version."argparse"."0.1.15";
+  by-version."argparse"."0.1.15" = lib.makeOverridable self.buildNodePackage {
     name = "argparse-0.1.15";
     src = [
       (fetchurl {
@@ -372,34 +335,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."argparse"."0.1.15" or []);
+      (self.nativeDeps."argparse" or []);
     deps = [
-      self.full."underscore"."~1.4.3"
-      self.full."underscore.string"."~2.3.1"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."underscore.string"."2.3.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "argparse" ];
   };
-  full."argparse"."~ 0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "argparse-0.1.15";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
-        sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."argparse"."~ 0.1.11" or []);
-    deps = [
-      self.full."underscore"."~1.4.3"
-      self.full."underscore.string"."~2.3.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "argparse" ];
-  };
-  full."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."argparse"."~ 0.1.11" =
+    self.by-version."argparse"."0.1.15";
+  by-spec."asn1"."0.1.11" =
+    self.by-version."asn1"."0.1.11";
+  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
     name = "asn1-0.1.11";
     src = [
       (fetchurl {
@@ -408,14 +357,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."asn1"."0.1.11" or []);
+      (self.nativeDeps."asn1" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "asn1" ];
   };
-  full."assert"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."assert"."*" =
+    self.by-version."assert"."0.4.9";
+  by-version."assert"."0.4.9" = lib.makeOverridable self.buildNodePackage {
     name = "assert-0.4.9";
     src = [
       (fetchurl {
@@ -424,16 +375,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."assert"."*" or []);
+      (self.nativeDeps."assert" or []);
     deps = [
-      self.full."util".">= 0.4.9"
+      self.by-version."util"."0.4.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "assert" ];
   };
-  "assert" = self.full."assert"."*";
-  full."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+  "assert" = self.by-version."assert"."0.4.9";
+  by-spec."assert-plus"."0.1.2" =
+    self.by-version."assert-plus"."0.1.2";
+  by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "assert-plus-0.1.2";
     src = [
       (fetchurl {
@@ -442,14 +395,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."assert-plus"."0.1.2" or []);
+      (self.nativeDeps."assert-plus" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "assert-plus" ];
   };
-  full."assertion-error"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."assertion-error"."1.0.0" =
+    self.by-version."assertion-error"."1.0.0";
+  by-version."assertion-error"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "assertion-error-1.0.0";
     src = [
       (fetchurl {
@@ -458,14 +413,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."assertion-error"."1.0.0" or []);
+      (self.nativeDeps."assertion-error" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "assertion-error" ];
   };
-  full."async"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."async"."*" =
+    self.by-version."async"."0.2.9";
+  by-version."async"."0.2.9" = lib.makeOverridable self.buildNodePackage {
     name = "async-0.2.9";
     src = [
       (fetchurl {
@@ -474,15 +431,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."*" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  "async" = self.full."async"."*";
-  full."async"."0.1.15" = lib.makeOverridable self.buildNodePackage {
+  "async" = self.by-version."async"."0.2.9";
+  by-spec."async"."0.1.15" =
+    self.by-version."async"."0.1.15";
+  by-version."async"."0.1.15" = lib.makeOverridable self.buildNodePackage {
     name = "async-0.1.15";
     src = [
       (fetchurl {
@@ -491,30 +450,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."0.1.15" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    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 []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."async"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."async"."0.1.22" =
+    self.by-version."async"."0.1.22";
+  by-version."async"."0.1.22" = lib.makeOverridable self.buildNodePackage {
     name = "async-0.1.22";
     src = [
       (fetchurl {
@@ -523,163 +468,73 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."0.1.x" or []);
+      (self.nativeDeps."async" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "async" ];
   };
-  full."async"."0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
+  by-spec."async"."0.1.x" =
+    self.by-version."async"."0.1.22";
+  by-spec."async"."0.2.9" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."0.2.x" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."~0.1.22" =
+    self.by-version."async"."0.1.22";
+  by-spec."async"."~0.2.6" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."~0.2.7" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."~0.2.8" =
+    self.by-version."async"."0.2.9";
+  by-spec."async"."~0.2.9" =
+    self.by-version."async"."0.2.9";
+  by-spec."aws-sdk"."*" =
+    self.by-version."aws-sdk"."2.0.0-rc1";
+  by-version."aws-sdk"."2.0.0-rc1" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sdk-2.0.0-rc1";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.0-rc1.tgz";
+        sha1 = "8f3b045ffa2050695a692f12ea76eff6d01a2349";
       })
     ];
     buildInputs =
-      (self.nativeDeps."async"."0.2.9" or []);
+      (self.nativeDeps."aws-sdk" or []);
     deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."0.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."0.2.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    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 = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."~0.2.6" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."~0.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."~0.2.7" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."~0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."~0.2.8" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."async"."~0.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.2.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
-        sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async"."~0.2.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  full."aws-sdk"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sdk-1.9.0";
-    src = [
-      (self.patchLatest {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.9.0.tgz";
-        sha1 = "b4b0c2c954d07c40fa036447fae63181b4f83770";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."aws-sdk"."*" or []);
-    deps = [
-      self.full."xml2js"."0.2.4"
-      self.full."xmlbuilder"."*"
+      self.by-version."xml2js"."0.2.4"
+      self.by-version."xmlbuilder"."0.4.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk" ];
   };
-  "aws-sdk" = self.full."aws-sdk"."*";
-  full."aws-sdk".">=1.2.0 <2" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sdk-1.9.0";
+  "aws-sdk" = self.by-version."aws-sdk"."2.0.0-rc1";
+  by-spec."aws-sdk".">=1.2.0 <2" =
+    self.by-version."aws-sdk"."1.12.0";
+  by-version."aws-sdk"."1.12.0" = lib.makeOverridable self.buildNodePackage {
+    name = "aws-sdk-1.12.0";
     src = [
-      (self.patchLatest {
-        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.9.0.tgz";
-        sha1 = "b4b0c2c954d07c40fa036447fae63181b4f83770";
+      (fetchurl {
+        url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.12.0.tgz";
+        sha1 = "635b42637d743b62cc795935714d955c12765eb4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sdk".">=1.2.0 <2" or []);
+      (self.nativeDeps."aws-sdk" or []);
     deps = [
-      self.full."xml2js"."0.2.4"
-      self.full."xmlbuilder"."*"
+      self.by-version."xml2js"."0.2.4"
+      self.by-version."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sdk" ];
   };
-  full."aws-sign"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."aws-sign"."~0.2.0" =
+    self.by-version."aws-sign"."0.2.0";
+  by-version."aws-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "aws-sign-0.2.0";
     src = [
       (fetchurl {
@@ -688,14 +543,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sign"."~0.2.0" or []);
+      (self.nativeDeps."aws-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign" ];
   };
-  full."aws-sign"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."aws-sign"."~0.3.0" =
+    self.by-version."aws-sign"."0.3.0";
+  by-version."aws-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "aws-sign-0.3.0";
     src = [
       (fetchurl {
@@ -704,14 +561,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."aws-sign"."~0.3.0" or []);
+      (self.nativeDeps."aws-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "aws-sign" ];
   };
-  full."backbone"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."backbone"."*" =
+    self.by-version."backbone"."1.1.0";
+  by-version."backbone"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "backbone-1.1.0";
     src = [
       (fetchurl {
@@ -720,16 +579,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."backbone"."*" or []);
+      (self.nativeDeps."backbone" or []);
     deps = [
-      self.full."underscore".">=1.4.3"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "backbone" ];
   };
-  "backbone" = self.full."backbone"."*";
-  full."backoff"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+  "backbone" = self.by-version."backbone"."1.1.0";
+  by-spec."backoff"."2.1.0" =
+    self.by-version."backoff"."2.1.0";
+  by-version."backoff"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "backoff-2.1.0";
     src = [
       (fetchurl {
@@ -738,14 +599,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."backoff"."2.1.0" or []);
+      (self.nativeDeps."backoff" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "backoff" ];
   };
-  full."base64id"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."base64id"."0.1.0" =
+    self.by-version."base64id"."0.1.0";
+  by-version."base64id"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "base64id-0.1.0";
     src = [
       (fetchurl {
@@ -754,14 +617,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."base64id"."0.1.0" or []);
+      (self.nativeDeps."base64id" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "base64id" ];
   };
-  full."bcrypt"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bcrypt"."*" =
+    self.by-version."bcrypt"."0.7.7";
+  by-version."bcrypt"."0.7.7" = lib.makeOverridable self.buildNodePackage {
     name = "bcrypt-0.7.7";
     src = [
       (fetchurl {
@@ -770,16 +635,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bcrypt"."*" or []);
+      (self.nativeDeps."bcrypt" or []);
     deps = [
-      self.full."bindings"."1.0.0"
+      self.by-version."bindings"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bcrypt" ];
   };
-  "bcrypt" = self.full."bcrypt"."*";
-  full."binary"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  "bcrypt" = self.by-version."bcrypt"."0.7.7";
+  by-spec."binary"."~0.3.0" =
+    self.by-version."binary"."0.3.0";
+  by-version."binary"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "binary-0.3.0";
     src = [
       (fetchurl {
@@ -788,16 +655,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."binary"."~0.3.0" or []);
+      (self.nativeDeps."binary" or []);
     deps = [
-      self.full."chainsaw"."~0.1.0"
-      self.full."buffers"."~0.1.1"
+      self.by-version."chainsaw"."0.1.0"
+      self.by-version."buffers"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "binary" ];
   };
-  full."bindings"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bindings"."*" =
+    self.by-version."bindings"."1.1.1";
+  by-version."bindings"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "bindings-1.1.1";
     src = [
       (fetchurl {
@@ -806,14 +675,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bindings"."*" or []);
+      (self.nativeDeps."bindings" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
   };
-  full."bindings"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bindings"."1.0.0" =
+    self.by-version."bindings"."1.0.0";
+  by-version."bindings"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "bindings-1.0.0";
     src = [
       (fetchurl {
@@ -822,14 +693,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bindings"."1.0.0" or []);
+      (self.nativeDeps."bindings" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bindings" ];
   };
-  full."block-stream"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."block-stream"."*" =
+    self.by-version."block-stream"."0.0.7";
+  by-version."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "block-stream-0.0.7";
     src = [
       (fetchurl {
@@ -838,32 +711,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."block-stream"."*" or []);
+      (self.nativeDeps."block-stream" or []);
     deps = [
-      self.full."inherits"."~2.0.0"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "block-stream" ];
   };
-  full."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "block-stream-0.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
-        sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."block-stream"."0.0.7" or []);
-    deps = [
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "block-stream" ];
-  };
-  full."blueimp-md5"."~1.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."block-stream"."0.0.7" =
+    self.by-version."block-stream"."0.0.7";
+  by-spec."blueimp-md5"."~1.0.3" =
+    self.by-version."blueimp-md5"."1.0.3";
+  by-version."blueimp-md5"."1.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "blueimp-md5-1.0.3";
     src = [
       (fetchurl {
@@ -872,14 +732,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."blueimp-md5"."~1.0.3" or []);
+      (self.nativeDeps."blueimp-md5" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "blueimp-md5" ];
   };
-  full."boom"."0.3.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."boom"."0.3.x" =
+    self.by-version."boom"."0.3.8";
+  by-version."boom"."0.3.8" = lib.makeOverridable self.buildNodePackage {
     name = "boom-0.3.8";
     src = [
       (fetchurl {
@@ -888,15 +750,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."boom"."0.3.x" or []);
+      (self.nativeDeps."boom" or []);
     deps = [
-      self.full."hoek"."0.7.x"
+      self.by-version."hoek"."0.7.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "boom" ];
   };
-  full."boom"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."boom"."0.4.x" =
+    self.by-version."boom"."0.4.2";
+  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "boom-0.4.2";
     src = [
       (fetchurl {
@@ -905,69 +769,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."boom"."0.4.x" or []);
+      (self.nativeDeps."boom" or []);
     deps = [
-      self.full."hoek"."0.9.x"
+      self.by-version."hoek"."0.9.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "boom" ];
   };
-  full."bower"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "bower-1.2.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bower/-/bower-1.2.7.tgz";
-        sha1 = "5b0505c8192bd61a752a7cf8b718d1b3054cd554";
-      })
-    ];
-    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.7.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 {
+  by-spec."bower"."*" =
+    self.by-version."bower"."1.2.7";
+  by-version."bower"."1.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "bower-1.2.7";
     src = [
       (fetchurl {
@@ -976,51 +788,58 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower".">=0.9.0" 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.7.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"
+      (self.nativeDeps."bower" or []);
+    deps = [
+      self.by-version."abbrev"."1.0.4"
+      self.by-version."archy"."0.0.2"
+      self.by-version."bower-config"."0.5.0"
+      self.by-version."bower-endpoint-parser"."0.2.1"
+      self.by-version."bower-json"."0.4.0"
+      self.by-version."bower-logger"."0.2.1"
+      self.by-version."bower-registry-client"."0.1.5"
+      self.by-version."cardinal"."0.4.2"
+      self.by-version."chalk"."0.2.1"
+      self.by-version."chmodr"."0.1.0"
+      self.by-version."fstream"."0.1.24"
+      self.by-version."fstream-ignore"."0.0.7"
+      self.by-version."glob"."3.2.7"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."handlebars"."1.0.12"
+      self.by-version."inquirer"."0.3.5"
+      self.by-version."junk"."0.2.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."mout"."0.7.1"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."open"."0.0.4"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."promptly"."0.2.0"
+      self.by-version."q"."0.9.7"
+      self.by-version."request"."2.27.0"
+      self.by-version."request-progress"."0.3.1"
+      self.by-version."retry"."0.6.0"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."semver"."2.1.0"
+      self.by-version."stringify-object"."0.1.7"
+      self.by-version."sudo-block"."0.2.1"
+      self.by-version."tar"."0.1.18"
+      self.by-version."tmp"."0.0.21"
+      self.by-version."unzip"."0.1.9"
+      self.by-version."update-notifier"."0.1.7"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower" ];
   };
-  full."bower-config"."~0.4.3" = lib.makeOverridable self.buildNodePackage {
+  "bower" = self.by-version."bower"."1.2.7";
+  by-spec."bower".">=0.9.0" =
+    self.by-version."bower"."1.2.7";
+  by-spec."bower"."~1.2.0" =
+    self.by-version."bower"."1.2.7";
+  by-spec."bower-config"."~0.4.3" =
+    self.by-version."bower-config"."0.4.5";
+  by-version."bower-config"."0.4.5" = lib.makeOverridable self.buildNodePackage {
     name = "bower-config-0.4.5";
     src = [
       (fetchurl {
@@ -1029,18 +848,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-config"."~0.4.3" or []);
+      (self.nativeDeps."bower-config" 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"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."mout"."0.6.0"
+      self.by-version."optimist"."0.6.0"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-config" ];
   };
-  full."bower-config"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-config"."~0.5.0" =
+    self.by-version."bower-config"."0.5.0";
+  by-version."bower-config"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "bower-config-0.5.0";
     src = [
       (fetchurl {
@@ -1049,18 +870,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-config"."~0.5.0" or []);
+      (self.nativeDeps."bower-config" 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"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."mout"."0.6.0"
+      self.by-version."optimist"."0.6.0"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-config" ];
   };
-  full."bower-endpoint-parser"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-endpoint-parser"."~0.2.0" =
+    self.by-version."bower-endpoint-parser"."0.2.1";
+  by-version."bower-endpoint-parser"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "bower-endpoint-parser-0.2.1";
     src = [
       (fetchurl {
@@ -1069,14 +892,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-endpoint-parser"."~0.2.0" or []);
+      (self.nativeDeps."bower-endpoint-parser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-endpoint-parser" ];
   };
-  full."bower-json"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-json"."~0.4.0" =
+    self.by-version."bower-json"."0.4.0";
+  by-version."bower-json"."0.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "bower-json-0.4.0";
     src = [
       (fetchurl {
@@ -1085,17 +910,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-json"."~0.4.0" or []);
+      (self.nativeDeps."bower-json" or []);
     deps = [
-      self.full."deep-extend"."~0.2.5"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."intersect"."~0.0.3"
+      self.by-version."deep-extend"."0.2.6"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."intersect"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-json" ];
   };
-  full."bower-logger"."~0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-logger"."~0.2.1" =
+    self.by-version."bower-logger"."0.2.1";
+  by-version."bower-logger"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "bower-logger-0.2.1";
     src = [
       (fetchurl {
@@ -1104,14 +931,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-logger"."~0.2.1" or []);
+      (self.nativeDeps."bower-logger" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-logger" ];
   };
-  full."bower-registry-client"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bower-registry-client"."~0.1.4" =
+    self.by-version."bower-registry-client"."0.1.5";
+  by-version."bower-registry-client"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "bower-registry-client-0.1.5";
     src = [
       (fetchurl {
@@ -1120,43 +949,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bower-registry-client"."~0.1.4" or []);
+      (self.nativeDeps."bower-registry-client" or []);
     deps = [
-      self.full."async"."~0.2.8"
-      self.full."bower-config"."~0.4.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."lru-cache"."~2.3.0"
-      self.full."request"."~2.27.0"
-      self.full."request-replay"."~0.2.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."mkdirp"."~0.3.5"
+      self.by-version."async"."0.2.9"
+      self.by-version."bower-config"."0.4.5"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."request"."2.27.0"
+      self.by-version."request-replay"."0.2.0"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."mkdirp"."0.3.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bower-registry-client" ];
   };
-  full."broadway"."0.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "broadway-0.2.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/broadway/-/broadway-0.2.7.tgz";
-        sha1 = "3ba2f4b3de163e95e38a4950b61fd5f882a90762";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."broadway"."0.2.7" or []);
-    deps = [
-      self.full."cliff"."0.1.8"
-      self.full."eventemitter2"."0.4.11"
-      self.full."nconf"."0.6.7"
-      self.full."winston"."0.6.2"
-      self.full."utile"."0.1.7"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "broadway" ];
-  };
-  full."broadway"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."broadway"."0.2.7" =
+    self.by-version."broadway"."0.2.7";
+  by-version."broadway"."0.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "broadway-0.2.7";
     src = [
       (fetchurl {
@@ -1165,19 +975,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."broadway"."0.2.x" or []);
+      (self.nativeDeps."broadway" or []);
     deps = [
-      self.full."cliff"."0.1.8"
-      self.full."eventemitter2"."0.4.11"
-      self.full."nconf"."0.6.7"
-      self.full."winston"."0.6.2"
-      self.full."utile"."0.1.7"
+      self.by-version."cliff"."0.1.8"
+      self.by-version."eventemitter2"."0.4.11"
+      self.by-version."nconf"."0.6.7"
+      self.by-version."winston"."0.6.2"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "broadway" ];
   };
-  full."browserchannel"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."broadway"."0.2.x" =
+    self.by-version."broadway"."0.2.7";
+  by-spec."browserchannel"."*" =
+    self.by-version."browserchannel"."1.0.8";
+  by-version."browserchannel"."1.0.8" = lib.makeOverridable self.buildNodePackage {
     name = "browserchannel-1.0.8";
     src = [
       (fetchurl {
@@ -1186,18 +1000,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."browserchannel"."*" or []);
+      (self.nativeDeps."browserchannel" or []);
     deps = [
-      self.full."hat"."*"
-      self.full."connect"."~2"
-      self.full."request"."~2"
+      self.by-version."hat"."0.0.3"
+      self.by-version."connect"."2.11.0"
+      self.by-version."request"."2.27.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "browserchannel" ];
   };
-  "browserchannel" = self.full."browserchannel"."*";
-  full."bson"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+  "browserchannel" = self.by-version."browserchannel"."1.0.8";
+  by-spec."bson"."0.1.8" =
+    self.by-version."bson"."0.1.8";
+  by-version."bson"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "bson-0.1.8";
     src = [
       (fetchurl {
@@ -1206,14 +1022,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bson"."0.1.8" or []);
+      (self.nativeDeps."bson" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
   };
-  full."bson"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."bson"."0.2.2" =
+    self.by-version."bson"."0.2.2";
+  by-version."bson"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "bson-0.2.2";
     src = [
       (fetchurl {
@@ -1222,14 +1040,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."bson"."0.2.2" or []);
+      (self.nativeDeps."bson" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bson" ];
   };
-  full."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."buffer-crc32"."0.1.1" =
+    self.by-version."buffer-crc32"."0.1.1";
+  by-version."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "buffer-crc32-0.1.1";
     src = [
       (fetchurl {
@@ -1238,14 +1058,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffer-crc32"."0.1.1" or []);
+      (self.nativeDeps."buffer-crc32" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
   };
-  full."buffer-crc32"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."buffer-crc32"."0.2.1" =
+    self.by-version."buffer-crc32"."0.2.1";
+  by-version."buffer-crc32"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "buffer-crc32-0.2.1";
     src = [
       (fetchurl {
@@ -1254,30 +1076,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffer-crc32"."0.2.1" or []);
+      (self.nativeDeps."buffer-crc32" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffer-crc32" ];
   };
-  full."buffer-crc32"."~0.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "buffer-crc32-0.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
-        sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."buffer-crc32"."~0.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "buffer-crc32" ];
-  };
-  full."buffers"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."buffer-crc32"."~0.2.1" =
+    self.by-version."buffer-crc32"."0.2.1";
+  by-spec."buffers"."~0.1.1" =
+    self.by-version."buffers"."0.1.1";
+  by-version."buffers"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "buffers-0.1.1";
     src = [
       (fetchurl {
@@ -1286,14 +1096,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffers"."~0.1.1" or []);
+      (self.nativeDeps."buffers" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffers" ];
   };
-  full."buffertools"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."buffertools"."*" =
+    self.by-version."buffertools"."1.1.1";
+  by-version."buffertools"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "buffertools-1.1.1";
     src = [
       (fetchurl {
@@ -1302,65 +1114,75 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffertools"."*" or []);
+      (self.nativeDeps."buffertools" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "buffertools" ];
   };
-  "buffertools" = self.full."buffertools"."*";
-  full."buffertools".">=1.1.1 <2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "buffertools-1.1.1";
+  "buffertools" = self.by-version."buffertools"."1.1.1";
+  by-spec."buffertools".">=1.1.1 <2.0.0" =
+    self.by-version."buffertools"."1.1.1";
+  by-spec."bunyan"."0.21.1" =
+    self.by-version."bunyan"."0.21.1";
+  by-version."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage {
+    name = "bunyan-0.21.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz";
-        sha1 = "1071a5f40fe76c39d7a4fe2ea030324d09d6ec9d";
+        url = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
+        sha1 = "ea00a0d5223572e31e1e71efba2237cb1915942a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."buffertools".">=1.1.1 <2.0.0" or []);
+      (self.nativeDeps."bunyan" or []);
     deps = [
+      self.by-version."mv"."0.0.5"
+      self.by-version."dtrace-provider"."0.2.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "buffertools" ];
+    passthru.names = [ "bunyan" ];
   };
-  full."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage {
-    name = "bunyan-0.21.1";
+  by-spec."bytes"."0.2.0" =
+    self.by-version."bytes"."0.2.0";
+  by-version."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+    name = "bytes-0.2.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
-        sha1 = "ea00a0d5223572e31e1e71efba2237cb1915942a";
+        url = "http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
+        sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bunyan"."0.21.1" or []);
+      (self.nativeDeps."bytes" or []);
     deps = [
-      self.full."mv"."0.0.5"
-      self.full."dtrace-provider"."0.2.8"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "bunyan" ];
+    passthru.names = [ "bytes" ];
   };
-  full."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bytes-0.2.0";
+  by-spec."bytes"."0.2.1" =
+    self.by-version."bytes"."0.2.1";
+  by-version."bytes"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "bytes-0.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
-        sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
+        url = "http://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz";
+        sha1 = "555b08abcb063f8975905302523e4cd4ffdfdf31";
       })
     ];
     buildInputs =
-      (self.nativeDeps."bytes"."0.2.0" or []);
+      (self.nativeDeps."bytes" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "bytes" ];
   };
-  full."cardinal"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cardinal"."~0.4.0" =
+    self.by-version."cardinal"."0.4.2";
+  by-version."cardinal"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "cardinal-0.4.2";
     src = [
       (fetchurl {
@@ -1369,16 +1191,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cardinal"."~0.4.0" or []);
+      (self.nativeDeps."cardinal" or []);
     deps = [
-      self.full."redeyed"."~0.4.0"
-      self.full."ansicolors"."~0.2.1"
+      self.by-version."redeyed"."0.4.2"
+      self.by-version."ansicolors"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cardinal" ];
   };
-  full."chai"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chai"."*" =
+    self.by-version."chai"."1.8.1";
+  by-version."chai"."1.8.1" = lib.makeOverridable self.buildNodePackage {
     name = "chai-1.8.1";
     src = [
       (fetchurl {
@@ -1387,17 +1211,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chai"."*" or []);
+      (self.nativeDeps."chai" or []);
     deps = [
-      self.full."assertion-error"."1.0.0"
-      self.full."deep-eql"."0.1.3"
+      self.by-version."assertion-error"."1.0.0"
+      self.by-version."deep-eql"."0.1.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chai" ];
   };
-  "chai" = self.full."chai"."*";
-  full."chainsaw"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  "chai" = self.by-version."chai"."1.8.1";
+  by-spec."chainsaw"."~0.1.0" =
+    self.by-version."chainsaw"."0.1.0";
+  by-version."chainsaw"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "chainsaw-0.1.0";
     src = [
       (fetchurl {
@@ -1406,15 +1232,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chainsaw"."~0.1.0" or []);
+      (self.nativeDeps."chainsaw" or []);
     deps = [
-      self.full."traverse".">=0.3.0 <0.4"
+      self.by-version."traverse"."0.3.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chainsaw" ];
   };
-  full."chalk"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chalk"."~0.1.1" =
+    self.by-version."chalk"."0.1.1";
+  by-version."chalk"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "chalk-0.1.1";
     src = [
       (fetchurl {
@@ -1423,34 +1251,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chalk"."~0.1.0" or []);
+      (self.nativeDeps."chalk" or []);
     deps = [
-      self.full."has-color"."~0.1.0"
-      self.full."ansi-styles"."~0.1.0"
+      self.by-version."has-color"."0.1.1"
+      self.by-version."ansi-styles"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
   };
-  full."chalk"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "chalk-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz";
-        sha1 = "fe6d90ae2c270424720c87ed92d36490b7d36ea0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."chalk"."~0.1.1" or []);
-    deps = [
-      self.full."has-color"."~0.1.0"
-      self.full."ansi-styles"."~0.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "chalk" ];
-  };
-  full."chalk"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chalk"."~0.2.0" =
+    self.by-version."chalk"."0.2.1";
+  by-version."chalk"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "chalk-0.2.1";
     src = [
       (fetchurl {
@@ -1459,16 +1271,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chalk"."~0.2.0" or []);
+      (self.nativeDeps."chalk" or []);
     deps = [
-      self.full."has-color"."~0.1.0"
-      self.full."ansi-styles"."~0.2.0"
+      self.by-version."has-color"."0.1.1"
+      self.by-version."ansi-styles"."0.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chalk" ];
   };
-  full."character-parser"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chalk"."~0.2.1" =
+    self.by-version."chalk"."0.2.1";
+  by-spec."character-parser"."1.2.0" =
+    self.by-version."character-parser"."1.2.0";
+  by-version."character-parser"."1.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "character-parser-1.2.0";
     src = [
       (fetchurl {
@@ -1477,14 +1293,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."character-parser"."1.2.0" or []);
+      (self.nativeDeps."character-parser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "character-parser" ];
   };
-  full."cheerio"."~0.10.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cheerio"."~0.10.8" =
+    self.by-version."cheerio"."0.10.8";
+  by-version."cheerio"."0.10.8" = lib.makeOverridable self.buildNodePackage {
     name = "cheerio-0.10.8";
     src = [
       (fetchurl {
@@ -1493,58 +1311,44 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio"."~0.10.8" or []);
+      (self.nativeDeps."cheerio" or []);
     deps = [
-      self.full."cheerio-select"."*"
-      self.full."htmlparser2"."2.x"
-      self.full."underscore"."~1.4"
-      self.full."entities"."0.x"
+      self.by-version."cheerio-select"."0.0.3"
+      self.by-version."htmlparser2"."2.6.0"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."entities"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cheerio" ];
   };
-  full."cheerio"."~0.12.0" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-0.12.3";
+  by-spec."cheerio"."~0.12.0" =
+    self.by-version."cheerio"."0.12.4";
+  by-version."cheerio"."0.12.4" = lib.makeOverridable self.buildNodePackage {
+    name = "cheerio-0.12.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.3.tgz";
-        sha1 = "8eb05ace0a3fc72d9d9ce0b5d364fe8bb565d7fa";
+        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.4.tgz";
+        sha1 = "c199626e9e1eb0d4233a91a4793e7f8aaa69a18b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio"."~0.12.0" or []);
+      (self.nativeDeps."cheerio" or []);
     deps = [
-      self.full."cheerio-select"."*"
-      self.full."htmlparser2"."3.1.4"
-      self.full."underscore"."~1.4"
-      self.full."entities"."0.x"
+      self.by-version."cheerio-select"."0.0.3"
+      self.by-version."htmlparser2"."3.1.4"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."entities"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cheerio" ];
   };
-  full."cheerio"."~0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "cheerio-0.12.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.3.tgz";
-        sha1 = "8eb05ace0a3fc72d9d9ce0b5d364fe8bb565d7fa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cheerio"."~0.12.1" or []);
-    deps = [
-      self.full."cheerio-select"."*"
-      self.full."htmlparser2"."3.1.4"
-      self.full."underscore"."~1.4"
-      self.full."entities"."0.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cheerio" ];
-  };
-  full."cheerio-select"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cheerio"."~0.12.1" =
+    self.by-version."cheerio"."0.12.4";
+  by-spec."cheerio-select"."*" =
+    self.by-version."cheerio-select"."0.0.3";
+  by-version."cheerio-select"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "cheerio-select-0.0.3";
     src = [
       (fetchurl {
@@ -1553,15 +1357,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cheerio-select"."*" or []);
+      (self.nativeDeps."cheerio-select" or []);
     deps = [
-      self.full."CSSselect"."0.x"
+      self.by-version."CSSselect"."0.3.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cheerio-select" ];
   };
-  full."child-process-close"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."child-process-close"."~0.1.1" =
+    self.by-version."child-process-close"."0.1.1";
+  by-version."child-process-close"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "child-process-close-0.1.1";
     src = [
       (fetchurl {
@@ -1570,14 +1376,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."child-process-close"."~0.1.1" or []);
+      (self.nativeDeps."child-process-close" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "child-process-close" ];
   };
-  full."chmodr"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chmodr"."~0.1.0" =
+    self.by-version."chmodr"."0.1.0";
+  by-version."chmodr"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "chmodr-0.1.0";
     src = [
       (fetchurl {
@@ -1586,30 +1394,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chmodr"."~0.1.0" or []);
+      (self.nativeDeps."chmodr" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chmodr" ];
   };
-  full."chokidar"."~0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "chokidar-0.6.3";
+  by-spec."chokidar"."~0.7.0" =
+    self.by-version."chokidar"."0.7.0";
+  by-version."chokidar"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "chokidar-0.7.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/chokidar/-/chokidar-0.6.3.tgz";
-        sha1 = "e85968fa235f21773d388c617af085bf2104425a";
+        url = "http://registry.npmjs.org/chokidar/-/chokidar-0.7.0.tgz";
+        sha1 = "bfaa9bdf30c0921dbe0a98bd93a3e06a5d5814e5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."chokidar"."~0.6" or []);
+      (self.nativeDeps."chokidar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chokidar" ];
   };
-  full."chownr"."0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."chownr"."0" =
+    self.by-version."chownr"."0.0.1";
+  by-version."chownr"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "chownr-0.0.1";
     src = [
       (fetchurl {
@@ -1618,31 +1430,54 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."chownr"."0" or []);
+      (self.nativeDeps."chownr" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "chownr" ];
   };
-  full."clean-css"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "clean-css-1.1.3";
+  by-spec."clean-css"."1.0.x" =
+    self.by-version."clean-css"."1.0.12";
+  by-version."clean-css"."1.0.12" = 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" or []);
+    deps = [
+      self.by-version."commander"."1.3.2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "clean-css" ];
+  };
+  by-spec."clean-css"."~2.0.0" =
+    self.by-version."clean-css"."2.0.1";
+  by-version."clean-css"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "clean-css-2.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/clean-css/-/clean-css-1.1.3.tgz";
-        sha1 = "5442cbf45643e09bdcfae25f2b5d8eb36e168ae1";
+        url = "http://registry.npmjs.org/clean-css/-/clean-css-2.0.1.tgz";
+        sha1 = "12770bc087fa8287174626db3d46de278b7c4f86";
       })
     ];
     buildInputs =
-      (self.nativeDeps."clean-css"."~1.1.1" or []);
+      (self.nativeDeps."clean-css" or []);
     deps = [
-      self.full."commander"."2.0.x"
+      self.by-version."commander"."2.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "clean-css" ];
   };
-  full."cli"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cli"."0.4.x" =
+    self.by-version."cli"."0.4.5";
+  by-version."cli"."0.4.5" = lib.makeOverridable self.buildNodePackage {
     name = "cli-0.4.5";
     src = [
       (fetchurl {
@@ -1651,15 +1486,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cli"."0.4.x" or []);
+      (self.nativeDeps."cli" or []);
     deps = [
-      self.full."glob".">= 3.1.4"
+      self.by-version."glob"."3.2.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cli" ];
   };
-  full."cli-color"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cli-color"."~0.2.2" =
+    self.by-version."cli-color"."0.2.3";
+  by-version."cli-color"."0.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "cli-color-0.2.3";
     src = [
       (fetchurl {
@@ -1668,16 +1505,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cli-color"."~0.2.2" or []);
+      (self.nativeDeps."cli-color" or []);
     deps = [
-      self.full."es5-ext"."~0.9.2"
-      self.full."memoizee"."~0.2.5"
+      self.by-version."es5-ext"."0.9.2"
+      self.by-version."memoizee"."0.2.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cli-color" ];
   };
-  full."cli-table"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cli-table"."~0.2.0" =
+    self.by-version."cli-table"."0.2.0";
+  by-version."cli-table"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "cli-table-0.2.0";
     src = [
       (fetchurl {
@@ -1686,15 +1525,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cli-table"."~0.2.0" or []);
+      (self.nativeDeps."cli-table" or []);
     deps = [
-      self.full."colors"."0.3.0"
+      self.by-version."colors"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cli-table" ];
   };
-  full."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cliff"."0.1.8" =
+    self.by-version."cliff"."0.1.8";
+  by-version."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "cliff-0.1.8";
     src = [
       (fetchurl {
@@ -1703,17 +1544,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cliff"."0.1.8" or []);
+      (self.nativeDeps."cliff" or []);
     deps = [
-      self.full."colors"."0.x.x"
-      self.full."eyes"."0.1.x"
-      self.full."winston"."0.6.x"
+      self.by-version."colors"."0.6.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."winston"."0.6.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cliff" ];
   };
-  full."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."clone"."0.1.5" =
+    self.by-version."clone"."0.1.5";
+  by-version."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "clone-0.1.5";
     src = [
       (fetchurl {
@@ -1722,14 +1565,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."clone"."0.1.5" or []);
+      (self.nativeDeps."clone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "clone" ];
   };
-  full."clone"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."clone"."0.1.6" =
+    self.by-version."clone"."0.1.6";
+  by-version."clone"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "clone-0.1.6";
     src = [
       (fetchurl {
@@ -1738,32 +1583,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."clone"."0.1.6" or []);
+      (self.nativeDeps."clone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "clone" ];
   };
-  full."cmd-shim"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "cmd-shim-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.0.1.tgz";
-        sha1 = "75e917c2185240854718c686346770640083d7bc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cmd-shim"."~1.0.1" or []);
-    deps = [
-      self.full."mkdirp"."~0.3.3"
-      self.full."graceful-fs"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "cmd-shim" ];
-  };
-  full."cmd-shim"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cmd-shim"."~1.1.1" =
+    self.by-version."cmd-shim"."1.1.1";
+  by-version."cmd-shim"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "cmd-shim-1.1.1";
     src = [
       (fetchurl {
@@ -1772,16 +1601,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cmd-shim"."~1.1.0" or []);
+      (self.nativeDeps."cmd-shim" or []);
     deps = [
-      self.full."mkdirp"."~0.3.3"
-      self.full."graceful-fs"."2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."graceful-fs"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cmd-shim" ];
   };
-  full."coffee-script"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."coffee-script"."*" =
+    self.by-version."coffee-script"."1.6.3";
+  by-version."coffee-script"."1.6.3" = lib.makeOverridable self.buildNodePackage {
     name = "coffee-script-1.6.3";
     src = [
       (fetchurl {
@@ -1790,63 +1621,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script"."*" or []);
+      (self.nativeDeps."coffee-script" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
   };
-  "coffee-script" = self.full."coffee-script"."*";
-  full."coffee-script"."1.6.3" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script"."1.6.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  full."coffee-script".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script".">= 0.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  full."coffee-script".">=1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script".">=1.2.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  full."coffee-script"."~1.3.3" = lib.makeOverridable self.buildNodePackage {
+  "coffee-script" = self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script"."1.6.3" =
+    self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script".">= 0.0.1" =
+    self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script".">=1.2.0" =
+    self.by-version."coffee-script"."1.6.3";
+  by-spec."coffee-script"."~1.3.3" =
+    self.by-version."coffee-script"."1.3.3";
+  by-version."coffee-script"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "coffee-script-1.3.3";
     src = [
       (fetchurl {
@@ -1855,30 +1646,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."coffee-script"."~1.3.3" or []);
+      (self.nativeDeps."coffee-script" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "coffee-script" ];
   };
-  full."coffee-script"."~1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "coffee-script-1.6.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-        sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."coffee-script"."~1.6" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "coffee-script" ];
-  };
-  full."color"."~0.4.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."coffee-script"."~1.6" =
+    self.by-version."coffee-script"."1.6.3";
+  by-spec."color"."~0.4.4" =
+    self.by-version."color"."0.4.4";
+  by-version."color"."0.4.4" = lib.makeOverridable self.buildNodePackage {
     name = "color-0.4.4";
     src = [
       (fetchurl {
@@ -1887,16 +1666,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."color"."~0.4.4" or []);
+      (self.nativeDeps."color" or []);
     deps = [
-      self.full."color-convert"."0.2.x"
-      self.full."color-string"."0.1.x"
+      self.by-version."color-convert"."0.2.1"
+      self.by-version."color-string"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "color" ];
   };
-  full."color-convert"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."color-convert"."0.2.x" =
+    self.by-version."color-convert"."0.2.1";
+  by-version."color-convert"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "color-convert-0.2.1";
     src = [
       (fetchurl {
@@ -1905,14 +1686,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."color-convert"."0.2.x" or []);
+      (self.nativeDeps."color-convert" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "color-convert" ];
   };
-  full."color-string"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."color-string"."0.1.x" =
+    self.by-version."color-string"."0.1.2";
+  by-version."color-string"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "color-string-0.1.2";
     src = [
       (fetchurl {
@@ -1921,15 +1704,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."color-string"."0.1.x" or []);
+      (self.nativeDeps."color-string" or []);
     deps = [
-      self.full."color-convert"."0.2.x"
+      self.by-version."color-convert"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "color-string" ];
   };
-  full."colors"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.3.0" =
+    self.by-version."colors"."0.3.0";
+  by-version."colors"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "colors-0.3.0";
     src = [
       (fetchurl {
@@ -1938,14 +1723,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.3.0" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
   };
-  full."colors"."0.5.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.5.x" =
+    self.by-version."colors"."0.5.1";
+  by-version."colors"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "colors-0.5.1";
     src = [
       (fetchurl {
@@ -1954,14 +1741,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.5.x" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
   };
-  full."colors"."0.6.0-1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.6.0-1" =
+    self.by-version."colors"."0.6.0-1";
+  by-version."colors"."0.6.0-1" = lib.makeOverridable self.buildNodePackage {
     name = "colors-0.6.0-1";
     src = [
       (fetchurl {
@@ -1970,30 +1759,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.6.0-1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "colors" ];
-  };
-  full."colors"."0.6.x" = 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.x" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "colors" ];
   };
-  full."colors"."0.x.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."colors"."0.6.x" =
+    self.by-version."colors"."0.6.2";
+  by-version."colors"."0.6.2" = lib.makeOverridable self.buildNodePackage {
     name = "colors-0.6.2";
     src = [
       (fetchurl {
@@ -2002,30 +1777,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."colors"."0.x.x" or []);
+      (self.nativeDeps."colors" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     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 {
+  by-spec."colors"."0.x.x" =
+    self.by-version."colors"."0.6.2";
+  by-spec."colors"."~0.6.0-1" =
+    self.by-version."colors"."0.6.2";
+  by-spec."combined-stream"."~0.0.4" =
+    self.by-version."combined-stream"."0.0.4";
+  by-version."combined-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "combined-stream-0.0.4";
     src = [
       (fetchurl {
@@ -2034,15 +1799,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."combined-stream"."~0.0.4" or []);
+      (self.nativeDeps."combined-stream" or []);
     deps = [
-      self.full."delayed-stream"."0.0.5"
+      self.by-version."delayed-stream"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "combined-stream" ];
   };
-  full."commander"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."commander"."*" =
+    self.by-version."commander"."2.0.0";
+  by-version."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "commander-2.0.0";
     src = [
       (fetchurl {
@@ -2051,14 +1818,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."*" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."commander"."0.5.1" =
+    self.by-version."commander"."0.5.1";
+  by-version."commander"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "commander-0.5.1";
     src = [
       (fetchurl {
@@ -2067,14 +1836,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."0.5.1" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."commander"."0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
     name = "commander-0.6.1";
     src = [
       (fetchurl {
@@ -2083,62 +1854,43 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."0.6.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
-  full."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-2.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
-        sha1 = "d1b86f901f8b64bd941bdeadaf924530393be928";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander"."2.0.0" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."2.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-2.0.0";
+  by-spec."commander"."1.3.2" =
+    self.by-version."commander"."1.3.2";
+  by-version."commander"."1.3.2" = lib.makeOverridable self.buildNodePackage {
+    name = "commander-1.3.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
-        sha1 = "d1b86f901f8b64bd941bdeadaf924530393be928";
+        url = "http://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
+        sha1 = "8a8f30ec670a6fdd64af52f1914b907d79ead5b5";
       })
     ];
     buildInputs =
-      (self.nativeDeps."commander"."2.0.x" or []);
+      (self.nativeDeps."commander" or []);
     deps = [
+      self.by-version."keypress"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "commander" ];
   };
-  full."commander"."~0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-0.6.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
-        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander"."~0.6.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
-  full."config"."0.4.15" = lib.makeOverridable self.buildNodePackage {
+  by-spec."commander"."1.3.x" =
+    self.by-version."commander"."1.3.2";
+  by-spec."commander"."2.0.0" =
+    self.by-version."commander"."2.0.0";
+  by-spec."commander"."2.0.x" =
+    self.by-version."commander"."2.0.0";
+  by-spec."commander"."~0.6.1" =
+    self.by-version."commander"."0.6.1";
+  by-spec."config"."0.4.15" =
+    self.by-version."config"."0.4.15";
+  by-version."config"."0.4.15" = lib.makeOverridable self.buildNodePackage {
     name = "config-0.4.15";
     src = [
       (fetchurl {
@@ -2147,17 +1899,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."config"."0.4.15" or []);
+      (self.nativeDeps."config" or []);
     deps = [
-      self.full."js-yaml"."0.3.x"
-      self.full."coffee-script".">=1.2.0"
-      self.full."vows".">=0.5.13"
+      self.by-version."js-yaml"."0.3.7"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."vows"."0.7.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "config" ];
   };
-  full."config-chain"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."config-chain"."~1.1.1" =
+    self.by-version."config-chain"."1.1.8";
+  by-version."config-chain"."1.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "config-chain-1.1.8";
     src = [
       (fetchurl {
@@ -2166,16 +1920,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."config-chain"."~1.1.1" or []);
+      (self.nativeDeps."config-chain" or []);
     deps = [
-      self.full."proto-list"."~1.2.1"
-      self.full."ini"."1"
+      self.by-version."proto-list"."1.2.2"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "config-chain" ];
   };
-  full."configstore"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."config-chain"."~1.1.8" =
+    self.by-version."config-chain"."1.1.8";
+  by-spec."configstore"."~0.1.0" =
+    self.by-version."configstore"."0.1.5";
+  by-version."configstore"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "configstore-0.1.5";
     src = [
       (fetchurl {
@@ -2184,18 +1942,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."configstore"."~0.1.0" or []);
+      (self.nativeDeps."configstore" or []);
     deps = [
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."js-yaml"."~2.1.0"
-      self.full."osenv"."0.0.3"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."js-yaml"."2.1.3"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "configstore" ];
   };
-  full."connect"."1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect"."1.x" =
+    self.by-version."connect"."1.9.2";
+  by-version."connect"."1.9.2" = lib.makeOverridable self.buildNodePackage {
     name = "connect-1.9.2";
     src = [
       (fetchurl {
@@ -2204,43 +1964,51 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."1.x" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs".">= 0.4.0"
-      self.full."mime".">= 0.0.1"
-      self.full."formidable"."1.0.x"
+      self.by-version."qs"."0.6.5"
+      self.by-version."mime"."1.2.11"
+      self.by-version."formidable"."1.0.14"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.7.11" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.7.11";
+  by-spec."connect"."2.11.0" =
+    self.by-version."connect"."2.11.0";
+  by-version."connect"."2.11.0" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-2.11.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.7.11.tgz";
-        sha1 = "f561d5eef70b8d719c397f724d34ba4065c77a3e";
+        url = "http://registry.npmjs.org/connect/-/connect-2.11.0.tgz";
+        sha1 = "9991ce09ff9b85d9ead27f9d41d0b2a2df2f9284";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.7.11" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.14"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.0.5"
-      self.full."send"."0.1.1"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.1.0"
-      self.full."pause"."0.0.1"
-      self.full."debug"."*"
+      self.by-version."qs"."0.6.5"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."bytes"."0.2.1"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."uid2"."0.0.3"
+      self.by-version."debug"."0.7.4"
+      self.by-version."methods"."0.0.1"
+      self.by-version."raw-body"."0.0.3"
+      self.by-version."negotiator"."0.3.0"
+      self.by-version."multiparty"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect"."2.7.5" =
+    self.by-version."connect"."2.7.5";
+  by-version."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage {
     name = "connect-2.7.5";
     src = [
       (fetchurl {
@@ -2249,24 +2017,26 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.7.5" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.5.1"
-      self.full."formidable"."1.0.11"
-      self.full."cookie-signature"."1.0.0"
-      self.full."buffer-crc32"."0.1.1"
-      self.full."cookie"."0.0.5"
-      self.full."send"."0.1.0"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.1.0"
-      self.full."pause"."0.0.1"
-      self.full."debug"."*"
+      self.by-version."qs"."0.5.1"
+      self.by-version."formidable"."1.0.11"
+      self.by-version."cookie-signature"."1.0.0"
+      self.by-version."buffer-crc32"."0.1.1"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."send"."0.1.0"
+      self.by-version."bytes"."0.2.0"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect"."2.7.6" =
+    self.by-version."connect"."2.7.6";
+  by-version."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage {
     name = "connect-2.7.6";
     src = [
       (fetchurl {
@@ -2275,80 +2045,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."2.7.6" or []);
-    deps = [
-      self.full."qs"."0.5.1"
-      self.full."formidable"."1.0.11"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.1.1"
-      self.full."cookie"."0.0.5"
-      self.full."send"."0.1.0"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.1.0"
-      self.full."pause"."0.0.1"
-      self.full."debug"."*"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
-  };
-  full."connect"."2.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.9.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.9.1.tgz";
-        sha1 = "a0a733f2e629b8af85aa0701fbd0737f52549052";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect"."2.9.1" or []);
-    deps = [
-      self.full."qs"."0.6.5"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.1.0"
-      self.full."send"."0.1.4"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.2.0"
-      self.full."pause"."0.0.1"
-      self.full."uid2"."0.0.2"
-      self.full."debug"."*"
-      self.full."methods"."0.0.1"
-      self.full."multiparty"."2.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
-  };
-  full."connect"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.9.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.9.1.tgz";
-        sha1 = "a0a733f2e629b8af85aa0701fbd0737f52549052";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect"."~2" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.1.0"
-      self.full."send"."0.1.4"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.2.0"
-      self.full."pause"."0.0.1"
-      self.full."uid2"."0.0.2"
-      self.full."debug"."*"
-      self.full."methods"."0.0.1"
-      self.full."multiparty"."2.2.0"
+      self.by-version."qs"."0.5.1"
+      self.by-version."formidable"."1.0.11"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.1.1"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."send"."0.1.0"
+      self.by-version."bytes"."0.2.0"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect"."~2.8.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect"."~2" =
+    self.by-version."connect"."2.11.0";
+  by-spec."connect"."~2.8.4" =
+    self.by-version."connect"."2.8.8";
+  by-version."connect"."2.8.8" = lib.makeOverridable self.buildNodePackage {
     name = "connect-2.8.8";
     src = [
       (fetchurl {
@@ -2357,26 +2075,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect"."~2.8.4" or []);
+      (self.nativeDeps."connect" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.14"
-      self.full."cookie-signature"."1.0.1"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."cookie"."0.1.0"
-      self.full."send"."0.1.4"
-      self.full."bytes"."0.2.0"
-      self.full."fresh"."0.2.0"
-      self.full."pause"."0.0.1"
-      self.full."uid2"."0.0.2"
-      self.full."debug"."*"
-      self.full."methods"."0.0.1"
+      self.by-version."qs"."0.6.5"
+      self.by-version."formidable"."1.0.14"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."bytes"."0.2.0"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."pause"."0.0.1"
+      self.by-version."uid2"."0.0.2"
+      self.by-version."debug"."0.7.4"
+      self.by-version."methods"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect" ];
   };
-  full."connect-flash"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect-flash"."*" =
+    self.by-version."connect-flash"."0.1.1";
+  by-version."connect-flash"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "connect-flash-0.1.1";
     src = [
       (fetchurl {
@@ -2385,15 +2105,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-flash"."*" or []);
+      (self.nativeDeps."connect-flash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-flash" ];
   };
-  "connect-flash" = self.full."connect-flash"."*";
-  full."connect-flash"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  "connect-flash" = self.by-version."connect-flash"."0.1.1";
+  by-spec."connect-flash"."0.1.0" =
+    self.by-version."connect-flash"."0.1.0";
+  by-version."connect-flash"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "connect-flash-0.1.0";
     src = [
       (fetchurl {
@@ -2402,14 +2124,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-flash"."0.1.0" or []);
+      (self.nativeDeps."connect-flash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-flash" ];
   };
-  full."connect-jade-static"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."connect-jade-static"."*" =
+    self.by-version."connect-jade-static"."0.1.1";
+  by-version."connect-jade-static"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "connect-jade-static-0.1.1";
     src = [
       (fetchurl {
@@ -2418,34 +2142,38 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-jade-static"."*" or []);
+      (self.nativeDeps."connect-jade-static" or []);
     deps = [
-      self.full."jade"."*"
+      self.by-version."jade"."0.35.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-jade-static" ];
   };
-  "connect-jade-static" = self.full."connect-jade-static"."*";
-  full."connect-mongo"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-mongo-0.3.3";
+  "connect-jade-static" = self.by-version."connect-jade-static"."0.1.1";
+  by-spec."connect-mongo"."*" =
+    self.by-version."connect-mongo"."0.4.0";
+  by-version."connect-mongo"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "connect-mongo-0.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.3.3.tgz";
-        sha1 = "aeaa1ca8c947599131bd90e1a024cdb789fe0100";
+        url = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.4.0.tgz";
+        sha1 = "4cb33728334a8f10f2d9e43d31369dbc2f856336";
       })
     ];
     buildInputs =
-      (self.nativeDeps."connect-mongo"."*" or []);
+      (self.nativeDeps."connect-mongo" or []);
     deps = [
-      self.full."mongodb"."1.2.x"
+      self.by-version."mongodb"."1.3.19"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "connect-mongo" ];
   };
-  "connect-mongo" = self.full."connect-mongo"."*";
-  full."console-browserify"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  "connect-mongo" = self.by-version."connect-mongo"."0.4.0";
+  by-spec."console-browserify"."0.1.x" =
+    self.by-version."console-browserify"."0.1.6";
+  by-version."console-browserify"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "console-browserify-0.1.6";
     src = [
       (fetchurl {
@@ -2454,14 +2182,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."console-browserify"."0.1.x" or []);
+      (self.nativeDeps."console-browserify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "console-browserify" ];
   };
-  full."constantinople"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."constantinople"."~1.0.1" =
+    self.by-version."constantinople"."1.0.2";
+  by-version."constantinople"."1.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "constantinople-1.0.2";
     src = [
       (fetchurl {
@@ -2470,15 +2200,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."constantinople"."~1.0.1" or []);
+      (self.nativeDeps."constantinople" or []);
     deps = [
-      self.full."uglify-js"."~2.4.0"
+      self.by-version."uglify-js"."2.4.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "constantinople" ];
   };
-  full."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie"."0.0.5" =
+    self.by-version."cookie"."0.0.5";
+  by-version."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-0.0.5";
     src = [
       (fetchurl {
@@ -2487,14 +2219,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie"."0.0.5" or []);
+      (self.nativeDeps."cookie" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
   };
-  full."cookie"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie"."0.1.0" =
+    self.by-version."cookie"."0.1.0";
+  by-version."cookie"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-0.1.0";
     src = [
       (fetchurl {
@@ -2503,14 +2237,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie"."0.1.0" or []);
+      (self.nativeDeps."cookie" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie" ];
   };
-  full."cookie-jar"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie-jar"."~0.2.0" =
+    self.by-version."cookie-jar"."0.2.0";
+  by-version."cookie-jar"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-jar-0.2.0";
     src = [
       (fetchurl {
@@ -2519,14 +2255,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-jar"."~0.2.0" or []);
+      (self.nativeDeps."cookie-jar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-jar" ];
   };
-  full."cookie-jar"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie-jar"."~0.3.0" =
+    self.by-version."cookie-jar"."0.3.0";
+  by-version."cookie-jar"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-jar-0.3.0";
     src = [
       (fetchurl {
@@ -2535,14 +2273,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-jar"."~0.3.0" or []);
+      (self.nativeDeps."cookie-jar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-jar" ];
   };
-  full."cookie-signature"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie-signature"."1.0.0" =
+    self.by-version."cookie-signature"."1.0.0";
+  by-version."cookie-signature"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-signature-1.0.0";
     src = [
       (fetchurl {
@@ -2551,14 +2291,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-signature"."1.0.0" or []);
+      (self.nativeDeps."cookie-signature" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
   };
-  full."cookie-signature"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookie-signature"."1.0.1" =
+    self.by-version."cookie-signature"."1.0.1";
+  by-version."cookie-signature"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "cookie-signature-1.0.1";
     src = [
       (fetchurl {
@@ -2567,14 +2309,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookie-signature"."1.0.1" or []);
+      (self.nativeDeps."cookie-signature" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookie-signature" ];
   };
-  full."cookiejar"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookiejar"."1.3.0" =
+    self.by-version."cookiejar"."1.3.0";
+  by-version."cookiejar"."1.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "cookiejar-1.3.0";
     src = [
       (fetchurl {
@@ -2583,14 +2327,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookiejar"."1.3.0" or []);
+      (self.nativeDeps."cookiejar" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookiejar" ];
   };
-  full."cookies".">= 0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cookies".">= 0.2.2" =
+    self.by-version."cookies"."0.3.6";
+  by-version."cookies"."0.3.6" = lib.makeOverridable self.buildNodePackage {
     name = "cookies-0.3.6";
     src = [
       (fetchurl {
@@ -2599,14 +2345,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cookies".">= 0.2.2" or []);
+      (self.nativeDeps."cookies" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cookies" ];
   };
-  full."core-util-is"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."core-util-is"."~1.0.0" =
+    self.by-version."core-util-is"."1.0.0";
+  by-version."core-util-is"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "core-util-is-1.0.0";
     src = [
       (fetchurl {
@@ -2615,14 +2363,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."core-util-is"."~1.0.0" or []);
+      (self.nativeDeps."core-util-is" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "core-util-is" ];
   };
-  full."couch-login"."~0.1.15" = lib.makeOverridable self.buildNodePackage {
+  by-spec."couch-login"."~0.1.15" =
+    self.by-version."couch-login"."0.1.18";
+  by-version."couch-login"."0.1.18" = lib.makeOverridable self.buildNodePackage {
     name = "couch-login-0.1.18";
     src = [
       (fetchurl {
@@ -2631,32 +2381,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."couch-login"."~0.1.15" or []);
+      (self.nativeDeps."couch-login" or []);
     deps = [
-      self.full."request"."2 >=2.25.0"
+      self.by-version."request"."2.27.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "couch-login" ];
   };
-  full."couch-login"."~0.1.18" = lib.makeOverridable self.buildNodePackage {
-    name = "couch-login-0.1.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.18.tgz";
-        sha1 = "a69fa40dd43d1f98d97e560f18187a578a116056";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."couch-login"."~0.1.18" or []);
-    deps = [
-      self.full."request"."2 >=2.25.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "couch-login" ];
-  };
-  full."coveralls"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."couch-login"."~0.1.18" =
+    self.by-version."couch-login"."0.1.18";
+  by-spec."coveralls"."*" =
+    self.by-version."coveralls"."2.3.0";
+  by-version."coveralls"."2.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "coveralls-2.3.0";
     src = [
       (fetchurl {
@@ -2665,19 +2402,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."coveralls"."*" or []);
+      (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"
+      self.by-version."yaml"."0.2.3"
+      self.by-version."request"."2.16.2"
+      self.by-version."lcov-parse"."0.0.4"
+      self.by-version."log-driver"."1.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "coveralls" ];
   };
-  "coveralls" = self.full."coveralls"."*";
-  full."crossroads"."~0.12.0" = lib.makeOverridable self.buildNodePackage {
+  "coveralls" = self.by-version."coveralls"."2.3.0";
+  by-spec."crossroads"."~0.12.0" =
+    self.by-version."crossroads"."0.12.0";
+  by-version."crossroads"."0.12.0" = lib.makeOverridable self.buildNodePackage {
     name = "crossroads-0.12.0";
     src = [
       (fetchurl {
@@ -2686,15 +2425,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."crossroads"."~0.12.0" or []);
+      (self.nativeDeps."crossroads" or []);
     deps = [
-      self.full."signals"."<2.0"
+      self.by-version."signals"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "crossroads" ];
   };
-  full."cryptiles"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cryptiles"."0.1.x" =
+    self.by-version."cryptiles"."0.1.3";
+  by-version."cryptiles"."0.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "cryptiles-0.1.3";
     src = [
       (fetchurl {
@@ -2703,15 +2444,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cryptiles"."0.1.x" or []);
+      (self.nativeDeps."cryptiles" or []);
     deps = [
-      self.full."boom"."0.3.x"
+      self.by-version."boom"."0.3.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cryptiles" ];
   };
-  full."cryptiles"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cryptiles"."0.2.x" =
+    self.by-version."cryptiles"."0.2.2";
+  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "cryptiles-0.2.2";
     src = [
       (fetchurl {
@@ -2720,15 +2463,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cryptiles"."0.2.x" or []);
+      (self.nativeDeps."cryptiles" or []);
     deps = [
-      self.full."boom"."0.4.x"
+      self.by-version."boom"."0.4.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cryptiles" ];
   };
-  full."css"."~1.0.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."css"."~1.0.8" =
+    self.by-version."css"."1.0.8";
+  by-version."css"."1.0.8" = lib.makeOverridable self.buildNodePackage {
     name = "css-1.0.8";
     src = [
       (fetchurl {
@@ -2737,16 +2482,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."css"."~1.0.8" or []);
+      (self.nativeDeps."css" or []);
     deps = [
-      self.full."css-parse"."1.0.4"
-      self.full."css-stringify"."1.0.5"
+      self.by-version."css-parse"."1.0.4"
+      self.by-version."css-stringify"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "css" ];
   };
-  full."css-parse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."css-parse"."1.0.4" =
+    self.by-version."css-parse"."1.0.4";
+  by-version."css-parse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "css-parse-1.0.4";
     src = [
       (fetchurl {
@@ -2755,14 +2502,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."css-parse"."1.0.4" or []);
+      (self.nativeDeps."css-parse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "css-parse" ];
   };
-  full."css-stringify"."1.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."css-stringify"."1.0.5" =
+    self.by-version."css-stringify"."1.0.5";
+  by-version."css-stringify"."1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "css-stringify-1.0.5";
     src = [
       (fetchurl {
@@ -2771,14 +2520,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."css-stringify"."1.0.5" or []);
+      (self.nativeDeps."css-stringify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "css-stringify" ];
   };
-  full."cssom"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cssom"."0.2.x" =
+    self.by-version."cssom"."0.2.5";
+  by-version."cssom"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "cssom-0.2.5";
     src = [
       (fetchurl {
@@ -2787,14 +2538,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cssom"."0.2.x" or []);
+      (self.nativeDeps."cssom" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cssom" ];
   };
-  full."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ctype"."0.5.0" =
+    self.by-version."ctype"."0.5.0";
+  by-version."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "ctype-0.5.0";
     src = [
       (fetchurl {
@@ -2803,14 +2556,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ctype"."0.5.0" or []);
+      (self.nativeDeps."ctype" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ctype" ];
   };
-  full."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ctype"."0.5.2" =
+    self.by-version."ctype"."0.5.2";
+  by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
     name = "ctype-0.5.2";
     src = [
       (fetchurl {
@@ -2819,14 +2574,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ctype"."0.5.2" or []);
+      (self.nativeDeps."ctype" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ctype" ];
   };
-  full."cycle"."1.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."cycle"."1.0.x" =
+    self.by-version."cycle"."1.0.2";
+  by-version."cycle"."1.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "cycle-1.0.2";
     src = [
       (fetchurl {
@@ -2835,14 +2592,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."cycle"."1.0.x" or []);
+      (self.nativeDeps."cycle" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "cycle" ];
   };
-  full."dargs"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."dargs"."~0.1.0" =
+    self.by-version."dargs"."0.1.0";
+  by-version."dargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "dargs-0.1.0";
     src = [
       (fetchurl {
@@ -2851,14 +2610,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."dargs"."~0.1.0" or []);
+      (self.nativeDeps."dargs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dargs" ];
   };
-  full."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."dateformat"."1.0.2-1.2.3" =
+    self.by-version."dateformat"."1.0.2-1.2.3";
+  by-version."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "dateformat-1.0.2-1.2.3";
     src = [
       (fetchurl {
@@ -2867,14 +2628,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."dateformat"."1.0.2-1.2.3" or []);
+      (self.nativeDeps."dateformat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dateformat" ];
   };
-  full."dateformat"."~1.0.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."dateformat"."~1.0.6" =
+    self.by-version."dateformat"."1.0.6-1.2.3";
+  by-version."dateformat"."1.0.6-1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "dateformat-1.0.6-1.2.3";
     src = [
       (fetchurl {
@@ -2883,30 +2646,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."dateformat"."~1.0.6" or []);
+      (self.nativeDeps."dateformat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dateformat" ];
   };
-  full."debug"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.2";
+  by-spec."debug"."*" =
+    self.by-version."debug"."0.7.4";
+  by-version."debug"."0.7.4" = lib.makeOverridable self.buildNodePackage {
+    name = "debug-0.7.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
-        sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+        url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
+        sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debug"."*" or []);
+      (self.nativeDeps."debug" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  full."debug"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."debug"."0.7.0" =
+    self.by-version."debug"."0.7.0";
+  by-version."debug"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "debug-0.7.0";
     src = [
       (fetchurl {
@@ -2915,62 +2682,38 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."debug"."0.7.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
-  full."debug"."~0.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
-        sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug"."~0.7.0" or []);
+      (self.nativeDeps."debug" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "debug" ];
   };
-  full."debug"."~0.7.2" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-0.7.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
-        sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug"."~0.7.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
-  full."debuglog"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."debug"."~0.7.0" =
+    self.by-version."debug"."0.7.4";
+  by-spec."debug"."~0.7.2" =
+    self.by-version."debug"."0.7.4";
+  by-spec."debuglog"."0.0.2" =
+    self.by-version."debuglog"."0.0.2";
+  by-version."debuglog"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "debuglog-0.0.2";
     src = [
       (fetchurl {
         url = "http://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz";
-        sha1 = "83f4cd091f955f5da7053789727ad506f1010f1c";
+        sha1 = "6c0dcf07e2c3f74524629b741668bd46c7b362eb";
       })
     ];
     buildInputs =
-      (self.nativeDeps."debuglog"."0.0.2" or []);
+      (self.nativeDeps."debuglog" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "debuglog" ];
   };
-  full."deep-eql"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-eql"."0.1.3" =
+    self.by-version."deep-eql"."0.1.3";
+  by-version."deep-eql"."0.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "deep-eql-0.1.3";
     src = [
       (fetchurl {
@@ -2979,15 +2722,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-eql"."0.1.3" or []);
+      (self.nativeDeps."deep-eql" or []);
     deps = [
-      self.full."type-detect"."0.1.1"
+      self.by-version."type-detect"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-eql" ];
   };
-  full."deep-equal"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-equal"."*" =
+    self.by-version."deep-equal"."0.1.0";
+  by-version."deep-equal"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "deep-equal-0.1.0";
     src = [
       (fetchurl {
@@ -2996,14 +2741,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-equal"."*" or []);
+      (self.nativeDeps."deep-equal" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-equal" ];
   };
-  full."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-equal"."0.0.0" =
+    self.by-version."deep-equal"."0.0.0";
+  by-version."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "deep-equal-0.0.0";
     src = [
       (fetchurl {
@@ -3012,14 +2759,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-equal"."0.0.0" or []);
+      (self.nativeDeps."deep-equal" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-equal" ];
   };
-  full."deep-extend"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-extend"."~0.2.5" =
+    self.by-version."deep-extend"."0.2.6";
+  by-version."deep-extend"."0.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "deep-extend-0.2.6";
     src = [
       (fetchurl {
@@ -3028,30 +2777,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."deep-extend"."~0.2.5" or []);
+      (self.nativeDeps."deep-extend" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "deep-extend" ];
   };
-  full."deep-extend"."~0.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "deep-extend-0.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.6.tgz";
-        sha1 = "1f767e02b46d88d0a4087affa4b11b1b0b804250";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."deep-extend"."~0.2.6" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "deep-extend" ];
-  };
-  full."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."deep-extend"."~0.2.6" =
+    self.by-version."deep-extend"."0.2.6";
+  by-spec."delayed-stream"."0.0.5" =
+    self.by-version."delayed-stream"."0.0.5";
+  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "delayed-stream-0.0.5";
     src = [
       (fetchurl {
@@ -3060,14 +2797,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."delayed-stream"."0.0.5" or []);
+      (self.nativeDeps."delayed-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "delayed-stream" ];
   };
-  full."di"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."di"."~0.0.1" =
+    self.by-version."di"."0.0.1";
+  by-version."di"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "di-0.0.1";
     src = [
       (fetchurl {
@@ -3076,46 +2815,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."di"."~0.0.1" or []);
+      (self.nativeDeps."di" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "di" ];
   };
-  full."diff"."1.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "diff-1.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
-        sha1 = "24bbb001c4a7d5522169e7cabdb2c2814ed91cf4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."diff"."1.0.7" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "diff" ];
-  };
-  full."diff"."~1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "diff-1.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz";
-        sha1 = "24bbb001c4a7d5522169e7cabdb2c2814ed91cf4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."diff"."~1.0.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "diff" ];
-  };
-  full."diff"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."diff"."1.0.7" =
+    self.by-version."diff"."1.0.7";
+  by-version."diff"."1.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "diff-1.0.7";
     src = [
       (fetchurl {
@@ -3124,14 +2833,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."diff"."~1.0.4" or []);
+      (self.nativeDeps."diff" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "diff" ];
   };
-  full."director"."1.1.10" = lib.makeOverridable self.buildNodePackage {
+  by-spec."diff"."~1.0.3" =
+    self.by-version."diff"."1.0.7";
+  by-spec."diff"."~1.0.4" =
+    self.by-version."diff"."1.0.7";
+  by-spec."diff"."~1.0.7" =
+    self.by-version."diff"."1.0.7";
+  by-spec."director"."1.1.10" =
+    self.by-version."director"."1.1.10";
+  by-version."director"."1.1.10" = lib.makeOverridable self.buildNodePackage {
     name = "director-1.1.10";
     src = [
       (fetchurl {
@@ -3140,14 +2857,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."director"."1.1.10" or []);
+      (self.nativeDeps."director" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "director" ];
   };
-  full."domelementtype"."1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domelementtype"."1" =
+    self.by-version."domelementtype"."1.1.1";
+  by-version."domelementtype"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "domelementtype-1.1.1";
     src = [
       (fetchurl {
@@ -3156,14 +2875,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domelementtype"."1" or []);
+      (self.nativeDeps."domelementtype" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domelementtype" ];
   };
-  full."domhandler"."2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domhandler"."2.0" =
+    self.by-version."domhandler"."2.0.3";
+  by-version."domhandler"."2.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "domhandler-2.0.3";
     src = [
       (fetchurl {
@@ -3172,15 +2893,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domhandler"."2.0" or []);
+      (self.nativeDeps."domhandler" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domhandler" ];
   };
-  full."domutils"."1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domutils"."1.0" =
+    self.by-version."domutils"."1.0.1";
+  by-version."domutils"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "domutils-1.0.1";
     src = [
       (fetchurl {
@@ -3189,15 +2912,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domutils"."1.0" or []);
+      (self.nativeDeps."domutils" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domutils" ];
   };
-  full."domutils"."1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domutils"."1.1" =
+    self.by-version."domutils"."1.1.6";
+  by-version."domutils"."1.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "domutils-1.1.6";
     src = [
       (fetchurl {
@@ -3206,15 +2931,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domutils"."1.1" or []);
+      (self.nativeDeps."domutils" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domutils" ];
   };
-  full."domutils"."1.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."domutils"."1.2" =
+    self.by-version."domutils"."1.2.1";
+  by-version."domutils"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "domutils-1.2.1";
     src = [
       (fetchurl {
@@ -3223,15 +2950,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."domutils"."1.2" or []);
+      (self.nativeDeps."domutils" or []);
     deps = [
-      self.full."domelementtype"."1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "domutils" ];
   };
-  full."dtrace-provider"."0.2.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."dtrace-provider"."0.2.8" =
+    self.by-version."dtrace-provider"."0.2.8";
+  by-version."dtrace-provider"."0.2.8" = lib.makeOverridable self.buildNodePackage {
     name = "dtrace-provider-0.2.8";
     src = [
       (fetchurl {
@@ -3240,30 +2969,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."dtrace-provider"."0.2.8" or []);
+      (self.nativeDeps."dtrace-provider" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "dtrace-provider" ];
   };
-  full."editor"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "editor-0.0.4";
+  by-spec."editor"."0.0.5" =
+    self.by-version."editor"."0.0.5";
+  by-version."editor"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+    name = "editor-0.0.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/editor/-/editor-0.0.4.tgz";
-        sha1 = "478920f77bca6c1c1749d5e3edde4bd5966efda8";
+        url = "http://registry.npmjs.org/editor/-/editor-0.0.5.tgz";
+        sha1 = "8c38877781f2547011c1aeffdbe50cafcc59794a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."editor"."0.0.4" or []);
+      (self.nativeDeps."editor" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "editor" ];
   };
-  full."ejs"."0.8.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ejs"."0.8.3" =
+    self.by-version."ejs"."0.8.3";
+  by-version."ejs"."0.8.3" = lib.makeOverridable self.buildNodePackage {
     name = "ejs-0.8.3";
     src = [
       (fetchurl {
@@ -3272,14 +3005,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ejs"."0.8.3" or []);
+      (self.nativeDeps."ejs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ejs" ];
   };
-  full."emitter-component"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."emitter-component"."0.0.6" =
+    self.by-version."emitter-component"."0.0.6";
+  by-version."emitter-component"."0.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "emitter-component-0.0.6";
     src = [
       (fetchurl {
@@ -3288,14 +3023,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."emitter-component"."0.0.6" or []);
+      (self.nativeDeps."emitter-component" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "emitter-component" ];
   };
-  full."emitter-component"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."emitter-component"."1.0.0" =
+    self.by-version."emitter-component"."1.0.0";
+  by-version."emitter-component"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "emitter-component-1.0.0";
     src = [
       (fetchurl {
@@ -3304,14 +3041,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."emitter-component"."1.0.0" or []);
+      (self.nativeDeps."emitter-component" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "emitter-component" ];
   };
-  full."encoding"."~0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."encoding"."~0.1" =
+    self.by-version."encoding"."0.1.7";
+  by-version."encoding"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "encoding-0.1.7";
     src = [
       (fetchurl {
@@ -3320,15 +3059,35 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."encoding"."~0.1" or []);
+      (self.nativeDeps."encoding" or []);
     deps = [
-      self.full."iconv-lite"."~0.2.11"
+      self.by-version."iconv-lite"."0.2.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "encoding" ];
   };
-  full."entities"."0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ent"."~0.1.0" =
+    self.by-version."ent"."0.1.0";
+  by-version."ent"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "ent-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ent/-/ent-0.1.0.tgz";
+        sha1 = "deb9cd7f3da25b1a94c248dbbdc91d0f0c094035";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ent" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "ent" ];
+  };
+  by-spec."entities"."0.x" =
+    self.by-version."entities"."0.3.0";
+  by-version."entities"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "entities-0.3.0";
     src = [
       (fetchurl {
@@ -3337,14 +3096,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."entities"."0.x" or []);
+      (self.nativeDeps."entities" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "entities" ];
   };
-  full."es5-ext"."~0.9.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."es5-ext"."~0.9.2" =
+    self.by-version."es5-ext"."0.9.2";
+  by-version."es5-ext"."0.9.2" = lib.makeOverridable self.buildNodePackage {
     name = "es5-ext-0.9.2";
     src = [
       (fetchurl {
@@ -3353,14 +3114,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."es5-ext"."~0.9.2" or []);
+      (self.nativeDeps."es5-ext" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "es5-ext" ];
   };
-  full."escape-html"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."escape-html"."*" =
+    self.by-version."escape-html"."1.0.0";
+  by-version."escape-html"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "escape-html-1.0.0";
     src = [
       (fetchurl {
@@ -3369,15 +3132,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."escape-html"."*" or []);
+      (self.nativeDeps."escape-html" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "escape-html" ];
   };
-  "escape-html" = self.full."escape-html"."*";
-  full."escodegen"."0.0.23" = lib.makeOverridable self.buildNodePackage {
+  "escape-html" = self.by-version."escape-html"."1.0.0";
+  by-spec."escodegen"."0.0.23" =
+    self.by-version."escodegen"."0.0.23";
+  by-version."escodegen"."0.0.23" = lib.makeOverridable self.buildNodePackage {
     name = "escodegen-0.0.23";
     src = [
       (fetchurl {
@@ -3386,17 +3151,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."escodegen"."0.0.23" or []);
+      (self.nativeDeps."escodegen" or []);
     deps = [
-      self.full."esprima"."~1.0.2"
-      self.full."estraverse"."~0.0.4"
-      self.full."source-map".">= 0.1.2"
+      self.by-version."esprima"."1.0.4"
+      self.by-version."estraverse"."0.0.4"
+      self.by-version."source-map"."0.1.31"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "escodegen" ];
   };
-  full."esprima"."1.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."esprima"."1.0.x" =
+    self.by-version."esprima"."1.0.4";
+  by-version."esprima"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "esprima-1.0.4";
     src = [
       (fetchurl {
@@ -3405,62 +3172,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."esprima"."1.0.x" or []);
+      (self.nativeDeps."esprima" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     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."esprima"."~1.0.0" = 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.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    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 {
+  by-spec."esprima"."~ 1.0.2" =
+    self.by-version."esprima"."1.0.4";
+  by-spec."esprima"."~1.0.0" =
+    self.by-version."esprima"."1.0.4";
+  by-spec."esprima"."~1.0.2" =
+    self.by-version."esprima"."1.0.4";
+  by-spec."estraverse"."~0.0.4" =
+    self.by-version."estraverse"."0.0.4";
+  by-version."estraverse"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "estraverse-0.0.4";
     src = [
       (fetchurl {
@@ -3469,14 +3196,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."estraverse"."~0.0.4" or []);
+      (self.nativeDeps."estraverse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "estraverse" ];
   };
-  full."event-emitter"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."event-emitter"."~0.2.2" =
+    self.by-version."event-emitter"."0.2.2";
+  by-version."event-emitter"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "event-emitter-0.2.2";
     src = [
       (fetchurl {
@@ -3485,15 +3214,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."event-emitter"."~0.2.2" or []);
+      (self.nativeDeps."event-emitter" or []);
     deps = [
-      self.full."es5-ext"."~0.9.2"
+      self.by-version."es5-ext"."0.9.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "event-emitter" ];
   };
-  full."event-stream"."~0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."event-stream"."~0.5" =
+    self.by-version."event-stream"."0.5.3";
+  by-version."event-stream"."0.5.3" = lib.makeOverridable self.buildNodePackage {
     name = "event-stream-0.5.3";
     src = [
       (fetchurl {
@@ -3502,15 +3233,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."event-stream"."~0.5" or []);
+      (self.nativeDeps."event-stream" or []);
     deps = [
-      self.full."optimist"."0.2"
+      self.by-version."optimist"."0.2.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "event-stream" ];
   };
-  full."eventemitter2"."0.4.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eventemitter2"."0.4.11" =
+    self.by-version."eventemitter2"."0.4.11";
+  by-version."eventemitter2"."0.4.11" = lib.makeOverridable self.buildNodePackage {
     name = "eventemitter2-0.4.11";
     src = [
       (fetchurl {
@@ -3519,14 +3252,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."eventemitter2"."0.4.11" or []);
+      (self.nativeDeps."eventemitter2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "eventemitter2" ];
   };
-  full."eventemitter2"."~0.4.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eventemitter2"."~0.4.11" =
+    self.by-version."eventemitter2"."0.4.13";
+  by-version."eventemitter2"."0.4.13" = lib.makeOverridable self.buildNodePackage {
     name = "eventemitter2-0.4.13";
     src = [
       (fetchurl {
@@ -3535,30 +3270,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."eventemitter2"."~0.4.11" or []);
+      (self.nativeDeps."eventemitter2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     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 {
+  by-spec."eventemitter2"."~0.4.9" =
+    self.by-version."eventemitter2"."0.4.13";
+  by-spec."events.node".">= 0.4.0" =
+    self.by-version."events.node"."0.4.9";
+  by-version."events.node"."0.4.9" = lib.makeOverridable self.buildNodePackage {
     name = "events.node-0.4.9";
     src = [
       (fetchurl {
@@ -3567,42 +3290,46 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."events.node".">= 0.4.0" or []);
+      (self.nativeDeps."events.node" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "events.node" ];
   };
-  full."express"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.4.1";
+  by-spec."express"."*" =
+    self.by-version."express"."3.4.4";
+  by-version."express"."3.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "express-3.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.1.tgz";
-        sha1 = "3b4fb8862b6a1dfce3dc760629833d0cfef9314c";
+        url = "http://registry.npmjs.org/express/-/express-3.4.4.tgz";
+        sha1 = "0b63ae626c96b71b78d13dfce079c10351635a86";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."*" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."2.9.1"
-      self.full."commander"."2.0.0"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.5"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.2.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.4"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."connect"."2.11.0"
+      self.by-version."commander"."1.3.2"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.1.0"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."methods"."0.1.0"
+      self.by-version."send"."0.1.4"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  "express" = self.full."express"."*";
-  full."express"."2.5.11" = lib.makeOverridable self.buildNodePackage {
+  "express" = self.by-version."express"."3.4.4";
+  by-spec."express"."2.5.11" =
+    self.by-version."express"."2.5.11";
+  by-version."express"."2.5.11" = lib.makeOverridable self.buildNodePackage {
     name = "express-2.5.11";
     src = [
       (fetchurl {
@@ -3611,18 +3338,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."2.5.11" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."1.x"
-      self.full."mime"."1.2.4"
-      self.full."qs"."0.4.x"
-      self.full."mkdirp"."0.3.0"
+      self.by-version."connect"."1.9.2"
+      self.by-version."mime"."1.2.4"
+      self.by-version."qs"."0.4.2"
+      self.by-version."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  full."express"."3.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."express"."3.2.0" =
+    self.by-version."express"."3.2.0";
+  by-version."express"."3.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "express-3.2.0";
     src = [
       (fetchurl {
@@ -3631,79 +3360,29 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."3.2.0" or []);
-    deps = [
-      self.full."connect"."2.7.6"
-      self.full."commander"."0.6.1"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."~0.3.4"
-      self.full."cookie"."0.0.5"
-      self.full."buffer-crc32"."~0.2.1"
-      self.full."fresh"."0.1.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.0"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  full."express"."3.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.2.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.2.6.tgz";
-        sha1 = "d8a9fe065adc23c5b41ec2c689c672b261430ffc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express"."3.2.6" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."2.7.11"
-      self.full."commander"."0.6.1"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.4"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.1.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.0"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."connect"."2.7.6"
+      self.by-version."commander"."0.6.1"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."send"."0.1.0"
+      self.by-version."cookie-signature"."1.0.1"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  full."express"."3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.1.tgz";
-        sha1 = "3b4fb8862b6a1dfce3dc760629833d0cfef9314c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express"."3.x" or []);
-    deps = [
-      self.full."connect"."2.9.1"
-      self.full."commander"."2.0.0"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.5"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.2.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.4"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  full."express"."~3.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."express"."3.x" =
+    self.by-version."express"."3.4.4";
+  by-spec."express"."~3.1.1" =
+    self.by-version."express"."3.1.2";
+  by-version."express"."3.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "express-3.1.2";
     src = [
       (fetchurl {
@@ -3712,72 +3391,54 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."express"."~3.1.1" or []);
-    deps = [
-      self.full."connect"."2.7.5"
-      self.full."commander"."0.6.1"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."~0.3.4"
-      self.full."cookie"."0.0.5"
-      self.full."buffer-crc32"."~0.2.1"
-      self.full."fresh"."0.1.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.0"
-      self.full."cookie-signature"."1.0.0"
-      self.full."debug"."*"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  full."express"."~3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.4.1.tgz";
-        sha1 = "3b4fb8862b6a1dfce3dc760629833d0cfef9314c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express"."~3.4" or []);
+      (self.nativeDeps."express" or []);
     deps = [
-      self.full."connect"."2.9.1"
-      self.full."commander"."2.0.0"
-      self.full."range-parser"."0.0.4"
-      self.full."mkdirp"."0.3.5"
-      self.full."cookie"."0.1.0"
-      self.full."buffer-crc32"."0.2.1"
-      self.full."fresh"."0.2.0"
-      self.full."methods"."0.0.1"
-      self.full."send"."0.1.4"
-      self.full."cookie-signature"."1.0.1"
-      self.full."debug"."*"
+      self.by-version."connect"."2.7.5"
+      self.by-version."commander"."0.6.1"
+      self.by-version."range-parser"."0.0.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."cookie"."0.0.5"
+      self.by-version."buffer-crc32"."0.2.1"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."send"."0.1.0"
+      self.by-version."cookie-signature"."1.0.0"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express" ];
   };
-  full."express-form"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "express-form-0.8.1";
+  by-spec."express"."~3.4" =
+    self.by-version."express"."3.4.4";
+  by-spec."express"."~3.4.4" =
+    self.by-version."express"."3.4.4";
+  by-spec."express-form"."*" =
+    self.by-version."express-form"."0.10.1";
+  by-version."express-form"."0.10.1" = lib.makeOverridable self.buildNodePackage {
+    name = "express-form-0.10.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/express-form/-/express-form-0.8.1.tgz";
-        sha1 = "14299158646a796fac584cb5980d63e587c02019";
+        url = "http://registry.npmjs.org/express-form/-/express-form-0.10.1.tgz";
+        sha1 = "542f43cf276c33f8ec8836b571aa3365505609a8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."express-form"."*" or []);
+      (self.nativeDeps."express-form" or []);
     deps = [
-      self.full."validator"."0.4.x"
-      self.full."object-additions".">= 0.5.0"
+      self.by-version."validator"."0.4.28"
+      self.by-version."object-additions"."0.5.1"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
-      self.full."express"."3.x"
+      self.by-version."express"."3.4.4"
     ];
     passthru.names = [ "express-form" ];
   };
-  "express-form" = self.full."express-form"."*";
-  full."express-partials"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+  "express-form" = self.by-version."express-form"."0.10.1";
+  by-spec."express-partials"."0.0.6" =
+    self.by-version."express-partials"."0.0.6";
+  by-version."express-partials"."0.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "express-partials-0.0.6";
     src = [
       (fetchurl {
@@ -3786,14 +3447,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."express-partials"."0.0.6" or []);
+      (self.nativeDeps."express-partials" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "express-partials" ];
   };
-  full."extend"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."extend"."*" =
+    self.by-version."extend"."1.2.1";
+  by-version."extend"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "extend-1.2.1";
     src = [
       (fetchurl {
@@ -3802,15 +3465,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."extend"."*" or []);
+      (self.nativeDeps."extend" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "extend" ];
   };
-  "extend" = self.full."extend"."*";
-  full."extract-opts"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
+  "extend" = self.by-version."extend"."1.2.1";
+  by-spec."extract-opts"."~2.2.0" =
+    self.by-version."extract-opts"."2.2.0";
+  by-version."extract-opts"."2.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "extract-opts-2.2.0";
     src = [
       (fetchurl {
@@ -3819,15 +3484,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."extract-opts"."~2.2.0" or []);
+      (self.nativeDeps."extract-opts" or []);
     deps = [
-      self.full."typechecker"."~2.0.1"
+      self.by-version."typechecker"."2.0.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "extract-opts" ];
   };
-  full."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."extsprintf"."1.0.0" =
+    self.by-version."extsprintf"."1.0.0";
+  by-version."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "extsprintf-1.0.0";
     src = [
       (fetchurl {
@@ -3836,14 +3503,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."extsprintf"."1.0.0" or []);
+      (self.nativeDeps."extsprintf" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "extsprintf" ];
   };
-  full."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."extsprintf"."1.0.2" =
+    self.by-version."extsprintf"."1.0.2";
+  by-version."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "extsprintf-1.0.2";
     src = [
       (fetchurl {
@@ -3852,14 +3521,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."extsprintf"."1.0.2" or []);
+      (self.nativeDeps."extsprintf" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "extsprintf" ];
   };
-  full."eyes"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eyes"."0.1.x" =
+    self.by-version."eyes"."0.1.8";
+  by-version."eyes"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "eyes-0.1.8";
     src = [
       (fetchurl {
@@ -3868,48 +3539,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."eyes"."0.1.x" or []);
+      (self.nativeDeps."eyes" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "eyes" ];
   };
-  full."eyes".">=0.1.6" = lib.makeOverridable self.buildNodePackage {
-    name = "eyes-0.1.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
-        sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."eyes".">=0.1.6" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "eyes" ];
-  };
-  full."faye-websocket"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "faye-websocket-0.7.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.0.tgz";
-        sha1 = "c16c50ec0d483357a8eafd1ec6fcc313d027f5be";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."faye-websocket"."*" or []);
-    deps = [
-      self.full."websocket-driver".">=0.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "faye-websocket" ];
-  };
-  "faye-websocket" = self.full."faye-websocket"."*";
-  full."faye-websocket"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."eyes".">=0.1.6" =
+    self.by-version."eyes"."0.1.8";
+  by-spec."faye-websocket"."*" =
+    self.by-version."faye-websocket"."0.7.0";
+  by-version."faye-websocket"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "faye-websocket-0.7.0";
     src = [
       (fetchurl {
@@ -3918,15 +3559,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."faye-websocket"."0.7.0" or []);
+      (self.nativeDeps."faye-websocket" or []);
     deps = [
-      self.full."websocket-driver".">=0.3.0"
+      self.by-version."websocket-driver"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "faye-websocket" ];
   };
-  full."fileset"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  "faye-websocket" = self.by-version."faye-websocket"."0.7.0";
+  by-spec."faye-websocket"."0.7.0" =
+    self.by-version."faye-websocket"."0.7.0";
+  by-spec."fileset"."0.1.x" =
+    self.by-version."fileset"."0.1.5";
+  by-version."fileset"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "fileset-0.1.5";
     src = [
       (fetchurl {
@@ -3935,34 +3581,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fileset"."0.1.x" or []);
+      (self.nativeDeps."fileset" or []);
     deps = [
-      self.full."minimatch"."0.x"
-      self.full."glob"."3.x"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."glob"."3.2.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fileset" ];
   };
-  full."findup-sync"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "findup-sync-0.1.2";
+  by-spec."findit".">=1.1.0 <2.0.0" =
+    self.by-version."findit"."1.1.0";
+  by-version."findit"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "findit-1.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz";
-        sha1 = "da2b96ca9f800e5a13d0a11110f490b65f62e96d";
+        url = "http://registry.npmjs.org/findit/-/findit-1.1.0.tgz";
+        sha1 = "7104c60060f838d2298bd526b16add6ce733f9ac";
       })
     ];
     buildInputs =
-      (self.nativeDeps."findup-sync"."~0.1.0" or []);
+      (self.nativeDeps."findit" or []);
     deps = [
-      self.full."glob"."~3.1.21"
-      self.full."lodash"."~1.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "findup-sync" ];
+    passthru.names = [ "findit" ];
   };
-  full."findup-sync"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."findup-sync"."~0.1.0" =
+    self.by-version."findup-sync"."0.1.2";
+  by-version."findup-sync"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "findup-sync-0.1.2";
     src = [
       (fetchurl {
@@ -3971,16 +3619,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."findup-sync"."~0.1.2" or []);
+      (self.nativeDeps."findup-sync" or []);
     deps = [
-      self.full."glob"."~3.1.21"
-      self.full."lodash"."~1.0.1"
+      self.by-version."glob"."3.1.21"
+      self.by-version."lodash"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "findup-sync" ];
   };
-  full."flatiron"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."findup-sync"."~0.1.2" =
+    self.by-version."findup-sync"."0.1.2";
+  by-spec."flatiron"."*" =
+    self.by-version."flatiron"."0.3.8";
+  by-version."flatiron"."0.3.8" = lib.makeOverridable self.buildNodePackage {
     name = "flatiron-0.3.8";
     src = [
       (fetchurl {
@@ -3989,20 +3641,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."flatiron"."*" or []);
+      (self.nativeDeps."flatiron" or []);
     deps = [
-      self.full."broadway"."0.2.7"
-      self.full."optimist"."0.3.5"
-      self.full."prompt"."0.2.11"
-      self.full."director"."1.1.10"
-      self.full."pkginfo"."0.3.0"
+      self.by-version."broadway"."0.2.7"
+      self.by-version."optimist"."0.3.5"
+      self.by-version."prompt"."0.2.11"
+      self.by-version."director"."1.1.10"
+      self.by-version."pkginfo"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "flatiron" ];
   };
-  "flatiron" = self.full."flatiron"."*";
-  full."flatiron"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+  "flatiron" = self.by-version."flatiron"."0.3.8";
+  by-spec."flatiron"."0.3.5" =
+    self.by-version."flatiron"."0.3.5";
+  by-version."flatiron"."0.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "flatiron-0.3.5";
     src = [
       (fetchurl {
@@ -4011,19 +3665,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."flatiron"."0.3.5" or []);
+      (self.nativeDeps."flatiron" or []);
     deps = [
-      self.full."broadway"."0.2.7"
-      self.full."optimist"."0.3.5"
-      self.full."prompt"."0.2.9"
-      self.full."director"."1.1.10"
-      self.full."pkginfo"."0.3.0"
+      self.by-version."broadway"."0.2.7"
+      self.by-version."optimist"."0.3.5"
+      self.by-version."prompt"."0.2.9"
+      self.by-version."director"."1.1.10"
+      self.by-version."pkginfo"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "flatiron" ];
   };
-  full."follow-redirects"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."follow-redirects"."0.0.3" =
+    self.by-version."follow-redirects"."0.0.3";
+  by-version."follow-redirects"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "follow-redirects-0.0.3";
     src = [
       (fetchurl {
@@ -4032,15 +3688,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."follow-redirects"."0.0.3" or []);
+      (self.nativeDeps."follow-redirects" or []);
     deps = [
-      self.full."underscore"."*"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "follow-redirects" ];
   };
-  full."forEachAsync"."~2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forEachAsync"."~2.2" =
+    self.by-version."forEachAsync"."2.2.0";
+  by-version."forEachAsync"."2.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "forEachAsync-2.2.0";
     src = [
       (fetchurl {
@@ -4049,15 +3707,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forEachAsync"."~2.2" or []);
+      (self.nativeDeps."forEachAsync" or []);
     deps = [
-      self.full."sequence".">= 2.2.1"
+      self.by-version."sequence"."2.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forEachAsync" ];
   };
-  full."forever"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forever"."*" =
+    self.by-version."forever"."0.10.9";
+  by-version."forever"."0.10.9" = lib.makeOverridable self.buildNodePackage {
     name = "forever-0.10.9";
     src = [
       (fetchurl {
@@ -4066,27 +3726,29 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever"."*" or []);
+      (self.nativeDeps."forever" or []);
     deps = [
-      self.full."colors"."0.6.0-1"
-      self.full."cliff"."0.1.8"
-      self.full."flatiron"."0.3.5"
-      self.full."forever-monitor"."1.2.3"
-      self.full."nconf"."0.6.7"
-      self.full."nssocket"."~0.5.1"
-      self.full."optimist"."0.4.0"
-      self.full."pkginfo"."0.3.0"
-      self.full."timespan"."2.0.1"
-      self.full."watch"."0.7.0"
-      self.full."utile"."0.1.7"
-      self.full."winston"."0.7.1"
+      self.by-version."colors"."0.6.0-1"
+      self.by-version."cliff"."0.1.8"
+      self.by-version."flatiron"."0.3.5"
+      self.by-version."forever-monitor"."1.2.3"
+      self.by-version."nconf"."0.6.7"
+      self.by-version."nssocket"."0.5.1"
+      self.by-version."optimist"."0.4.0"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."timespan"."2.0.1"
+      self.by-version."watch"."0.7.0"
+      self.by-version."utile"."0.1.7"
+      self.by-version."winston"."0.7.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever" ];
   };
-  "forever" = self.full."forever"."*";
-  full."forever-agent"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  "forever" = self.by-version."forever"."0.10.9";
+  by-spec."forever-agent"."~0.2.0" =
+    self.by-version."forever-agent"."0.2.0";
+  by-version."forever-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "forever-agent-0.2.0";
     src = [
       (fetchurl {
@@ -4095,14 +3757,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-agent"."~0.2.0" or []);
+      (self.nativeDeps."forever-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever-agent" ];
   };
-  full."forever-agent"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forever-agent"."~0.5.0" =
+    self.by-version."forever-agent"."0.5.0";
+  by-version."forever-agent"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "forever-agent-0.5.0";
     src = [
       (fetchurl {
@@ -4111,14 +3775,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-agent"."~0.5.0" or []);
+      (self.nativeDeps."forever-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever-agent" ];
   };
-  full."forever-monitor"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forever-monitor"."*" =
+    self.by-version."forever-monitor"."1.2.3";
+  by-version."forever-monitor"."1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "forever-monitor-1.2.3";
     src = [
       (fetchurl {
@@ -4127,21 +3793,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-monitor"."*" or []);
+      (self.nativeDeps."forever-monitor" or []);
     deps = [
-      self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.2.x"
-      self.full."pkginfo"."0.x.x"
-      self.full."ps-tree"."0.0.x"
-      self.full."watch"."0.5.x"
-      self.full."utile"."0.1.x"
+      self.by-version."broadway"."0.2.7"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."ps-tree"."0.0.3"
+      self.by-version."watch"."0.5.1"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever-monitor" ];
   };
-  "forever-monitor" = self.full."forever-monitor"."*";
-  full."forever-monitor"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  "forever-monitor" = self.by-version."forever-monitor"."1.2.3";
+  by-spec."forever-monitor"."1.1.0" =
+    self.by-version."forever-monitor"."1.1.0";
+  by-version."forever-monitor"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "forever-monitor-1.1.0";
     src = [
       (fetchurl {
@@ -4150,42 +3818,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."forever-monitor"."1.1.0" or []);
-    deps = [
-      self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.0.x"
-      self.full."pkginfo"."0.x.x"
-      self.full."ps-tree"."0.0.x"
-      self.full."watch"."0.5.x"
-      self.full."utile"."0.1.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever-monitor" ];
-  };
-  full."forever-monitor"."1.2.3" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-monitor-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.3.tgz";
-        sha1 = "b27ac3acb6fdcc7315d6cd85830f2d004733028b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever-monitor"."1.2.3" or []);
+      (self.nativeDeps."forever-monitor" or []);
     deps = [
-      self.full."broadway"."0.2.x"
-      self.full."minimatch"."0.2.x"
-      self.full."pkginfo"."0.x.x"
-      self.full."ps-tree"."0.0.x"
-      self.full."watch"."0.5.x"
-      self.full."utile"."0.1.x"
+      self.by-version."broadway"."0.2.7"
+      self.by-version."minimatch"."0.0.5"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."ps-tree"."0.0.3"
+      self.by-version."watch"."0.5.1"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "forever-monitor" ];
   };
-  full."form-data"."0.0.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."forever-monitor"."1.2.3" =
+    self.by-version."forever-monitor"."1.2.3";
+  by-spec."form-data"."0.0.8" =
+    self.by-version."form-data"."0.0.8";
+  by-version."form-data"."0.0.8" = lib.makeOverridable self.buildNodePackage {
     name = "form-data-0.0.8";
     src = [
       (fetchurl {
@@ -4194,17 +3844,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."form-data"."0.0.8" or []);
+      (self.nativeDeps."form-data" or []);
     deps = [
-      self.full."combined-stream"."~0.0.4"
-      self.full."mime"."~1.2.2"
-      self.full."async"."~0.2.7"
+      self.by-version."combined-stream"."0.0.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
   };
-  full."form-data"."~0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."form-data"."~0.0.3" =
+    self.by-version."form-data"."0.0.10";
+  by-version."form-data"."0.0.10" = lib.makeOverridable self.buildNodePackage {
     name = "form-data-0.0.10";
     src = [
       (fetchurl {
@@ -4213,17 +3865,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."form-data"."~0.0.3" or []);
+      (self.nativeDeps."form-data" or []);
     deps = [
-      self.full."combined-stream"."~0.0.4"
-      self.full."mime"."~1.2.2"
-      self.full."async"."~0.2.7"
+      self.by-version."combined-stream"."0.0.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
   };
-  full."form-data"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."form-data"."~0.1.0" =
+    self.by-version."form-data"."0.1.2";
+  by-version."form-data"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "form-data-0.1.2";
     src = [
       (fetchurl {
@@ -4232,17 +3886,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."form-data"."~0.1.0" or []);
+      (self.nativeDeps."form-data" or []);
     deps = [
-      self.full."combined-stream"."~0.0.4"
-      self.full."mime"."~1.2.11"
-      self.full."async"."~0.2.9"
+      self.by-version."combined-stream"."0.0.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "form-data" ];
   };
-  full."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.11" =
+    self.by-version."formidable"."1.0.11";
+  by-version."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "formidable-1.0.11";
     src = [
       (fetchurl {
@@ -4251,14 +3907,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.11" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
   };
-  full."formidable"."1.0.13" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.13" =
+    self.by-version."formidable"."1.0.13";
+  by-version."formidable"."1.0.13" = lib.makeOverridable self.buildNodePackage {
     name = "formidable-1.0.13";
     src = [
       (fetchurl {
@@ -4267,14 +3925,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.13" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
   };
-  full."formidable"."1.0.14" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.14" =
+    self.by-version."formidable"."1.0.14";
+  by-version."formidable"."1.0.14" = lib.makeOverridable self.buildNodePackage {
     name = "formidable-1.0.14";
     src = [
       (fetchurl {
@@ -4283,14 +3943,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.14" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
   };
-  full."formidable"."1.0.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.9" =
+    self.by-version."formidable"."1.0.9";
+  by-version."formidable"."1.0.9" = lib.makeOverridable self.buildNodePackage {
     name = "formidable-1.0.9";
     src = [
       (fetchurl {
@@ -4299,30 +3961,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."formidable"."1.0.9" or []);
+      (self.nativeDeps."formidable" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "formidable" ];
   };
-  full."formidable"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "formidable-1.0.14";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
-        sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."formidable"."1.0.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "formidable" ];
-  };
-  full."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."formidable"."1.0.x" =
+    self.by-version."formidable"."1.0.14";
+  by-spec."fresh"."0.1.0" =
+    self.by-version."fresh"."0.1.0";
+  by-version."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "fresh-0.1.0";
     src = [
       (fetchurl {
@@ -4331,14 +3981,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fresh"."0.1.0" or []);
+      (self.nativeDeps."fresh" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fresh" ];
   };
-  full."fresh"."0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."fresh"."0.2.0" =
+    self.by-version."fresh"."0.2.0";
+  by-version."fresh"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "fresh-0.2.0";
     src = [
       (fetchurl {
@@ -4347,132 +3999,79 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fresh"."0.2.0" or []);
+      (self.nativeDeps."fresh" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fresh" ];
   };
-  full."fs-walk"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "fs-walk-0.0.1";
+  by-spec."fs-extra"."~0.6.1" =
+    self.by-version."fs-extra"."0.6.4";
+  by-version."fs-extra"."0.6.4" = lib.makeOverridable self.buildNodePackage {
+    name = "fs-extra-0.6.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fs-walk/-/fs-walk-0.0.1.tgz";
-        sha1 = "f7fc91c3ae1eead07c998bc5d0dd41f2dbebd335";
+        url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz";
+        sha1 = "f46f0c75b7841f8d200b3348cd4d691d5a099d15";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fs-walk"."*" or []);
+      (self.nativeDeps."fs-extra" or []);
     deps = [
-      self.full."async"."*"
+      self.by-version."ncp"."0.4.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."jsonfile"."1.0.1"
+      self.by-version."rimraf"."2.2.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fs-walk" ];
-  };
-  "fs-walk" = self.full."fs-walk"."*";
-  full."fstream"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream"."0" or []);
-    deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
+    passthru.names = [ "fs-extra" ];
   };
-  full."fstream"."~0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream"."~0.1.17" or []);
-    deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
-  };
-  full."fstream"."~0.1.21" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream"."~0.1.21" or []);
-    deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
-  };
-  full."fstream"."~0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
+  by-spec."fs-walk"."*" =
+    self.by-version."fs-walk"."0.0.1";
+  by-version."fs-walk"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "fs-walk-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+        url = "http://registry.npmjs.org/fs-walk/-/fs-walk-0.0.1.tgz";
+        sha1 = "f7fc91c3ae1eead07c998bc5d0dd41f2dbebd335";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."~0.1.22" or []);
+      (self.nativeDeps."fs-walk" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
+      self.by-version."async"."0.2.9"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream" ];
+    passthru.names = [ "fs-walk" ];
   };
-  full."fstream"."~0.1.23" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.24";
+  "fs-walk" = self.by-version."fs-walk"."0.0.1";
+  by-spec."fs.extra".">=1.2.0 <2.0.0" =
+    self.by-version."fs.extra"."1.2.1";
+  by-version."fs.extra"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "fs.extra-1.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
-        sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+        url = "http://registry.npmjs.org/fs.extra/-/fs.extra-1.2.1.tgz";
+        sha1 = "060bf20264f35e39ad247e5e9d2121a2a75a1733";
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."~0.1.23" or []);
+      (self.nativeDeps."fs.extra" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."fs-extra"."0.6.4"
+      self.by-version."walk"."2.2.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "fstream" ];
+    passthru.names = [ "fs.extra" ];
   };
-  full."fstream"."~0.1.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."fstream"."0" =
+    self.by-version."fstream"."0.1.24";
+  by-version."fstream"."0.1.24" = lib.makeOverridable self.buildNodePackage {
     name = "fstream-0.1.24";
     src = [
       (fetchurl {
@@ -4481,37 +4080,30 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream"."~0.1.8" or []);
+      (self.nativeDeps."fstream" or []);
     deps = [
-      self.full."rimraf"."2"
-      self.full."mkdirp"."0.3"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."~2.0.0"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fstream" ];
   };
-  full."fstream-ignore"."~0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-ignore-0.0.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz";
-        sha1 = "eea3033f0c3728139de7b57ab1b0d6d89c353c63";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream-ignore"."~0.0.5" or []);
-    deps = [
-      self.full."minimatch"."~0.2.0"
-      self.full."fstream"."~0.1.17"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream-ignore" ];
-  };
-  full."fstream-ignore"."~0.0.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."fstream"."~0.1.17" =
+    self.by-version."fstream"."0.1.24";
+  by-spec."fstream"."~0.1.21" =
+    self.by-version."fstream"."0.1.24";
+  by-spec."fstream"."~0.1.22" =
+    self.by-version."fstream"."0.1.24";
+  by-spec."fstream"."~0.1.23" =
+    self.by-version."fstream"."0.1.24";
+  by-spec."fstream"."~0.1.8" =
+    self.by-version."fstream"."0.1.24";
+  by-spec."fstream-ignore"."~0.0.5" =
+    self.by-version."fstream-ignore"."0.0.7";
+  by-version."fstream-ignore"."0.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "fstream-ignore-0.0.7";
     src = [
       (fetchurl {
@@ -4520,17 +4112,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream-ignore"."~0.0.6" or []);
+      (self.nativeDeps."fstream-ignore" or []);
     deps = [
-      self.full."minimatch"."~0.2.0"
-      self.full."fstream"."~0.1.17"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."fstream"."0.1.24"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fstream-ignore" ];
   };
-  full."fstream-npm"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."fstream-ignore"."~0.0.6" =
+    self.by-version."fstream-ignore"."0.0.7";
+  by-spec."fstream-npm"."~0.1.6" =
+    self.by-version."fstream-npm"."0.1.6";
+  by-version."fstream-npm"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "fstream-npm-0.1.6";
     src = [
       (fetchurl {
@@ -4539,54 +4135,60 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."fstream-npm"."~0.1.3" or []);
+      (self.nativeDeps."fstream-npm" or []);
     deps = [
-      self.full."fstream-ignore"."~0.0.5"
-      self.full."inherits"."2"
+      self.by-version."fstream-ignore"."0.0.7"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "fstream-npm" ];
   };
-  full."generator-angular"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-angular-0.5.0";
+  by-spec."generator-angular"."*" =
+    self.by-version."generator-angular"."0.6.0-rc.1";
+  by-version."generator-angular"."0.6.0-rc.1" = lib.makeOverridable self.buildNodePackage {
+    name = "generator-angular-0.6.0-rc.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-angular/-/generator-angular-0.5.0.tgz";
-        sha1 = "f637a6c42984fd949678358be369e413a2e7c6e2";
+        url = "http://registry.npmjs.org/generator-angular/-/generator-angular-0.6.0-rc.1.tgz";
+        sha1 = "fe6852e9051934276f4c4f38325deb17db954205";
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-angular"."*" or []);
+      (self.nativeDeps."generator-angular" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.0"
+      self.by-version."yeoman-generator"."0.13.4"
     ];
     peerDependencies = [
-      self.full."generator-karma"."~0.5.0"
-      self.full."yo".">=1.0.0-rc.1.1"
+      self.by-version."generator-karma"."0.6.0"
+      self.by-version."yo"."1.0.4"
     ];
     passthru.names = [ "generator-angular" ];
   };
-  "generator-angular" = self.full."generator-angular"."*";
-  full."generator-karma"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-karma-0.5.0";
+  "generator-angular" = self.by-version."generator-angular"."0.6.0-rc.1";
+  by-spec."generator-karma"."~0.6.0" =
+    self.by-version."generator-karma"."0.6.0";
+  by-version."generator-karma"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "generator-karma-0.6.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-karma/-/generator-karma-0.5.0.tgz";
-        sha1 = "3b9dc1154e232a135c0e4598834540977038617d";
+        url = "http://registry.npmjs.org/generator-karma/-/generator-karma-0.6.0.tgz";
+        sha1 = "e89b6195c186771e8bdddde37441abb6ce07e1a0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-karma"."~0.5.0" or []);
+      (self.nativeDeps."generator-karma" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.0"
+      self.by-version."yeoman-generator"."0.13.4"
     ];
     peerDependencies = [
-      self.full."yo".">=1.0.0-rc.1.1"
+      self.by-version."yo"."1.0.4"
     ];
     passthru.names = [ "generator-karma" ];
   };
-  full."generator-mocha"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."generator-mocha"."~0.1.1" =
+    self.by-version."generator-mocha"."0.1.1";
+  by-version."generator-mocha"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "generator-mocha-0.1.1";
     src = [
       (fetchurl {
@@ -4595,55 +4197,59 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-mocha"."~0.1.1" or []);
+      (self.nativeDeps."generator-mocha" or []);
     deps = [
-      self.full."yeoman-generator"."~0.10.0"
+      self.by-version."yeoman-generator"."0.10.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "generator-mocha" ];
   };
-  full."generator-webapp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "generator-webapp-0.4.3";
+  by-spec."generator-webapp"."*" =
+    self.by-version."generator-webapp"."0.4.4";
+  by-version."generator-webapp"."0.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "generator-webapp-0.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.4.3.tgz";
-        sha1 = "c0ad11753e0f4403d1d7fad1b298e52bfa5e231b";
+        url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.4.4.tgz";
+        sha1 = "a7f5d7440943e3e5afbd2ad627675faf2456b74e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."generator-webapp"."*" or []);
+      (self.nativeDeps."generator-webapp" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.1"
-      self.full."cheerio"."~0.12.1"
+      self.by-version."yeoman-generator"."0.13.4"
+      self.by-version."cheerio"."0.12.4"
     ];
     peerDependencies = [
-      self.full."yo".">=1.0.0-rc.1.1"
-      self.full."generator-mocha"."~0.1.1"
+      self.by-version."yo"."1.0.4"
+      self.by-version."generator-mocha"."0.1.1"
     ];
     passthru.names = [ "generator-webapp" ];
   };
-  "generator-webapp" = self.full."generator-webapp"."*";
-  full."getmac"."~1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "getmac-1.0.5";
+  "generator-webapp" = self.by-version."generator-webapp"."0.4.4";
+  by-spec."getmac"."~1.0.6" =
+    self.by-version."getmac"."1.0.6";
+  by-version."getmac"."1.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "getmac-1.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/getmac/-/getmac-1.0.5.tgz";
-        sha1 = "4ce0468a83e5fc2f2d337fc0c3c9be2c94a6344f";
+        url = "http://registry.npmjs.org/getmac/-/getmac-1.0.6.tgz";
+        sha1 = "f222c8178be9de24899df5a04e77557fbaf4e522";
       })
     ];
     buildInputs =
-      (self.nativeDeps."getmac"."~1.0.5" or []);
+      (self.nativeDeps."getmac" or []);
     deps = [
-      self.full."extract-opts"."~2.2.0"
-      self.full."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0"
-      self.full."joe-reporter-console"."~1.2.1"
+      self.by-version."extract-opts"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "getmac" ];
   };
-  full."github-url-from-git"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."github-url-from-git"."1.1.1" =
+    self.by-version."github-url-from-git"."1.1.1";
+  by-version."github-url-from-git"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "github-url-from-git-1.1.1";
     src = [
       (fetchurl {
@@ -4652,48 +4258,56 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."github-url-from-git"."1.1.1" or []);
+      (self.nativeDeps."github-url-from-git" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "github-url-from-git" ];
   };
-  full."github-url-from-git"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "github-url-from-git-1.1.1";
+  by-spec."github-url-from-git"."~1.1.1" =
+    self.by-version."github-url-from-git"."1.1.1";
+  by-spec."github-url-from-username-repo"."0.0.2" =
+    self.by-version."github-url-from-username-repo"."0.0.2";
+  by-version."github-url-from-username-repo"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+    name = "github-url-from-username-repo-0.0.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz";
-        sha1 = "1f89623453123ef9623956e264c60bf4c3cf5ccf";
+        url = "http://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-0.0.2.tgz";
+        sha1 = "0d9ee8e2bca36d5f065a1bcd23eb3f1fa3d636bd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."github-url-from-git"."~1.1.1" or []);
+      (self.nativeDeps."github-url-from-username-repo" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "github-url-from-git" ];
+    passthru.names = [ "github-url-from-username-repo" ];
   };
-  full."glob"."3" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-3.2.6";
+  by-spec."glob"."3" =
+    self.by-version."glob"."3.2.7";
+  by-version."glob"."3.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "glob-3.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+        url = "http://registry.npmjs.org/glob/-/glob-3.2.7.tgz";
+        sha1 = "cd75d5541dc625bd05be4f5a41c8524672533c7d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."3" or []);
+      (self.nativeDeps."glob" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
   };
-  full."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."glob"."3.2.3" =
+    self.by-version."glob"."3.2.3";
+  by-version."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "glob-3.2.3";
     src = [
       (fetchurl {
@@ -4702,53 +4316,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."3.2.3" or []);
+      (self.nativeDeps."glob" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."inherits"."2.0.1"
     ];
     peerDependencies = [
     ];
     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 = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
-        sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob".">= 3.1.4" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob"."~3.1.21" = lib.makeOverridable self.buildNodePackage {
+  by-spec."glob"."3.x" =
+    self.by-version."glob"."3.2.7";
+  by-spec."glob".">= 3.1.4" =
+    self.by-version."glob"."3.2.7";
+  by-spec."glob"."~3.1.21" =
+    self.by-version."glob"."3.1.21";
+  by-version."glob"."3.1.21" = lib.makeOverridable self.buildNodePackage {
     name = "glob-3.1.21";
     src = [
       (fetchurl {
@@ -4757,87 +4341,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."glob"."~3.1.21" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."graceful-fs"."~1.2.0"
-      self.full."inherits"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob"."~3.2.0" = 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.2.0" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob"."~3.2.1" = 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.2.1" or []);
-    deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  full."glob"."~3.2.6" = 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.2.6" or []);
+      (self.nativeDeps."glob" or []);
     deps = [
-      self.full."minimatch"."~0.2.11"
-      self.full."inherits"."2"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."graceful-fs"."1.2.3"
+      self.by-version."inherits"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "glob" ];
   };
-  full."graceful-fs"."1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."1.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."glob"."~3.2.0" =
+    self.by-version."glob"."3.2.7";
+  by-spec."glob"."~3.2.1" =
+    self.by-version."glob"."3.2.7";
+  by-spec."glob"."~3.2.6" =
+    self.by-version."glob"."3.2.7";
+  by-spec."graceful-fs"."2" =
+    self.by-version."graceful-fs"."2.0.1";
+  by-version."graceful-fs"."2.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "graceful-fs-2.0.1";
     src = [
       (fetchurl {
@@ -4846,14 +4368,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."2" or []);
+      (self.nativeDeps."graceful-fs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
   };
-  full."graceful-fs"."~1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."graceful-fs"."~1" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "graceful-fs-1.2.3";
     src = [
       (fetchurl {
@@ -4862,14 +4386,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~1" or []);
+      (self.nativeDeps."graceful-fs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
   };
-  full."graceful-fs"."~1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."graceful-fs"."~1.1" =
+    self.by-version."graceful-fs"."1.1.14";
+  by-version."graceful-fs"."1.1.14" = lib.makeOverridable self.buildNodePackage {
     name = "graceful-fs-1.1.14";
     src = [
       (fetchurl {
@@ -4878,94 +4404,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~1.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.2.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~1.2.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."graceful-fs"."~2" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz";
-        sha1 = "7fd6e0a4837c35d0cc15330294d9584a3898cf84";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~2" or []);
+      (self.nativeDeps."graceful-fs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "graceful-fs" ];
   };
-  full."graceful-fs"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz";
-        sha1 = "7fd6e0a4837c35d0cc15330294d9584a3898cf84";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs"."~2.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  full."gridfs-stream"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."graceful-fs"."~1.2.0" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-spec."graceful-fs"."~1.2.1" =
+    self.by-version."graceful-fs"."1.2.3";
+  by-spec."graceful-fs"."~2" =
+    self.by-version."graceful-fs"."2.0.1";
+  by-spec."graceful-fs"."~2.0.0" =
+    self.by-version."graceful-fs"."2.0.1";
+  by-spec."gridfs-stream"."*" =
+    self.by-version."gridfs-stream"."0.4.0";
+  by-version."gridfs-stream"."0.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "gridfs-stream-0.4.0";
     src = [
       (fetchurl {
@@ -4974,15 +4430,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."gridfs-stream"."*" or []);
+      (self.nativeDeps."gridfs-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "gridfs-stream" ];
   };
-  "gridfs-stream" = self.full."gridfs-stream"."*";
-  full."growl"."1.7.x" = lib.makeOverridable self.buildNodePackage {
+  "gridfs-stream" = self.by-version."gridfs-stream"."0.4.0";
+  by-spec."growl"."1.7.x" =
+    self.by-version."growl"."1.7.0";
+  by-version."growl"."1.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "growl-1.7.0";
     src = [
       (fetchurl {
@@ -4991,14 +4449,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."growl"."1.7.x" or []);
+      (self.nativeDeps."growl" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "growl" ];
   };
-  full."grunt"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."grunt"."0.4.x" =
+    self.by-version."grunt"."0.4.1";
+  by-version."grunt"."0.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-0.4.1";
     src = [
       (fetchurl {
@@ -5007,192 +4467,152 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt"."0.4.x" or []);
+      (self.nativeDeps."grunt" 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"
+      self.by-version."async"."0.1.22"
+      self.by-version."coffee-script"."1.3.3"
+      self.by-version."colors"."0.6.2"
+      self.by-version."dateformat"."1.0.2-1.2.3"
+      self.by-version."eventemitter2"."0.4.13"
+      self.by-version."findup-sync"."0.1.2"
+      self.by-version."glob"."3.1.21"
+      self.by-version."hooker"."0.2.3"
+      self.by-version."iconv-lite"."0.2.11"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."nopt"."1.0.10"
+      self.by-version."rimraf"."2.0.3"
+      self.by-version."lodash"."0.9.2"
+      self.by-version."underscore.string"."2.2.1"
+      self.by-version."which"."1.0.5"
+      self.by-version."js-yaml"."2.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "grunt" ];
   };
-  full."grunt"."~0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-0.4.1";
+  by-spec."grunt"."~0.4" =
+    self.by-version."grunt"."0.4.1";
+  by-spec."grunt"."~0.4.0" =
+    self.by-version."grunt"."0.4.1";
+  by-spec."grunt"."~0.4.1" =
+    self.by-version."grunt"."0.4.1";
+  by-spec."grunt-bower-task"."*" =
+    self.by-version."grunt-bower-task"."0.3.4";
+  by-version."grunt-bower-task"."0.3.4" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-bower-task-0.3.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz";
-        sha1 = "d5892e5680add9ed1befde9aa635cf46b8f49729";
+        url = "http://registry.npmjs.org/grunt-bower-task/-/grunt-bower-task-0.3.4.tgz";
+        sha1 = "6f713725ae96bb22ed60b1173cf4c522bbb8583b";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt"."~0.4" or []);
+      (self.nativeDeps."grunt-bower-task" 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"
+      self.by-version."bower"."1.2.7"
+      self.by-version."lodash"."0.10.0"
+      self.by-version."rimraf"."2.0.3"
+      self.by-version."wrench"."1.4.4"
+      self.by-version."colors"."0.6.2"
+      self.by-version."async"."0.1.22"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "grunt" ];
+    passthru.names = [ "grunt-bower-task" ];
   };
-  full."grunt"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-0.4.1";
+  "grunt-bower-task" = self.by-version."grunt-bower-task"."0.3.4";
+  by-spec."grunt-cli"."*" =
+    self.by-version."grunt-cli"."0.1.11";
+  by-version."grunt-cli"."0.1.11" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-cli-0.1.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz";
-        sha1 = "d5892e5680add9ed1befde9aa635cf46b8f49729";
+        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.11.tgz";
+        sha1 = "a0d785b7f8633983ecb5e6af8397feb6e39dd0a8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt"."~0.4.0" or []);
+      (self.nativeDeps."grunt-cli" 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"
+      self.by-version."nopt"."1.0.10"
+      self.by-version."findup-sync"."0.1.2"
+      self.by-version."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";
+  "grunt-cli" = self.by-version."grunt-cli"."0.1.11";
+  by-spec."grunt-cli"."~0.1.7" =
+    self.by-version."grunt-cli"."0.1.11";
+  by-spec."grunt-contrib-cssmin"."*" =
+    self.by-version."grunt-contrib-cssmin"."0.7.0";
+  by-version."grunt-contrib-cssmin"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-cssmin-0.7.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.9.tgz";
-        sha1 = "3f08bfb0bef30ba33083defe53efe0575cbe4e14";
+        url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.7.0.tgz";
+        sha1 = "a5735e9f1d263149e49fe035294e429d8c670bab";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-cli"."~0.1.7" or []);
+      (self.nativeDeps."grunt-contrib-cssmin" or []);
     deps = [
-      self.full."nopt"."~1.0.10"
-      self.full."findup-sync"."~0.1.0"
-      self.full."resolve"."~0.3.1"
+      self.by-version."clean-css"."2.0.1"
+      self.by-version."grunt-lib-contrib"."0.6.1"
     ];
     peerDependencies = [
-    ];
-    passthru.names = [ "grunt-cli" ];
-  };
-  full."grunt-contrib-cssmin"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "grunt-contrib-cssmin-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.6.2.tgz";
-        sha1 = "2804dc0e81f98e8a54d61eee84a1d3fe1a3af8e2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."grunt-contrib-cssmin"."*" or []);
-    deps = [
-      self.full."clean-css"."~1.1.1"
-      self.full."grunt-lib-contrib"."~0.6.0"
-    ];
-    peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.1"
     ];
     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";
+  "grunt-contrib-cssmin" = self.by-version."grunt-contrib-cssmin"."0.7.0";
+  by-spec."grunt-contrib-jshint"."*" =
+    self.by-version."grunt-contrib-jshint"."0.7.1";
+  by-version."grunt-contrib-jshint"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-jshint-0.7.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.6.4.tgz";
-        sha1 = "c5a0e56c13d3f758cf1b5d0786dcb4a7d4b4d748";
+        url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.7.1.tgz";
+        sha1 = "b636e1100b5804c4be56ad88d8a574ef0637d97a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-jshint"."*" or []);
+      (self.nativeDeps."grunt-contrib-jshint" or []);
     deps = [
-      self.full."jshint"."~2.1.10"
+      self.by-version."jshint"."2.3.0"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.1"
     ];
     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";
+  "grunt-contrib-jshint" = self.by-version."grunt-contrib-jshint"."0.7.1";
+  by-spec."grunt-contrib-less"."*" =
+    self.by-version."grunt-contrib-less"."0.8.2";
+  by-version."grunt-contrib-less"."0.8.2" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-less-0.8.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.7.0.tgz";
-        sha1 = "35f6513e47ec5f3c99188d46efa9dcf378207be8";
+        url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.8.2.tgz";
+        sha1 = "d94e5c69251aec1a48ee154147b808a10ff6f711";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-less"."*" or []);
+      (self.nativeDeps."grunt-contrib-less" or []);
     deps = [
-      self.full."less"."~1.4.0"
-      self.full."grunt-lib-contrib"."~0.6.1"
+      self.by-version."less"."1.5.0"
+      self.by-version."grunt-lib-contrib"."0.6.1"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.1"
     ];
     passthru.names = [ "grunt-contrib-less" ];
   };
-  "grunt-contrib-less" = self.full."grunt-contrib-less"."*";
-  full."grunt-contrib-requirejs"."*" = lib.makeOverridable self.buildNodePackage {
+  "grunt-contrib-less" = self.by-version."grunt-contrib-less"."0.8.2";
+  by-spec."grunt-contrib-requirejs"."*" =
+    self.by-version."grunt-contrib-requirejs"."0.4.1";
+  by-version."grunt-contrib-requirejs"."0.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-contrib-requirejs-0.4.1";
     src = [
       (fetchurl {
@@ -5201,37 +4621,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-requirejs"."*" or []);
+      (self.nativeDeps."grunt-contrib-requirejs" or []);
     deps = [
-      self.full."requirejs"."~2.1.0"
+      self.by-version."requirejs"."2.1.9"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.1"
     ];
     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";
+  "grunt-contrib-requirejs" = self.by-version."grunt-contrib-requirejs"."0.4.1";
+  by-spec."grunt-contrib-uglify"."*" =
+    self.by-version."grunt-contrib-uglify"."0.2.7";
+  by-version."grunt-contrib-uglify"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "grunt-contrib-uglify-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.4.tgz";
-        sha1 = "51113f28a72432521e35e63f7f18a251fda2fd49";
+        url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.7.tgz";
+        sha1 = "e6bda51e0c40a1459f6cead423c65efd725a1bf7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-contrib-uglify"."*" or []);
+      (self.nativeDeps."grunt-contrib-uglify" or []);
     deps = [
-      self.full."uglify-js"."~2.4.0"
-      self.full."grunt-lib-contrib"."~0.6.1"
+      self.by-version."uglify-js"."2.4.3"
+      self.by-version."grunt-lib-contrib"."0.6.1"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4.0"
+      self.by-version."grunt"."0.4.1"
     ];
     passthru.names = [ "grunt-contrib-uglify" ];
   };
-  "grunt-contrib-uglify" = self.full."grunt-contrib-uglify"."*";
-  full."grunt-karma"."*" = lib.makeOverridable self.buildNodePackage {
+  "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.2.7";
+  by-spec."grunt-karma"."*" =
+    self.by-version."grunt-karma"."0.7.1";
+  by-version."grunt-karma"."0.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-karma-0.7.1";
     src = [
       (fetchurl {
@@ -5240,18 +4664,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-karma"."*" or []);
+      (self.nativeDeps."grunt-karma" or []);
     deps = [
-      self.full."optimist"."~0.6.0"
+      self.by-version."optimist"."0.6.0"
     ];
     peerDependencies = [
-      self.full."grunt"."0.4.x"
-      self.full."karma"."~0.10.0"
+      self.by-version."grunt"."0.4.1"
+      self.by-version."karma"."0.10.4"
     ];
     passthru.names = [ "grunt-karma" ];
   };
-  "grunt-karma" = self.full."grunt-karma"."*";
-  full."grunt-lib-contrib"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
+  "grunt-karma" = self.by-version."grunt-karma"."0.7.1";
+  by-spec."grunt-lib-contrib"."~0.6.0" =
+    self.by-version."grunt-lib-contrib"."0.6.1";
+  by-version."grunt-lib-contrib"."0.6.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-lib-contrib-0.6.1";
     src = [
       (fetchurl {
@@ -5260,32 +4686,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-lib-contrib"."~0.6.0" or []);
+      (self.nativeDeps."grunt-lib-contrib" or []);
     deps = [
-      self.full."zlib-browserify"."0.0.1"
+      self.by-version."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."grunt-sed"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."grunt-lib-contrib"."~0.6.1" =
+    self.by-version."grunt-lib-contrib"."0.6.1";
+  by-spec."grunt-sed"."*" =
+    self.by-version."grunt-sed"."0.1.1";
+  by-version."grunt-sed"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "grunt-sed-0.1.1";
     src = [
       (fetchurl {
@@ -5294,17 +4707,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."grunt-sed"."*" or []);
+      (self.nativeDeps."grunt-sed" or []);
     deps = [
-      self.full."replace"."~0.2.4"
+      self.by-version."replace"."0.2.7"
     ];
     peerDependencies = [
-      self.full."grunt"."~0.4"
+      self.by-version."grunt"."0.4.1"
     ];
     passthru.names = [ "grunt-sed" ];
   };
-  "grunt-sed" = self.full."grunt-sed"."*";
-  full."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " = lib.makeOverridable self.buildNodePackage {
+  "grunt-sed" = self.by-version."grunt-sed"."0.1.1";
+  by-spec."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " =
+    self.by-version."guifi-earth"."0.2.1";
+  by-version."guifi-earth"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "guifi-earth-0.2.1";
     src = [
       (fetchurl {
@@ -5313,20 +4728,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " or []);
+      (self.nativeDeps."guifi-earth" or []);
     deps = [
-      self.full."coffee-script".">= 0.0.1"
-      self.full."jade".">= 0.0.1"
-      self.full."q".">= 0.0.1"
-      self.full."xml2js".">= 0.0.1"
-      self.full."msgpack".">= 0.0.1"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."jade"."0.35.0"
+      self.by-version."q"."0.9.7"
+      self.by-version."xml2js"."0.2.8"
+      self.by-version."msgpack"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "guifi-earth" ];
   };
-  "guifi-earth" = self.full."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 ";
-  full."gzippo"."*" = lib.makeOverridable self.buildNodePackage {
+  "guifi-earth" = self.by-version."guifi-earth"."0.2.1";
+  by-spec."gzippo"."*" =
+    self.by-version."gzippo"."0.2.0";
+  by-version."gzippo"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "gzippo-0.2.0";
     src = [
       (fetchurl {
@@ -5335,34 +4752,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."gzippo"."*" or []);
+      (self.nativeDeps."gzippo" or []);
     deps = [
-      self.full."send"."*"
+      self.by-version."send"."0.1.4"
     ];
     peerDependencies = [
     ];
     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 {
+  "gzippo" = self.by-version."gzippo"."0.2.0";
+  by-spec."handlebars"."1.0.x" =
+    self.by-version."handlebars"."1.0.12";
+  by-version."handlebars"."1.0.12" = lib.makeOverridable self.buildNodePackage {
     name = "handlebars-1.0.12";
     src = [
       (fetchurl {
@@ -5371,16 +4772,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."handlebars"."~1.0.11" or []);
+      (self.nativeDeps."handlebars" or []);
     deps = [
-      self.full."optimist"."~0.3"
-      self.full."uglify-js"."~2.3"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-js"."2.3.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "handlebars" ];
   };
-  full."has-color"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."handlebars"."~1.0.11" =
+    self.by-version."handlebars"."1.0.12";
+  by-spec."has-color"."~0.1.0" =
+    self.by-version."has-color"."0.1.1";
+  by-version."has-color"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "has-color-0.1.1";
     src = [
       (fetchurl {
@@ -5389,14 +4794,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."has-color"."~0.1.0" or []);
+      (self.nativeDeps."has-color" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "has-color" ];
   };
-  full."hasher"."~1.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hasher"."~1.1.4" =
+    self.by-version."hasher"."1.1.4";
+  by-version."hasher"."1.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "hasher-1.1.4";
     src = [
       (fetchurl {
@@ -5405,15 +4812,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hasher"."~1.1.4" or []);
+      (self.nativeDeps."hasher" or []);
     deps = [
-      self.full."signals".">0.7 <2.0"
+      self.by-version."signals"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hasher" ];
   };
-  full."hat"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hat"."*" =
+    self.by-version."hat"."0.0.3";
+  by-version."hat"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "hat-0.0.3";
     src = [
       (fetchurl {
@@ -5422,14 +4831,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hat"."*" or []);
+      (self.nativeDeps."hat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hat" ];
   };
-  full."hawk"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hawk"."~0.10.0" =
+    self.by-version."hawk"."0.10.2";
+  by-version."hawk"."0.10.2" = lib.makeOverridable self.buildNodePackage {
     name = "hawk-0.10.2";
     src = [
       (fetchurl {
@@ -5438,78 +4849,90 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~0.10.0" or []);
+      (self.nativeDeps."hawk" 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"
+      self.by-version."hoek"."0.7.6"
+      self.by-version."boom"."0.3.8"
+      self.by-version."cryptiles"."0.1.3"
+      self.by-version."sntp"."0.1.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
   };
-  full."hawk"."~0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-0.10.2";
+  by-spec."hawk"."~0.10.2" =
+    self.by-version."hawk"."0.10.2";
+  by-spec."hawk"."~0.13.0" =
+    self.by-version."hawk"."0.13.1";
+  by-version."hawk"."0.13.1" = lib.makeOverridable self.buildNodePackage {
+    name = "hawk-0.13.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
-        sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
+        url = "http://registry.npmjs.org/hawk/-/hawk-0.13.1.tgz";
+        sha1 = "3617958821f58311e4d7f6de291fca662b412ef4";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~0.10.2" or []);
+      (self.nativeDeps."hawk" 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"
+      self.by-version."hoek"."0.8.5"
+      self.by-version."boom"."0.4.2"
+      self.by-version."cryptiles"."0.2.2"
+      self.by-version."sntp"."0.2.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
   };
-  full."hawk"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-0.13.1";
+  by-spec."hawk"."~1.0.0" =
+    self.by-version."hawk"."1.0.0";
+  by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "hawk-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-0.13.1.tgz";
-        sha1 = "3617958821f58311e4d7f6de291fca662b412ef4";
+        url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~0.13.0" or []);
+      (self.nativeDeps."hawk" or []);
     deps = [
-      self.full."hoek"."0.8.x"
-      self.full."boom"."0.4.x"
-      self.full."cryptiles"."0.2.x"
-      self.full."sntp"."0.2.x"
+      self.by-version."hoek"."0.9.1"
+      self.by-version."boom"."0.4.2"
+      self.by-version."cryptiles"."0.2.2"
+      self.by-version."sntp"."0.2.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hawk" ];
   };
-  full."hawk"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-1.0.0";
+  by-spec."hipache"."*" =
+    self.by-version."hipache"."0.2.4";
+  by-version."hipache"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+    name = "hipache-0.2.4";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
-        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+      (self.patchSource fetchurl {
+        url = "http://registry.npmjs.org/hipache/-/hipache-0.2.4.tgz";
+        sha1 = "1d6a06bf88cac084b5fcd01959392c8b4889ec65";
       })
     ];
     buildInputs =
-      (self.nativeDeps."hawk"."~1.0.0" or []);
+      (self.nativeDeps."hipache" or []);
     deps = [
-      self.full."hoek"."0.9.x"
-      self.full."boom"."0.4.x"
-      self.full."cryptiles"."0.2.x"
-      self.full."sntp"."0.2.x"
+      self.by-version."read-installed"."0.2.2"
+      self.by-version."http-proxy"."0.10.0"
+      self.by-version."redis"."0.8.6"
+      self.by-version."lru-cache"."2.2.4"
+      self.by-version."optimist"."0.3.7"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "hawk" ];
+    passthru.names = [ "hipache" ];
   };
-  full."hiredis"."*" = lib.makeOverridable self.buildNodePackage {
+  "hipache" = self.by-version."hipache"."0.2.4";
+  by-spec."hiredis"."*" =
+    self.by-version."hiredis"."0.1.15";
+  by-version."hiredis"."0.1.15" = lib.makeOverridable self.buildNodePackage {
     name = "hiredis-0.1.15";
     src = [
       (fetchurl {
@@ -5518,15 +4941,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hiredis"."*" or []);
+      (self.nativeDeps."hiredis" or []);
     deps = [
-      self.full."bindings"."*"
+      self.by-version."bindings"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hiredis" ];
   };
-  full."hoek"."0.7.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hoek"."0.7.x" =
+    self.by-version."hoek"."0.7.6";
+  by-version."hoek"."0.7.6" = lib.makeOverridable self.buildNodePackage {
     name = "hoek-0.7.6";
     src = [
       (fetchurl {
@@ -5535,14 +4960,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hoek"."0.7.x" or []);
+      (self.nativeDeps."hoek" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
   };
-  full."hoek"."0.8.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hoek"."0.8.x" =
+    self.by-version."hoek"."0.8.5";
+  by-version."hoek"."0.8.5" = lib.makeOverridable self.buildNodePackage {
     name = "hoek-0.8.5";
     src = [
       (fetchurl {
@@ -5551,14 +4978,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hoek"."0.8.x" or []);
+      (self.nativeDeps."hoek" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
   };
-  full."hoek"."0.9.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hoek"."0.9.x" =
+    self.by-version."hoek"."0.9.1";
+  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
     name = "hoek-0.9.1";
     src = [
       (fetchurl {
@@ -5567,14 +4996,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hoek"."0.9.x" or []);
+      (self.nativeDeps."hoek" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hoek" ];
   };
-  full."hooker"."~0.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hooker"."~0.2.3" =
+    self.by-version."hooker"."0.2.3";
+  by-version."hooker"."0.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "hooker-0.2.3";
     src = [
       (fetchurl {
@@ -5583,14 +5014,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hooker"."~0.2.3" or []);
+      (self.nativeDeps."hooker" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hooker" ];
   };
-  full."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."hooks"."0.2.1" =
+    self.by-version."hooks"."0.2.1";
+  by-version."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "hooks-0.2.1";
     src = [
       (fetchurl {
@@ -5599,14 +5032,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."hooks"."0.2.1" or []);
+      (self.nativeDeps."hooks" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "hooks" ];
   };
-  full."htdigest"."1.0.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."htdigest"."1.0.7" =
+    self.by-version."htdigest"."1.0.7";
+  by-version."htdigest"."1.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "htdigest-1.0.7";
     src = [
       (fetchurl {
@@ -5615,15 +5050,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."htdigest"."1.0.7" or []);
+      (self.nativeDeps."htdigest" or []);
     deps = [
-      self.full."commander"."0.5.1"
+      self.by-version."commander"."0.5.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "htdigest" ];
   };
-  full."htmlparser2"."2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."htmlparser2"."2.x" =
+    self.by-version."htmlparser2"."2.6.0";
+  by-version."htmlparser2"."2.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "htmlparser2-2.6.0";
     src = [
       (fetchurl {
@@ -5632,17 +5069,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."htmlparser2"."2.x" or []);
+      (self.nativeDeps."htmlparser2" or []);
     deps = [
-      self.full."domhandler"."2.0"
-      self.full."domutils"."1.0"
-      self.full."domelementtype"."1"
+      self.by-version."domhandler"."2.0.3"
+      self.by-version."domutils"."1.0.1"
+      self.by-version."domelementtype"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "htmlparser2" ];
   };
-  full."htmlparser2"."3.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."htmlparser2"."3.1.4" =
+    self.by-version."htmlparser2"."3.1.4";
+  by-version."htmlparser2"."3.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "htmlparser2-3.1.4";
     src = [
       (fetchurl {
@@ -5651,18 +5090,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."htmlparser2"."3.1.4" or []);
+      (self.nativeDeps."htmlparser2" or []);
     deps = [
-      self.full."domhandler"."2.0"
-      self.full."domutils"."1.1"
-      self.full."domelementtype"."1"
-      self.full."readable-stream"."1.0"
+      self.by-version."domhandler"."2.0.3"
+      self.by-version."domutils"."1.1.6"
+      self.by-version."domelementtype"."1.1.1"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "htmlparser2" ];
   };
-  full."htpasswd"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."htpasswd"."1.1.0" =
+    self.by-version."htpasswd"."1.1.0";
+  by-version."htpasswd"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "htpasswd-1.1.0";
     src = [
       (fetchurl {
@@ -5671,15 +5112,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."htpasswd"."1.1.0" or []);
+      (self.nativeDeps."htpasswd" or []);
     deps = [
-      self.full."commander"."0.5.1"
+      self.by-version."commander"."0.5.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "htpasswd" ];
   };
-  full."http-auth"."1.2.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."http-auth"."1.2.7" =
+    self.by-version."http-auth"."1.2.7";
+  by-version."http-auth"."1.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "http-auth-1.2.7";
     src = [
       (fetchurl {
@@ -5688,94 +5131,108 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-auth"."1.2.7" or []);
+      (self.nativeDeps."http-auth" or []);
     deps = [
-      self.full."node-uuid"."1.2.0"
-      self.full."htpasswd"."1.1.0"
-      self.full."htdigest"."1.0.7"
+      self.by-version."node-uuid"."1.2.0"
+      self.by-version."htpasswd"."1.1.0"
+      self.by-version."htdigest"."1.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "http-auth" ];
   };
-  full."http-proxy"."~0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "http-proxy-0.10.3";
+  by-spec."http-proxy"."git://github.com/samalba/node-http-proxy" =
+    self.by-version."http-proxy"."0.10.0";
+  by-version."http-proxy"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "http-proxy-0.10.0";
     src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-proxy/-/http-proxy-0.10.3.tgz";
-        sha1 = "72ca9d503a75e064650084c58ca11b82e4b0196d";
+      (fetchgit {
+        url = "git://github.com/samalba/node-http-proxy";
+        rev = "5a5a41081165435867b4e5d3a2a269d099d21c56";
+        sha256 = "ea865a91272903ed8506aa572e6a2b58f83f78e9da52f265c732d85a4f7b4380";
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-proxy"."~0.10" or []);
+      (self.nativeDeps."http-proxy" or []);
     deps = [
-      self.full."colors"."0.x.x"
-      self.full."optimist"."0.3.x"
-      self.full."pkginfo"."0.2.x"
-      self.full."utile"."~0.1.7"
+      self.by-version."colors"."0.6.2"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "http-proxy" ];
   };
-  full."http-signature"."0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "http-signature-0.9.11";
+  by-spec."http-proxy"."~0.10" =
+    self.by-version."http-proxy"."0.10.3";
+  by-version."http-proxy"."0.10.3" = lib.makeOverridable self.buildNodePackage {
+    name = "http-proxy-0.10.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
-        sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
+        url = "http://registry.npmjs.org/http-proxy/-/http-proxy-0.10.3.tgz";
+        sha1 = "72ca9d503a75e064650084c58ca11b82e4b0196d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-signature"."0.9.11" or []);
+      (self.nativeDeps."http-proxy" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."asn1"."0.1.11"
-      self.full."ctype"."0.5.2"
+      self.by-version."colors"."0.6.2"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."utile"."0.1.7"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "http-signature" ];
+    passthru.names = [ "http-proxy" ];
   };
-  full."http-signature"."~0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "http-signature-0.10.0";
+  by-spec."http-signature"."0.9.11" =
+    self.by-version."http-signature"."0.9.11";
+  by-version."http-signature"."0.9.11" = lib.makeOverridable self.buildNodePackage {
+    name = "http-signature-0.9.11";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
-        sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
+        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
+        sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-signature"."~0.10.0" or []);
+      (self.nativeDeps."http-signature" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."asn1"."0.1.11"
-      self.full."ctype"."0.5.2"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."asn1"."0.1.11"
+      self.by-version."ctype"."0.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "http-signature" ];
   };
-  full."http-signature"."~0.9.11" = lib.makeOverridable self.buildNodePackage {
-    name = "http-signature-0.9.11";
+  by-spec."http-signature"."~0.10.0" =
+    self.by-version."http-signature"."0.10.0";
+  by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "http-signature-0.10.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
-        sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
+        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
+        sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
       })
     ];
     buildInputs =
-      (self.nativeDeps."http-signature"."~0.9.11" or []);
+      (self.nativeDeps."http-signature" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."asn1"."0.1.11"
-      self.full."ctype"."0.5.2"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."asn1"."0.1.11"
+      self.by-version."ctype"."0.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "http-signature" ];
   };
-  full."i"."0.3.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."http-signature"."~0.9.11" =
+    self.by-version."http-signature"."0.9.11";
+  by-spec."i"."0.3.x" =
+    self.by-version."i"."0.3.2";
+  by-version."i"."0.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "i-0.3.2";
     src = [
       (fetchurl {
@@ -5784,14 +5241,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."i"."0.3.x" or []);
+      (self.nativeDeps."i" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "i" ];
   };
-  full."i18next"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."i18next"."*" =
+    self.by-version."i18next"."1.7.1";
+  by-version."i18next"."1.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "i18next-1.7.1";
     src = [
       (fetchurl {
@@ -5800,32 +5259,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."i18next"."*" or []);
+      (self.nativeDeps."i18next" or []);
     deps = [
-      self.full."cookies".">= 0.2.2"
+      self.by-version."cookies"."0.3.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "i18next" ];
   };
-  "i18next" = self.full."i18next"."*";
-  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.11.tgz";
-        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.10" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
-  };
-  full."iconv-lite"."~0.2.11" = lib.makeOverridable self.buildNodePackage {
+  "i18next" = self.by-version."i18next"."1.7.1";
+  by-spec."iconv-lite"."~0.2.10" =
+    self.by-version."iconv-lite"."0.2.11";
+  by-version."iconv-lite"."0.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "iconv-lite-0.2.11";
     src = [
       (fetchurl {
@@ -5834,78 +5279,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.11" or []);
+      (self.nativeDeps."iconv-lite" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "iconv-lite" ];
   };
-  full."iconv-lite"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
-    name = "iconv-lite-0.2.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
-        sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite"."~0.2.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
-  };
-  full."inherits"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
-        sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits"."1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  full."inherits"."1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
-        sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits"."1.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  full."inherits"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-2.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits"."2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  full."inherits"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."iconv-lite"."~0.2.11" =
+    self.by-version."iconv-lite"."0.2.11";
+  by-spec."iconv-lite"."~0.2.5" =
+    self.by-version."iconv-lite"."0.2.11";
+  by-spec."inherits"."1" =
+    self.by-version."inherits"."1.0.0";
+  by-version."inherits"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "inherits-1.0.0";
     src = [
       (fetchurl {
@@ -5914,14 +5301,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."inherits"."~1.0.0" or []);
+      (self.nativeDeps."inherits" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inherits" ];
   };
-  full."inherits"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."inherits"."1.x" =
+    self.by-version."inherits"."1.0.0";
+  by-spec."inherits"."2" =
+    self.by-version."inherits"."2.0.1";
+  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "inherits-2.0.1";
     src = [
       (fetchurl {
@@ -5930,30 +5321,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."inherits"."~2.0.0" or []);
+      (self.nativeDeps."inherits" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inherits" ];
   };
-  full."ini"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "ini-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
-        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ini"."1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ini" ];
-  };
-  full."ini"."1.x.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."inherits"."~1.0.0" =
+    self.by-version."inherits"."1.0.0";
+  by-spec."inherits"."~2.0.0" =
+    self.by-version."inherits"."2.0.1";
+  by-spec."ini"."1" =
+    self.by-version."ini"."1.1.0";
+  by-version."ini"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "ini-1.1.0";
     src = [
       (fetchurl {
@@ -5962,50 +5343,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ini"."1.x.x" or []);
+      (self.nativeDeps."ini" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ini" ];
   };
-  full."ini"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "ini-1.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
-        sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ini"."~1.1.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "ini" ];
-  };
-  full."init-package-json"."0.0.10" = lib.makeOverridable self.buildNodePackage {
-    name = "init-package-json-0.0.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.0.10.tgz";
-        sha1 = "7baf10535227e0878105a04e44b78f132475da6a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."init-package-json"."0.0.10" or []);
-    deps = [
-      self.full."promzard"."~0.2.0"
-      self.full."read"."~1.0.1"
-      self.full."read-package-json"."1"
-      self.full."semver"."2.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "init-package-json" ];
-  };
-  full."init-package-json"."0.0.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ini"."1.x.x" =
+    self.by-version."ini"."1.1.0";
+  by-spec."ini"."~1.1.0" =
+    self.by-version."ini"."1.1.0";
+  by-spec."init-package-json"."0.0.11" =
+    self.by-version."init-package-json"."0.0.11";
+  by-version."init-package-json"."0.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "init-package-json-0.0.11";
     src = [
       (fetchurl {
@@ -6014,18 +5365,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."init-package-json"."0.0.11" or []);
+      (self.nativeDeps."init-package-json" or []);
     deps = [
-      self.full."promzard"."~0.2.0"
-      self.full."read"."~1.0.1"
-      self.full."read-package-json"."1"
-      self.full."semver"."2.x"
+      self.by-version."promzard"."0.2.0"
+      self.by-version."read"."1.0.5"
+      self.by-version."read-package-json"."1.1.4"
+      self.by-version."semver"."2.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "init-package-json" ];
   };
-  full."inquirer"."~0.2.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."inquirer"."~0.2.4" =
+    self.by-version."inquirer"."0.2.5";
+  by-version."inquirer"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "inquirer-0.2.5";
     src = [
       (fetchurl {
@@ -6034,58 +5387,44 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."inquirer"."~0.2.4" or []);
+      (self.nativeDeps."inquirer" or []);
     deps = [
-      self.full."lodash"."~1.2.1"
-      self.full."async"."~0.2.8"
-      self.full."cli-color"."~0.2.2"
-      self.full."mute-stream"."0.0.3"
+      self.by-version."lodash"."1.2.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."cli-color"."0.2.3"
+      self.by-version."mute-stream"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inquirer" ];
   };
-  full."inquirer"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.3.4";
+  by-spec."inquirer"."~0.3.0" =
+    self.by-version."inquirer"."0.3.5";
+  by-version."inquirer"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+    name = "inquirer-0.3.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.4.tgz";
-        sha1 = "af4673b3e1cb746b74d5dafe14ef55c3c1bf7222";
+        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.5.tgz";
+        sha1 = "a78be064ac9abf168147c02169a931d9a483a9f6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."inquirer"."~0.3.0" or []);
+      (self.nativeDeps."inquirer" or []);
     deps = [
-      self.full."lodash"."~1.2.1"
-      self.full."async"."~0.2.8"
-      self.full."cli-color"."~0.2.2"
-      self.full."mute-stream"."0.0.3"
+      self.by-version."lodash"."1.2.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."cli-color"."0.2.3"
+      self.by-version."mute-stream"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "inquirer" ];
   };
-  full."inquirer"."~0.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "inquirer-0.3.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.4.tgz";
-        sha1 = "af4673b3e1cb746b74d5dafe14ef55c3c1bf7222";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inquirer"."~0.3.1" or []);
-    deps = [
-      self.full."lodash"."~1.2.1"
-      self.full."async"."~0.2.8"
-      self.full."cli-color"."~0.2.2"
-      self.full."mute-stream"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "inquirer" ];
-  };
-  full."insight"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."inquirer"."~0.3.1" =
+    self.by-version."inquirer"."0.3.5";
+  by-spec."insight"."~0.2.0" =
+    self.by-version."insight"."0.2.0";
+  by-version."insight"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "insight-0.2.0";
     src = [
       (fetchurl {
@@ -6094,20 +5433,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."insight"."~0.2.0" or []);
+      (self.nativeDeps."insight" or []);
     deps = [
-      self.full."chalk"."~0.2.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"
-      self.full."inquirer"."~0.2.4"
+      self.by-version."chalk"."0.2.1"
+      self.by-version."request"."2.27.0"
+      self.by-version."configstore"."0.1.5"
+      self.by-version."async"."0.2.9"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."inquirer"."0.2.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "insight" ];
   };
-  full."intersect"."~0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."intersect"."~0.0.3" =
+    self.by-version."intersect"."0.0.3";
+  by-version."intersect"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "intersect-0.0.3";
     src = [
       (fetchurl {
@@ -6116,14 +5457,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."intersect"."~0.0.3" or []);
+      (self.nativeDeps."intersect" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "intersect" ];
   };
-  full."ironhorse"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ironhorse"."*" =
+    self.by-version."ironhorse"."0.0.9";
+  by-version."ironhorse"."0.0.9" = lib.makeOverridable self.buildNodePackage {
     name = "ironhorse-0.0.9";
     src = [
       (fetchurl {
@@ -6132,31 +5475,33 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ironhorse"."*" or []);
+      (self.nativeDeps."ironhorse" or []);
     deps = [
-      self.full."underscore"."~1.5.2"
-      self.full."winston"."*"
-      self.full."nconf"."*"
-      self.full."fs-walk"."*"
-      self.full."async"."*"
-      self.full."express"."*"
-      self.full."jade"."*"
-      self.full."passport"."*"
-      self.full."passport-http"."*"
-      self.full."js-yaml"."*"
-      self.full."mongoose"."*"
-      self.full."gridfs-stream"."*"
-      self.full."temp"."*"
-      self.full."kue"."*"
-      self.full."redis"."*"
-      self.full."hiredis"."*"
+      self.by-version."underscore"."1.5.2"
+      self.by-version."winston"."0.7.2"
+      self.by-version."nconf"."0.6.8"
+      self.by-version."fs-walk"."0.0.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."express"."3.4.4"
+      self.by-version."jade"."0.35.0"
+      self.by-version."passport"."0.1.17"
+      self.by-version."passport-http"."0.2.2"
+      self.by-version."js-yaml"."2.1.3"
+      self.by-version."mongoose"."3.8.0"
+      self.by-version."gridfs-stream"."0.4.0"
+      self.by-version."temp"."0.6.0"
+      self.by-version."kue"."0.6.2"
+      self.by-version."redis"."0.9.0"
+      self.by-version."hiredis"."0.1.15"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ironhorse" ];
   };
-  "ironhorse" = self.full."ironhorse"."*";
-  full."is-promise"."~1" = lib.makeOverridable self.buildNodePackage {
+  "ironhorse" = self.by-version."ironhorse"."0.0.9";
+  by-spec."is-promise"."~1" =
+    self.by-version."is-promise"."1.0.0";
+  by-version."is-promise"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "is-promise-1.0.0";
     src = [
       (fetchurl {
@@ -6165,14 +5510,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."is-promise"."~1" or []);
+      (self.nativeDeps."is-promise" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "is-promise" ];
   };
-  full."isbinaryfile"."~0.1.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."isbinaryfile"."~0.1.8" =
+    self.by-version."isbinaryfile"."0.1.9";
+  by-version."isbinaryfile"."0.1.9" = lib.makeOverridable self.buildNodePackage {
     name = "isbinaryfile-0.1.9";
     src = [
       (fetchurl {
@@ -6181,14 +5528,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."isbinaryfile"."~0.1.8" or []);
+      (self.nativeDeps."isbinaryfile" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "isbinaryfile" ];
   };
-  full."istanbul"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."istanbul"."*" =
+    self.by-version."istanbul"."0.1.44";
+  by-version."istanbul"."0.1.44" = lib.makeOverridable self.buildNodePackage {
     name = "istanbul-0.1.44";
     src = [
       (fetchurl {
@@ -6197,53 +5546,30 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."istanbul"."*" or []);
+      (self.nativeDeps."istanbul" 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.5.x"
+      self.by-version."esprima"."1.0.4"
+      self.by-version."escodegen"."0.0.23"
+      self.by-version."handlebars"."1.0.12"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."fileset"."0.1.5"
+      self.by-version."which"."1.0.5"
+      self.by-version."async"."0.2.9"
+      self.by-version."abbrev"."1.0.4"
+      self.by-version."wordwrap"."0.0.2"
+      self.by-version."resolve"."0.5.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "istanbul" ];
   };
-  "istanbul" = self.full."istanbul"."*";
-  full."istanbul"."~0.1.41" = lib.makeOverridable self.buildNodePackage {
-    name = "istanbul-0.1.44";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/istanbul/-/istanbul-0.1.44.tgz";
-        sha1 = "7ea1d55e34234e7b7d8f2f61cceb29b59439d983";
-      })
-    ];
-    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.5.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "istanbul" ];
-  };
-  full."jade"."*" = lib.makeOverridable self.buildNodePackage {
+  "istanbul" = self.by-version."istanbul"."0.1.44";
+  by-spec."istanbul"."~0.1.41" =
+    self.by-version."istanbul"."0.1.44";
+  by-spec."jade"."*" =
+    self.by-version."jade"."0.35.0";
+  by-version."jade"."0.35.0" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.35.0";
     src = [
       (fetchurl {
@@ -6252,22 +5578,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade"."*" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."commander"."2.0.0"
-      self.full."mkdirp"."0.3.x"
-      self.full."transformers"."2.1.0"
-      self.full."character-parser"."1.2.0"
-      self.full."monocle"."1.1.50"
-      self.full."with"."~1.1.0"
-      self.full."constantinople"."~1.0.1"
+      self.by-version."commander"."2.0.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."transformers"."2.1.0"
+      self.by-version."character-parser"."1.2.0"
+      self.by-version."monocle"."1.1.50"
+      self.by-version."with"."1.1.1"
+      self.by-version."constantinople"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
-  "jade" = self.full."jade"."*";
-  full."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage {
+  "jade" = self.by-version."jade"."0.35.0";
+  by-spec."jade"."0.26.3" =
+    self.by-version."jade"."0.26.3";
+  by-version."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.26.3";
     src = [
       (fetchurl {
@@ -6276,16 +5604,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade"."0.26.3" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."commander"."0.6.1"
-      self.full."mkdirp"."0.3.0"
+      self.by-version."commander"."0.6.1"
+      self.by-version."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
-  full."jade"."0.27.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."jade"."0.27.0" =
+    self.by-version."jade"."0.27.0";
+  by-version."jade"."0.27.0" = lib.makeOverridable self.buildNodePackage {
     name = "jade-0.27.0";
     src = [
       (fetchurl {
@@ -6294,39 +5624,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jade"."0.27.0" or []);
+      (self.nativeDeps."jade" or []);
     deps = [
-      self.full."commander"."0.6.1"
-      self.full."mkdirp"."0.3.0"
+      self.by-version."commander"."0.6.1"
+      self.by-version."mkdirp"."0.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jade" ];
   };
-  full."jade".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "jade-0.35.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jade/-/jade-0.35.0.tgz";
-        sha1 = "75ec1d966a1203733613e8c180e2aa8685c16da9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."jade".">= 0.0.1" or []);
-    deps = [
-      self.full."commander"."2.0.0"
-      self.full."mkdirp"."0.3.x"
-      self.full."transformers"."2.1.0"
-      self.full."character-parser"."1.2.0"
-      self.full."monocle"."1.1.50"
-      self.full."with"."~1.1.0"
-      self.full."constantinople"."~1.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "jade" ];
-  };
-  full."jayschema"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."jade".">= 0.0.1" =
+    self.by-version."jade"."0.35.0";
+  by-spec."jayschema"."*" =
+    self.by-version."jayschema"."0.2.0";
+  by-version."jayschema"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "jayschema-0.2.0";
     src = [
       (fetchurl {
@@ -6335,85 +5646,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jayschema"."*" or []);
+      (self.nativeDeps."jayschema" or []);
     deps = [
-      self.full."when"."~2.2.1"
+      self.by-version."when"."2.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jayschema" ];
   };
-  "jayschema" = self.full."jayschema"."*";
-  full."joe"."1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
-        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."joe"."1.x" or []);
-    deps = [
-      self.full."taskgroup"."~3.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "joe" ];
-  };
-  full."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
-        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."joe".">=1.0.0-0 >=1.3.0-0 <1.4.0-0" or []);
-    deps = [
-      self.full."taskgroup"."~3.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "joe" ];
-  };
-  full."joe"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-1.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/joe/-/joe-1.3.0.tgz";
-        sha1 = "dbde3133917f5f1683b67ba9dd5ca4d561306efa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."joe"."~1.3.0" or []);
-    deps = [
-      self.full."taskgroup"."~3.2.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "joe" ];
-  };
-  full."joe-reporter-console"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "joe-reporter-console-1.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/joe-reporter-console/-/joe-reporter-console-1.2.1.tgz";
-        sha1 = "6887fa067121b0e67b571672aa63b358055eddc1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."joe-reporter-console"."~1.2.1" or []);
-    deps = [
-      self.full."cli-color"."~0.2.2"
-    ];
-    peerDependencies = [
-      self.full."joe"."1.x"
-    ];
-    passthru.names = [ "joe-reporter-console" ];
-  };
-  full."js-yaml"."*" = lib.makeOverridable self.buildNodePackage {
+  "jayschema" = self.by-version."jayschema"."0.2.0";
+  by-spec."js-yaml"."*" =
+    self.by-version."js-yaml"."2.1.3";
+  by-version."js-yaml"."2.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-2.1.3";
     src = [
       (fetchurl {
@@ -6422,17 +5666,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."*" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  "js-yaml" = self.full."js-yaml"."*";
-  full."js-yaml"."0.3.x" = lib.makeOverridable self.buildNodePackage {
+  "js-yaml" = self.by-version."js-yaml"."2.1.3";
+  by-spec."js-yaml"."0.3.x" =
+    self.by-version."js-yaml"."0.3.7";
+  by-version."js-yaml"."0.3.7" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-0.3.7";
     src = [
       (fetchurl {
@@ -6441,14 +5687,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."0.3.x" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  full."js-yaml"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."js-yaml"."2.1.0" =
+    self.by-version."js-yaml"."2.1.0";
+  by-version."js-yaml"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-2.1.0";
     src = [
       (fetchurl {
@@ -6457,16 +5705,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."2.1.0" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  full."js-yaml"."~2.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."js-yaml"."~2.0.2" =
+    self.by-version."js-yaml"."2.0.5";
+  by-version."js-yaml"."2.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "js-yaml-2.0.5";
     src = [
       (fetchurl {
@@ -6475,77 +5725,64 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."~2.0.2" or []);
+      (self.nativeDeps."js-yaml" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "js-yaml" ];
   };
-  full."js-yaml"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "js-yaml-2.1.3";
+  by-spec."js-yaml"."~2.1.0" =
+    self.by-version."js-yaml"."2.1.3";
+  by-spec."jsesc"."0.4.3" =
+    self.by-version."jsesc"."0.4.3";
+  by-version."jsesc"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "jsesc-0.4.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.3.tgz";
-        sha1 = "0ffb5617be55525878063d7a16aee7fdd282e84c";
+        url = "http://registry.npmjs.org/jsesc/-/jsesc-0.4.3.tgz";
+        sha1 = "a9c7f90afd5a1bf2ee64df6c416dab61672d2ae9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."js-yaml"."~2.1.0" or []);
+      (self.nativeDeps."jsesc" or []);
     deps = [
-      self.full."argparse"."~ 0.1.11"
-      self.full."esprima"."~ 1.0.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "js-yaml" ];
+    passthru.names = [ "jsesc" ];
   };
-  full."jshint"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.2.0";
+  by-spec."jshint"."*" =
+    self.by-version."jshint"."2.3.0";
+  by-version."jshint"."2.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "jshint-2.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.2.0.tgz";
-        sha1 = "9cd120e17c6635a5bfd6339531b088ed33eb5af2";
+        url = "http://registry.npmjs.org/jshint/-/jshint-2.3.0.tgz";
+        sha1 = "19504455a2c20c46ee183361eb87f3a1c0b7dc47";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jshint"."*" or []);
+      (self.nativeDeps."jshint" 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"
+      self.by-version."shelljs"."0.1.4"
+      self.by-version."underscore"."1.4.4"
+      self.by-version."cli"."0.4.5"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."console-browserify"."0.1.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jshint" ];
   };
-  "jshint" = self.full."jshint"."*";
-  full."jshint"."~2.1.10" = lib.makeOverridable self.buildNodePackage {
-    name = "jshint-2.1.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/jshint/-/jshint-2.1.11.tgz";
-        sha1 = "eb5108fef9ba5ddebb830983f572d242e49e3f96";
-      })
-    ];
-    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 {
+  "jshint" = self.by-version."jshint"."2.3.0";
+  by-spec."jshint"."~2.3.0" =
+    self.by-version."jshint"."2.3.0";
+  by-spec."json-schema"."0.2.2" =
+    self.by-version."json-schema"."0.2.2";
+  by-version."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "json-schema-0.2.2";
     src = [
       (fetchurl {
@@ -6554,14 +5791,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-schema"."0.2.2" or []);
+      (self.nativeDeps."json-schema" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "json-schema" ];
   };
-  full."json-stringify-safe"."~3.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."json-stringify-safe"."~3.0.0" =
+    self.by-version."json-stringify-safe"."3.0.0";
+  by-version."json-stringify-safe"."3.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "json-stringify-safe-3.0.0";
     src = [
       (fetchurl {
@@ -6570,14 +5809,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-stringify-safe"."~3.0.0" or []);
+      (self.nativeDeps."json-stringify-safe" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
   };
-  full."json-stringify-safe"."~4.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."json-stringify-safe"."~4.0.0" =
+    self.by-version."json-stringify-safe"."4.0.0";
+  by-version."json-stringify-safe"."4.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "json-stringify-safe-4.0.0";
     src = [
       (fetchurl {
@@ -6586,14 +5827,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-stringify-safe"."~4.0.0" or []);
+      (self.nativeDeps."json-stringify-safe" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
   };
-  full."json-stringify-safe"."~5.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."json-stringify-safe"."~5.0.0" =
+    self.by-version."json-stringify-safe"."5.0.0";
+  by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "json-stringify-safe-5.0.0";
     src = [
       (fetchurl {
@@ -6602,31 +5845,53 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."json-stringify-safe"."~5.0.0" or []);
+      (self.nativeDeps."json-stringify-safe" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "json-stringify-safe" ];
   };
-  full."jsontool"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "jsontool-6.0.0";
+  by-spec."jsonfile"."~1.0.1" =
+    self.by-version."jsonfile"."1.0.1";
+  by-version."jsonfile"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "jsonfile-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/jsontool/-/jsontool-6.0.0.tgz";
-        sha1 = "dc2a535b2aa8a10b0b7359c76fa8920cdb92ce6d";
+        url = "http://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz";
+        sha1 = "ea5efe40b83690b98667614a7392fc60e842c0dd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."jsontool"."*" or []);
+      (self.nativeDeps."jsonfile" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "jsonfile" ];
+  };
+  by-spec."jsontool"."*" =
+    self.by-version."jsontool"."7.0.0";
+  by-version."jsontool"."7.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "jsontool-7.0.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/jsontool/-/jsontool-7.0.0.tgz";
+        sha1 = "eff1516e2bad7d2e251a073a415077410f434038";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."jsontool" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jsontool" ];
   };
-  "jsontool" = self.full."jsontool"."*";
-  full."jsprim"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  "jsontool" = self.by-version."jsontool"."7.0.0";
+  by-spec."jsprim"."0.3.0" =
+    self.by-version."jsprim"."0.3.0";
+  by-version."jsprim"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "jsprim-0.3.0";
     src = [
       (fetchurl {
@@ -6635,17 +5900,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."jsprim"."0.3.0" or []);
+      (self.nativeDeps."jsprim" or []);
     deps = [
-      self.full."extsprintf"."1.0.0"
-      self.full."json-schema"."0.2.2"
-      self.full."verror"."1.3.3"
+      self.by-version."extsprintf"."1.0.0"
+      self.by-version."json-schema"."0.2.2"
+      self.by-version."verror"."1.3.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "jsprim" ];
   };
-  full."junk"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."junk"."~0.2.0" =
+    self.by-version."junk"."0.2.1";
+  by-version."junk"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "junk-0.2.1";
     src = [
       (fetchurl {
@@ -6654,246 +5921,114 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."junk"."~0.2.0" or []);
+      (self.nativeDeps."junk" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "junk" ];
   };
-  full."karma"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.0";
+  by-spec."karma"."*" =
+    self.by-version."karma"."0.11.2";
+  "karma" = self.by-version."karma"."0.11.2";
+  by-spec."karma".">=0.9" =
+    self.by-version."karma"."0.11.2";
+  by-spec."karma".">=0.9.3" =
+    self.by-version."karma"."0.11.2";
+  by-spec."karma"."~0.10.0" =
+    self.by-version."karma"."0.10.4";
+  by-version."karma"."0.10.4" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-0.10.4";
     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";
+        url = "http://registry.npmjs.org/karma/-/karma-0.10.4.tgz";
+        sha1 = "b53eda54b8a5f61296a8bd9bb95801652e75b659";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma"."*" 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 []);
+      (self.nativeDeps."karma" 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"
+      self.by-version."di"."0.0.1"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."chokidar"."0.7.0"
+      self.by-version."glob"."3.1.21"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."http-proxy"."0.10.3"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."q"."0.9.7"
+      self.by-version."colors"."0.6.0-1"
+      self.by-version."lodash"."1.1.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."log4js"."0.6.9"
+      self.by-version."useragent"."2.0.7"
+      self.by-version."graceful-fs"."1.2.3"
+      self.by-version."connect"."2.8.8"
     ];
     peerDependencies = [
+      self.by-version."karma-jasmine"."0.1.3"
+      self.by-version."karma-requirejs"."0.1.0"
+      self.by-version."karma-coffee-preprocessor"."0.1.0"
+      self.by-version."karma-html2js-preprocessor"."0.1.0"
+      self.by-version."karma-chrome-launcher"."0.1.0"
+      self.by-version."karma-firefox-launcher"."0.1.0"
+      self.by-version."karma-phantomjs-launcher"."0.1.0"
+      self.by-version."karma-script-launcher"."0.1.0"
     ];
-    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" ];
+    passthru.names = [ "karma" ];
   };
-  "karma" = self.full."karma"."*";
-  full."karma".">=0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.0";
+  by-spec."karma-chrome-launcher"."*" =
+    self.by-version."karma-chrome-launcher"."0.1.0";
+  "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."0.1.0";
+  by-spec."karma-coffee-preprocessor"."*" =
+    self.by-version."karma-coffee-preprocessor"."0.1.0";
+  by-spec."karma-coverage"."*" =
+    self.by-version."karma-coverage"."0.1.2";
+  by-version."karma-coverage"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-coverage-0.1.2";
     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";
+        url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.1.2.tgz";
+        sha1 = "d4d11483a8242613c5949ad825d52d3e6f647041";
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma".">=0.9" 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 []);
+      (self.nativeDeps."karma-coverage" 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"
+      self.by-version."istanbul"."0.1.44"
+      self.by-version."dateformat"."1.0.6-1.2.3"
     ];
     peerDependencies = [
+      self.by-version."karma"."0.11.2"
     ];
-    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" ];
+    passthru.names = [ "karma-coverage" ];
   };
-  full."karma".">=0.9.3" = lib.makeOverridable self.buildNodePackage {
-    name = "karma-0.11.0";
+  "karma-coverage" = self.by-version."karma-coverage"."0.1.2";
+  by-spec."karma-firefox-launcher"."*" =
+    self.by-version."karma-firefox-launcher"."0.1.0";
+  by-spec."karma-html2js-preprocessor"."*" =
+    self.by-version."karma-html2js-preprocessor"."0.1.0";
+  by-spec."karma-jasmine"."*" =
+    self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma"."0.11.2" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-requirejs"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-coffee-preprocessor"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-html2js-preprocessor"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-chrome-launcher"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-firefox-launcher"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-phantomjs-launcher"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-script-launcher"."0.1.0" = self.by-version."karma-jasmine"."0.1.3";
+  by-version."karma-jasmine"."0.1.3" = lib.makeOverridable self.buildNodePackage {
+    name = "karma-jasmine-0.1.3";
     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 {
-        url = "http://registry.npmjs.org/karma/-/karma-0.10.2.tgz";
-        sha1 = "4e100bd346bb24a1260dcd34b5b3d2d4a9b27b17";
-      })
-      (fetchurl {
-        url = "http://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.3.tgz";
-        sha1 = "b7f3b87973ea8e9e1ebfa721188876c31c5fa3be";
+        url = "http://registry.npmjs.org/karma/-/karma-0.11.2.tgz";
+        sha1 = "cb9d7ff974f3f0c8834980ebf8e689a88091008e";
       })
       (fetchurl {
         url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.1.0.tgz";
@@ -6925,66 +6060,42 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma"."~0.10.0" 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-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 {
+      (self.nativeDeps."karma-jasmine" or [])
+      ++ (self.nativeDeps."karma" 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.by-version."di"."0.0.1"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."chokidar"."0.7.0"
+      self.by-version."glob"."3.1.21"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."http-proxy"."0.10.3"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."coffee-script"."1.6.3"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."q"."0.9.7"
+      self.by-version."colors"."0.6.0-1"
+      self.by-version."lodash"."1.1.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."log4js"."0.6.9"
+      self.by-version."useragent"."2.0.7"
+      self.by-version."graceful-fs"."1.2.3"
+      self.by-version."connect"."2.8.8"
+      self.by-version."phantomjs"."1.9.2-2"
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "karma-jasmine" "karma" "karma-requirejs" "karma-coffee-preprocessor" "karma-html2js-preprocessor" "karma-chrome-launcher" "karma-firefox-launcher" "karma-phantomjs-launcher" "karma-script-launcher" ];
+  };
+  by-spec."karma-junit-reporter"."*" =
+    self.by-version."karma-junit-reporter"."0.1.0";
+  by-version."karma-junit-reporter"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "karma-junit-reporter-0.1.0";
     src = [
       (fetchurl {
@@ -6993,17 +6104,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-junit-reporter"."*" or []);
+      (self.nativeDeps."karma-junit-reporter" or []);
     deps = [
-      self.full."xmlbuilder"."0.4.2"
+      self.by-version."xmlbuilder"."0.4.2"
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
+      self.by-version."karma"."0.11.2"
     ];
     passthru.names = [ "karma-junit-reporter" ];
   };
-  "karma-junit-reporter" = self.full."karma-junit-reporter"."*";
-  full."karma-mocha"."*" = lib.makeOverridable self.buildNodePackage {
+  "karma-junit-reporter" = self.by-version."karma-junit-reporter"."0.1.0";
+  by-spec."karma-mocha"."*" =
+    self.by-version."karma-mocha"."0.1.0";
+  by-version."karma-mocha"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "karma-mocha-0.1.0";
     src = [
       (fetchurl {
@@ -7012,20 +6125,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-mocha"."*" or []);
+      (self.nativeDeps."karma-mocha" or []);
     deps = [
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
-      self.full."mocha"."*"
+      self.by-version."karma"."0.11.2"
+      self.by-version."mocha"."1.14.0"
     ];
     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 {
+  "karma-mocha" = self.by-version."karma-mocha"."0.1.0";
+  by-spec."karma-phantomjs-launcher"."*" =
+    self.by-version."karma-phantomjs-launcher"."0.1.0";
+  by-spec."karma-requirejs"."*" =
+    self.by-version."karma-requirejs"."0.1.0";
+  "karma-requirejs" = self.by-version."karma-requirejs"."0.1.0";
+  by-spec."karma-sauce-launcher"."*" =
+    self.by-version."karma-sauce-launcher"."0.1.1";
+  by-version."karma-sauce-launcher"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "karma-sauce-launcher-0.1.1";
     src = [
       (fetchurl {
@@ -7034,20 +6151,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."karma-sauce-launcher"."*" or []);
+      (self.nativeDeps."karma-sauce-launcher" or []);
     deps = [
-      self.full."wd"."~0.1.5"
-      self.full."sauce-connect-launcher"."~0.1.10"
-      self.full."q"."~0.9.6"
+      self.by-version."wd"."0.1.5"
+      self.by-version."sauce-connect-launcher"."0.1.11"
+      self.by-version."q"."0.9.7"
     ];
     peerDependencies = [
-      self.full."karma".">=0.9"
+      self.by-version."karma"."0.11.2"
     ];
     passthru.names = [ "karma-sauce-launcher" ];
   };
-  "karma-sauce-launcher" = self.full."karma-sauce-launcher"."*";
-  full."karma-script-launcher"."*" = self.full."karma"."~0.10.0";
-  full."keen.io"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.1.1";
+  by-spec."karma-script-launcher"."*" =
+    self.by-version."karma-script-launcher"."0.1.0";
+  by-spec."keen.io"."0.0.3" =
+    self.by-version."keen.io"."0.0.3";
+  by-version."keen.io"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "keen.io-0.0.3";
     src = [
       (fetchurl {
@@ -7056,16 +6176,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."keen.io"."0.0.3" or []);
+      (self.nativeDeps."keen.io" or []);
     deps = [
-      self.full."superagent"."~0.13.0"
-      self.full."underscore"."~1.4.4"
+      self.by-version."superagent"."0.13.0"
+      self.by-version."underscore"."1.4.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "keen.io" ];
   };
-  full."keep-alive-agent"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."keep-alive-agent"."0.0.1" =
+    self.by-version."keep-alive-agent"."0.0.1";
+  by-version."keep-alive-agent"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "keep-alive-agent-0.0.1";
     src = [
       (fetchurl {
@@ -7074,14 +6196,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."keep-alive-agent"."0.0.1" or []);
+      (self.nativeDeps."keep-alive-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "keep-alive-agent" ];
   };
-  full."kerberos"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."kerberos"."0.0.3" =
+    self.by-version."kerberos"."0.0.3";
+  by-version."kerberos"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "kerberos-0.0.3";
     src = [
       (fetchurl {
@@ -7090,14 +6214,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."kerberos"."0.0.3" or []);
+      (self.nativeDeps."kerberos" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "kerberos" ];
   };
-  full."kew"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."kew"."~0.1.7" =
+    self.by-version."kew"."0.1.7";
+  by-version."kew"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "kew-0.1.7";
     src = [
       (fetchurl {
@@ -7106,14 +6232,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."kew"."~0.1.7" or []);
+      (self.nativeDeps."kew" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "kew" ];
   };
-  full."knox"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."keypress"."0.1.x" =
+    self.by-version."keypress"."0.1.0";
+  by-version."keypress"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "keypress-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
+        sha1 = "4a3188d4291b66b4f65edb99f806aa9ae293592a";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."keypress" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "keypress" ];
+  };
+  by-spec."knox"."*" =
+    self.by-version."knox"."0.8.6";
+  by-version."knox"."0.8.6" = lib.makeOverridable self.buildNodePackage {
     name = "knox-0.8.6";
     src = [
       (fetchurl {
@@ -7122,19 +6268,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."knox"."*" or []);
+      (self.nativeDeps."knox" or []);
     deps = [
-      self.full."mime"."*"
-      self.full."xml2js"."0.2.x"
-      self.full."debug"."~0.7.0"
-      self.full."stream-counter"."~0.1.0"
+      self.by-version."mime"."1.2.11"
+      self.by-version."xml2js"."0.2.8"
+      self.by-version."debug"."0.7.4"
+      self.by-version."stream-counter"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "knox" ];
   };
-  "knox" = self.full."knox"."*";
-  full."kue"."*" = lib.makeOverridable self.buildNodePackage {
+  "knox" = self.by-version."knox"."0.8.6";
+  by-spec."kue"."*" =
+    self.by-version."kue"."0.6.2";
+  by-version."kue"."0.6.2" = lib.makeOverridable self.buildNodePackage {
     name = "kue-0.6.2";
     src = [
       (fetchurl {
@@ -7143,21 +6291,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."kue"."*" or []);
+      (self.nativeDeps."kue" or []);
     deps = [
-      self.full."redis"."0.7.2"
-      self.full."express"."~3.1.1"
-      self.full."jade"."0.26.3"
-      self.full."stylus"."0.27.2"
-      self.full."nib"."0.5.0"
-      self.full."reds"."0.1.4"
+      self.by-version."redis"."0.7.2"
+      self.by-version."express"."3.1.2"
+      self.by-version."jade"."0.26.3"
+      self.by-version."stylus"."0.27.2"
+      self.by-version."nib"."0.5.0"
+      self.by-version."reds"."0.1.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "kue" ];
   };
-  "kue" = self.full."kue"."*";
-  full."lazy"."~1.0.11" = lib.makeOverridable self.buildNodePackage {
+  "kue" = self.by-version."kue"."0.6.2";
+  by-spec."lazy"."~1.0.11" =
+    self.by-version."lazy"."1.0.11";
+  by-version."lazy"."1.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "lazy-1.0.11";
     src = [
       (fetchurl {
@@ -7166,14 +6316,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lazy"."~1.0.11" or []);
+      (self.nativeDeps."lazy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lazy" ];
   };
-  full."lcov-parse"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lcov-parse"."0.0.4" =
+    self.by-version."lcov-parse"."0.0.4";
+  by-version."lcov-parse"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "lcov-parse-0.0.4";
     src = [
       (fetchurl {
@@ -7182,14 +6334,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lcov-parse"."0.0.4" or []);
+      (self.nativeDeps."lcov-parse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lcov-parse" ];
   };
-  full."lcov-result-merger"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lcov-result-merger"."*" =
+    self.by-version."lcov-result-merger"."0.0.2";
+  by-version."lcov-result-merger"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "lcov-result-merger-0.0.2";
     src = [
       (fetchurl {
@@ -7198,36 +6352,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lcov-result-merger"."*" or []);
+      (self.nativeDeps."lcov-result-merger" or []);
     deps = [
-      self.full."glob"."~3.2.1"
+      self.by-version."glob"."3.2.7"
     ];
     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";
+  "lcov-result-merger" = self.by-version."lcov-result-merger"."0.0.2";
+  by-spec."less"."~1.5.0" =
+    self.by-version."less"."1.5.0";
+  by-version."less"."1.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "less-1.5.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/less/-/less-1.4.2.tgz";
-        sha1 = "b7deefe98a3a87bee364411b3df2d1efe5a412d0";
+        url = "http://registry.npmjs.org/less/-/less-1.5.0.tgz";
+        sha1 = "a97be1d2607577f5f33632a7e098024ab828f699";
       })
     ];
     buildInputs =
-      (self.nativeDeps."less"."~1.4.0" or []);
+      (self.nativeDeps."less" 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"
+      self.by-version."mime"."1.2.11"
+      self.by-version."request"."2.27.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."clean-css"."1.0.12"
+      self.by-version."source-map"."0.1.31"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "less" ];
   };
-  full."libxmljs"."~0.8.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."libxmljs"."~0.8.1" =
+    self.by-version."libxmljs"."0.8.1";
+  by-version."libxmljs"."0.8.1" = lib.makeOverridable self.buildNodePackage {
     name = "libxmljs-0.8.1";
     src = [
       (fetchurl {
@@ -7236,15 +6395,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."libxmljs"."~0.8.1" or []);
+      (self.nativeDeps."libxmljs" or []);
     deps = [
-      self.full."bindings"."1.0.0"
+      self.by-version."bindings"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "libxmljs" ];
   };
-  full."libyaml"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."libyaml"."*" =
+    self.by-version."libyaml"."0.2.2";
+  by-version."libyaml"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "libyaml-0.2.2";
     src = [
       (fetchurl {
@@ -7253,47 +6414,53 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."libyaml"."*" or []);
+      (self.nativeDeps."libyaml" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "libyaml" ];
   };
-  "libyaml" = self.full."libyaml"."*";
-  full."lockfile"."~0.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "lockfile-0.3.4";
+  "libyaml" = self.by-version."libyaml"."0.2.2";
+  by-spec."lockfile"."~0.4.0" =
+    self.by-version."lockfile"."0.4.2";
+  by-version."lockfile"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+    name = "lockfile-0.4.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.3.4.tgz";
-        sha1 = "932b63546e4915f81b71924b36187740358eda03";
+        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.4.2.tgz";
+        sha1 = "ab91f5d3745bc005ae4fa34d078910d1f2b9612d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lockfile"."~0.3.2" or []);
+      (self.nativeDeps."lockfile" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lockfile" ];
   };
-  full."lockfile"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lockfile-0.4.2";
+  by-spec."lodash"."~0.10.0" =
+    self.by-version."lodash"."0.10.0";
+  by-version."lodash"."0.10.0" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash-0.10.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lockfile/-/lockfile-0.4.2.tgz";
-        sha1 = "ab91f5d3745bc005ae4fa34d078910d1f2b9612d";
+        url = "http://registry.npmjs.org/lodash/-/lodash-0.10.0.tgz";
+        sha1 = "5254bbc2c46c827f535a27d631fd4f2bff374ce7";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lockfile"."~0.4.0" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "lockfile" ];
+    passthru.names = [ "lodash" ];
   };
-  full."lodash"."~0.9.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~0.9.0" =
+    self.by-version."lodash"."0.9.2";
+  by-version."lodash"."0.9.2" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-0.9.2";
     src = [
       (fetchurl {
@@ -7302,14 +6469,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~0.9.0" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~1.0.1" =
+    self.by-version."lodash"."1.0.1";
+  by-version."lodash"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.0.1";
     src = [
       (fetchurl {
@@ -7318,14 +6487,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.0.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~1.1" =
+    self.by-version."lodash"."1.1.1";
+  by-version."lodash"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.1.1";
     src = [
       (fetchurl {
@@ -7334,30 +6505,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-1.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.1.1.tgz";
-        sha1 = "41a2b2e9a00e64d6d1999f143ff6b0755f6bbb24";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash"."~1.1.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash" ];
-  };
-  full."lodash"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~1.1.1" =
+    self.by-version."lodash"."1.1.1";
+  by-spec."lodash"."~1.2.1" =
+    self.by-version."lodash"."1.2.1";
+  by-version."lodash"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.2.1";
     src = [
       (fetchurl {
@@ -7366,14 +6525,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.2.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lodash"."~1.3.0" =
+    self.by-version."lodash"."1.3.1";
+  by-version."lodash"."1.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "lodash-1.3.1";
     src = [
       (fetchurl {
@@ -7382,497 +6543,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.3.0" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash"."~1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash-1.3.1";
+  by-spec."lodash"."~1.3.1" =
+    self.by-version."lodash"."1.3.1";
+  by-spec."lodash"."~2.2.1" =
+    self.by-version."lodash"."2.2.1";
+  by-version."lodash"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "lodash-2.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz";
-        sha1 = "a4663b53686b895ff074e2ba504dfb76a8e2b770";
+        url = "http://registry.npmjs.org/lodash/-/lodash-2.2.1.tgz";
+        sha1 = "ca935fd14ab3c0c872abacf198b9cda501440867";
       })
     ];
     buildInputs =
-      (self.nativeDeps."lodash"."~1.3.1" or []);
+      (self.nativeDeps."lodash" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lodash" ];
   };
-  full."lodash._arraypool"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._arraypool-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.2.1.tgz";
-        sha1 = "09c741461dde7a7bc467d826ee50c8b1216427f4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._arraypool"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._arraypool" ];
-  };
-  full."lodash._basecreatecallback"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._basecreatecallback-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.2.1.tgz";
-        sha1 = "486940419a6f195996cb0f7644af71341c608ce4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._basecreatecallback"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.bind"."~2.2.1"
-      self.full."lodash.identity"."~2.2.1"
-      self.full."lodash._setbinddata"."~2.2.1"
-      self.full."lodash.support"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._basecreatecallback" ];
-  };
-  full."lodash._baseisequal"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._baseisequal-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._baseisequal/-/lodash._baseisequal-2.2.1.tgz";
-        sha1 = "8bd0156ad5c47d927b58d54456329922b24ce0e7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._baseisequal"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.forin"."~2.2.1"
-      self.full."lodash._getarray"."~2.2.1"
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash._objecttypes"."~2.2.1"
-      self.full."lodash._releasearray"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._baseisequal" ];
-  };
-  full."lodash._createbound"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._createbound-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._createbound/-/lodash._createbound-2.2.1.tgz";
-        sha1 = "27218a40dc73eaf7a1bc90c3f86b0bf79c272ccc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._createbound"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._createobject"."~2.2.1"
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-      self.full."lodash._setbinddata"."~2.2.1"
-      self.full."lodash.support"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._createbound" ];
-  };
-  full."lodash._createobject"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._createobject-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._createobject/-/lodash._createobject-2.2.1.tgz";
-        sha1 = "8c38ad5d83de703537c863330b97059417fbfee9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._createobject"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._noop"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._createobject" ];
-  };
-  full."lodash._getarray"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._getarray-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.2.1.tgz";
-        sha1 = "aa5caa269f1649a186811d5be4a78e56e70e9699";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._getarray"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._arraypool"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._getarray" ];
-  };
-  full."lodash._maxpoolsize"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._maxpoolsize-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.2.1.tgz";
-        sha1 = "1e8b6d433271db7c12ec953d49604ea098542fa7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._maxpoolsize"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._maxpoolsize" ];
-  };
-  full."lodash._noop"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._noop-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._noop/-/lodash._noop-2.2.1.tgz";
-        sha1 = "f790734f9f683c9fda8da9f4d8a8000a2201c6e9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._noop"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._noop" ];
-  };
-  full."lodash._objecttypes"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._objecttypes-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.2.1.tgz";
-        sha1 = "c72d42a5dec0b55664f82162ed74c5f3f94942ba";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._objecttypes"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._objecttypes" ];
-  };
-  full."lodash._releasearray"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._releasearray-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.2.1.tgz";
-        sha1 = "81626c89e26ce2fbc90a11ce8f6ef26ea15c4b28";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._releasearray"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._arraypool"."~2.2.1"
-      self.full."lodash._maxpoolsize"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._releasearray" ];
-  };
-  full."lodash._renative"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._renative-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._renative/-/lodash._renative-2.2.1.tgz";
-        sha1 = "ab77d711371ebae8ffdcf5c83b576d558d6bb522";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._renative"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._renative" ];
-  };
-  full."lodash._setbinddata"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._setbinddata-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.2.1.tgz";
-        sha1 = "df1d5228229c71e28185aae4f828f3b5e78f0904";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._setbinddata"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._noop"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._setbinddata" ];
-  };
-  full."lodash._shimkeys"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash._shimkeys-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.2.1.tgz";
-        sha1 = "ed4e4b5d61214b2685400b185a59fabf59343455";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash._shimkeys"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._objecttypes"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash._shimkeys" ];
-  };
-  full."lodash.bind"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.bind-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.bind/-/lodash.bind-2.2.1.tgz";
-        sha1 = "4c24fe00b4c6fa277e4058d353edcf399b3755c2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.bind"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._createbound"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.bind" ];
-  };
-  full."lodash.createcallback"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.createcallback-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.createcallback/-/lodash.createcallback-2.2.1.tgz";
-        sha1 = "bb5291c473202a391c1a495a0806bf4b1d1842d2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.createcallback"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._basecreatecallback"."~2.2.1"
-      self.full."lodash._baseisequal"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash.keys"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.createcallback" ];
-  };
-  full."lodash.debounce"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.debounce-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.2.1.tgz";
-        sha1 = "46e0ded9b392afa45a8fb54efac564a17fe78be0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.debounce"."~2.2.0" or []);
-    deps = [
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.debounce" ];
-  };
-  full."lodash.debounce"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.debounce-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.2.1.tgz";
-        sha1 = "46e0ded9b392afa45a8fb54efac564a17fe78be0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.debounce"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.debounce" ];
-  };
-  full."lodash.find"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.find-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.find/-/lodash.find-2.2.1.tgz";
-        sha1 = "768cc2149a589d2fd7b7203c6abe34bcb724d01a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.find"."~2.2.0" or []);
-    deps = [
-      self.full."lodash.createcallback"."~2.2.1"
-      self.full."lodash.forown"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.find" ];
-  };
-  full."lodash.forin"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.forin-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.forin/-/lodash.forin-2.2.1.tgz";
-        sha1 = "d96a47f547002f322dcdc533b0f9e914cba7d050";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.forin"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._basecreatecallback"."~2.2.1"
-      self.full."lodash._objecttypes"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.forin" ];
-  };
-  full."lodash.forown"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.forown-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.forown/-/lodash.forown-2.2.1.tgz";
-        sha1 = "77ee0877c135b603dafe8f2d9ceff215b16458ea";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.forown"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._basecreatecallback"."~2.2.1"
-      self.full."lodash.keys"."~2.2.1"
-      self.full."lodash._objecttypes"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.forown" ];
-  };
-  full."lodash.identity"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.identity-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.identity/-/lodash.identity-2.2.1.tgz";
-        sha1 = "63518772143d450a772511f6671e23038c67bcae";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.identity"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.identity" ];
-  };
-  full."lodash.isfunction"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.isfunction-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.2.1.tgz";
-        sha1 = "fcfa79b7b2c072b320468ecdc0244bbbac5e49c0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.isfunction"."~2.2.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.isfunction" ];
-  };
-  full."lodash.isobject"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.isobject-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.2.1.tgz";
-        sha1 = "cbce101e3e3b718cb51b1113e4597d6e8e038831";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.isobject"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._objecttypes"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.isobject" ];
-  };
-  full."lodash.keys"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.keys-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.keys/-/lodash.keys-2.2.1.tgz";
-        sha1 = "f372597e6f411d7537e32ba0efc85b5f874d5cca";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.keys"."~2.2.1" or []);
-    deps = [
-      self.full."lodash.isobject"."~2.2.1"
-      self.full."lodash._renative"."~2.2.1"
-      self.full."lodash._shimkeys"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.keys" ];
-  };
-  full."lodash.support"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.support-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.support/-/lodash.support-2.2.1.tgz";
-        sha1 = "5b6c267c6fc5302011f0c14e4529c7fbc08e94ce";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.support"."~2.2.1" or []);
-    deps = [
-      self.full."lodash._renative"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.support" ];
-  };
-  full."lodash.throttle"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lodash.throttle-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lodash.throttle/-/lodash.throttle-2.2.1.tgz";
-        sha1 = "ae49bd6173b0cfb4e09d9645fdac507db77211f0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lodash.throttle"."~2.2.0" or []);
-    deps = [
-      self.full."lodash.debounce"."~2.2.1"
-      self.full."lodash.isfunction"."~2.2.1"
-      self.full."lodash.isobject"."~2.2.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lodash.throttle" ];
-  };
-  full."log-driver"."1.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."log-driver"."1.2.1" =
+    self.by-version."log-driver"."1.2.1";
+  by-version."log-driver"."1.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "log-driver-1.2.1";
     src = [
       (fetchurl {
@@ -7881,14 +6581,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."log-driver"."1.2.1" or []);
+      (self.nativeDeps."log-driver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "log-driver" ];
   };
-  full."log4js"."~0.6.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."log4js"."~0.6.3" =
+    self.by-version."log4js"."0.6.9";
+  by-version."log4js"."0.6.9" = lib.makeOverridable self.buildNodePackage {
     name = "log4js-0.6.9";
     src = [
       (fetchurl {
@@ -7897,17 +6599,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."log4js"."~0.6.3" or []);
+      (self.nativeDeps."log4js" or []);
     deps = [
-      self.full."async"."0.1.15"
-      self.full."semver"."~1.1.4"
-      self.full."readable-stream"."~1.0.2"
+      self.by-version."async"."0.1.15"
+      self.by-version."semver"."1.1.4"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "log4js" ];
   };
-  full."lru-cache"."2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."2" =
+    self.by-version."lru-cache"."2.3.1";
+  by-version."lru-cache"."2.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-2.3.1";
     src = [
       (fetchurl {
@@ -7916,14 +6620,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."2.2.0" =
+    self.by-version."lru-cache"."2.2.0";
+  by-version."lru-cache"."2.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-2.2.0";
     src = [
       (fetchurl {
@@ -7932,14 +6638,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2.2.0" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."2.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."2.2.x" =
+    self.by-version."lru-cache"."2.2.4";
+  by-version."lru-cache"."2.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-2.2.4";
     src = [
       (fetchurl {
@@ -7948,14 +6656,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2.2.x" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."2.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."2.3.0" =
+    self.by-version."lru-cache"."2.3.0";
+  by-version."lru-cache"."2.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-2.3.0";
     src = [
       (fetchurl {
@@ -7964,14 +6674,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."2.3.0" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."lru-cache"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."lru-cache"."~1.0.2" =
+    self.by-version."lru-cache"."1.0.6";
+  by-version."lru-cache"."1.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "lru-cache-1.0.6";
     src = [
       (fetchurl {
@@ -7980,64 +6692,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."lru-cache"."~1.0.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lru-cache" ];
-  };
-  full."lru-cache"."~2.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-2.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
-        sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lru-cache"."~2.3.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "lru-cache" ];
-  };
-  full."lru-cache"."~2.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "lru-cache-2.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
-        sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."lru-cache"."~2.3.1" or []);
+      (self.nativeDeps."lru-cache" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "lru-cache" ];
   };
-  full."mailcomposer".">= 0.1.27" = lib.makeOverridable self.buildNodePackage {
-    name = "mailcomposer-0.2.2";
+  by-spec."lru-cache"."~2.3.0" =
+    self.by-version."lru-cache"."2.3.1";
+  by-spec."lru-cache"."~2.3.1" =
+    self.by-version."lru-cache"."2.3.1";
+  by-spec."mailcomposer".">= 0.1.27" =
+    self.by-version."mailcomposer"."0.2.3";
+  by-version."mailcomposer"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+    name = "mailcomposer-0.2.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.2.tgz";
-        sha1 = "ce93bdea7cb51e60eb76491b6a64c39f382c20e5";
+        url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.3.tgz";
+        sha1 = "763b96561159ea233cb29ab6995ee45e78be5918";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mailcomposer".">= 0.1.27" or []);
+      (self.nativeDeps."mailcomposer" or []);
     deps = [
-      self.full."mimelib"."~0.2"
-      self.full."mime"."1.2.9"
+      self.by-version."mimelib"."0.2.14"
+      self.by-version."mime"."1.2.9"
+      self.by-version."ent"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mailcomposer" ];
   };
-  full."match-stream"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."match-stream"."~0.0.2" =
+    self.by-version."match-stream"."0.0.2";
+  by-version."match-stream"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "match-stream-0.0.2";
     src = [
       (fetchurl {
@@ -8046,16 +6735,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."match-stream"."~0.0.2" or []);
+      (self.nativeDeps."match-stream" or []);
     deps = [
-      self.full."buffers"."~0.1.1"
-      self.full."readable-stream"."~1.0.0"
+      self.by-version."buffers"."0.1.1"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "match-stream" ];
   };
-  full."meat"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."meat"."*" =
+    self.by-version."meat"."0.2.5";
+  by-version."meat"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "meat-0.2.5";
     src = [
       (fetchurl {
@@ -8064,21 +6755,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."meat"."*" or []);
+      (self.nativeDeps."meat" or []);
     deps = [
-      self.full."express"."2.5.11"
-      self.full."jade"."0.27.0"
-      self.full."open"."0.0.2"
-      self.full."winston"."0.6.2"
-      self.full."mkdirp"."0.3.0"
-      self.full."node.extend"."1.0.0"
+      self.by-version."express"."2.5.11"
+      self.by-version."jade"."0.27.0"
+      self.by-version."open"."0.0.2"
+      self.by-version."winston"."0.6.2"
+      self.by-version."mkdirp"."0.3.0"
+      self.by-version."node.extend"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "meat" ];
   };
-  "meat" = self.full."meat"."*";
-  full."memoizee"."~0.2.5" = lib.makeOverridable self.buildNodePackage {
+  "meat" = self.by-version."meat"."0.2.5";
+  by-spec."memoizee"."~0.2.5" =
+    self.by-version."memoizee"."0.2.6";
+  by-version."memoizee"."0.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "memoizee-0.2.6";
     src = [
       (fetchurl {
@@ -8087,17 +6780,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."memoizee"."~0.2.5" or []);
+      (self.nativeDeps."memoizee" or []);
     deps = [
-      self.full."es5-ext"."~0.9.2"
-      self.full."event-emitter"."~0.2.2"
-      self.full."next-tick"."0.1.x"
+      self.by-version."es5-ext"."0.9.2"
+      self.by-version."event-emitter"."0.2.2"
+      self.by-version."next-tick"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "memoizee" ];
   };
-  full."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."methods"."0.0.1" =
+    self.by-version."methods"."0.0.1";
+  by-version."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "methods-0.0.1";
     src = [
       (fetchurl {
@@ -8106,14 +6801,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."methods"."0.0.1" or []);
+      (self.nativeDeps."methods" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "methods" ];
   };
-  full."mime"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."methods"."0.1.0" =
+    self.by-version."methods"."0.1.0";
+  by-version."methods"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "methods-0.1.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/methods/-/methods-0.1.0.tgz";
+        sha1 = "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."methods" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "methods" ];
+  };
+  by-spec."mime"."*" =
+    self.by-version."mime"."1.2.11";
+  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.11";
     src = [
       (fetchurl {
@@ -8122,14 +6837,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."*" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mime"."1.2.4" =
+    self.by-version."mime"."1.2.4";
+  by-version."mime"."1.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.4";
     src = [
       (fetchurl {
@@ -8138,14 +6855,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.4" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mime"."1.2.5" =
+    self.by-version."mime"."1.2.5";
+  by-version."mime"."1.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.5";
     src = [
       (fetchurl {
@@ -8154,14 +6873,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.5" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mime"."1.2.6" =
+    self.by-version."mime"."1.2.6";
+  by-version."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.6";
     src = [
       (fetchurl {
@@ -8170,14 +6891,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.6" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."1.2.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mime"."1.2.9" =
+    self.by-version."mime"."1.2.9";
+  by-version."mime"."1.2.9" = lib.makeOverridable self.buildNodePackage {
     name = "mime-1.2.9";
     src = [
       (fetchurl {
@@ -8186,144 +6909,50 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."1.2.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    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".">= 0.0.1" = 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".">= 0.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2" = 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" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2.11" = 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.11" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2.2" = 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.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mime"."~1.2.7" = 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.7" or []);
+      (self.nativeDeps."mime" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mime" ];
   };
-  full."mime"."~1.2.9" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
+  by-spec."mime"."1.2.x" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime".">= 0.0.1" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.11" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.2" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.7" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mime"."~1.2.9" =
+    self.by-version."mime"."1.2.11";
+  by-spec."mimelib"."~0.2.14" =
+    self.by-version."mimelib"."0.2.14";
+  by-version."mimelib"."0.2.14" = lib.makeOverridable self.buildNodePackage {
+    name = "mimelib-0.2.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+        url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.14.tgz";
+        sha1 = "2a1aa724bd190b85bd526e6317ab6106edfd6831";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mime"."~1.2.9" or []);
+      (self.nativeDeps."mimelib" or []);
     deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  full."mimelib"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mimelib-0.2.13";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.13.tgz";
-        sha1 = "0668eb85e870c510be747a67ece43b9bbf8e20b0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mimelib"."~0.2" or []);
-    deps = [
-      self.full."encoding"."~0.1"
-      self.full."addressparser"."~0.1"
+      self.by-version."encoding"."0.1.7"
+      self.by-version."addressparser"."0.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mimelib" ];
   };
-  full."minimatch"."0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."minimatch"."0" =
+    self.by-version."minimatch"."0.2.12";
+  by-version."minimatch"."0.2.12" = lib.makeOverridable self.buildNodePackage {
     name = "minimatch-0.2.12";
     src = [
       (fetchurl {
@@ -8332,16 +6961,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."0" or []);
+      (self.nativeDeps."minimatch" or []);
     deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."sigmund"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
   };
-  full."minimatch"."0.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."minimatch"."0.0.x" =
+    self.by-version."minimatch"."0.0.5";
+  by-version."minimatch"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "minimatch-0.0.5";
     src = [
       (fetchurl {
@@ -8350,195 +6981,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimatch"."0.0.x" or []);
+      (self.nativeDeps."minimatch" or []);
     deps = [
-      self.full."lru-cache"."~1.0.2"
+      self.by-version."lru-cache"."1.0.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "minimatch" ];
   };
-  full."minimatch"."0.2.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.2.x" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    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 = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
-        sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch"."0.x.x" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch".">=0.2.4" = 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.4" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2" = 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" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.0" = 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.0" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.11" = 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.11" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  full."minimatch"."~0.2.12" = 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.12" or []);
-    deps = [
-      self.full."lru-cache"."2"
-      self.full."sigmund"."~1.0.0"
-    ];
-    peerDependencies = [
-    ];
-    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."minimatch"."~0.2.9" = 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.9" 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 {
+  by-spec."minimatch"."0.2.x" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."0.x" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."0.x.x" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch".">=0.2.4" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.0" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.11" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.12" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.6" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimatch"."~0.2.9" =
+    self.by-version."minimatch"."0.2.12";
+  by-spec."minimist"."~0.0.1" =
+    self.by-version."minimist"."0.0.5";
+  by-version."minimist"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "minimist-0.0.5";
     src = [
       (fetchurl {
@@ -8547,47 +7020,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."minimist"."~0.0.1" or []);
+      (self.nativeDeps."minimist" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "minimist" ];
   };
-  full."mkdirp"."*" = 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"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  "mkdirp" = self.full."mkdirp"."*";
-  full."mkdirp"."0" = 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" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mkdirp"."*" =
+    self.by-version."mkdirp"."0.3.5";
+  by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "mkdirp-0.3.5";
     src = [
       (fetchurl {
@@ -8596,14 +7038,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.3" or []);
+      (self.nativeDeps."mkdirp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
-  full."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  "mkdirp" = self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.3" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.3.0" =
+    self.by-version."mkdirp"."0.3.0";
+  by-version."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "mkdirp-0.3.0";
     src = [
       (fetchurl {
@@ -8612,199 +7061,111 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.4.tgz";
-        sha1 = "f8c81d213b7299a031f193a57d752a17d2f6c7d8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp"."0.3.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.3.5" = 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.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."0.3.x" = 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.x" or []);
+      (self.nativeDeps."mkdirp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mkdirp" ];
   };
-  full."mkdirp"."0.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.5";
+  by-spec."mkdirp"."0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.3.x" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."0.x.x" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.3" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.4" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mkdirp"."~0.3.5" =
+    self.by-version."mkdirp"."0.3.5";
+  by-spec."mocha"."*" =
+    self.by-version."mocha"."1.14.0";
+  by-version."mocha"."1.14.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mocha-1.14.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-        sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+        url = "http://registry.npmjs.org/mocha/-/mocha-1.14.0.tgz";
+        sha1 = "713db6dc5000191a9d0358195d0908790ecb6157";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mkdirp"."0.x.x" or []);
+      (self.nativeDeps."mocha" or []);
     deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."~0.3.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.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."~0.3.4" = 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.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mkdirp"."~0.3.5" = 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.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  full."mocha"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mocha-1.13.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mocha/-/mocha-1.13.0.tgz";
-        sha1 = "8d8fa4e310b94cc6efeb3ed26aeca96dea93307c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mocha"."*" or []);
-    deps = [
-      self.full."commander"."0.6.1"
-      self.full."growl"."1.7.x"
-      self.full."jade"."0.26.3"
-      self.full."diff"."1.0.7"
-      self.full."debug"."*"
-      self.full."mkdirp"."0.3.5"
-      self.full."glob"."3.2.3"
+      self.by-version."commander"."2.0.0"
+      self.by-version."growl"."1.7.0"
+      self.by-version."jade"."0.26.3"
+      self.by-version."diff"."1.0.7"
+      self.by-version."debug"."0.7.4"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."glob"."3.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mocha" ];
   };
-  "mocha" = self.full."mocha"."*";
-  full."mocha-unfunk-reporter"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mocha-unfunk-reporter-0.2.3";
+  "mocha" = self.by-version."mocha"."1.14.0";
+  by-spec."mocha-unfunk-reporter"."*" =
+    self.by-version."mocha-unfunk-reporter"."0.3.5";
+  by-version."mocha-unfunk-reporter"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+    name = "mocha-unfunk-reporter-0.3.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.2.3.tgz";
-        sha1 = "41c2aa001dc44eef80d073404728d2e4d4a09c90";
+        url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.3.5.tgz";
+        sha1 = "64bd69891fae638d013ac1e03806c573a27e4ff1";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mocha-unfunk-reporter"."*" or []);
+      (self.nativeDeps."mocha-unfunk-reporter" or []);
     deps = [
+      self.by-version."jsesc"."0.4.3"
+      self.by-version."diff"."1.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mocha-unfunk-reporter" ];
   };
-  "mocha-unfunk-reporter" = self.full."mocha-unfunk-reporter"."*";
-  full."moment"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "moment-2.0.0";
+  "mocha-unfunk-reporter" = self.by-version."mocha-unfunk-reporter"."0.3.5";
+  by-spec."moment"."2.1.0" =
+    self.by-version."moment"."2.1.0";
+  by-version."moment"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "moment-2.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/moment/-/moment-2.0.0.tgz";
-        sha1 = "2bbc5b44c321837693ab6efcadbd46ed946211fe";
+        url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
+        sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
       })
     ];
     buildInputs =
-      (self.nativeDeps."moment"."2.0.0" or []);
+      (self.nativeDeps."moment" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "moment" ];
   };
-  full."moment"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "moment-2.1.0";
+  by-spec."moment"."~2.4.0" =
+    self.by-version."moment"."2.4.0";
+  by-version."moment"."2.4.0" = lib.makeOverridable self.buildNodePackage {
+    name = "moment-2.4.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
-        sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
+        url = "http://registry.npmjs.org/moment/-/moment-2.4.0.tgz";
+        sha1 = "06dd8dfbbfdb53a03510080ac788163c9490e75d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."moment"."2.1.0" or []);
+      (self.nativeDeps."moment" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "moment" ];
   };
-  full."mongodb"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mongodb"."*" =
+    self.by-version."mongodb"."1.3.19";
+  by-version."mongodb"."1.3.19" = lib.makeOverridable self.buildNodePackage {
     name = "mongodb-1.3.19";
     src = [
       (fetchurl {
@@ -8813,17 +7174,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."*" or []);
+      (self.nativeDeps."mongodb" or []);
     deps = [
-      self.full."bson"."0.2.2"
-      self.full."kerberos"."0.0.3"
+      self.by-version."bson"."0.2.2"
+      self.by-version."kerberos"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  "mongodb" = self.full."mongodb"."*";
-  full."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage {
+  "mongodb" = self.by-version."mongodb"."1.3.19";
+  by-spec."mongodb"."1.2.14" =
+    self.by-version."mongodb"."1.2.14";
+  by-version."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage {
     name = "mongodb-1.2.14";
     src = [
       (fetchurl {
@@ -8832,75 +7195,48 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."1.2.14" or []);
+      (self.nativeDeps."mongodb" or []);
     deps = [
-      self.full."bson"."0.1.8"
+      self.by-version."bson"."0.1.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongodb" ];
   };
-  full."mongodb"."1.2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "mongodb-1.2.14";
+  by-spec."mongodb"."1.3.19" =
+    self.by-version."mongodb"."1.3.19";
+  by-spec."mongodb"."1.3.x" =
+    self.by-version."mongodb"."1.3.19";
+  by-spec."mongoose"."*" =
+    self.by-version."mongoose"."3.8.0";
+  by-version."mongoose"."3.8.0" = lib.makeOverridable self.buildNodePackage {
+    name = "mongoose-3.8.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
-        sha1 = "269665552066437308d0942036646e6795c3a9a3";
+        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.0.tgz";
+        sha1 = "0e7b34fe90ad996c72ce7cfec6822176ea137e48";
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongodb"."1.2.x" or []);
+      (self.nativeDeps."mongoose" or []);
     deps = [
-      self.full."bson"."0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongodb" ];
-  };
-  full."mongodb"."1.3.19" = lib.makeOverridable self.buildNodePackage {
-    name = "mongodb-1.3.19";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz";
-        sha1 = "f229db24098f019d86d135aaf8a1ab5f2658b1d4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongodb"."1.3.19" or []);
-    deps = [
-      self.full."bson"."0.2.2"
-      self.full."kerberos"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "mongodb" ];
-  };
-  full."mongoose"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "mongoose-3.7.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mongoose/-/mongoose-3.7.4.tgz";
-        sha1 = "5ed8cdbc91c92b18ab49ac3526c7ac5264c7b292";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mongoose"."*" or []);
-    deps = [
-      self.full."hooks"."0.2.1"
-      self.full."mongodb"."1.3.19"
-      self.full."ms"."0.1.0"
-      self.full."sliced"."0.0.5"
-      self.full."muri"."0.3.1"
-      self.full."mpromise"."0.3.0"
-      self.full."mpath"."0.1.1"
-      self.full."regexp-clone"."0.0.1"
-      self.full."mquery"."0.3.2"
+      self.by-version."hooks"."0.2.1"
+      self.by-version."mongodb"."1.3.19"
+      self.by-version."ms"."0.1.0"
+      self.by-version."sliced"."0.0.5"
+      self.by-version."muri"."0.3.1"
+      self.by-version."mpromise"."0.3.0"
+      self.by-version."mpath"."0.1.1"
+      self.by-version."regexp-clone"."0.0.1"
+      self.by-version."mquery"."0.3.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
   };
-  full."mongoose"."3.6.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mongoose"."3.6.7" =
+    self.by-version."mongoose"."3.6.7";
+  by-version."mongoose"."3.6.7" = lib.makeOverridable self.buildNodePackage {
     name = "mongoose-3.6.7";
     src = [
       (fetchurl {
@@ -8909,21 +7245,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose"."3.6.7" or []);
+      (self.nativeDeps."mongoose" or []);
     deps = [
-      self.full."hooks"."0.2.1"
-      self.full."mongodb"."1.2.14"
-      self.full."ms"."0.1.0"
-      self.full."sliced"."0.0.3"
-      self.full."muri"."0.3.1"
-      self.full."mpromise"."0.2.1"
-      self.full."mpath"."0.1.1"
+      self.by-version."hooks"."0.2.1"
+      self.by-version."mongodb"."1.2.14"
+      self.by-version."ms"."0.1.0"
+      self.by-version."sliced"."0.0.3"
+      self.by-version."muri"."0.3.1"
+      self.by-version."mpromise"."0.2.1"
+      self.by-version."mpath"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
   };
-  full."mongoose"."3.6.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mongoose"."3.6.x" =
+    self.by-version."mongoose"."3.6.20";
+  by-version."mongoose"."3.6.20" = lib.makeOverridable self.buildNodePackage {
     name = "mongoose-3.6.20";
     src = [
       (fetchurl {
@@ -8932,23 +7270,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose"."3.6.x" or []);
+      (self.nativeDeps."mongoose" or []);
     deps = [
-      self.full."hooks"."0.2.1"
-      self.full."mongodb"."1.3.19"
-      self.full."ms"."0.1.0"
-      self.full."sliced"."0.0.5"
-      self.full."muri"."0.3.1"
-      self.full."mpromise"."0.2.1"
-      self.full."mpath"."0.1.1"
-      self.full."regexp-clone"."0.0.1"
+      self.by-version."hooks"."0.2.1"
+      self.by-version."mongodb"."1.3.19"
+      self.by-version."ms"."0.1.0"
+      self.by-version."sliced"."0.0.5"
+      self.by-version."muri"."0.3.1"
+      self.by-version."mpromise"."0.2.1"
+      self.by-version."mpath"."0.1.1"
+      self.by-version."regexp-clone"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose" ];
   };
-  "mongoose" = self.full."mongoose"."3.6.x";
-  full."mongoose-lifecycle"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  "mongoose" = self.by-version."mongoose"."3.6.20";
+  by-spec."mongoose-lifecycle"."1.0.0" =
+    self.by-version."mongoose-lifecycle"."1.0.0";
+  by-version."mongoose-lifecycle"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "mongoose-lifecycle-1.0.0";
     src = [
       (fetchurl {
@@ -8957,14 +7297,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose-lifecycle"."1.0.0" or []);
+      (self.nativeDeps."mongoose-lifecycle" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose-lifecycle" ];
   };
-  full."mongoose-schema-extend"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mongoose-schema-extend"."*" =
+    self.by-version."mongoose-schema-extend"."0.1.5";
+  by-version."mongoose-schema-extend"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "mongoose-schema-extend-0.1.5";
     src = [
       (fetchurl {
@@ -8973,16 +7315,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mongoose-schema-extend"."*" or []);
+      (self.nativeDeps."mongoose-schema-extend" or []);
     deps = [
-      self.full."owl-deepcopy"."~0.0.1"
+      self.by-version."owl-deepcopy"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mongoose-schema-extend" ];
   };
-  "mongoose-schema-extend" = self.full."mongoose-schema-extend"."*";
-  full."monocle"."1.1.50" = lib.makeOverridable self.buildNodePackage {
+  "mongoose-schema-extend" = self.by-version."mongoose-schema-extend"."0.1.5";
+  by-spec."monocle"."1.1.50" =
+    self.by-version."monocle"."1.1.50";
+  by-version."monocle"."1.1.50" = lib.makeOverridable self.buildNodePackage {
     name = "monocle-1.1.50";
     src = [
       (fetchurl {
@@ -8991,15 +7335,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."monocle"."1.1.50" or []);
+      (self.nativeDeps."monocle" or []);
     deps = [
-      self.full."readdirp"."~0.2.3"
+      self.by-version."readdirp"."0.2.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "monocle" ];
   };
-  full."mout"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mout"."~0.6.0" =
+    self.by-version."mout"."0.6.0";
+  by-version."mout"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "mout-0.6.0";
     src = [
       (fetchurl {
@@ -9008,14 +7354,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mout"."~0.6.0" or []);
+      (self.nativeDeps."mout" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mout" ];
   };
-  full."mout"."~0.7.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mout"."~0.7.0" =
+    self.by-version."mout"."0.7.1";
+  by-version."mout"."0.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "mout-0.7.1";
     src = [
       (fetchurl {
@@ -9024,14 +7372,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mout"."~0.7.0" or []);
+      (self.nativeDeps."mout" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mout" ];
   };
-  full."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mpath"."0.1.1" =
+    self.by-version."mpath"."0.1.1";
+  by-version."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "mpath-0.1.1";
     src = [
       (fetchurl {
@@ -9040,14 +7390,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mpath"."0.1.1" or []);
+      (self.nativeDeps."mpath" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mpath" ];
   };
-  full."mpromise"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mpromise"."0.2.1" =
+    self.by-version."mpromise"."0.2.1";
+  by-version."mpromise"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "mpromise-0.2.1";
     src = [
       (fetchurl {
@@ -9056,15 +7408,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mpromise"."0.2.1" or []);
+      (self.nativeDeps."mpromise" or []);
     deps = [
-      self.full."sliced"."0.0.4"
+      self.by-version."sliced"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mpromise" ];
   };
-  full."mpromise"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mpromise"."0.3.0" =
+    self.by-version."mpromise"."0.3.0";
+  by-version."mpromise"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "mpromise-0.3.0";
     src = [
       (fetchurl {
@@ -9073,15 +7427,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mpromise"."0.3.0" or []);
+      (self.nativeDeps."mpromise" or []);
     deps = [
-      self.full."sliced"."0.0.5"
+      self.by-version."sliced"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mpromise" ];
   };
-  full."mquery"."0.3.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mquery"."0.3.2" =
+    self.by-version."mquery"."0.3.2";
+  by-version."mquery"."0.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "mquery-0.3.2";
     src = [
       (fetchurl {
@@ -9090,17 +7446,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mquery"."0.3.2" or []);
+      (self.nativeDeps."mquery" or []);
     deps = [
-      self.full."sliced"."0.0.5"
-      self.full."debug"."0.7.0"
-      self.full."regexp-clone"."0.0.1"
+      self.by-version."sliced"."0.0.5"
+      self.by-version."debug"."0.7.0"
+      self.by-version."regexp-clone"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mquery" ];
   };
-  full."ms"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ms"."0.1.0" =
+    self.by-version."ms"."0.1.0";
+  by-version."ms"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "ms-0.1.0";
     src = [
       (fetchurl {
@@ -9109,14 +7467,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ms"."0.1.0" or []);
+      (self.nativeDeps."ms" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ms" ];
   };
-  full."msgpack".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."msgpack".">= 0.0.1" =
+    self.by-version."msgpack"."0.2.1";
+  by-version."msgpack"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "msgpack-0.2.1";
     src = [
       (fetchurl {
@@ -9125,14 +7485,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."msgpack".">= 0.0.1" or []);
+      (self.nativeDeps."msgpack" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "msgpack" ];
   };
-  full."multiparty"."2.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."multiparty"."2.2.0" =
+    self.by-version."multiparty"."2.2.0";
+  by-version."multiparty"."2.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "multiparty-2.2.0";
     src = [
       (fetchurl {
@@ -9141,16 +7503,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."multiparty"."2.2.0" or []);
+      (self.nativeDeps."multiparty" or []);
     deps = [
-      self.full."readable-stream"."~1.1.9"
-      self.full."stream-counter"."~0.2.0"
+      self.by-version."readable-stream"."1.1.9"
+      self.by-version."stream-counter"."0.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "multiparty" ];
   };
-  full."muri"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."muri"."0.3.1" =
+    self.by-version."muri"."0.3.1";
+  by-version."muri"."0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "muri-0.3.1";
     src = [
       (fetchurl {
@@ -9159,14 +7523,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."muri"."0.3.1" or []);
+      (self.nativeDeps."muri" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "muri" ];
   };
-  full."mute-stream"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mute-stream"."0.0.3" =
+    self.by-version."mute-stream"."0.0.3";
+  by-version."mute-stream"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "mute-stream-0.0.3";
     src = [
       (fetchurl {
@@ -9175,14 +7541,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mute-stream"."0.0.3" or []);
+      (self.nativeDeps."mute-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mute-stream" ];
   };
-  full."mute-stream"."~0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mute-stream"."~0.0.4" =
+    self.by-version."mute-stream"."0.0.4";
+  by-version."mute-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "mute-stream-0.0.4";
     src = [
       (fetchurl {
@@ -9191,14 +7559,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mute-stream"."~0.0.4" or []);
+      (self.nativeDeps."mute-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mute-stream" ];
   };
-  full."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."mv"."0.0.5" =
+    self.by-version."mv"."0.0.5";
+  by-version."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "mv-0.0.5";
     src = [
       (fetchurl {
@@ -9207,14 +7577,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."mv"."0.0.5" or []);
+      (self.nativeDeps."mv" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "mv" ];
   };
-  full."nan"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nan"."~0.3.0" =
+    self.by-version."nan"."0.3.2";
+  by-version."nan"."0.3.2" = lib.makeOverridable self.buildNodePackage {
     name = "nan-0.3.2";
     src = [
       (fetchurl {
@@ -9223,14 +7595,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nan"."~0.3.0" or []);
+      (self.nativeDeps."nan" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nan" ];
   };
-  full."natural"."0.0.69" = lib.makeOverridable self.buildNodePackage {
+  by-spec."natural"."0.0.69" =
+    self.by-version."natural"."0.0.69";
+  by-version."natural"."0.0.69" = lib.makeOverridable self.buildNodePackage {
     name = "natural-0.0.69";
     src = [
       (fetchurl {
@@ -9239,38 +7613,42 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."natural"."0.0.69" or []);
+      (self.nativeDeps."natural" or []);
     deps = [
-      self.full."sylvester".">= 0.0.12"
-      self.full."apparatus".">= 0.0.4"
-      self.full."underscore"."*"
+      self.by-version."sylvester"."0.0.21"
+      self.by-version."apparatus"."0.0.7"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "natural" ];
   };
-  full."nconf"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "nconf-0.6.7";
+  by-spec."nconf"."*" =
+    self.by-version."nconf"."0.6.8";
+  by-version."nconf"."0.6.8" = lib.makeOverridable self.buildNodePackage {
+    name = "nconf-0.6.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nconf/-/nconf-0.6.7.tgz";
-        sha1 = "f2ffce75f4573857429c719d9f6ed0a9a231a47c";
+        url = "http://registry.npmjs.org/nconf/-/nconf-0.6.8.tgz";
+        sha1 = "bb54b5f660eb3f44d8b2cdccaa5d60453973ffb0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nconf"."*" or []);
+      (self.nativeDeps."nconf" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."ini"."1.x.x"
-      self.full."optimist"."0.3.x"
-      self.full."pkginfo"."0.2.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."ini"."1.1.0"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."pkginfo"."0.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nconf" ];
   };
-  "nconf" = self.full."nconf"."*";
-  full."nconf"."0.6.7" = lib.makeOverridable self.buildNodePackage {
+  "nconf" = self.by-version."nconf"."0.6.8";
+  by-spec."nconf"."0.6.7" =
+    self.by-version."nconf"."0.6.7";
+  by-version."nconf"."0.6.7" = lib.makeOverridable self.buildNodePackage {
     name = "nconf-0.6.7";
     src = [
       (fetchurl {
@@ -9279,18 +7657,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nconf"."0.6.7" or []);
+      (self.nativeDeps."nconf" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."ini"."1.x.x"
-      self.full."optimist"."0.3.x"
-      self.full."pkginfo"."0.2.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."ini"."1.1.0"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."pkginfo"."0.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nconf" ];
   };
-  full."ncp"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ncp"."0.2.x" =
+    self.by-version."ncp"."0.2.7";
+  by-version."ncp"."0.2.7" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.2.7";
     src = [
       (fetchurl {
@@ -9299,14 +7679,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ncp"."0.2.x" or []);
+      (self.nativeDeps."ncp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ncp" ];
   };
-  full."ncp"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ncp"."0.4.2" =
+    self.by-version."ncp"."0.4.2";
+  by-version."ncp"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "ncp-0.4.2";
     src = [
       (fetchurl {
@@ -9315,14 +7697,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ncp"."0.4.2" or []);
+      (self.nativeDeps."ncp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ncp" ];
   };
-  full."negotiator"."0.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ncp"."~0.4.2" =
+    self.by-version."ncp"."0.4.2";
+  by-spec."negotiator"."0.2.5" =
+    self.by-version."negotiator"."0.2.5";
+  by-version."negotiator"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "negotiator-0.2.5";
     src = [
       (fetchurl {
@@ -9331,14 +7717,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."negotiator"."0.2.5" or []);
+      (self.nativeDeps."negotiator" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "negotiator" ];
   };
-  full."net-ping"."1.1.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."negotiator"."0.3.0" =
+    self.by-version."negotiator"."0.3.0";
+  by-version."negotiator"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "negotiator-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz";
+        sha1 = "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."negotiator" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "negotiator" ];
+  };
+  by-spec."net-ping"."1.1.7" =
+    self.by-version."net-ping"."1.1.7";
+  by-version."net-ping"."1.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "net-ping-1.1.7";
     src = [
       (fetchurl {
@@ -9347,15 +7753,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."net-ping"."1.1.7" or []);
+      (self.nativeDeps."net-ping" or []);
     deps = [
-      self.full."raw-socket"."*"
+      self.by-version."raw-socket"."1.2.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "net-ping" ];
   };
-  full."next-tick"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."next-tick"."0.1.x" =
+    self.by-version."next-tick"."0.1.0";
+  by-version."next-tick"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "next-tick-0.1.0";
     src = [
       (fetchurl {
@@ -9364,14 +7772,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."next-tick"."0.1.x" or []);
+      (self.nativeDeps."next-tick" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "next-tick" ];
   };
-  full."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nib"."0.5.0" =
+    self.by-version."nib"."0.5.0";
+  by-version."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage {
     name = "nib-0.5.0";
     src = [
       (fetchurl {
@@ -9380,14 +7790,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nib"."0.5.0" or []);
+      (self.nativeDeps."nib" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nib" ];
   };
-  full."nijs"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nijs"."*" =
+    self.by-version."nijs"."0.0.12";
+  by-version."nijs"."0.0.12" = lib.makeOverridable self.buildNodePackage {
     name = "nijs-0.0.12";
     src = [
       (fetchurl {
@@ -9396,16 +7808,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nijs"."*" or []);
+      (self.nativeDeps."nijs" or []);
     deps = [
-      self.full."optparse".">= 1.0.3"
+      self.by-version."optparse"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nijs" ];
   };
-  "nijs" = self.full."nijs"."*";
-  full."node-expat"."*" = lib.makeOverridable self.buildNodePackage {
+  "nijs" = self.by-version."nijs"."0.0.12";
+  by-spec."node-expat"."*" =
+    self.by-version."node-expat"."2.0.0";
+  by-version."node-expat"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "node-expat-2.0.0";
     src = [
       (fetchurl {
@@ -9414,126 +7828,105 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-expat"."*" or []);
+      (self.nativeDeps."node-expat" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-expat" ];
   };
-  "node-expat" = self.full."node-expat"."*";
-  full."node-gyp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.10.10";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.10.tgz";
-        sha1 = "74290b46b72046d648d301fae3813feb0d07edd9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-gyp"."*" or []);
-    deps = [
-      self.full."glob"."3"
-      self.full."graceful-fs"."2"
-      self.full."fstream"."0"
-      self.full."minimatch"."0"
-      self.full."mkdirp"."0"
-      self.full."nopt"."2"
-      self.full."npmlog"."0"
-      self.full."osenv"."0"
-      self.full."request"."2"
-      self.full."rimraf"."2"
-      self.full."semver"."~2.1"
-      self.full."tar"."0"
-      self.full."which"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-gyp" ];
-  };
-  "node-gyp" = self.full."node-gyp"."*";
-  full."node-gyp"."~0.10.10" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.10.10";
+  "node-expat" = self.by-version."node-expat"."2.0.0";
+  by-spec."node-gyp"."*" =
+    self.by-version."node-gyp"."0.12.1";
+  by-version."node-gyp"."0.12.1" = lib.makeOverridable self.buildNodePackage {
+    name = "node-gyp-0.12.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.10.tgz";
-        sha1 = "74290b46b72046d648d301fae3813feb0d07edd9";
+        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.12.1.tgz";
+        sha1 = "6da8a1c248b9dc73d2e14e1cd216efef3bdd7911";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-gyp"."~0.10.10" or []);
+      (self.nativeDeps."node-gyp" or []);
     deps = [
-      self.full."glob"."3"
-      self.full."graceful-fs"."2"
-      self.full."fstream"."0"
-      self.full."minimatch"."0"
-      self.full."mkdirp"."0"
-      self.full."nopt"."2"
-      self.full."npmlog"."0"
-      self.full."osenv"."0"
-      self.full."request"."2"
-      self.full."rimraf"."2"
-      self.full."semver"."~2.1"
-      self.full."tar"."0"
-      self.full."which"."1"
+      self.by-version."glob"."3.2.7"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."fstream"."0.1.24"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."npmlog"."0.0.6"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."request"."2.27.0"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."tar"."0.1.18"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-gyp" ];
   };
-  full."node-gyp"."~0.10.2" = lib.makeOverridable self.buildNodePackage {
-    name = "node-gyp-0.10.10";
+  "node-gyp" = self.by-version."node-gyp"."0.12.1";
+  by-spec."node-gyp"."~0.11.0" =
+    self.by-version."node-gyp"."0.11.0";
+  by-version."node-gyp"."0.11.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-gyp-0.11.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.10.tgz";
-        sha1 = "74290b46b72046d648d301fae3813feb0d07edd9";
+        url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.11.0.tgz";
+        sha1 = "ee61d3f9a2cf4e9e2c00293d86620096e0184411";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-gyp"."~0.10.2" or []);
+      (self.nativeDeps."node-gyp" or []);
     deps = [
-      self.full."glob"."3"
-      self.full."graceful-fs"."2"
-      self.full."fstream"."0"
-      self.full."minimatch"."0"
-      self.full."mkdirp"."0"
-      self.full."nopt"."2"
-      self.full."npmlog"."0"
-      self.full."osenv"."0"
-      self.full."request"."2"
-      self.full."rimraf"."2"
-      self.full."semver"."~2.1"
-      self.full."tar"."0"
-      self.full."which"."1"
+      self.by-version."glob"."3.2.7"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."fstream"."0.1.24"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."npmlog"."0.0.6"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."request"."2.27.0"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."tar"."0.1.18"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-gyp" ];
   };
-  full."node-inspector"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "node-inspector-0.5.0";
+  by-spec."node-inspector"."*" =
+    self.by-version."node-inspector"."0.6.0";
+  by-version."node-inspector"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+    name = "node-inspector-0.6.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/node-inspector/-/node-inspector-0.5.0.tgz";
-        sha1 = "3104821cb4d6436212331ef3f3539943fd370603";
+        url = "http://registry.npmjs.org/node-inspector/-/node-inspector-0.6.0.tgz";
+        sha1 = "4981dbbaf3cc3cc7a75040af17c4120c559ffbb0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-inspector"."*" or []);
+      (self.nativeDeps."node-inspector" or []);
     deps = [
-      self.full."socket.io"."~0.9.14"
-      self.full."express"."~3.4"
-      self.full."async"."~0.2.8"
-      self.full."glob"."~3.2.1"
-      self.full."rc"."~0.3.0"
-      self.full."strong-data-uri"."~0.1.0"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."express"."3.4.4"
+      self.by-version."async"."0.2.9"
+      self.by-version."glob"."3.2.7"
+      self.by-version."rc"."0.3.1"
+      self.by-version."strong-data-uri"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-inspector" ];
   };
-  "node-inspector" = self.full."node-inspector"."*";
-  full."node-syslog"."1.1.3" = lib.makeOverridable self.buildNodePackage {
+  "node-inspector" = self.by-version."node-inspector"."0.6.0";
+  by-spec."node-syslog"."1.1.3" =
+    self.by-version."node-syslog"."1.1.3";
+  by-version."node-syslog"."1.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "node-syslog-1.1.3";
     src = [
       (fetchurl {
@@ -9542,14 +7935,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-syslog"."1.1.3" or []);
+      (self.nativeDeps."node-syslog" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-syslog" ];
   };
-  full."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" =
+    self.by-version."node-uptime"."3.2.0";
+  by-version."node-uptime"."3.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "node-uptime-3.2.0";
     src = [
       (fetchurl {
@@ -9558,29 +7953,31 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" or []);
+      (self.nativeDeps."node-uptime" or []);
     deps = [
-      self.full."mongoose"."3.6.7"
-      self.full."mongoose-lifecycle"."1.0.0"
-      self.full."express"."3.2.0"
-      self.full."express-partials"."0.0.6"
-      self.full."connect-flash"."0.1.0"
-      self.full."ejs"."0.8.3"
-      self.full."config"."0.4.15"
-      self.full."async"."0.1.22"
-      self.full."socket.io"."0.9.14"
-      self.full."semver"."1.1.0"
-      self.full."moment"."2.1.0"
-      self.full."nodemailer"."0.3.35"
-      self.full."net-ping"."1.1.7"
-      self.full."js-yaml"."2.1.0"
+      self.by-version."mongoose"."3.6.7"
+      self.by-version."mongoose-lifecycle"."1.0.0"
+      self.by-version."express"."3.2.0"
+      self.by-version."express-partials"."0.0.6"
+      self.by-version."connect-flash"."0.1.0"
+      self.by-version."ejs"."0.8.3"
+      self.by-version."config"."0.4.15"
+      self.by-version."async"."0.1.22"
+      self.by-version."socket.io"."0.9.14"
+      self.by-version."semver"."1.1.0"
+      self.by-version."moment"."2.1.0"
+      self.by-version."nodemailer"."0.3.35"
+      self.by-version."net-ping"."1.1.7"
+      self.by-version."js-yaml"."2.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uptime" ];
   };
-  "node-uptime" = self.full."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
-  full."node-uuid"."*" = lib.makeOverridable self.buildNodePackage {
+  "node-uptime" = self.by-version."node-uptime"."3.2.0";
+  by-spec."node-uuid"."*" =
+    self.by-version."node-uuid"."1.4.1";
+  by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "node-uuid-1.4.1";
     src = [
       (fetchurl {
@@ -9589,15 +7986,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."*" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  "node-uuid" = self.full."node-uuid"."*";
-  full."node-uuid"."1.2.0" = lib.makeOverridable self.buildNodePackage {
+  "node-uuid" = self.by-version."node-uuid"."1.4.1";
+  by-spec."node-uuid"."1.2.0" =
+    self.by-version."node-uuid"."1.2.0";
+  by-version."node-uuid"."1.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "node-uuid-1.2.0";
     src = [
       (fetchurl {
@@ -9606,14 +8005,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."1.2.0" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  full."node-uuid"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."node-uuid"."1.3.3" =
+    self.by-version."node-uuid"."1.3.3";
+  by-version."node-uuid"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "node-uuid-1.3.3";
     src = [
       (fetchurl {
@@ -9622,14 +8023,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."1.3.3" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  full."node-uuid"."1.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."node-uuid"."1.4.0" =
+    self.by-version."node-uuid"."1.4.0";
+  by-version."node-uuid"."1.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "node-uuid-1.4.0";
     src = [
       (fetchurl {
@@ -9638,30 +8041,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node-uuid"."1.4.0" or []);
+      (self.nativeDeps."node-uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node-uuid" ];
   };
-  full."node-uuid"."~1.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.4.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
-        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-uuid"."~1.4.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-uuid" ];
-  };
-  full."node.extend"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."node-uuid"."~1.4.0" =
+    self.by-version."node-uuid"."1.4.1";
+  by-spec."node.extend"."1.0.0" =
+    self.by-version."node.extend"."1.0.0";
+  by-version."node.extend"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "node.extend-1.0.0";
     src = [
       (fetchurl {
@@ -9670,14 +8061,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."node.extend"."1.0.0" or []);
+      (self.nativeDeps."node.extend" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "node.extend" ];
   };
-  full."nodemailer"."0.3.35" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nodemailer"."0.3.35" =
+    self.by-version."nodemailer"."0.3.35";
+  by-version."nodemailer"."0.3.35" = lib.makeOverridable self.buildNodePackage {
     name = "nodemailer-0.3.35";
     src = [
       (fetchurl {
@@ -9686,52 +8079,59 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nodemailer"."0.3.35" or []);
+      (self.nativeDeps."nodemailer" or []);
     deps = [
-      self.full."mailcomposer".">= 0.1.27"
-      self.full."simplesmtp".">= 0.1.22"
-      self.full."optimist"."*"
+      self.by-version."mailcomposer"."0.2.3"
+      self.by-version."simplesmtp"."0.3.14"
+      self.by-version."optimist"."0.6.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nodemailer" ];
   };
-  full."nodemon"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "nodemon-0.7.10";
+  by-spec."nodemon"."*" =
+    self.by-version."nodemon"."0.9.7";
+  by-version."nodemon"."0.9.7" = lib.makeOverridable self.buildNodePackage {
+    name = "nodemon-0.9.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nodemon/-/nodemon-0.7.10.tgz";
-        sha1 = "695a01b9458b115b03bbe01696d361bd50b4fb9b";
+        url = "http://registry.npmjs.org/nodemon/-/nodemon-0.9.7.tgz";
+        sha1 = "bfce004cf399d6785809addaabd6821e20805bd6";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nodemon"."*" or []);
+      (self.nativeDeps."nodemon" or []);
     deps = [
+      self.by-version."update-notifier"."0.1.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nodemon" ];
   };
-  "nodemon" = self.full."nodemon"."*";
-  full."nomnom"."1.6.x" = lib.makeOverridable self.buildNodePackage {
-    name = "nomnom-1.6.1";
+  "nodemon" = self.by-version."nodemon"."0.9.7";
+  by-spec."nomnom"."1.6.x" =
+    self.by-version."nomnom"."1.6.2";
+  by-version."nomnom"."1.6.2" = lib.makeOverridable self.buildNodePackage {
+    name = "nomnom-1.6.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.1.tgz";
-        sha1 = "bfed4506642d81278738e891c557e80694c1e0c9";
+        url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz";
+        sha1 = "84a66a260174408fc5b77a18f888eccc44fb6971";
       })
     ];
     buildInputs =
-      (self.nativeDeps."nomnom"."1.6.x" or []);
+      (self.nativeDeps."nomnom" or []);
     deps = [
-      self.full."colors"."0.5.x"
-      self.full."underscore"."~1.4.4"
+      self.by-version."colors"."0.5.1"
+      self.by-version."underscore"."1.4.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nomnom" ];
   };
-  full."nopt"."2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nopt"."2" =
+    self.by-version."nopt"."2.1.2";
+  by-version."nopt"."2.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.1.2";
     src = [
       (fetchurl {
@@ -9740,15 +8140,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."2" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."nopt"."2.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nopt"."2.0.0" =
+    self.by-version."nopt"."2.0.0";
+  by-version."nopt"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-2.0.0";
     src = [
       (fetchurl {
@@ -9757,32 +8159,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."2.0.0" or []);
-    deps = [
-      self.full."abbrev"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
-  full."nopt"."2.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt"."2.1.x" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."nopt"."~1.0.10" = lib.makeOverridable self.buildNodePackage {
+  by-spec."nopt"."2.1.x" =
+    self.by-version."nopt"."2.1.2";
+  by-spec."nopt"."~1.0.10" =
+    self.by-version."nopt"."1.0.10";
+  by-version."nopt"."1.0.10" = lib.makeOverridable self.buildNodePackage {
     name = "nopt-1.0.10";
     src = [
       (fetchurl {
@@ -9791,182 +8180,105 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nopt"."~1.0.10" or []);
-    deps = [
-      self.full."abbrev"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
-  full."nopt"."~2.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt"."~2.1.1" or []);
-    deps = [
-      self.full."abbrev"."1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "nopt" ];
-  };
-  full."nopt"."~2.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "nopt-2.1.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
-        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nopt"."~2.1.2" or []);
+      (self.nativeDeps."nopt" or []);
     deps = [
-      self.full."abbrev"."1"
+      self.by-version."abbrev"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nopt" ];
   };
-  full."normalize-package-data"."~0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "normalize-package-data-0.2.6";
+  by-spec."nopt"."~2.1.1" =
+    self.by-version."nopt"."2.1.2";
+  by-spec."nopt"."~2.1.2" =
+    self.by-version."nopt"."2.1.2";
+  by-spec."normalize-package-data"."~0.2.7" =
+    self.by-version."normalize-package-data"."0.2.7";
+  by-version."normalize-package-data"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "normalize-package-data-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.6.tgz";
-        sha1 = "830bda1412f7ccae09b903fc080edbcdbb0947c0";
+        url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.7.tgz";
+        sha1 = "0f075fa2d1f9ba23a854c4c56818c4077638f72a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."normalize-package-data"."~0.2" or []);
+      (self.nativeDeps."normalize-package-data" or []);
     deps = [
-      self.full."semver"."2"
-      self.full."github-url-from-git"."~1.1.1"
+      self.by-version."semver"."2.2.1"
+      self.by-version."github-url-from-git"."1.1.1"
+      self.by-version."github-url-from-username-repo"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "normalize-package-data" ];
   };
-  full."npm"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-1.3.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm/-/npm-1.3.11.tgz";
-        sha1 = "4bf7f005fe1038c4fe9207603b961c97bd0ba5a3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm"."*" or []);
-    deps = [
-      self.full."semver"."~2.1.0"
-      self.full."ini"."~1.1.0"
-      self.full."slide"."~1.1.5"
-      self.full."abbrev"."~1.0.4"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."minimatch"."~0.2.12"
-      self.full."nopt"."~2.1.2"
-      self.full."rimraf"."~2.2.0"
-      self.full."request"."~2.27.0"
-      self.full."which"."1"
-      self.full."tar"."~0.1.18"
-      self.full."fstream"."~0.1.23"
-      self.full."block-stream"."0.0.7"
-      self.full."mkdirp"."~0.3.3"
-      self.full."read"."~1.0.4"
-      self.full."lru-cache"."~2.3.1"
-      self.full."node-gyp"."~0.10.10"
-      self.full."fstream-npm"."~0.1.3"
-      self.full."uid-number"."0"
-      self.full."archy"."0"
-      self.full."chownr"."0"
-      self.full."npmlog"."0.0.4"
-      self.full."ansi"."~0.1.2"
-      self.full."npm-registry-client"."~0.2.28"
-      self.full."read-package-json"."~1.1.3"
-      self.full."read-installed"."~0.2.2"
-      self.full."glob"."~3.2.6"
-      self.full."init-package-json"."0.0.11"
-      self.full."osenv"."0"
-      self.full."lockfile"."~0.4.0"
-      self.full."retry"."~0.6.0"
-      self.full."once"."~1.1.1"
-      self.full."npmconf"."~0.1.2"
-      self.full."opener"."~1.3.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."cmd-shim"."~1.0.1"
-      self.full."sha"."~1.2.1"
-      self.full."editor"."0.0.4"
-      self.full."child-process-close"."~0.1.1"
-      self.full."npm-user-validate"."0.0.3"
-      self.full."github-url-from-git"."1.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm" ];
-  };
-  "npm" = self.full."npm"."*";
-  full."npm"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-1.3.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm/-/npm-1.3.1.tgz";
-        sha1 = "c64f1c82362254cd4804a3dea5efbe6ec396460c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm"."1.3.1" or []);
-    deps = [
-      self.full."semver"."~2.0.8"
-      self.full."ini"."~1.1.0"
-      self.full."slide"."~1.1.4"
-      self.full."abbrev"."~1.0.4"
-      self.full."graceful-fs"."~1.2.2"
-      self.full."minimatch"."~0.2.12"
-      self.full."nopt"."~2.1.1"
-      self.full."rimraf"."~2.2.0"
-      self.full."request"."~2.21.0"
-      self.full."which"."1"
-      self.full."tar"."~0.1.17"
-      self.full."fstream"."~0.1.22"
-      self.full."block-stream"."*"
-      self.full."inherits"."1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."read"."~1.0.4"
-      self.full."lru-cache"."~2.3.0"
-      self.full."node-gyp"."~0.10.2"
-      self.full."fstream-npm"."~0.1.3"
-      self.full."uid-number"."0"
-      self.full."archy"."0"
-      self.full."chownr"."0"
-      self.full."npmlog"."0.0.3"
-      self.full."ansi"."~0.1.2"
-      self.full."npm-registry-client"."~0.2.25"
-      self.full."read-package-json"."~1.1.0"
-      self.full."read-installed"."~0.2.2"
-      self.full."glob"."~3.2.1"
-      self.full."init-package-json"."0.0.10"
-      self.full."osenv"."0"
-      self.full."lockfile"."~0.3.2"
-      self.full."retry"."~0.6.0"
-      self.full."once"."~1.1.1"
-      self.full."npmconf"."~0.1.1"
-      self.full."opener"."~1.3.0"
-      self.full."chmodr"."~0.1.0"
-      self.full."cmd-shim"."~1.1.0"
-      self.full."sha"."~1.0.1"
-      self.full."editor"."0.0.4"
-      self.full."child-process-close"."~0.1.1"
-      self.full."npm-user-validate"."0.0.3"
+  by-spec."npm"."*" =
+    self.by-version."npm"."1.3.14";
+  by-version."npm"."1.3.14" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-1.3.14";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/npm/-/npm-1.3.14.tgz";
+        sha1 = "9359a79309dbfef0d5443e0cd46129b9bbc88eab";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."npm" or []);
+    deps = [
+      self.by-version."semver"."2.2.1"
+      self.by-version."ini"."1.1.0"
+      self.by-version."slide"."1.1.5"
+      self.by-version."abbrev"."1.0.4"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."minimatch"."0.2.12"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."request"."2.27.0"
+      self.by-version."which"."1.0.5"
+      self.by-version."tar"."0.1.18"
+      self.by-version."fstream"."0.1.24"
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."read"."1.0.5"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."node-gyp"."0.11.0"
+      self.by-version."fstream-npm"."0.1.6"
+      self.by-version."uid-number"."0.0.3"
+      self.by-version."archy"."0.0.2"
+      self.by-version."chownr"."0.0.1"
+      self.by-version."npmlog"."0.0.6"
+      self.by-version."ansi"."0.2.1"
+      self.by-version."npm-registry-client"."0.2.29"
+      self.by-version."read-package-json"."1.1.4"
+      self.by-version."read-installed"."0.2.4"
+      self.by-version."glob"."3.2.7"
+      self.by-version."init-package-json"."0.0.11"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."lockfile"."0.4.2"
+      self.by-version."retry"."0.6.0"
+      self.by-version."once"."1.3.0"
+      self.by-version."npmconf"."0.1.5"
+      self.by-version."opener"."1.3.0"
+      self.by-version."chmodr"."0.1.0"
+      self.by-version."cmd-shim"."1.1.1"
+      self.by-version."sha"."1.2.3"
+      self.by-version."editor"."0.0.5"
+      self.by-version."child-process-close"."0.1.1"
+      self.by-version."npm-user-validate"."0.0.3"
+      self.by-version."github-url-from-git"."1.1.1"
+      self.by-version."github-url-from-username-repo"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm" ];
   };
-  full."npm-registry-client"."0.2.27" = lib.makeOverridable self.buildNodePackage {
+  "npm" = self.by-version."npm"."1.3.14";
+  by-spec."npm"."~1.3.13" =
+    self.by-version."npm"."1.3.14";
+  by-spec."npm-registry-client"."0.2.27" =
+    self.by-version."npm-registry-client"."0.2.27";
+  by-version."npm-registry-client"."0.2.27" = lib.makeOverridable self.buildNodePackage {
     name = "npm-registry-client-0.2.27";
     src = [
       (fetchurl {
@@ -9975,76 +8287,54 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-registry-client"."0.2.27" or []);
+      (self.nativeDeps."npm-registry-client" or []);
     deps = [
-      self.full."request"."2 >=2.20.0"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."semver"."~2.0.5"
-      self.full."slide"."~1.1.3"
-      self.full."chownr"."0"
-      self.full."mkdirp"."~0.3.3"
-      self.full."rimraf"."~2"
-      self.full."retry"."0.6.0"
-      self.full."couch-login"."~0.1.15"
-      self.full."npmlog"."*"
+      self.by-version."request"."2.27.0"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."semver"."2.0.11"
+      self.by-version."slide"."1.1.5"
+      self.by-version."chownr"."0.0.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."retry"."0.6.0"
+      self.by-version."couch-login"."0.1.18"
+      self.by-version."npmlog"."0.0.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  full."npm-registry-client"."~0.2.25" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-registry-client-0.2.28";
+  by-spec."npm-registry-client"."~0.2.29" =
+    self.by-version."npm-registry-client"."0.2.29";
+  by-version."npm-registry-client"."0.2.29" = lib.makeOverridable self.buildNodePackage {
+    name = "npm-registry-client-0.2.29";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.28.tgz";
-        sha1 = "959141fc0180d7b1ad089e87015a8a2142a8bffc";
+        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.29.tgz";
+        sha1 = "66ff2766f0c61d41e8a6139d3692d8833002c686";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-registry-client"."~0.2.25" or []);
+      (self.nativeDeps."npm-registry-client" or []);
     deps = [
-      self.full."request"."2 >=2.25.0"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."semver"."~2.1.0"
-      self.full."slide"."~1.1.3"
-      self.full."chownr"."0"
-      self.full."mkdirp"."~0.3.3"
-      self.full."rimraf"."~2"
-      self.full."retry"."0.6.0"
-      self.full."couch-login"."~0.1.18"
-      self.full."npmlog"."*"
+      self.by-version."request"."2.27.0"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."semver"."2.2.1"
+      self.by-version."slide"."1.1.5"
+      self.by-version."chownr"."0.0.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."retry"."0.6.0"
+      self.by-version."couch-login"."0.1.18"
+      self.by-version."npmlog"."0.0.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm-registry-client" ];
   };
-  full."npm-registry-client"."~0.2.28" = lib.makeOverridable self.buildNodePackage {
-    name = "npm-registry-client-0.2.28";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.28.tgz";
-        sha1 = "959141fc0180d7b1ad089e87015a8a2142a8bffc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npm-registry-client"."~0.2.28" or []);
-    deps = [
-      self.full."request"."2 >=2.25.0"
-      self.full."graceful-fs"."~2.0.0"
-      self.full."semver"."~2.1.0"
-      self.full."slide"."~1.1.3"
-      self.full."chownr"."0"
-      self.full."mkdirp"."~0.3.3"
-      self.full."rimraf"."~2"
-      self.full."retry"."0.6.0"
-      self.full."couch-login"."~0.1.18"
-      self.full."npmlog"."*"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npm-registry-client" ];
-  };
-  full."npm-user-validate"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."npm-user-validate"."0.0.3" =
+    self.by-version."npm-user-validate"."0.0.3";
+  by-version."npm-user-validate"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "npm-user-validate-0.0.3";
     src = [
       (fetchurl {
@@ -10053,36 +8343,43 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm-user-validate"."0.0.3" or []);
+      (self.nativeDeps."npm-user-validate" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm-user-validate" ];
   };
-  full."npm2nix"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "npm2nix-5.1.0";
+  by-spec."npm2nix"."*" =
+    self.by-version."npm2nix"."5.3.0";
+  by-version."npm2nix"."5.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "npm2nix-5.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.1.0.tgz";
-        sha1 = "a6b21174d57fdc31cf67849ffc72083bcae0e2ed";
+        url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.3.0.tgz";
+        sha1 = "ff5d66824033dd8815cc74c661ea30956eba2664";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npm2nix"."*" or []);
+      (self.nativeDeps."npm2nix" or []);
     deps = [
-      self.full."semver".">=2.0.10 <3.0.0"
-      self.full."argparse"."0.1.15"
-      self.full."npm-registry-client"."0.2.27"
-      self.full."npmconf"."0.1.1"
-      self.full."tar"."0.1.17"
+      self.by-version."semver"."2.2.1"
+      self.by-version."argparse"."0.1.15"
+      self.by-version."npm-registry-client"."0.2.27"
+      self.by-version."npmconf"."0.1.1"
+      self.by-version."tar"."0.1.17"
+      self.by-version."temp"."0.6.0"
+      self.by-version."fs.extra"."1.2.1"
+      self.by-version."findit"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npm2nix" ];
   };
-  "npm2nix" = self.full."npm2nix"."*";
-  full."npmconf"."0.0.24" = lib.makeOverridable self.buildNodePackage {
+  "npm2nix" = self.by-version."npm2nix"."5.3.0";
+  by-spec."npmconf"."0.0.24" =
+    self.by-version."npmconf"."0.0.24";
+  by-version."npmconf"."0.0.24" = lib.makeOverridable self.buildNodePackage {
     name = "npmconf-0.0.24";
     src = [
       (fetchurl {
@@ -10091,22 +8388,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."0.0.24" or []);
+      (self.nativeDeps."npmconf" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~1.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."~1.1.0"
-      self.full."ini"."~1.1.0"
+      self.by-version."config-chain"."1.1.8"
+      self.by-version."inherits"."1.0.0"
+      self.by-version."once"."1.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."semver"."1.1.4"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  full."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."npmconf"."0.1.1" =
+    self.by-version."npmconf"."0.1.1";
+  by-version."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "npmconf-0.1.1";
     src = [
       (fetchurl {
@@ -10115,138 +8414,75 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."0.1.1" or []);
-    deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~1.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."2"
-      self.full."ini"."~1.1.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmconf" ];
-  };
-  full."npmconf"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.3.tgz";
-        sha1 = "e17832649a36785f086dac3d50705508e4f996e6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmconf"."~0.1.1" or []);
+      (self.nativeDeps."npmconf" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~2.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."2"
-      self.full."ini"."~1.1.0"
+      self.by-version."config-chain"."1.1.8"
+      self.by-version."inherits"."1.0.0"
+      self.by-version."once"."1.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  full."npmconf"."~0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "npmconf-0.1.3";
+  by-spec."npmconf"."~0.1.2" =
+    self.by-version."npmconf"."0.1.5";
+  by-version."npmconf"."0.1.5" = lib.makeOverridable self.buildNodePackage {
+    name = "npmconf-0.1.5";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.3.tgz";
-        sha1 = "e17832649a36785f086dac3d50705508e4f996e6";
+        url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.5.tgz";
+        sha1 = "4201814e155df33a042a7f5405decb53447ae8cf";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmconf"."~0.1.2" or []);
+      (self.nativeDeps."npmconf" or []);
     deps = [
-      self.full."config-chain"."~1.1.1"
-      self.full."inherits"."~2.0.0"
-      self.full."once"."~1.1.1"
-      self.full."mkdirp"."~0.3.3"
-      self.full."osenv"."0.0.3"
-      self.full."nopt"."2"
-      self.full."semver"."2"
-      self.full."ini"."~1.1.0"
+      self.by-version."config-chain"."1.1.8"
+      self.by-version."inherits"."2.0.1"
+      self.by-version."once"."1.3.0"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."osenv"."0.0.3"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmconf" ];
   };
-  full."npmlog"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
-        sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmlog"."*" or []);
-    deps = [
-      self.full."ansi"."~0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmlog" ];
-  };
-  full."npmlog"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
-        sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmlog"."0" or []);
-    deps = [
-      self.full."ansi"."~0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmlog" ];
-  };
-  full."npmlog"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.3";
+  by-spec."npmconf"."~0.1.5" =
+    self.by-version."npmconf"."0.1.5";
+  by-spec."npmlog"."*" =
+    self.by-version."npmlog"."0.0.6";
+  by-version."npmlog"."0.0.6" = lib.makeOverridable self.buildNodePackage {
+    name = "npmlog-0.0.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.3.tgz";
-        sha1 = "c424ad1531af402eef8da201fc3d63bdbd37dacb";
+        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.6.tgz";
+        sha1 = "685043fe71aa1665d6e3b2acef180640caf40873";
       })
     ];
     buildInputs =
-      (self.nativeDeps."npmlog"."0.0.3" or []);
+      (self.nativeDeps."npmlog" or []);
     deps = [
-      self.full."ansi"."~0.1.2"
+      self.by-version."ansi"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "npmlog" ];
   };
-  full."npmlog"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "npmlog-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
-        sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."npmlog"."0.0.4" or []);
-    deps = [
-      self.full."ansi"."~0.1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "npmlog" ];
-  };
-  full."nssocket"."~0.5.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."npmlog"."0" =
+    self.by-version."npmlog"."0.0.6";
+  by-spec."npmlog"."0.0.6" =
+    self.by-version."npmlog"."0.0.6";
+  by-spec."nssocket"."~0.5.1" =
+    self.by-version."nssocket"."0.5.1";
+  by-version."nssocket"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "nssocket-0.5.1";
     src = [
       (fetchurl {
@@ -10255,16 +8491,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."nssocket"."~0.5.1" or []);
+      (self.nativeDeps."nssocket" or []);
     deps = [
-      self.full."eventemitter2"."~0.4.11"
-      self.full."lazy"."~1.0.11"
+      self.by-version."eventemitter2"."0.4.13"
+      self.by-version."lazy"."1.0.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "nssocket" ];
   };
-  full."oauth-sign"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."oauth-sign"."~0.2.0" =
+    self.by-version."oauth-sign"."0.2.0";
+  by-version."oauth-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "oauth-sign-0.2.0";
     src = [
       (fetchurl {
@@ -10273,14 +8511,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."oauth-sign"."~0.2.0" or []);
+      (self.nativeDeps."oauth-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "oauth-sign" ];
   };
-  full."oauth-sign"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."oauth-sign"."~0.3.0" =
+    self.by-version."oauth-sign"."0.3.0";
+  by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "oauth-sign-0.3.0";
     src = [
       (fetchurl {
@@ -10289,14 +8529,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."oauth-sign"."~0.3.0" or []);
+      (self.nativeDeps."oauth-sign" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "oauth-sign" ];
   };
-  full."object-additions".">= 0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."object-additions".">= 0.5.0" =
+    self.by-version."object-additions"."0.5.1";
+  by-version."object-additions"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "object-additions-0.5.1";
     src = [
       (fetchurl {
@@ -10305,14 +8547,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."object-additions".">= 0.5.0" or []);
+      (self.nativeDeps."object-additions" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "object-additions" ];
   };
-  full."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."once"."1.1.1" =
+    self.by-version."once"."1.1.1";
+  by-version."once"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "once-1.1.1";
     src = [
       (fetchurl {
@@ -10321,30 +8565,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."once"."1.1.1" or []);
+      (self.nativeDeps."once" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
   };
-  full."once"."~1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "once-1.1.1";
+  by-spec."once"."~1.1.1" =
+    self.by-version."once"."1.1.1";
+  by-spec."once"."~1.3.0" =
+    self.by-version."once"."1.3.0";
+  by-version."once"."1.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "once-1.3.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
-        sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
+        url = "http://registry.npmjs.org/once/-/once-1.3.0.tgz";
+        sha1 = "151af86bfc1f08c4b9f07d06ab250ffcbeb56581";
       })
     ];
     buildInputs =
-      (self.nativeDeps."once"."~1.1.1" or []);
+      (self.nativeDeps."once" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "once" ];
   };
-  full."open"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."open"."0.0.2" =
+    self.by-version."open"."0.0.2";
+  by-version."open"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "open-0.0.2";
     src = [
       (fetchurl {
@@ -10353,14 +8603,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."open"."0.0.2" or []);
+      (self.nativeDeps."open" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
   };
-  full."open"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."open"."0.0.4" =
+    self.by-version."open"."0.0.4";
+  by-version."open"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "open-0.0.4";
     src = [
       (fetchurl {
@@ -10369,30 +8621,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."open"."0.0.4" or []);
+      (self.nativeDeps."open" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "open" ];
   };
-  full."open"."~0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "open-0.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/open/-/open-0.0.4.tgz";
-        sha1 = "5de46a0858b9f49f9f211aa8f26628550657f262";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."open"."~0.0.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "open" ];
-  };
-  full."opener"."~1.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."open"."~0.0.3" =
+    self.by-version."open"."0.0.4";
+  by-spec."opener"."~1.3.0" =
+    self.by-version."opener"."1.3.0";
+  by-version."opener"."1.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "opener-1.3.0";
     src = [
       (fetchurl {
@@ -10401,14 +8641,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."opener"."~1.3.0" or []);
+      (self.nativeDeps."opener" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "opener" ];
   };
-  full."optimist"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."*" =
+    self.by-version."optimist"."0.6.0";
+  by-version."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.6.0";
     src = [
       (fetchurl {
@@ -10417,17 +8659,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."*" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
-      self.full."minimist"."~0.0.1"
+      self.by-version."wordwrap"."0.0.2"
+      self.by-version."minimist"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  "optimist" = self.full."optimist"."*";
-  full."optimist"."0.2" = lib.makeOverridable self.buildNodePackage {
+  "optimist" = self.by-version."optimist"."0.6.0";
+  by-spec."optimist"."0.2" =
+    self.by-version."optimist"."0.2.8";
+  by-version."optimist"."0.2.8" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.2.8";
     src = [
       (fetchurl {
@@ -10436,15 +8680,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.2" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap".">=0.0.1 <0.1.0"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.3.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."0.3.5" =
+    self.by-version."optimist"."0.3.5";
+  by-version."optimist"."0.3.5" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.3.5";
     src = [
       (fetchurl {
@@ -10453,15 +8699,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.3.5" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.3.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."0.3.x" =
+    self.by-version."optimist"."0.3.7";
+  by-version."optimist"."0.3.7" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.3.7";
     src = [
       (fetchurl {
@@ -10470,15 +8718,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.3.x" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optimist" ];
   };
-  full."optimist"."0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."0.4.0" =
+    self.by-version."optimist"."0.4.0";
+  by-version."optimist"."0.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "optimist-0.4.0";
     src = [
       (fetchurl {
@@ -10487,102 +8737,27 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optimist"."0.4.0" or []);
+      (self.nativeDeps."optimist" or []);
     deps = [
-      self.full."wordwrap"."~0.0.2"
+      self.by-version."wordwrap"."0.0.2"
     ];
     peerDependencies = [
     ];
     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 = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."~0.3" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."optimist"."~0.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."~0.3.4" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optimist" ];
-  };
-  full."optimist"."~0.3.5" = lib.makeOverridable self.buildNodePackage {
-    name = "optimist-0.3.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optimist"."~0.3.5" or []);
-    deps = [
-      self.full."wordwrap"."~0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    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."options".">=0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optimist"."0.6.0" =
+    self.by-version."optimist"."0.6.0";
+  by-spec."optimist"."~0.3" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."optimist"."~0.3.4" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."optimist"."~0.3.5" =
+    self.by-version."optimist"."0.3.7";
+  by-spec."optimist"."~0.6.0" =
+    self.by-version."optimist"."0.6.0";
+  by-spec."options".">=0.0.5" =
+    self.by-version."options"."0.0.5";
+  by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "options-0.0.5";
     src = [
       (fetchurl {
@@ -10591,31 +8766,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."options".">=0.0.5" or []);
+      (self.nativeDeps."options" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "options" ];
   };
-  full."optparse"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "optparse-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/optparse/-/optparse-1.0.4.tgz";
-        sha1 = "c062579d2d05d243c221a304a71e0c979623ccf1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."optparse"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "optparse" ];
-  };
-  "optparse" = self.full."optparse"."*";
-  full."optparse".">= 1.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."optparse"."*" =
+    self.by-version."optparse"."1.0.4";
+  by-version."optparse"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "optparse-1.0.4";
     src = [
       (fetchurl {
@@ -10624,14 +8784,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."optparse".">= 1.0.3" or []);
+      (self.nativeDeps."optparse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "optparse" ];
   };
-  full."osenv"."0" = lib.makeOverridable self.buildNodePackage {
+  "optparse" = self.by-version."optparse"."1.0.4";
+  by-spec."optparse".">= 1.0.3" =
+    self.by-version."optparse"."1.0.4";
+  by-spec."osenv"."0" =
+    self.by-version."osenv"."0.0.3";
+  by-version."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "osenv-0.0.3";
     src = [
       (fetchurl {
@@ -10640,30 +8805,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."osenv"."0" or []);
+      (self.nativeDeps."osenv" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "osenv" ];
   };
-  full."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "osenv-0.0.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
-        sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."osenv"."0.0.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "osenv" ];
-  };
-  full."over"."~0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."osenv"."0.0.3" =
+    self.by-version."osenv"."0.0.3";
+  by-spec."over"."~0.0.5" =
+    self.by-version."over"."0.0.5";
+  by-version."over"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "over-0.0.5";
     src = [
       (fetchurl {
@@ -10672,31 +8825,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."over"."~0.0.5" or []);
+      (self.nativeDeps."over" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "over" ];
   };
-  full."owl-deepcopy"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "owl-deepcopy-0.0.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.2.tgz";
-        sha1 = "056c40e1af73dff6e2c7afae983d2a7760fdff88";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."owl-deepcopy"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "owl-deepcopy" ];
-  };
-  "owl-deepcopy" = self.full."owl-deepcopy"."*";
-  full."owl-deepcopy"."~0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."owl-deepcopy"."*" =
+    self.by-version."owl-deepcopy"."0.0.2";
+  by-version."owl-deepcopy"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "owl-deepcopy-0.0.2";
     src = [
       (fetchurl {
@@ -10705,51 +8843,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."owl-deepcopy"."~0.0.1" or []);
+      (self.nativeDeps."owl-deepcopy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "owl-deepcopy" ];
   };
-  full."passport"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport"."*" or []);
-    deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport" ];
-  };
-  "passport" = self.full."passport"."*";
-  full."passport"."0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport"."0.1.17" or []);
-    deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport" ];
-  };
-  full."passport"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  "owl-deepcopy" = self.by-version."owl-deepcopy"."0.0.2";
+  by-spec."owl-deepcopy"."~0.0.1" =
+    self.by-version."owl-deepcopy"."0.0.2";
+  by-spec."passport"."*" =
+    self.by-version."passport"."0.1.17";
+  by-version."passport"."0.1.17" = lib.makeOverridable self.buildNodePackage {
     name = "passport-0.1.17";
     src = [
       (fetchurl {
@@ -10758,34 +8864,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport"."~0.1.1" or []);
+      (self.nativeDeps."passport" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."pause"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "passport" ];
   };
-  full."passport"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-0.1.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
-        sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport"."~0.1.3" or []);
-    deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."pause"."0.0.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport" ];
-  };
-  full."passport-http"."*" = lib.makeOverridable self.buildNodePackage {
+  "passport" = self.by-version."passport"."0.1.17";
+  by-spec."passport"."0.1.17" =
+    self.by-version."passport"."0.1.17";
+  by-spec."passport"."~0.1.1" =
+    self.by-version."passport"."0.1.17";
+  by-spec."passport"."~0.1.3" =
+    self.by-version."passport"."0.1.17";
+  by-spec."passport-http"."*" =
+    self.by-version."passport-http"."0.2.2";
+  by-version."passport-http"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "passport-http-0.2.2";
     src = [
       (fetchurl {
@@ -10794,36 +8891,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport-http"."*" or []);
+      (self.nativeDeps."passport-http" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."passport"."~0.1.3"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."passport"."0.1.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "passport-http" ];
   };
-  "passport-http" = self.full."passport-http"."*";
-  full."passport-local"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "passport-local-0.1.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/passport-local/-/passport-local-0.1.6.tgz";
-        sha1 = "fb0cf828048db931b67d19985c7aa06dd377a9db";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."passport-local"."*" or []);
-    deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."passport"."~0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "passport-local" ];
-  };
-  "passport-local" = self.full."passport-local"."*";
-  full."passport-local"."0.1.6" = lib.makeOverridable self.buildNodePackage {
+  "passport-http" = self.by-version."passport-http"."0.2.2";
+  by-spec."passport-local"."*" =
+    self.by-version."passport-local"."0.1.6";
+  by-version."passport-local"."0.1.6" = lib.makeOverridable self.buildNodePackage {
     name = "passport-local-0.1.6";
     src = [
       (fetchurl {
@@ -10832,16 +8912,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."passport-local"."0.1.6" or []);
+      (self.nativeDeps."passport-local" or []);
     deps = [
-      self.full."pkginfo"."0.2.x"
-      self.full."passport"."~0.1.1"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."passport"."0.1.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "passport-local" ];
   };
-  full."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  "passport-local" = self.by-version."passport-local"."0.1.6";
+  by-spec."passport-local"."0.1.6" =
+    self.by-version."passport-local"."0.1.6";
+  by-spec."pause"."0.0.1" =
+    self.by-version."pause"."0.0.1";
+  by-version."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "pause-0.0.1";
     src = [
       (fetchurl {
@@ -10850,37 +8935,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."pause"."0.0.1" or []);
+      (self.nativeDeps."pause" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "pause" ];
   };
-  full."phantomjs"."~1.9" = lib.makeOverridable self.buildNodePackage {
-    name = "phantomjs-1.9.2-2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.2-2.tgz";
-        sha1 = "256228800bc18292395eb0f54b14cd42c8093889";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."phantomjs"."~1.9" or []);
-    deps = [
-      self.full."adm-zip"."0.2.1"
-      self.full."kew"."~0.1.7"
-      self.full."ncp"."0.4.2"
-      self.full."npmconf"."0.0.24"
-      self.full."mkdirp"."0.3.5"
-      self.full."rimraf"."~2.0.2"
-      self.full."which"."~1.0.5"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "phantomjs" ];
-  };
-  full."phantomjs"."~1.9.1-2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."phantomjs"."~1.9" =
+    self.by-version."phantomjs"."1.9.2-2";
+  by-version."phantomjs"."1.9.2-2" = lib.makeOverridable self.buildNodePackage {
     name = "phantomjs-1.9.2-2";
     src = [
       (fetchurl {
@@ -10889,21 +8953,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."phantomjs"."~1.9.1-2" or []);
+      (self.nativeDeps."phantomjs" or []);
     deps = [
-      self.full."adm-zip"."0.2.1"
-      self.full."kew"."~0.1.7"
-      self.full."ncp"."0.4.2"
-      self.full."npmconf"."0.0.24"
-      self.full."mkdirp"."0.3.5"
-      self.full."rimraf"."~2.0.2"
-      self.full."which"."~1.0.5"
+      self.by-version."adm-zip"."0.2.1"
+      self.by-version."kew"."0.1.7"
+      self.by-version."ncp"."0.4.2"
+      self.by-version."npmconf"."0.0.24"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."rimraf"."2.0.3"
+      self.by-version."which"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "phantomjs" ];
   };
-  full."pkginfo"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."phantomjs"."~1.9.1-2" =
+    self.by-version."phantomjs"."1.9.2-2";
+  by-spec."pkginfo"."0.2.x" =
+    self.by-version."pkginfo"."0.2.3";
+  by-version."pkginfo"."0.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "pkginfo-0.2.3";
     src = [
       (fetchurl {
@@ -10912,14 +8980,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."pkginfo"."0.2.x" or []);
+      (self.nativeDeps."pkginfo" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "pkginfo" ];
   };
-  full."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."pkginfo"."0.3.0" =
+    self.by-version."pkginfo"."0.3.0";
+  by-version."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "pkginfo-0.3.0";
     src = [
       (fetchurl {
@@ -10928,46 +8998,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."pkginfo"."0.3.0" or []);
+      (self.nativeDeps."pkginfo" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "pkginfo" ];
   };
-  full."pkginfo"."0.3.x" = lib.makeOverridable self.buildNodePackage {
-    name = "pkginfo-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
-        sha1 = "726411401039fe9b009eea86614295d5f3a54276";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."pkginfo"."0.3.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "pkginfo" ];
-  };
-  full."pkginfo"."0.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "pkginfo-0.3.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
-        sha1 = "726411401039fe9b009eea86614295d5f3a54276";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."pkginfo"."0.x.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "pkginfo" ];
-  };
-  full."plist-native"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."pkginfo"."0.3.x" =
+    self.by-version."pkginfo"."0.3.0";
+  by-spec."pkginfo"."0.x.x" =
+    self.by-version."pkginfo"."0.3.0";
+  by-spec."plist-native"."*" =
+    self.by-version."plist-native"."0.2.2";
+  by-version."plist-native"."0.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "plist-native-0.2.2";
     src = [
       (fetchurl {
@@ -10976,16 +9020,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."plist-native"."*" or []);
+      (self.nativeDeps."plist-native" or []);
     deps = [
-      self.full."libxmljs"."~0.8.1"
+      self.by-version."libxmljs"."0.8.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "plist-native" ];
   };
-  "plist-native" = self.full."plist-native"."*";
-  full."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  "plist-native" = self.by-version."plist-native"."0.2.2";
+  by-spec."policyfile"."0.0.4" =
+    self.by-version."policyfile"."0.0.4";
+  by-version."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "policyfile-0.0.4";
     src = [
       (fetchurl {
@@ -10994,14 +9040,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."policyfile"."0.0.4" or []);
+      (self.nativeDeps."policyfile" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "policyfile" ];
   };
-  full."posix-getopt"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."posix-getopt"."1.0.0" =
+    self.by-version."posix-getopt"."1.0.0";
+  by-version."posix-getopt"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "posix-getopt-1.0.0";
     src = [
       (fetchurl {
@@ -11010,14 +9058,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."posix-getopt"."1.0.0" or []);
+      (self.nativeDeps."posix-getopt" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "posix-getopt" ];
   };
-  full."promise"."~2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."promise"."~2.0" =
+    self.by-version."promise"."2.0.0";
+  by-version."promise"."2.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "promise-2.0.0";
     src = [
       (fetchurl {
@@ -11026,15 +9076,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."promise"."~2.0" or []);
+      (self.nativeDeps."promise" or []);
     deps = [
-      self.full."is-promise"."~1"
+      self.by-version."is-promise"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "promise" ];
   };
-  full."prompt"."0.2.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."prompt"."0.2.11" =
+    self.by-version."prompt"."0.2.11";
+  by-version."prompt"."0.2.11" = lib.makeOverridable self.buildNodePackage {
     name = "prompt-0.2.11";
     src = [
       (fetchurl {
@@ -11043,19 +9095,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."prompt"."0.2.11" or []);
+      (self.nativeDeps."prompt" or []);
     deps = [
-      self.full."pkginfo"."0.x.x"
-      self.full."read"."1.0.x"
-      self.full."revalidator"."0.1.x"
-      self.full."utile"."0.2.x"
-      self.full."winston"."0.6.x"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."read"."1.0.5"
+      self.by-version."revalidator"."0.1.5"
+      self.by-version."utile"."0.2.0"
+      self.by-version."winston"."0.6.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "prompt" ];
   };
-  full."prompt"."0.2.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."prompt"."0.2.9" =
+    self.by-version."prompt"."0.2.9";
+  by-version."prompt"."0.2.9" = lib.makeOverridable self.buildNodePackage {
     name = "prompt-0.2.9";
     src = [
       (fetchurl {
@@ -11064,19 +9118,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."prompt"."0.2.9" or []);
+      (self.nativeDeps."prompt" or []);
     deps = [
-      self.full."pkginfo"."0.x.x"
-      self.full."read"."1.0.x"
-      self.full."revalidator"."0.1.x"
-      self.full."utile"."0.1.x"
-      self.full."winston"."0.6.x"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."read"."1.0.5"
+      self.by-version."revalidator"."0.1.5"
+      self.by-version."utile"."0.1.7"
+      self.by-version."winston"."0.6.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "prompt" ];
   };
-  full."promptly"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."promptly"."~0.2.0" =
+    self.by-version."promptly"."0.2.0";
+  by-version."promptly"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "promptly-0.2.0";
     src = [
       (fetchurl {
@@ -11085,15 +9141,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."promptly"."~0.2.0" or []);
+      (self.nativeDeps."promptly" or []);
     deps = [
-      self.full."read"."~1.0.4"
+      self.by-version."read"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "promptly" ];
   };
-  full."promzard"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."promzard"."~0.2.0" =
+    self.by-version."promzard"."0.2.0";
+  by-version."promzard"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "promzard-0.2.0";
     src = [
       (fetchurl {
@@ -11102,15 +9160,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."promzard"."~0.2.0" or []);
+      (self.nativeDeps."promzard" or []);
     deps = [
-      self.full."read"."1"
+      self.by-version."read"."1.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "promzard" ];
   };
-  full."proto-list"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."proto-list"."~1.2.1" =
+    self.by-version."proto-list"."1.2.2";
+  by-version."proto-list"."1.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "proto-list-1.2.2";
     src = [
       (fetchurl {
@@ -11119,14 +9179,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."proto-list"."~1.2.1" or []);
+      (self.nativeDeps."proto-list" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "proto-list" ];
   };
-  full."ps-tree"."0.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ps-tree"."0.0.x" =
+    self.by-version."ps-tree"."0.0.3";
+  by-version."ps-tree"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "ps-tree-0.0.3";
     src = [
       (fetchurl {
@@ -11135,15 +9197,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ps-tree"."0.0.x" or []);
+      (self.nativeDeps."ps-tree" or []);
     deps = [
-      self.full."event-stream"."~0.5"
+      self.by-version."event-stream"."0.5.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ps-tree" ];
   };
-  full."pullstream"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."pullstream"."~0.4.0" =
+    self.by-version."pullstream"."0.4.0";
+  by-version."pullstream"."0.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "pullstream-0.4.0";
     src = [
       (fetchurl {
@@ -11152,18 +9216,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."pullstream"."~0.4.0" or []);
+      (self.nativeDeps."pullstream" or []);
     deps = [
-      self.full."over"."~0.0.5"
-      self.full."readable-stream"."~1.0.0"
-      self.full."setimmediate"."~1.0.1"
-      self.full."slice-stream"."0.0.0"
+      self.by-version."over"."0.0.5"
+      self.by-version."readable-stream"."1.0.17"
+      self.by-version."setimmediate"."1.0.1"
+      self.by-version."slice-stream"."0.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "pullstream" ];
   };
-  full."q"."0.9.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."q"."0.9.x" =
+    self.by-version."q"."0.9.7";
+  by-version."q"."0.9.7" = lib.makeOverridable self.buildNodePackage {
     name = "q-0.9.7";
     src = [
       (fetchurl {
@@ -11172,78 +9238,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."q"."0.9.x" or []);
+      (self.nativeDeps."q" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "q" ];
   };
-  full."q".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q".">= 0.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
-  full."q"."~0.9" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q"."~0.9" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
-  full."q"."~0.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q"."~0.9.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
-  full."q"."~0.9.6" = lib.makeOverridable self.buildNodePackage {
-    name = "q-0.9.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz";
-        sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."q"."~0.9.6" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "q" ];
-  };
-  full."qs"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."q".">= 0.0.1" =
+    self.by-version."q"."0.9.7";
+  by-spec."q"."~0.9" =
+    self.by-version."q"."0.9.7";
+  by-spec."q"."~0.9.2" =
+    self.by-version."q"."0.9.7";
+  by-spec."q"."~0.9.6" =
+    self.by-version."q"."0.9.7";
+  by-spec."qs"."0.4.x" =
+    self.by-version."qs"."0.4.2";
+  by-version."qs"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.4.2";
     src = [
       (fetchurl {
@@ -11252,14 +9264,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.4.x" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."0.5.1" =
+    self.by-version."qs"."0.5.1";
+  by-version."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.1";
     src = [
       (fetchurl {
@@ -11268,14 +9282,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.5.1" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.5.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."0.5.2" =
+    self.by-version."qs"."0.5.2";
+  by-version."qs"."0.5.2" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.2";
     src = [
       (fetchurl {
@@ -11284,14 +9300,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.5.2" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.5.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."0.5.5" =
+    self.by-version."qs"."0.5.5";
+  by-version."qs"."0.5.5" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.5";
     src = [
       (fetchurl {
@@ -11300,14 +9318,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.5.5" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs"."0.6.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."0.6.5" =
+    self.by-version."qs"."0.6.5";
+  by-version."qs"."0.6.5" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.6.5";
     src = [
       (fetchurl {
@@ -11316,30 +9336,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."qs"."0.6.5" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."qs".">= 0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.6.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
-        sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs".">= 0.4.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  full."qs"."~0.5.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs".">= 0.4.0" =
+    self.by-version."qs"."0.6.5";
+  by-spec."qs"."~0.5.0" =
+    self.by-version."qs"."0.5.6";
+  by-version."qs"."0.5.6" = lib.makeOverridable self.buildNodePackage {
     name = "qs-0.5.6";
     src = [
       (fetchurl {
@@ -11348,46 +9356,20 @@
       })
     ];
     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 = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
-        sha1 = "31b1ad058567651c526921506b9a8793911a0384";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs"."~0.5.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  full."qs"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.6.5";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
-        sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs"."~0.6.0" or []);
+      (self.nativeDeps."qs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "qs" ];
   };
-  full."rai"."~0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."qs"."~0.5.4" =
+    self.by-version."qs"."0.5.6";
+  by-spec."qs"."~0.6.0" =
+    self.by-version."qs"."0.6.5";
+  by-spec."rai"."~0.1" =
+    self.by-version."rai"."0.1.7";
+  by-version."rai"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "rai-0.1.7";
     src = [
       (fetchurl {
@@ -11396,14 +9378,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rai"."~0.1" or []);
+      (self.nativeDeps."rai" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rai" ];
   };
-  full."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."range-parser"."0.0.4" =
+    self.by-version."range-parser"."0.0.4";
+  by-version."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "range-parser-0.0.4";
     src = [
       (fetchurl {
@@ -11412,119 +9396,134 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."range-parser"."0.0.4" or []);
+      (self.nativeDeps."range-parser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "range-parser" ];
   };
-  full."raw-socket"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "raw-socket-1.2.2";
+  by-spec."raven"."~0.5.4" =
+    self.by-version."raven"."0.5.6";
+  by-version."raven"."0.5.6" = lib.makeOverridable self.buildNodePackage {
+    name = "raven-0.5.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz";
-        sha1 = "c9be873878a1ef70497a27e40b6e55b563d8f886";
+        url = "http://registry.npmjs.org/raven/-/raven-0.5.6.tgz";
+        sha1 = "ff0704be90911694c0866893e0f8f2fb8422e063";
       })
     ];
     buildInputs =
-      (self.nativeDeps."raw-socket"."*" or []);
+      (self.nativeDeps."raven" or []);
     deps = [
+      self.by-version."node-uuid"."1.4.0"
+      self.by-version."raw-stacktrace"."1.0.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "raw-socket" ];
+    passthru.names = [ "raven" ];
   };
-  full."rbytes"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "rbytes-1.0.0";
+  by-spec."raw-body"."0.0.3" =
+    self.by-version."raw-body"."0.0.3";
+  by-version."raw-body"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "raw-body-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rbytes/-/rbytes-1.0.0.tgz";
-        sha1 = "4eeb85c457f710d8147329d5eed5cd02c798fa4d";
+        url = "http://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz";
+        sha1 = "0cb3eb22ced1ca607d32dd8fd94a6eb383f3eb8a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rbytes"."*" or []);
+      (self.nativeDeps."raw-body" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rbytes" ];
+    passthru.names = [ "raw-body" ];
   };
-  "rbytes" = self.full."rbytes"."*";
-  full."rc"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rc-0.3.0";
+  by-spec."raw-socket"."*" =
+    self.by-version."raw-socket"."1.2.2";
+  by-version."raw-socket"."1.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "raw-socket-1.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rc/-/rc-0.3.0.tgz";
-        sha1 = "caffdaafc17e8608e50db0c6ee63f1c344d9ac58";
+        url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz";
+        sha1 = "c9be873878a1ef70497a27e40b6e55b563d8f886";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rc"."0.3.0" or []);
+      (self.nativeDeps."raw-socket" or []);
     deps = [
-      self.full."optimist"."~0.3.4"
-      self.full."deep-extend"."~0.2.5"
-      self.full."ini"."~1.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rc" ];
+    passthru.names = [ "raw-socket" ];
   };
-  full."rc"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rc-0.3.1";
+  by-spec."raw-stacktrace"."1.0.0" =
+    self.by-version."raw-stacktrace"."1.0.0";
+  by-version."raw-stacktrace"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "raw-stacktrace-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/rc/-/rc-0.3.1.tgz";
-        sha1 = "1da1bef8cf8201cafd3725bd82b31d1cf7321248";
+        url = "http://registry.npmjs.org/raw-stacktrace/-/raw-stacktrace-1.0.0.tgz";
+        sha1 = "f308881f17667785a9acd7c8fbd442e1b2acf1db";
       })
     ];
     buildInputs =
-      (self.nativeDeps."rc"."~0.3.0" or []);
+      (self.nativeDeps."raw-stacktrace" or []);
     deps = [
-      self.full."optimist"."~0.3.4"
-      self.full."deep-extend"."~0.2.5"
-      self.full."ini"."~1.1.0"
+      self.by-version."traceback"."0.3.0"
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "rc" ];
+    passthru.names = [ "raw-stacktrace" ];
   };
-  full."read"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  by-spec."rbytes"."*" =
+    self.by-version."rbytes"."1.0.0";
+  by-version."rbytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
+    name = "rbytes-1.0.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/rbytes/-/rbytes-1.0.0.tgz";
+        sha1 = "4eeb85c457f710d8147329d5eed5cd02c798fa4d";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."1" or []);
+      (self.nativeDeps."rbytes" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "rbytes" ];
   };
-  full."read"."1.0.x" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  "rbytes" = self.by-version."rbytes"."1.0.0";
+  by-spec."rc"."~0.3.0" =
+    self.by-version."rc"."0.3.1";
+  by-version."rc"."0.3.1" = lib.makeOverridable self.buildNodePackage {
+    name = "rc-0.3.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/rc/-/rc-0.3.1.tgz";
+        sha1 = "1da1bef8cf8201cafd3725bd82b31d1cf7321248";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."1.0.x" or []);
+      (self.nativeDeps."rc" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."deep-extend"."0.2.6"
+      self.by-version."ini"."1.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "rc" ];
   };
-  full."read"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rc"."~0.3.1" =
+    self.by-version."rc"."0.3.1";
+  by-spec."read"."1" =
+    self.by-version."read"."1.0.5";
+  by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "read-1.0.5";
     src = [
       (fetchurl {
@@ -11533,32 +9532,45 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."~1.0.1" or []);
+      (self.nativeDeps."read" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
+      self.by-version."mute-stream"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "read" ];
   };
-  full."read"."~1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "read-1.0.5";
+  by-spec."read"."1.0.x" =
+    self.by-version."read"."1.0.5";
+  by-spec."read"."~1.0.1" =
+    self.by-version."read"."1.0.5";
+  by-spec."read"."~1.0.4" =
+    self.by-version."read"."1.0.5";
+  by-spec."read-installed"."0.2.2" =
+    self.by-version."read-installed"."0.2.2";
+  by-version."read-installed"."0.2.2" = lib.makeOverridable self.buildNodePackage {
+    name = "read-installed-0.2.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
-        sha1 = "007a3d169478aa710a491727e453effb92e76203";
+        url = "http://registry.npmjs.org/read-installed/-/read-installed-0.2.2.tgz";
+        sha1 = "f570ac84fb29c75f16faa3940a8c1e602c8eecab";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read"."~1.0.4" or []);
+      (self.nativeDeps."read-installed" or []);
     deps = [
-      self.full."mute-stream"."~0.0.4"
+      self.by-version."semver"."2.2.1"
+      self.by-version."slide"."1.1.5"
+      self.by-version."read-package-json"."1.1.4"
+      self.by-version."graceful-fs"."1.2.3"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "read" ];
+    passthru.names = [ "read-installed" ];
   };
-  full."read-installed"."~0.2.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."read-installed"."~0.2.2" =
+    self.by-version."read-installed"."0.2.4";
+  by-version."read-installed"."0.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "read-installed-0.2.4";
     src = [
       (fetchurl {
@@ -11567,110 +9579,44 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."read-installed"."~0.2.2" or []);
+      (self.nativeDeps."read-installed" or []);
     deps = [
-      self.full."semver"."2"
-      self.full."slide"."~1.1.3"
-      self.full."read-package-json"."1"
-      self.full."graceful-fs"."~2"
+      self.by-version."semver"."2.2.1"
+      self.by-version."slide"."1.1.5"
+      self.by-version."read-package-json"."1.1.4"
+      self.by-version."graceful-fs"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "read-installed" ];
   };
-  full."read-package-json"."1" = lib.makeOverridable self.buildNodePackage {
-    name = "read-package-json-1.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.3.tgz";
-        sha1 = "a361ab3da88f6f78998df223ad8186a4b7e1f391";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."read-package-json"."1" or []);
-    deps = [
-      self.full."glob"."~3.2.1"
-      self.full."lru-cache"."2"
-      self.full."normalize-package-data"."~0.2"
-      self.full."graceful-fs"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "read-package-json" ];
-  };
-  full."read-package-json"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "read-package-json-1.1.3";
+  by-spec."read-package-json"."1" =
+    self.by-version."read-package-json"."1.1.4";
+  by-version."read-package-json"."1.1.4" = lib.makeOverridable self.buildNodePackage {
+    name = "read-package-json-1.1.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.3.tgz";
-        sha1 = "a361ab3da88f6f78998df223ad8186a4b7e1f391";
+        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.4.tgz";
+        sha1 = "c4effa9fac527deaee1cd84659c419693aa5294a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."read-package-json"."~1.1.0" or []);
+      (self.nativeDeps."read-package-json" or []);
     deps = [
-      self.full."glob"."~3.2.1"
-      self.full."lru-cache"."2"
-      self.full."normalize-package-data"."~0.2"
-      self.full."graceful-fs"."2"
+      self.by-version."glob"."3.2.7"
+      self.by-version."lru-cache"."2.3.1"
+      self.by-version."normalize-package-data"."0.2.7"
+      self.by-version."graceful-fs"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "read-package-json" ];
   };
-  full."read-package-json"."~1.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "read-package-json-1.1.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.3.tgz";
-        sha1 = "a361ab3da88f6f78998df223ad8186a4b7e1f391";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."read-package-json"."~1.1.3" or []);
-    deps = [
-      self.full."glob"."~3.2.1"
-      self.full."lru-cache"."2"
-      self.full."normalize-package-data"."~0.2"
-      self.full."graceful-fs"."2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "read-package-json" ];
-  };
-  full."readable-stream"."1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.17.tgz";
-        sha1 = "cbc295fdf394dfa1225d225d02e6b6d0f409fd4b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream"."1.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
-  };
-  full."readable-stream"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.17";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.17.tgz";
-        sha1 = "cbc295fdf394dfa1225d225d02e6b6d0f409fd4b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream"."~1.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
-  };
-  full."readable-stream"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."read-package-json"."~1.1.4" =
+    self.by-version."read-package-json"."1.1.4";
+  by-spec."readable-stream"."1.0" =
+    self.by-version."readable-stream"."1.0.17";
+  by-version."readable-stream"."1.0.17" = lib.makeOverridable self.buildNodePackage {
     name = "readable-stream-1.0.17";
     src = [
       (fetchurl {
@@ -11679,14 +9625,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."readable-stream"."~1.0.2" or []);
+      (self.nativeDeps."readable-stream" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
   };
-  full."readable-stream"."~1.1.8" = lib.makeOverridable self.buildNodePackage {
+  by-spec."readable-stream"."~1.0.0" =
+    self.by-version."readable-stream"."1.0.17";
+  by-spec."readable-stream"."~1.0.2" =
+    self.by-version."readable-stream"."1.0.17";
+  by-spec."readable-stream"."~1.1.8" =
+    self.by-version."readable-stream"."1.1.9";
+  by-version."readable-stream"."1.1.9" = lib.makeOverridable self.buildNodePackage {
     name = "readable-stream-1.1.9";
     src = [
       (fetchurl {
@@ -11695,34 +9647,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."readable-stream"."~1.1.8" or []);
+      (self.nativeDeps."readable-stream" or []);
     deps = [
-      self.full."core-util-is"."~1.0.0"
-      self.full."debuglog"."0.0.2"
+      self.by-version."core-util-is"."1.0.0"
+      self.by-version."debuglog"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "readable-stream" ];
   };
-  full."readable-stream"."~1.1.9" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.1.9";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.9.tgz";
-        sha1 = "d87130fbf8f9ee9c3b4058b3c58a3e30db2fcfdd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream"."~1.1.9" or []);
-    deps = [
-      self.full."core-util-is"."~1.0.0"
-      self.full."debuglog"."0.0.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
-  };
-  full."readdirp"."~0.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."readable-stream"."~1.1.9" =
+    self.by-version."readable-stream"."1.1.9";
+  by-spec."readdirp"."~0.2.3" =
+    self.by-version."readdirp"."0.2.5";
+  by-version."readdirp"."0.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "readdirp-0.2.5";
     src = [
       (fetchurl {
@@ -11731,15 +9669,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."readdirp"."~0.2.3" or []);
+      (self.nativeDeps."readdirp" or []);
     deps = [
-      self.full."minimatch".">=0.2.4"
+      self.by-version."minimatch"."0.2.12"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "readdirp" ];
   };
-  full."redeyed"."~0.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."redeyed"."~0.4.0" =
+    self.by-version."redeyed"."0.4.2";
+  by-version."redeyed"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "redeyed-0.4.2";
     src = [
       (fetchurl {
@@ -11748,15 +9688,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."redeyed"."~0.4.0" or []);
+      (self.nativeDeps."redeyed" or []);
     deps = [
-      self.full."esprima"."~1.0.0"
+      self.by-version."esprima"."1.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redeyed" ];
   };
-  full."redis"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."redis"."*" =
+    self.by-version."redis"."0.9.0";
+  by-version."redis"."0.9.0" = lib.makeOverridable self.buildNodePackage {
     name = "redis-0.9.0";
     src = [
       (fetchurl {
@@ -11765,15 +9707,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis"."*" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  "redis" = self.full."redis"."*";
-  full."redis"."0.7.2" = lib.makeOverridable self.buildNodePackage {
+  "redis" = self.by-version."redis"."0.9.0";
+  by-spec."redis"."0.7.2" =
+    self.by-version."redis"."0.7.2";
+  by-version."redis"."0.7.2" = lib.makeOverridable self.buildNodePackage {
     name = "redis-0.7.2";
     src = [
       (fetchurl {
@@ -11782,15 +9726,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis"."0.7.2" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
-      self.full."hiredis"."*"
+      self.by-version."hiredis"."0.1.15"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  full."redis"."0.7.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."redis"."0.7.3" =
+    self.by-version."redis"."0.7.3";
+  by-version."redis"."0.7.3" = lib.makeOverridable self.buildNodePackage {
     name = "redis-0.7.3";
     src = [
       (fetchurl {
@@ -11799,30 +9745,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis"."0.7.3" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  full."redis".">= 0.6.6" = lib.makeOverridable self.buildNodePackage {
-    name = "redis-0.9.0";
+  by-spec."redis"."0.8.x" =
+    self.by-version."redis"."0.8.6";
+  by-version."redis"."0.8.6" = lib.makeOverridable self.buildNodePackage {
+    name = "redis-0.8.6";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.9.0.tgz";
-        sha1 = "b0f5b9c5619b4f1784837718677212c1af33ee67";
+        url = "http://registry.npmjs.org/redis/-/redis-0.8.6.tgz";
+        sha1 = "a7ae8f0d6fad24bdeaffe28158d6cd1f1c9d30b8";
       })
     ];
     buildInputs =
-      (self.nativeDeps."redis".">= 0.6.6" or []);
+      (self.nativeDeps."redis" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "redis" ];
   };
-  full."reds"."0.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."redis".">= 0.6.6" =
+    self.by-version."redis"."0.9.0";
+  by-spec."reds"."0.1.4" =
+    self.by-version."reds"."0.1.4";
+  by-version."reds"."0.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "reds-0.1.4";
     src = [
       (fetchurl {
@@ -11831,107 +9783,75 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."reds"."0.1.4" or []);
+      (self.nativeDeps."reds" or []);
     deps = [
-      self.full."natural"."0.0.69"
-      self.full."redis".">= 0.6.6"
+      self.by-version."natural"."0.0.69"
+      self.by-version."redis"."0.9.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "reds" ];
   };
-  full."regexp-clone"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "regexp-clone-0.0.1";
+  by-spec."reduce-component"."1.0.1" =
+    self.by-version."reduce-component"."1.0.1";
+  by-version."reduce-component"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "reduce-component-1.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
-        sha1 = "a7c2e09891fdbf38fbb10d376fb73003e68ac589";
+        url = "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
+        sha1 = "e0c93542c574521bea13df0f9488ed82ab77c5da";
       })
     ];
     buildInputs =
-      (self.nativeDeps."regexp-clone"."0.0.1" or []);
+      (self.nativeDeps."reduce-component" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "regexp-clone" ];
+    passthru.names = [ "reduce-component" ];
   };
-  full."replace"."~0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "replace-0.2.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/replace/-/replace-0.2.7.tgz";
-        sha1 = "e22d08a9e2e6764337bb530166a4dd89c2558fda";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."replace"."~0.2.4" or []);
-    deps = [
-      self.full."nomnom"."1.6.x"
-      self.full."colors"."0.5.x"
-      self.full."minimatch"."~0.2.9"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "replace" ];
-  };
-  full."request"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
+  by-spec."regexp-clone"."0.0.1" =
+    self.by-version."regexp-clone"."0.0.1";
+  by-version."regexp-clone"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+    name = "regexp-clone-0.0.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
+        url = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
+        sha1 = "a7c2e09891fdbf38fbb10d376fb73003e68ac589";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2" or []);
+      (self.nativeDeps."regexp-clone" 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" ];
+    passthru.names = [ "regexp-clone" ];
   };
-  full."request"."2 >=2.20.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.27.0";
+  by-spec."replace"."~0.2.4" =
+    self.by-version."replace"."0.2.7";
+  by-version."replace"."0.2.7" = lib.makeOverridable self.buildNodePackage {
+    name = "replace-0.2.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
+        url = "http://registry.npmjs.org/replace/-/replace-0.2.7.tgz";
+        sha1 = "e22d08a9e2e6764337bb530166a4dd89c2558fda";
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2 >=2.20.0" or []);
+      (self.nativeDeps."replace" 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"
+      self.by-version."nomnom"."1.6.2"
+      self.by-version."colors"."0.5.1"
+      self.by-version."minimatch"."0.2.12"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "request" ];
+    passthru.names = [ "replace" ];
   };
-  full."request"."2 >=2.25.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."2" =
+    self.by-version."request"."2.27.0";
+  by-version."request"."2.27.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.27.0";
     src = [
       (fetchurl {
@@ -11940,26 +9860,32 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2 >=2.25.0" or []);
+      (self.nativeDeps."request" 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"
+      self.by-version."qs"."0.6.5"
+      self.by-version."json-stringify-safe"."5.0.0"
+      self.by-version."forever-agent"."0.5.0"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.10.0"
+      self.by-version."hawk"."1.0.0"
+      self.by-version."aws-sign"."0.3.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."cookie-jar"."0.3.0"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."form-data"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."2.16.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."2 >=2.20.0" =
+    self.by-version."request"."2.27.0";
+  by-spec."request"."2 >=2.25.0" =
+    self.by-version."request"."2.27.0";
+  by-spec."request"."2.16.2" =
+    self.by-version."request"."2.16.2";
+  by-version."request"."2.16.2" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.16.2";
     src = [
       (fetchurl {
@@ -11968,25 +9894,27 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2.16.2" or []);
+      (self.nativeDeps."request" 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"
+      self.by-version."form-data"."0.0.10"
+      self.by-version."mime"."1.2.11"
+      self.by-version."hawk"."0.10.2"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."cookie-jar"."0.2.0"
+      self.by-version."aws-sign"."0.2.0"
+      self.by-version."oauth-sign"."0.2.0"
+      self.by-version."forever-agent"."0.2.0"
+      self.by-version."tunnel-agent"."0.2.0"
+      self.by-version."json-stringify-safe"."3.0.0"
+      self.by-version."qs"."0.5.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."2.16.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."2.16.x" =
+    self.by-version."request"."2.16.6";
+  by-version."request"."2.16.6" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.16.6";
     src = [
       (fetchurl {
@@ -11995,25 +9923,27 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2.16.x" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."form-data"."~0.0.3"
-      self.full."mime"."~1.2.7"
-      self.full."hawk"."~0.10.2"
-      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.4"
+      self.by-version."form-data"."0.0.10"
+      self.by-version."mime"."1.2.11"
+      self.by-version."hawk"."0.10.2"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."cookie-jar"."0.2.0"
+      self.by-version."aws-sign"."0.2.0"
+      self.by-version."oauth-sign"."0.2.0"
+      self.by-version."forever-agent"."0.2.0"
+      self.by-version."tunnel-agent"."0.2.0"
+      self.by-version."json-stringify-safe"."3.0.0"
+      self.by-version."qs"."0.5.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."2.9.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."2.9.x" =
+    self.by-version."request"."2.9.203";
+  by-version."request"."2.9.203" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.9.203";
     src = [
       (fetchurl {
@@ -12022,97 +9952,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."2.9.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    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 = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz";
-        sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2" 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.16.6" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.16.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
-        sha1 = "872fe445ae72de266b37879d6ad7dc948fa01cad";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2.16.6" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."form-data"."~0.0.3"
-      self.full."mime"."~1.2.7"
-      self.full."hawk"."~0.10.2"
-      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.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."~2.21.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request".">=2.12.0" =
+    self.by-version."request"."2.27.0";
+  by-spec."request"."~2" =
+    self.by-version."request"."2.27.0";
+  by-spec."request"."~2.16.6" =
+    self.by-version."request"."2.16.6";
+  by-spec."request"."~2.21.0" =
+    self.by-version."request"."2.21.0";
+  by-version."request"."2.21.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.21.0";
     src = [
       (fetchurl {
@@ -12121,54 +9976,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."~2.21.0" or []);
+      (self.nativeDeps."request" or []);
     deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~4.0.0"
-      self.full."forever-agent"."~0.5.0"
-      self.full."tunnel-agent"."~0.3.0"
-      self.full."http-signature"."~0.9.11"
-      self.full."hawk"."~0.13.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.0.8"
+      self.by-version."qs"."0.6.5"
+      self.by-version."json-stringify-safe"."4.0.0"
+      self.by-version."forever-agent"."0.5.0"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.9.11"
+      self.by-version."hawk"."0.13.1"
+      self.by-version."aws-sign"."0.3.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."cookie-jar"."0.3.0"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."form-data"."0.0.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."~2.22.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.22.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.22.0.tgz";
-        sha1 = "b883a769cc4a909571eb5004b344c43cf7e51592";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request"."~2.22.0" or []);
-    deps = [
-      self.full."qs"."~0.6.0"
-      self.full."json-stringify-safe"."~4.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"."~0.13.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.0.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  full."request"."~2.25.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."~2.25.0" =
+    self.by-version."request"."2.25.0";
+  by-version."request"."2.25.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-2.25.0";
     src = [
       (fetchurl {
@@ -12177,54 +10006,30 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request"."~2.25.0" or []);
+      (self.nativeDeps."request" 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"
+      self.by-version."qs"."0.6.5"
+      self.by-version."json-stringify-safe"."5.0.0"
+      self.by-version."forever-agent"."0.5.0"
+      self.by-version."tunnel-agent"."0.3.0"
+      self.by-version."http-signature"."0.10.0"
+      self.by-version."hawk"."1.0.0"
+      self.by-version."aws-sign"."0.3.0"
+      self.by-version."oauth-sign"."0.3.0"
+      self.by-version."cookie-jar"."0.3.0"
+      self.by-version."node-uuid"."1.4.1"
+      self.by-version."mime"."1.2.11"
+      self.by-version."form-data"."0.1.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request" ];
   };
-  full."request"."~2.27.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.27.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-progress"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request"."~2.27.0" =
+    self.by-version."request"."2.27.0";
+  by-spec."request-progress"."~0.3.0" =
+    self.by-version."request-progress"."0.3.1";
+  by-version."request-progress"."0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "request-progress-0.3.1";
     src = [
       (fetchurl {
@@ -12233,15 +10038,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request-progress"."~0.3.0" or []);
+      (self.nativeDeps."request-progress" or []);
     deps = [
-      self.full."throttleit"."~0.0.2"
+      self.by-version."throttleit"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request-progress" ];
   };
-  full."request-replay"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."request-replay"."~0.2.0" =
+    self.by-version."request-replay"."0.2.0";
+  by-version."request-replay"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "request-replay-0.2.0";
     src = [
       (fetchurl {
@@ -12250,15 +10057,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."request-replay"."~0.2.0" or []);
+      (self.nativeDeps."request-replay" or []);
     deps = [
-      self.full."retry"."~0.6.0"
+      self.by-version."retry"."0.6.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "request-replay" ];
   };
-  full."requirejs"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."requirejs"."~2.1.0" =
+    self.by-version."requirejs"."2.1.9";
+  by-version."requirejs"."2.1.9" = lib.makeOverridable self.buildNodePackage {
     name = "requirejs-2.1.9";
     src = [
       (fetchurl {
@@ -12267,14 +10076,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."requirejs"."~2.1.0" or []);
+      (self.nativeDeps."requirejs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "requirejs" ];
   };
-  full."resolve"."0.5.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."resolve"."0.5.x" =
+    self.by-version."resolve"."0.5.1";
+  by-version."resolve"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "resolve-0.5.1";
     src = [
       (fetchurl {
@@ -12283,14 +10094,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."resolve"."0.5.x" or []);
+      (self.nativeDeps."resolve" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "resolve" ];
   };
-  full."resolve"."~0.3.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."resolve"."~0.3.1" =
+    self.by-version."resolve"."0.3.1";
+  by-version."resolve"."0.3.1" = lib.makeOverridable self.buildNodePackage {
     name = "resolve-0.3.1";
     src = [
       (fetchurl {
@@ -12299,14 +10112,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."resolve"."~0.3.1" or []);
+      (self.nativeDeps."resolve" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "resolve" ];
   };
-  full."restify"."2.4.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."restify"."2.4.1" =
+    self.by-version."restify"."2.4.1";
+  by-version."restify"."2.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "restify-2.4.1";
     src = [
       (fetchurl {
@@ -12315,47 +10130,33 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."restify"."2.4.1" or []);
+      (self.nativeDeps."restify" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."backoff"."2.1.0"
-      self.full."bunyan"."0.21.1"
-      self.full."deep-equal"."0.0.0"
-      self.full."formidable"."1.0.13"
-      self.full."http-signature"."0.9.11"
-      self.full."keep-alive-agent"."0.0.1"
-      self.full."lru-cache"."2.3.0"
-      self.full."mime"."1.2.9"
-      self.full."negotiator"."0.2.5"
-      self.full."node-uuid"."1.4.0"
-      self.full."once"."1.1.1"
-      self.full."qs"."0.5.5"
-      self.full."semver"."1.1.4"
-      self.full."spdy"."1.7.1"
-      self.full."verror"."1.3.6"
-      self.full."dtrace-provider"."0.2.8"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."backoff"."2.1.0"
+      self.by-version."bunyan"."0.21.1"
+      self.by-version."deep-equal"."0.0.0"
+      self.by-version."formidable"."1.0.13"
+      self.by-version."http-signature"."0.9.11"
+      self.by-version."keep-alive-agent"."0.0.1"
+      self.by-version."lru-cache"."2.3.0"
+      self.by-version."mime"."1.2.9"
+      self.by-version."negotiator"."0.2.5"
+      self.by-version."node-uuid"."1.4.0"
+      self.by-version."once"."1.1.1"
+      self.by-version."qs"."0.5.5"
+      self.by-version."semver"."1.1.4"
+      self.by-version."spdy"."1.7.1"
+      self.by-version."verror"."1.3.6"
+      self.by-version."dtrace-provider"."0.2.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "restify" ];
   };
-  full."retry"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "retry-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
-        sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."retry"."0.6.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "retry" ];
-  };
-  full."retry"."~0.6.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."retry"."0.6.0" =
+    self.by-version."retry"."0.6.0";
+  by-version."retry"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "retry-0.6.0";
     src = [
       (fetchurl {
@@ -12364,14 +10165,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."retry"."~0.6.0" or []);
+      (self.nativeDeps."retry" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "retry" ];
   };
-  full."revalidator"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."retry"."~0.6.0" =
+    self.by-version."retry"."0.6.0";
+  by-spec."revalidator"."0.1.x" =
+    self.by-version."revalidator"."0.1.5";
+  by-version."revalidator"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "revalidator-0.1.5";
     src = [
       (fetchurl {
@@ -12380,14 +10185,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."revalidator"."0.1.x" or []);
+      (self.nativeDeps."revalidator" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "revalidator" ];
   };
-  full."rimraf"."1.x.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."1.x.x" =
+    self.by-version."rimraf"."1.0.9";
+  by-version."rimraf"."1.0.9" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-1.0.9";
     src = [
       (fetchurl {
@@ -12396,48 +10203,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."1.x.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  full."rimraf"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf"."2" or []);
-    deps = [
-      self.full."graceful-fs"."~2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  full."rimraf"."2.x.x" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf"."2.x.x" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."2" =
+    self.by-version."rimraf"."2.2.2";
+  by-version."rimraf"."2.2.2" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-2.2.2";
     src = [
       (fetchurl {
@@ -12446,15 +10221,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~2"
+      self.by-version."graceful-fs"."2.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."2.x.x" =
+    self.by-version."rimraf"."2.2.2";
+  by-spec."rimraf"."~2" =
+    self.by-version."rimraf"."2.2.2";
+  by-spec."rimraf"."~2.0.2" =
+    self.by-version."rimraf"."2.0.3";
+  by-version."rimraf"."2.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-2.0.3";
     src = [
       (fetchurl {
@@ -12463,32 +10244,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2.0.2" or []);
-    deps = [
-      self.full."graceful-fs"."~1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  full."rimraf"."~2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
-        sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf"."~2.1" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~1"
+      self.by-version."graceful-fs"."1.1.14"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."~2.1" =
+    self.by-version."rimraf"."2.1.4";
+  by-version."rimraf"."2.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "rimraf-2.1.4";
     src = [
       (fetchurl {
@@ -12497,32 +10263,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."rimraf"."~2.1.4" or []);
+      (self.nativeDeps."rimraf" or []);
     deps = [
-      self.full."graceful-fs"."~1"
+      self.by-version."graceful-fs"."1.2.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "rimraf" ];
   };
-  full."rimraf"."~2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.2.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
-        sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf"."~2.2.0" or []);
-    deps = [
-      self.full."graceful-fs"."~2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  full."s3http"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."rimraf"."~2.1.4" =
+    self.by-version."rimraf"."2.1.4";
+  by-spec."rimraf"."~2.2.0" =
+    self.by-version."rimraf"."2.2.2";
+  by-spec."s3http"."*" =
+    self.by-version."s3http"."0.0.2";
+  by-version."s3http"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "s3http-0.0.2";
     src = [
       (fetchurl {
@@ -12531,18 +10286,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."s3http"."*" or []);
+      (self.nativeDeps."s3http" or []);
     deps = [
-      self.full."aws-sdk".">=1.2.0 <2"
-      self.full."commander"."0.5.1"
-      self.full."http-auth"."1.2.7"
+      self.by-version."aws-sdk"."1.12.0"
+      self.by-version."commander"."0.5.1"
+      self.by-version."http-auth"."1.2.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "s3http" ];
   };
-  "s3http" = self.full."s3http"."*";
-  full."sauce-connect-launcher"."~0.1.10" = lib.makeOverridable self.buildNodePackage {
+  "s3http" = self.by-version."s3http"."0.0.2";
+  by-spec."sauce-connect-launcher"."~0.1.10" =
+    self.by-version."sauce-connect-launcher"."0.1.11";
+  by-version."sauce-connect-launcher"."0.1.11" = lib.makeOverridable self.buildNodePackage {
     name = "sauce-connect-launcher-0.1.11";
     src = [
       (fetchurl {
@@ -12551,33 +10308,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sauce-connect-launcher"."~0.1.10" or []);
+      (self.nativeDeps."sauce-connect-launcher" or []);
     deps = [
-      self.full."lodash"."~1.3.1"
-      self.full."async"."~0.2.9"
-      self.full."adm-zip"."~0.4.3"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."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 = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sax/-/sax-0.5.5.tgz";
-        sha1 = "b1ec13d77397248d059bcc18bb9530d8210bb5d3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sax"."0.5.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sax" ];
-  };
-  full."sax".">=0.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sax"."0.5.x" =
+    self.by-version."sax"."0.5.5";
+  by-version."sax"."0.5.5" = lib.makeOverridable self.buildNodePackage {
     name = "sax-0.5.5";
     src = [
       (fetchurl {
@@ -12586,14 +10329,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sax".">=0.4.2" or []);
+      (self.nativeDeps."sax" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sax" ];
   };
-  full."selenium-webdriver"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sax".">=0.4.2" =
+    self.by-version."sax"."0.5.5";
+  by-spec."selenium-webdriver"."*" =
+    self.by-version."selenium-webdriver"."2.37.0";
+  by-version."selenium-webdriver"."2.37.0" = lib.makeOverridable self.buildNodePackage {
     name = "selenium-webdriver-2.37.0";
     src = [
       (fetchurl {
@@ -12602,32 +10349,36 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."selenium-webdriver"."*" or []);
+      (self.nativeDeps."selenium-webdriver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "selenium-webdriver" ];
   };
-  "selenium-webdriver" = self.full."selenium-webdriver"."*";
-  full."semver"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
+  "selenium-webdriver" = self.by-version."selenium-webdriver"."2.37.0";
+  by-spec."semver"."*" =
+    self.by-version."semver"."2.2.1";
+  by-version."semver"."2.2.1" = lib.makeOverridable self.buildNodePackage {
+    name = "semver-2.2.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
+        url = "http://registry.npmjs.org/semver/-/semver-2.2.1.tgz";
+        sha1 = "7941182b3ffcc580bff1c17942acdf7951c0d213";
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."*" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  "semver" = self.full."semver"."*";
-  full."semver"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  "semver" = self.by-version."semver"."2.2.1";
+  by-spec."semver"."1.1.0" =
+    self.by-version."semver"."1.1.0";
+  by-version."semver"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "semver-1.1.0";
     src = [
       (fetchurl {
@@ -12636,14 +10387,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."1.1.0" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."1.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."1.1.4" =
+    self.by-version."semver"."1.1.4";
+  by-version."semver"."1.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "semver-1.1.4";
     src = [
       (fetchurl {
@@ -12652,110 +10405,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."1.1.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."2" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."2" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.8.tgz";
-        sha1 = "f5c28ba4a6d56bd1d9dbe34aed288d69366a73c6";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."2.0.8" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."2.x" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."2.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver".">=2.0.10 <3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver".">=2.0.10 <3.0.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-1.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
-        sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~1.1.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~1.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-1.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
-        sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~1.1.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~2.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."2" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver"."2.x" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver".">=2.0.10 <3.0.0" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver"."^2.2.1" =
+    self.by-version."semver"."2.2.1";
+  by-spec."semver"."~1.1.0" =
+    self.by-version."semver"."1.1.4";
+  by-spec."semver"."~1.1.4" =
+    self.by-version."semver"."1.1.4";
+  by-spec."semver"."~2.0.5" =
+    self.by-version."semver"."2.0.11";
+  by-version."semver"."2.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.0.11";
     src = [
       (fetchurl {
@@ -12764,46 +10435,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~2.0.0" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."~2.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
-        sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~2.0.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.0.11";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
-        sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~2.0.8" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."semver"."~2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."~2.1.0" =
+    self.by-version."semver"."2.1.0";
+  by-version."semver"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "semver-2.1.0";
     src = [
       (fetchurl {
@@ -12812,30 +10453,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."semver"."~2.1" or []);
+      (self.nativeDeps."semver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "semver" ];
   };
-  full."semver"."~2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "semver-2.1.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz";
-        sha1 = "356294a90690b698774d62cf35d7c91f983e728a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."semver"."~2.1.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "semver" ];
-  };
-  full."send"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."semver"."~2.2.1" =
+    self.by-version."semver"."2.2.1";
+  by-spec."send"."*" =
+    self.by-version."send"."0.1.4";
+  by-version."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "send-0.1.4";
     src = [
       (fetchurl {
@@ -12844,18 +10473,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."send"."*" or []);
+      (self.nativeDeps."send" or []);
     deps = [
-      self.full."debug"."*"
-      self.full."mime"."~1.2.9"
-      self.full."fresh"."0.2.0"
-      self.full."range-parser"."0.0.4"
+      self.by-version."debug"."0.7.4"
+      self.by-version."mime"."1.2.11"
+      self.by-version."fresh"."0.2.0"
+      self.by-version."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
   };
-  full."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."send"."0.1.0" =
+    self.by-version."send"."0.1.0";
+  by-version."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "send-0.1.0";
     src = [
       (fetchurl {
@@ -12864,74 +10495,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."send"."0.1.0" or []);
-    deps = [
-      self.full."debug"."*"
-      self.full."mime"."1.2.6"
-      self.full."fresh"."0.1.0"
-      self.full."range-parser"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  full."send"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.1.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.1.tgz";
-        sha1 = "0bcfcbd03def6e2d8612e1abf8f4895b450c60c8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send"."0.1.1" or []);
+      (self.nativeDeps."send" or []);
     deps = [
-      self.full."debug"."*"
-      self.full."mime"."~1.2.9"
-      self.full."fresh"."0.1.0"
-      self.full."range-parser"."0.0.4"
+      self.by-version."debug"."0.7.4"
+      self.by-version."mime"."1.2.6"
+      self.by-version."fresh"."0.1.0"
+      self.by-version."range-parser"."0.0.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "send" ];
   };
-  full."send"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.4.tgz";
-        sha1 = "be70d8d1be01de61821af13780b50345a4f71abd";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send"."0.1.4" or []);
-    deps = [
-      self.full."debug"."*"
-      self.full."mime"."~1.2.9"
-      self.full."fresh"."0.2.0"
-      self.full."range-parser"."0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  full."sequence"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "sequence-2.2.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
-        sha1 = "7f5617895d44351c0a047e764467690490a16b03";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sequence"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sequence" ];
-  };
-  full."sequence".">= 2.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."send"."0.1.4" =
+    self.by-version."send"."0.1.4";
+  by-spec."sequence"."*" =
+    self.by-version."sequence"."2.2.1";
+  by-version."sequence"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "sequence-2.2.1";
     src = [
       (fetchurl {
@@ -12940,14 +10519,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sequence".">= 2.2.1" or []);
+      (self.nativeDeps."sequence" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sequence" ];
   };
-  full."setimmediate"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sequence".">= 2.2.1" =
+    self.by-version."sequence"."2.2.1";
+  by-spec."setimmediate"."~1.0.1" =
+    self.by-version."setimmediate"."1.0.1";
+  by-version."setimmediate"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "setimmediate-1.0.1";
     src = [
       (fetchurl {
@@ -12956,31 +10539,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."setimmediate"."~1.0.1" or []);
+      (self.nativeDeps."setimmediate" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "setimmediate" ];
   };
-  full."sha"."~1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "sha-1.0.1";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sha/-/sha-1.0.1.tgz";
-        sha1 = "9b87a92113103e7406f7e7ef00006f3fa1975122";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sha"."~1.0.1" or []);
-    deps = [
-      self.full."graceful-fs"."1.2"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "sha" ];
-  };
-  full."sha"."~1.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sha"."~1.2.1" =
+    self.by-version."sha"."1.2.3";
+  by-version."sha"."1.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "sha-1.2.3";
     src = [
       (fetchurl {
@@ -12989,32 +10557,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sha"."~1.2.1" or []);
+      (self.nativeDeps."sha" or []);
     deps = [
-      self.full."graceful-fs"."2"
-      self.full."readable-stream"."1.0"
+      self.by-version."graceful-fs"."2.0.1"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sha" ];
   };
-  full."shelljs"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "shelljs-0.1.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz";
-        sha1 = "dfbbe78d56c3c0168d2fb79e10ecd1dbcb07ec0e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."shelljs"."0.1.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "shelljs" ];
-  };
-  full."shelljs"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."shelljs"."0.1.x" =
+    self.by-version."shelljs"."0.1.4";
+  by-version."shelljs"."0.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "shelljs-0.1.4";
     src = [
       (fetchurl {
@@ -13023,31 +10577,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."shelljs"."~0.1.4" or []);
+      (self.nativeDeps."shelljs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "shelljs" ];
   };
-  full."should"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "should-2.0.1";
+  by-spec."shelljs"."~0.1.4" =
+    self.by-version."shelljs"."0.1.4";
+  by-spec."should"."*" =
+    self.by-version."should"."2.1.0";
+  by-version."should"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+    name = "should-2.1.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/should/-/should-2.0.1.tgz";
-        sha1 = "d244c90bb919f3e51dca472ef7d93c244eb7b79a";
+        url = "http://registry.npmjs.org/should/-/should-2.1.0.tgz";
+        sha1 = "6bffa59a47892206fed91fe0f2b7217bda61e9ca";
       })
     ];
     buildInputs =
-      (self.nativeDeps."should"."*" or []);
+      (self.nativeDeps."should" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "should" ];
   };
-  "should" = self.full."should"."*";
-  full."sigmund"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  "should" = self.by-version."should"."2.1.0";
+  by-spec."sigmund"."~1.0.0" =
+    self.by-version."sigmund"."1.0.0";
+  by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "sigmund-1.0.0";
     src = [
       (fetchurl {
@@ -13056,46 +10616,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sigmund"."~1.0.0" or []);
+      (self.nativeDeps."sigmund" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sigmund" ];
   };
-  full."signals"."<2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "signals-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
-        sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."signals"."<2.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "signals" ];
-  };
-  full."signals".">0.7 <2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "signals-1.0.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
-        sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."signals".">0.7 <2.0" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "signals" ];
-  };
-  full."signals"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."signals"."<2.0" =
+    self.by-version."signals"."1.0.0";
+  by-version."signals"."1.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "signals-1.0.0";
     src = [
       (fetchurl {
@@ -13104,32 +10634,40 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."signals"."~1.0.0" or []);
+      (self.nativeDeps."signals" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "signals" ];
   };
-  full."simplesmtp".">= 0.1.22" = lib.makeOverridable self.buildNodePackage {
-    name = "simplesmtp-0.3.10";
+  by-spec."signals".">0.7 <2.0" =
+    self.by-version."signals"."1.0.0";
+  by-spec."signals"."~1.0.0" =
+    self.by-version."signals"."1.0.0";
+  by-spec."simplesmtp".">= 0.1.22" =
+    self.by-version."simplesmtp"."0.3.14";
+  by-version."simplesmtp"."0.3.14" = lib.makeOverridable self.buildNodePackage {
+    name = "simplesmtp-0.3.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.10.tgz";
-        sha1 = "f395f4b118de45f82ac4fdae4bd88f12dc326f5d";
+        url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.14.tgz";
+        sha1 = "48feabc1a87113adb1a2508a000ed50d19d229dc";
       })
     ];
     buildInputs =
-      (self.nativeDeps."simplesmtp".">= 0.1.22" or []);
+      (self.nativeDeps."simplesmtp" or []);
     deps = [
-      self.full."rai"."~0.1"
-      self.full."xoauth2"."~0.1"
+      self.by-version."rai"."0.1.7"
+      self.by-version."xoauth2"."0.1.8"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "simplesmtp" ];
   };
-  full."slice-stream"."0.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."slice-stream"."0.0.0" =
+    self.by-version."slice-stream"."0.0.0";
+  by-version."slice-stream"."0.0.0" = lib.makeOverridable self.buildNodePackage {
     name = "slice-stream-0.0.0";
     src = [
       (fetchurl {
@@ -13138,15 +10676,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."slice-stream"."0.0.0" or []);
+      (self.nativeDeps."slice-stream" or []);
     deps = [
-      self.full."readable-stream"."~1.0.2"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "slice-stream" ];
   };
-  full."sliced"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sliced"."0.0.3" =
+    self.by-version."sliced"."0.0.3";
+  by-version."sliced"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "sliced-0.0.3";
     src = [
       (fetchurl {
@@ -13155,14 +10695,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sliced"."0.0.3" or []);
+      (self.nativeDeps."sliced" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
   };
-  full."sliced"."0.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sliced"."0.0.4" =
+    self.by-version."sliced"."0.0.4";
+  by-version."sliced"."0.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "sliced-0.0.4";
     src = [
       (fetchurl {
@@ -13171,14 +10713,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sliced"."0.0.4" or []);
+      (self.nativeDeps."sliced" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
   };
-  full."sliced"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sliced"."0.0.5" =
+    self.by-version."sliced"."0.0.5";
+  by-version."sliced"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "sliced-0.0.5";
     src = [
       (fetchurl {
@@ -13187,30 +10731,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sliced"."0.0.5" or []);
+      (self.nativeDeps."sliced" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sliced" ];
   };
-  full."slide"."~1.1.3" = 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"."~1.1.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "slide" ];
-  };
-  full."slide"."~1.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."slide"."~1.1.3" =
+    self.by-version."slide"."1.1.5";
+  by-version."slide"."1.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "slide-1.1.5";
     src = [
       (fetchurl {
@@ -13219,30 +10749,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."slide"."~1.1.4" or []);
+      (self.nativeDeps."slide" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "slide" ];
   };
-  full."slide"."~1.1.5" = 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"."~1.1.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "slide" ];
-  };
-  full."smartdc"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."slide"."~1.1.5" =
+    self.by-version."slide"."1.1.5";
+  by-spec."smartdc"."*" =
+    self.by-version."smartdc"."7.1.1";
+  by-version."smartdc"."7.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "smartdc-7.1.1";
     src = [
       (fetchurl {
@@ -13251,22 +10769,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."smartdc"."*" or []);
+      (self.nativeDeps."smartdc" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."lru-cache"."2.2.0"
-      self.full."nopt"."2.0.0"
-      self.full."restify"."2.4.1"
-      self.full."bunyan"."0.21.1"
-      self.full."clone"."0.1.6"
-      self.full."smartdc-auth"."1.0.1"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."lru-cache"."2.2.0"
+      self.by-version."nopt"."2.0.0"
+      self.by-version."restify"."2.4.1"
+      self.by-version."bunyan"."0.21.1"
+      self.by-version."clone"."0.1.6"
+      self.by-version."smartdc-auth"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "smartdc" ];
   };
-  "smartdc" = self.full."smartdc"."*";
-  full."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage {
+  "smartdc" = self.by-version."smartdc"."7.1.1";
+  by-spec."smartdc-auth"."1.0.1" =
+    self.by-version."smartdc-auth"."1.0.1";
+  by-version."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "smartdc-auth-1.0.1";
     src = [
       (fetchurl {
@@ -13275,19 +10795,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."smartdc-auth"."1.0.1" or []);
+      (self.nativeDeps."smartdc-auth" or []);
     deps = [
-      self.full."assert-plus"."0.1.2"
-      self.full."clone"."0.1.5"
-      self.full."ssh-agent"."0.2.1"
-      self.full."once"."1.1.1"
-      self.full."vasync"."1.3.3"
+      self.by-version."assert-plus"."0.1.2"
+      self.by-version."clone"."0.1.5"
+      self.by-version."ssh-agent"."0.2.1"
+      self.by-version."once"."1.1.1"
+      self.by-version."vasync"."1.3.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "smartdc-auth" ];
   };
-  full."sntp"."0.1.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sntp"."0.1.x" =
+    self.by-version."sntp"."0.1.4";
+  by-version."sntp"."0.1.4" = lib.makeOverridable self.buildNodePackage {
     name = "sntp-0.1.4";
     src = [
       (fetchurl {
@@ -13296,15 +10818,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sntp"."0.1.x" or []);
+      (self.nativeDeps."sntp" or []);
     deps = [
-      self.full."hoek"."0.7.x"
+      self.by-version."hoek"."0.7.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sntp" ];
   };
-  full."sntp"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sntp"."0.2.x" =
+    self.by-version."sntp"."0.2.4";
+  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "sntp-0.2.4";
     src = [
       (fetchurl {
@@ -13313,15 +10837,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sntp"."0.2.x" or []);
+      (self.nativeDeps."sntp" or []);
     deps = [
-      self.full."hoek"."0.9.x"
+      self.by-version."hoek"."0.9.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sntp" ];
   };
-  full."socket.io"."0.9.14" = lib.makeOverridable self.buildNodePackage {
+  by-spec."socket.io"."0.9.14" =
+    self.by-version."socket.io"."0.9.14";
+  by-version."socket.io"."0.9.14" = lib.makeOverridable self.buildNodePackage {
     name = "socket.io-0.9.14";
     src = [
       (fetchurl {
@@ -13330,18 +10856,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io"."0.9.14" or []);
+      (self.nativeDeps."socket.io" or []);
     deps = [
-      self.full."socket.io-client"."0.9.11"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
+      self.by-version."socket.io-client"."0.9.11"
+      self.by-version."policyfile"."0.0.4"
+      self.by-version."base64id"."0.1.0"
+      self.by-version."redis"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "socket.io" ];
   };
-  full."socket.io"."0.9.16" = lib.makeOverridable self.buildNodePackage {
+  by-spec."socket.io"."0.9.16" =
+    self.by-version."socket.io"."0.9.16";
+  by-version."socket.io"."0.9.16" = lib.makeOverridable self.buildNodePackage {
     name = "socket.io-0.9.16";
     src = [
       (fetchurl {
@@ -13350,58 +10878,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io"."0.9.16" or []);
+      (self.nativeDeps."socket.io" or []);
     deps = [
-      self.full."socket.io-client"."0.9.16"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
+      self.by-version."socket.io-client"."0.9.16"
+      self.by-version."policyfile"."0.0.4"
+      self.by-version."base64id"."0.1.0"
+      self.by-version."redis"."0.7.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "socket.io" ];
   };
-  full."socket.io"."~0.9.13" = lib.makeOverridable self.buildNodePackage {
-    name = "socket.io-0.9.16";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz";
-        sha1 = "3bab0444e49b55fbbc157424dbd41aa375a51a76";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."socket.io"."~0.9.13" or []);
-    deps = [
-      self.full."socket.io-client"."0.9.16"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "socket.io" ];
-  };
-  full."socket.io"."~0.9.14" = lib.makeOverridable self.buildNodePackage {
-    name = "socket.io-0.9.16";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz";
-        sha1 = "3bab0444e49b55fbbc157424dbd41aa375a51a76";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."socket.io"."~0.9.14" or []);
-    deps = [
-      self.full."socket.io-client"."0.9.16"
-      self.full."policyfile"."0.0.4"
-      self.full."base64id"."0.1.0"
-      self.full."redis"."0.7.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "socket.io" ];
-  };
-  full."socket.io-client"."0.9.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."socket.io"."~0.9.13" =
+    self.by-version."socket.io"."0.9.16";
+  by-spec."socket.io"."~0.9.14" =
+    self.by-version."socket.io"."0.9.16";
+  by-spec."socket.io-client"."0.9.11" =
+    self.by-version."socket.io-client"."0.9.11";
+  by-version."socket.io-client"."0.9.11" = lib.makeOverridable self.buildNodePackage {
     name = "socket.io-client-0.9.11";
     src = [
       (fetchurl {
@@ -13410,18 +10904,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io-client"."0.9.11" or []);
+      (self.nativeDeps."socket.io-client" or []);
     deps = [
-      self.full."uglify-js"."1.2.5"
-      self.full."ws"."0.4.x"
-      self.full."xmlhttprequest"."1.4.2"
-      self.full."active-x-obfuscator"."0.0.1"
+      self.by-version."uglify-js"."1.2.5"
+      self.by-version."ws"."0.4.31"
+      self.by-version."xmlhttprequest"."1.4.2"
+      self.by-version."active-x-obfuscator"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "socket.io-client" ];
   };
-  full."socket.io-client"."0.9.16" = lib.makeOverridable self.buildNodePackage {
+  by-spec."socket.io-client"."0.9.16" =
+    self.by-version."socket.io-client"."0.9.16";
+  by-version."socket.io-client"."0.9.16" = lib.makeOverridable self.buildNodePackage {
     name = "socket.io-client-0.9.16";
     src = [
       (fetchurl {
@@ -13430,18 +10926,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."socket.io-client"."0.9.16" or []);
+      (self.nativeDeps."socket.io-client" or []);
     deps = [
-      self.full."uglify-js"."1.2.5"
-      self.full."ws"."0.4.x"
-      self.full."xmlhttprequest"."1.4.2"
-      self.full."active-x-obfuscator"."0.0.1"
+      self.by-version."uglify-js"."1.2.5"
+      self.by-version."ws"."0.4.31"
+      self.by-version."xmlhttprequest"."1.4.2"
+      self.by-version."active-x-obfuscator"."0.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "socket.io-client" ];
   };
-  full."sockjs"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sockjs"."*" =
+    self.by-version."sockjs"."0.3.8";
+  by-version."sockjs"."0.3.8" = lib.makeOverridable self.buildNodePackage {
     name = "sockjs-0.3.8";
     src = [
       (fetchurl {
@@ -13450,69 +10948,45 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sockjs"."*" or []);
+      (self.nativeDeps."sockjs" or []);
     deps = [
-      self.full."node-uuid"."1.3.3"
-      self.full."faye-websocket"."0.7.0"
+      self.by-version."node-uuid"."1.3.3"
+      self.by-version."faye-websocket"."0.7.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sockjs" ];
   };
-  "sockjs" = self.full."sockjs"."*";
-  full."source-map"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.30";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
-        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."source-map"."*" or []);
-    deps = [
-      self.full."amdefine".">=0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    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.30";
+  "sockjs" = self.by-version."sockjs"."0.3.8";
+  by-spec."source-map"."*" =
+    self.by-version."source-map"."0.1.31";
+  by-version."source-map"."0.1.31" = lib.makeOverridable self.buildNodePackage {
+    name = "source-map-0.1.31";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
-        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
+        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz";
+        sha1 = "9f704d0d69d9e138a81badf6ebb4fde33d151c61";
       })
     ];
     buildInputs =
-      (self.nativeDeps."source-map".">= 0.1.2" or []);
+      (self.nativeDeps."source-map" or []);
     deps = [
-      self.full."amdefine".">=0.0.4"
+      self.by-version."amdefine"."0.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "source-map" ];
   };
-  full."source-map"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "source-map-0.1.30";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/source-map/-/source-map-0.1.30.tgz";
-        sha1 = "182726b50671d8fccaefc5ec35bf2a65c1956afb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."source-map"."~0.1.7" or []);
-    deps = [
-      self.full."amdefine".">=0.0.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "source-map" ];
-  };
-  full."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage {
+  "source-map" = self.by-version."source-map"."0.1.31";
+  by-spec."source-map"."0.1.x" =
+    self.by-version."source-map"."0.1.31";
+  by-spec."source-map".">= 0.1.2" =
+    self.by-version."source-map"."0.1.31";
+  by-spec."source-map"."~0.1.7" =
+    self.by-version."source-map"."0.1.31";
+  by-spec."spdy"."1.7.1" =
+    self.by-version."spdy"."1.7.1";
+  by-version."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "spdy-1.7.1";
     src = [
       (fetchurl {
@@ -13521,14 +10995,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."spdy"."1.7.1" or []);
+      (self.nativeDeps."spdy" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "spdy" ];
   };
-  full."ssh-agent"."0.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ssh-agent"."0.2.1" =
+    self.by-version."ssh-agent"."0.2.1";
+  by-version."ssh-agent"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "ssh-agent-0.2.1";
     src = [
       (fetchurl {
@@ -13537,33 +11013,38 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ssh-agent"."0.2.1" or []);
+      (self.nativeDeps."ssh-agent" or []);
     deps = [
-      self.full."ctype"."0.5.0"
-      self.full."posix-getopt"."1.0.0"
+      self.by-version."ctype"."0.5.0"
+      self.by-version."posix-getopt"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ssh-agent" ];
   };
-  full."ssh2"."0.2.8" = lib.makeOverridable self.buildNodePackage {
-    name = "ssh2-0.2.8";
+  by-spec."ssh2"."~0.2.12" =
+    self.by-version."ssh2"."0.2.14";
+  by-version."ssh2"."0.2.14" = lib.makeOverridable self.buildNodePackage {
+    name = "ssh2-0.2.14";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/ssh2/-/ssh2-0.2.8.tgz";
-        sha1 = "50acd6d7a7fb4da18ef4364737bb9a5066bf689d";
+        url = "http://registry.npmjs.org/ssh2/-/ssh2-0.2.14.tgz";
+        sha1 = "6f93df62f1475cbe5b45924da568643b9ac7388a";
       })
     ];
     buildInputs =
-      (self.nativeDeps."ssh2"."0.2.8" or []);
+      (self.nativeDeps."ssh2" or []);
     deps = [
-      self.full."streamsearch"."0.1.2"
+      self.by-version."streamsearch"."0.1.2"
+      self.by-version."asn1"."0.1.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ssh2" ];
   };
-  full."stack-trace"."0.0.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."stack-trace"."0.0.x" =
+    self.by-version."stack-trace"."0.0.7";
+  by-version."stack-trace"."0.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "stack-trace-0.0.7";
     src = [
       (fetchurl {
@@ -13572,14 +11053,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stack-trace"."0.0.x" or []);
+      (self.nativeDeps."stack-trace" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stack-trace" ];
   };
-  full."statsd"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."statsd"."*" =
+    self.by-version."statsd"."0.6.0";
+  by-version."statsd"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "statsd-0.6.0";
     src = [
       (fetchurl {
@@ -13588,17 +11071,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."statsd"."*" or []);
+      (self.nativeDeps."statsd" or []);
     deps = [
-      self.full."node-syslog"."1.1.3"
-      self.full."winser"."=0.0.11"
+      self.by-version."node-syslog"."1.1.3"
+      self.by-version."winser"."0.0.11"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "statsd" ];
   };
-  "statsd" = self.full."statsd"."*";
-  full."stream-counter"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  "statsd" = self.by-version."statsd"."0.6.0";
+  by-spec."stream-counter"."~0.1.0" =
+    self.by-version."stream-counter"."0.1.0";
+  by-version."stream-counter"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "stream-counter-0.1.0";
     src = [
       (fetchurl {
@@ -13607,15 +11092,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stream-counter"."~0.1.0" or []);
+      (self.nativeDeps."stream-counter" or []);
     deps = [
-      self.full."readable-stream"."~1.0.2"
+      self.by-version."readable-stream"."1.0.17"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stream-counter" ];
   };
-  full."stream-counter"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."stream-counter"."~0.2.0" =
+    self.by-version."stream-counter"."0.2.0";
+  by-version."stream-counter"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "stream-counter-0.2.0";
     src = [
       (fetchurl {
@@ -13624,15 +11111,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stream-counter"."~0.2.0" or []);
+      (self.nativeDeps."stream-counter" or []);
     deps = [
-      self.full."readable-stream"."~1.1.8"
+      self.by-version."readable-stream"."1.1.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stream-counter" ];
   };
-  full."stream-splitter-transform"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."stream-splitter-transform"."*" =
+    self.by-version."stream-splitter-transform"."0.0.3";
+  by-version."stream-splitter-transform"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "stream-splitter-transform-0.0.3";
     src = [
       (fetchurl {
@@ -13641,16 +11130,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stream-splitter-transform"."*" or []);
+      (self.nativeDeps."stream-splitter-transform" or []);
     deps = [
-      self.full."buffertools".">=1.1.1 <2.0.0"
+      self.by-version."buffertools"."1.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stream-splitter-transform" ];
   };
-  "stream-splitter-transform" = self.full."stream-splitter-transform"."*";
-  full."streamsearch"."0.1.2" = lib.makeOverridable self.buildNodePackage {
+  "stream-splitter-transform" = self.by-version."stream-splitter-transform"."0.0.3";
+  by-spec."streamsearch"."0.1.2" =
+    self.by-version."streamsearch"."0.1.2";
+  by-version."streamsearch"."0.1.2" = lib.makeOverridable self.buildNodePackage {
     name = "streamsearch-0.1.2";
     src = [
       (fetchurl {
@@ -13659,14 +11150,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."streamsearch"."0.1.2" or []);
+      (self.nativeDeps."streamsearch" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "streamsearch" ];
   };
-  full."stringify-object"."~0.1.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."stringify-object"."~0.1.4" =
+    self.by-version."stringify-object"."0.1.7";
+  by-version."stringify-object"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "stringify-object-0.1.7";
     src = [
       (fetchurl {
@@ -13675,14 +11168,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stringify-object"."~0.1.4" or []);
+      (self.nativeDeps."stringify-object" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stringify-object" ];
   };
-  full."strong-data-uri"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."strong-data-uri"."~0.1.0" =
+    self.by-version."strong-data-uri"."0.1.0";
+  by-version."strong-data-uri"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "strong-data-uri-0.1.0";
     src = [
       (fetchurl {
@@ -13691,36 +11186,40 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."strong-data-uri"."~0.1.0" or []);
+      (self.nativeDeps."strong-data-uri" or []);
     deps = [
-      self.full."truncate"."~1.0.2"
+      self.by-version."truncate"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "strong-data-uri" ];
   };
-  full."stylus"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "stylus-0.38.0";
+  by-spec."stylus"."*" =
+    self.by-version."stylus"."0.40.2";
+  by-version."stylus"."0.40.2" = lib.makeOverridable self.buildNodePackage {
+    name = "stylus-0.40.2";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/stylus/-/stylus-0.38.0.tgz";
-        sha1 = "6bd0581db0ee0491251639d338685f7232ca0610";
+        url = "http://registry.npmjs.org/stylus/-/stylus-0.40.2.tgz";
+        sha1 = "4b4f7a2d8a6aeecfe0a62ef0e2d8a45a78b1e2bd";
       })
     ];
     buildInputs =
-      (self.nativeDeps."stylus"."*" or []);
+      (self.nativeDeps."stylus" or []);
     deps = [
-      self.full."cssom"."0.2.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."debug"."*"
-      self.full."sax"."0.5.x"
+      self.by-version."cssom"."0.2.5"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."debug"."0.7.4"
+      self.by-version."sax"."0.5.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
   };
-  "stylus" = self.full."stylus"."*";
-  full."stylus"."0.27.2" = lib.makeOverridable self.buildNodePackage {
+  "stylus" = self.by-version."stylus"."0.40.2";
+  by-spec."stylus"."0.27.2" =
+    self.by-version."stylus"."0.27.2";
+  by-version."stylus"."0.27.2" = lib.makeOverridable self.buildNodePackage {
     name = "stylus-0.27.2";
     src = [
       (fetchurl {
@@ -13729,17 +11228,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."stylus"."0.27.2" or []);
+      (self.nativeDeps."stylus" or []);
     deps = [
-      self.full."cssom"."0.2.x"
-      self.full."mkdirp"."0.3.x"
-      self.full."debug"."*"
+      self.by-version."cssom"."0.2.5"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "stylus" ];
   };
-  full."sudo-block"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sudo-block"."~0.2.0" =
+    self.by-version."sudo-block"."0.2.1";
+  by-version."sudo-block"."0.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "sudo-block-0.2.1";
     src = [
       (fetchurl {
@@ -13748,37 +11249,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sudo-block"."~0.2.0" or []);
+      (self.nativeDeps."sudo-block" or []);
     deps = [
-      self.full."chalk"."~0.1.1"
+      self.by-version."chalk"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sudo-block" ];
   };
-  full."superagent"."0.14.7" = lib.makeOverridable self.buildNodePackage {
-    name = "superagent-0.14.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/superagent/-/superagent-0.14.7.tgz";
-        sha1 = "5740625d9c6343381b03b2ff95a3c988415fc406";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."superagent"."0.14.7" or []);
-    deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.9"
-      self.full."mime"."1.2.5"
-      self.full."emitter-component"."1.0.0"
-      self.full."methods"."0.0.1"
-      self.full."cookiejar"."1.3.0"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "superagent" ];
-  };
-  full."superagent"."0.15.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."superagent"."0.15.1" =
+    self.by-version."superagent"."0.15.1";
+  by-version."superagent"."0.15.1" = lib.makeOverridable self.buildNodePackage {
     name = "superagent-0.15.1";
     src = [
       (fetchurl {
@@ -13787,21 +11268,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."superagent"."0.15.1" or []);
+      (self.nativeDeps."superagent" or []);
     deps = [
-      self.full."qs"."0.6.5"
-      self.full."formidable"."1.0.9"
-      self.full."mime"."1.2.5"
-      self.full."emitter-component"."1.0.0"
-      self.full."methods"."0.0.1"
-      self.full."cookiejar"."1.3.0"
-      self.full."debug"."~0.7.2"
+      self.by-version."qs"."0.6.5"
+      self.by-version."formidable"."1.0.9"
+      self.by-version."mime"."1.2.5"
+      self.by-version."emitter-component"."1.0.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."cookiejar"."1.3.0"
+      self.by-version."debug"."0.7.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
   };
-  full."superagent"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."superagent"."~0.13.0" =
+    self.by-version."superagent"."0.13.0";
+  by-version."superagent"."0.13.0" = lib.makeOverridable self.buildNodePackage {
     name = "superagent-0.13.0";
     src = [
       (fetchurl {
@@ -13810,73 +11293,89 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."superagent"."~0.13.0" or []);
+      (self.nativeDeps."superagent" or []);
     deps = [
-      self.full."qs"."0.5.2"
-      self.full."formidable"."1.0.9"
-      self.full."mime"."1.2.5"
-      self.full."emitter-component"."0.0.6"
-      self.full."methods"."0.0.1"
-      self.full."cookiejar"."1.3.0"
+      self.by-version."qs"."0.5.2"
+      self.by-version."formidable"."1.0.9"
+      self.by-version."mime"."1.2.5"
+      self.by-version."emitter-component"."0.0.6"
+      self.by-version."methods"."0.0.1"
+      self.by-version."cookiejar"."1.3.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "superagent" ];
   };
-  full."supertest"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "supertest-0.8.0";
+  by-spec."superagent"."~0.15.7" =
+    self.by-version."superagent"."0.15.7";
+  by-version."superagent"."0.15.7" = lib.makeOverridable self.buildNodePackage {
+    name = "superagent-0.15.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/supertest/-/supertest-0.8.0.tgz";
-        sha1 = "c8dd008358ed60175cfd4dfab0ab1af81d0dc55b";
+        url = "http://registry.npmjs.org/superagent/-/superagent-0.15.7.tgz";
+        sha1 = "095c70b8afffbc072f1458f39684d4854d6333a3";
       })
     ];
     buildInputs =
-      (self.nativeDeps."supertest"."*" or []);
+      (self.nativeDeps."superagent" or []);
     deps = [
-      self.full."superagent"."0.15.1"
-      self.full."methods"."0.0.1"
+      self.by-version."qs"."0.6.5"
+      self.by-version."formidable"."1.0.14"
+      self.by-version."mime"."1.2.5"
+      self.by-version."emitter-component"."1.0.0"
+      self.by-version."methods"."0.0.1"
+      self.by-version."cookiejar"."1.3.0"
+      self.by-version."debug"."0.7.4"
+      self.by-version."reduce-component"."1.0.1"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "supertest" ];
+    passthru.names = [ "superagent" ];
   };
-  "supertest" = self.full."supertest"."*";
-  full."swig"."0.14.x" = lib.makeOverridable self.buildNodePackage {
-    name = "swig-0.14.0";
+  by-spec."supertest"."*" =
+    self.by-version."supertest"."0.8.1";
+  by-version."supertest"."0.8.1" = lib.makeOverridable self.buildNodePackage {
+    name = "supertest-0.8.1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
-        sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
+        url = "http://registry.npmjs.org/supertest/-/supertest-0.8.1.tgz";
+        sha1 = "be792b92481d8e33a4ebe8907495c5192387d101";
       })
     ];
     buildInputs =
-      (self.nativeDeps."swig"."0.14.x" or []);
+      (self.nativeDeps."supertest" or []);
     deps = [
-      self.full."underscore".">=1.1.7"
+      self.by-version."superagent"."0.15.1"
+      self.by-version."methods"."0.1.0"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "swig" ];
+    passthru.names = [ "supertest" ];
   };
-  "swig" = self.full."swig"."0.14.x";
-  full."sylvester".">= 0.0.12" = lib.makeOverridable self.buildNodePackage {
-    name = "sylvester-0.0.21";
+  "supertest" = self.by-version."supertest"."0.8.1";
+  by-spec."swig"."0.14.x" =
+    self.by-version."swig"."0.14.0";
+  by-version."swig"."0.14.0" = lib.makeOverridable self.buildNodePackage {
+    name = "swig-0.14.0";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
-        sha1 = "2987b1ce2bd2f38b0dce2a34388884bfa4400ea7";
+        url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
+        sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
       })
     ];
     buildInputs =
-      (self.nativeDeps."sylvester".">= 0.0.12" or []);
+      (self.nativeDeps."swig" or []);
     deps = [
+      self.by-version."underscore"."1.5.2"
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "sylvester" ];
+    passthru.names = [ "swig" ];
   };
-  full."sylvester".">= 0.0.8" = lib.makeOverridable self.buildNodePackage {
+  "swig" = self.by-version."swig"."0.14.0";
+  by-spec."sylvester".">= 0.0.12" =
+    self.by-version."sylvester"."0.0.21";
+  by-version."sylvester"."0.0.21" = lib.makeOverridable self.buildNodePackage {
     name = "sylvester-0.0.21";
     src = [
       (fetchurl {
@@ -13885,14 +11384,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."sylvester".">= 0.0.8" or []);
+      (self.nativeDeps."sylvester" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "sylvester" ];
   };
-  full."tar"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."sylvester".">= 0.0.8" =
+    self.by-version."sylvester"."0.0.21";
+  by-spec."tar"."*" =
+    self.by-version."tar"."0.1.18";
+  by-version."tar"."0.1.18" = lib.makeOverridable self.buildNodePackage {
     name = "tar-0.1.18";
     src = [
       (fetchurl {
@@ -13901,37 +11404,22 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tar"."*" or []);
+      (self.nativeDeps."tar" or []);
     deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
+      self.by-version."inherits"."2.0.1"
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."fstream"."0.1.24"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tar" ];
   };
-  "tar" = self.full."tar"."*";
-  full."tar"."0" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar"."0" or []);
-    deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  full."tar"."0.1.17" = lib.makeOverridable self.buildNodePackage {
+  "tar" = self.by-version."tar"."0.1.18";
+  by-spec."tar"."0" =
+    self.by-version."tar"."0.1.18";
+  by-spec."tar"."0.1.17" =
+    self.by-version."tar"."0.1.17";
+  by-version."tar"."0.1.17" = lib.makeOverridable self.buildNodePackage {
     name = "tar-0.1.17";
     src = [
       (fetchurl {
@@ -13940,91 +11428,23 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tar"."0.1.17" or []);
-    deps = [
-      self.full."inherits"."1.x"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  full."tar"."~0.1.17" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar"."~0.1.17" or []);
-    deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  full."tar"."~0.1.18" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.18";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
-        sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar"."~0.1.18" or []);
+      (self.nativeDeps."tar" or []);
     deps = [
-      self.full."inherits"."2"
-      self.full."block-stream"."*"
-      self.full."fstream"."~0.1.8"
+      self.by-version."inherits"."1.0.0"
+      self.by-version."block-stream"."0.0.7"
+      self.by-version."fstream"."0.1.24"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tar" ];
   };
-  full."taskgroup"."~3.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "taskgroup-3.2.3";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/taskgroup/-/taskgroup-3.2.3.tgz";
-        sha1 = "5bbfa9fb0312f04251140f2f858f8f4ee0086958";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."taskgroup"."~3.2.0" or []);
-    deps = [
-      self.full."ambi"."~2.1.4"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "taskgroup" ];
-  };
-  full."temp"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "temp-0.6.0";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
-        sha1 = "6b13df5cddf370f2e3a606ca40f202c419173f07";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."temp"."*" or []);
-    deps = [
-      self.full."rimraf"."~2.1.4"
-      self.full."osenv"."0.0.3"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "temp" ];
-  };
-  "temp" = self.full."temp"."*";
-  full."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."tar"."~0.1.17" =
+    self.by-version."tar"."0.1.18";
+  by-spec."tar"."~0.1.18" =
+    self.by-version."tar"."0.1.18";
+  by-spec."temp"."*" =
+    self.by-version."temp"."0.6.0";
+  by-version."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage {
     name = "temp-0.6.0";
     src = [
       (fetchurl {
@@ -14033,16 +11453,21 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."temp"."0.6.0" or []);
+      (self.nativeDeps."temp" or []);
     deps = [
-      self.full."rimraf"."~2.1.4"
-      self.full."osenv"."0.0.3"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."osenv"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "temp" ];
   };
-  full."text-table"."~0.1.1" = lib.makeOverridable self.buildNodePackage {
+  "temp" = self.by-version."temp"."0.6.0";
+  by-spec."temp"."0.6.0" =
+    self.by-version."temp"."0.6.0";
+  by-spec."text-table"."~0.1.1" =
+    self.by-version."text-table"."0.1.1";
+  by-version."text-table"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "text-table-0.1.1";
     src = [
       (fetchurl {
@@ -14051,14 +11476,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."text-table"."~0.1.1" or []);
+      (self.nativeDeps."text-table" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "text-table" ];
   };
-  full."throttleit"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."throttleit"."~0.0.2" =
+    self.by-version."throttleit"."0.0.2";
+  by-version."throttleit"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "throttleit-0.0.2";
     src = [
       (fetchurl {
@@ -14067,14 +11494,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."throttleit"."~0.0.2" or []);
+      (self.nativeDeps."throttleit" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "throttleit" ];
   };
-  full."timespan"."2.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."timespan"."2.0.1" =
+    self.by-version."timespan"."2.0.1";
+  by-version."timespan"."2.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "timespan-2.0.1";
     src = [
       (fetchurl {
@@ -14083,14 +11512,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."timespan"."2.0.1" or []);
+      (self.nativeDeps."timespan" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "timespan" ];
   };
-  full."timezone"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."timezone"."*" =
+    self.by-version."timezone"."0.0.23";
+  by-version."timezone"."0.0.23" = lib.makeOverridable self.buildNodePackage {
     name = "timezone-0.0.23";
     src = [
       (fetchurl {
@@ -14099,15 +11530,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."timezone"."*" or []);
+      (self.nativeDeps."timezone" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "timezone" ];
   };
-  "timezone" = self.full."timezone"."*";
-  full."tinycolor"."0.x" = lib.makeOverridable self.buildNodePackage {
+  "timezone" = self.by-version."timezone"."0.0.23";
+  by-spec."tinycolor"."0.x" =
+    self.by-version."tinycolor"."0.0.1";
+  by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "tinycolor-0.0.1";
     src = [
       (fetchurl {
@@ -14116,14 +11549,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tinycolor"."0.x" or []);
+      (self.nativeDeps."tinycolor" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tinycolor" ];
   };
-  full."tmp"."~0.0.20" = lib.makeOverridable self.buildNodePackage {
+  by-spec."tmp"."~0.0.20" =
+    self.by-version."tmp"."0.0.21";
+  by-version."tmp"."0.0.21" = lib.makeOverridable self.buildNodePackage {
     name = "tmp-0.0.21";
     src = [
       (fetchurl {
@@ -14132,14 +11567,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tmp"."~0.0.20" or []);
+      (self.nativeDeps."tmp" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tmp" ];
   };
-  full."transformers"."2.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."traceback".">=0.3.0 && < 0.4" =
+    self.by-version."traceback"."0.3.0";
+  by-version."traceback"."0.3.0" = lib.makeOverridable self.buildNodePackage {
+    name = "traceback-0.3.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/traceback/-/traceback-0.3.0.tgz";
+        sha1 = "4e147f07cd332fbd0330ba510b942a5c9256a0ab";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."traceback" or []);
+    deps = [
+    ];
+    peerDependencies = [
+    ];
+    passthru.names = [ "traceback" ];
+  };
+  by-spec."transformers"."2.1.0" =
+    self.by-version."transformers"."2.1.0";
+  by-version."transformers"."2.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "transformers-2.1.0";
     src = [
       (fetchurl {
@@ -14148,17 +11603,19 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."transformers"."2.1.0" or []);
+      (self.nativeDeps."transformers" or []);
     deps = [
-      self.full."promise"."~2.0"
-      self.full."css"."~1.0.8"
-      self.full."uglify-js"."~2.2.5"
+      self.by-version."promise"."2.0.0"
+      self.by-version."css"."1.0.8"
+      self.by-version."uglify-js"."2.2.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "transformers" ];
   };
-  full."traverse".">=0.3.0 <0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."traverse".">=0.3.0 <0.4" =
+    self.by-version."traverse"."0.3.9";
+  by-version."traverse"."0.3.9" = lib.makeOverridable self.buildNodePackage {
     name = "traverse-0.3.9";
     src = [
       (fetchurl {
@@ -14167,14 +11624,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."traverse".">=0.3.0 <0.4" or []);
+      (self.nativeDeps."traverse" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "traverse" ];
   };
-  full."truncate"."~1.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."truncate"."~1.0.2" =
+    self.by-version."truncate"."1.0.2";
+  by-version."truncate"."1.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "truncate-1.0.2";
     src = [
       (fetchurl {
@@ -14183,14 +11642,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."truncate"."~1.0.2" or []);
+      (self.nativeDeps."truncate" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "truncate" ];
   };
-  full."tunnel-agent"."~0.2.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."tunnel-agent"."~0.2.0" =
+    self.by-version."tunnel-agent"."0.2.0";
+  by-version."tunnel-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "tunnel-agent-0.2.0";
     src = [
       (fetchurl {
@@ -14199,14 +11660,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tunnel-agent"."~0.2.0" or []);
+      (self.nativeDeps."tunnel-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
   };
-  full."tunnel-agent"."~0.3.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."tunnel-agent"."~0.3.0" =
+    self.by-version."tunnel-agent"."0.3.0";
+  by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "tunnel-agent-0.3.0";
     src = [
       (fetchurl {
@@ -14215,14 +11678,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."tunnel-agent"."~0.3.0" or []);
+      (self.nativeDeps."tunnel-agent" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "tunnel-agent" ];
   };
-  full."type-detect"."0.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."type-detect"."0.1.1" =
+    self.by-version."type-detect"."0.1.1";
+  by-version."type-detect"."0.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "type-detect-0.1.1";
     src = [
       (fetchurl {
@@ -14231,46 +11696,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."type-detect"."0.1.1" or []);
+      (self.nativeDeps."type-detect" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "type-detect" ];
   };
-  full."typechecker"."~2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "typechecker-2.0.6";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.6.tgz";
-        sha1 = "f9dc9a161d05957c5e8225b7470261e16a8409cb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."typechecker"."~2.0.1" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "typechecker" ];
-  };
-  full."typechecker"."~2.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "typechecker-2.0.6";
+  by-spec."typechecker"."~2.0.1" =
+    self.by-version."typechecker"."2.0.8";
+  by-version."typechecker"."2.0.8" = lib.makeOverridable self.buildNodePackage {
+    name = "typechecker-2.0.8";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.6.tgz";
-        sha1 = "f9dc9a161d05957c5e8225b7470261e16a8409cb";
+        url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz";
+        sha1 = "e83da84bb64c584ccb345838576c40b0337db82e";
       })
     ];
     buildInputs =
-      (self.nativeDeps."typechecker"."~2.0.6" or []);
+      (self.nativeDeps."typechecker" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "typechecker" ];
   };
-  full."uglify-js"."1.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."1.2.5" =
+    self.by-version."uglify-js"."1.2.5";
+  by-version."uglify-js"."1.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-1.2.5";
     src = [
       (fetchurl {
@@ -14279,14 +11732,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."1.2.5" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."2.4.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."2.4.0" =
+    self.by-version."uglify-js"."2.4.0";
+  by-version."uglify-js"."2.4.0" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.4.0";
     src = [
       (fetchurl {
@@ -14295,18 +11750,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."2.4.0" or []);
+      (self.nativeDeps."uglify-js" 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"
+      self.by-version."async"."0.2.9"
+      self.by-version."source-map"."0.1.31"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-to-browserify"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.2.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."~2.2.5" =
+    self.by-version."uglify-js"."2.2.5";
+  by-version."uglify-js"."2.2.5" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.2.5";
     src = [
       (fetchurl {
@@ -14315,16 +11772,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.2.5" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
+      self.by-version."source-map"."0.1.31"
+      self.by-version."optimist"."0.3.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-js"."~2.3" =
+    self.by-version."uglify-js"."2.3.6";
+  by-version."uglify-js"."2.3.6" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-js-2.3.6";
     src = [
       (fetchurl {
@@ -14333,37 +11792,41 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.3" or []);
+      (self.nativeDeps."uglify-js" or []);
     deps = [
-      self.full."async"."~0.2.6"
-      self.full."source-map"."~0.1.7"
-      self.full."optimist"."~0.3.5"
+      self.by-version."async"."0.2.9"
+      self.by-version."source-map"."0.1.31"
+      self.by-version."optimist"."0.3.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-js"."~2.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "uglify-js-2.4.0";
+  by-spec."uglify-js"."~2.4.0" =
+    self.by-version."uglify-js"."2.4.3";
+  by-version."uglify-js"."2.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "uglify-js-2.4.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.0.tgz";
-        sha1 = "a5f2b6b1b817fb34c16a04234328c89ba1e77137";
+        url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.3.tgz";
+        sha1 = "6883cd4b837a4d004191c9ea05394cfa596c3748";
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-js"."~2.4.0" or []);
+      (self.nativeDeps."uglify-js" 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"
+      self.by-version."async"."0.2.9"
+      self.by-version."source-map"."0.1.31"
+      self.by-version."optimist"."0.3.7"
+      self.by-version."uglify-to-browserify"."1.0.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-js" ];
   };
-  full."uglify-to-browserify"."~1.0.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uglify-to-browserify"."~1.0.0" =
+    self.by-version."uglify-to-browserify"."1.0.1";
+  by-version."uglify-to-browserify"."1.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "uglify-to-browserify-1.0.1";
     src = [
       (fetchurl {
@@ -14372,14 +11835,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uglify-to-browserify"."~1.0.0" or []);
+      (self.nativeDeps."uglify-to-browserify" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uglify-to-browserify" ];
   };
-  full."uid-number"."0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uid-number"."0" =
+    self.by-version."uid-number"."0.0.3";
+  by-version."uid-number"."0.0.3" = lib.makeOverridable self.buildNodePackage {
     name = "uid-number-0.0.3";
     src = [
       (fetchurl {
@@ -14388,14 +11853,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uid-number"."0" or []);
+      (self.nativeDeps."uid-number" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uid-number" ];
   };
-  full."uid2"."0.0.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."uid2"."0.0.2" =
+    self.by-version."uid2"."0.0.2";
+  by-version."uid2"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "uid2-0.0.2";
     src = [
       (fetchurl {
@@ -14404,63 +11871,34 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uid2"."0.0.2" or []);
+      (self.nativeDeps."uid2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uid2" ];
   };
-  full."underscore"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."*" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  "underscore" = self.full."underscore"."*";
-  full."underscore"."1.4.x" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."1.4.x" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  full."underscore".">=1.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
+  by-spec."uid2"."0.0.3" =
+    self.by-version."uid2"."0.0.3";
+  by-version."uid2"."0.0.3" = lib.makeOverridable self.buildNodePackage {
+    name = "uid2-0.0.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
+        url = "http://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz";
+        sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore".">=1.1.7" or []);
+      (self.nativeDeps."uid2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "underscore" ];
+    passthru.names = [ "uid2" ];
   };
-  full."underscore".">=1.4.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."underscore"."*" =
+    self.by-version."underscore"."1.5.2";
+  by-version."underscore"."1.5.2" = lib.makeOverridable self.buildNodePackage {
     name = "underscore-1.5.2";
     src = [
       (fetchurl {
@@ -14469,30 +11907,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore".">=1.4.3" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  full."underscore"."~1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."~1.4" or []);
+      (self.nativeDeps."underscore" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
   };
-  full."underscore"."~1.4.3" = lib.makeOverridable self.buildNodePackage {
+  "underscore" = self.by-version."underscore"."1.5.2";
+  by-spec."underscore"."1.4.x" =
+    self.by-version."underscore"."1.4.4";
+  by-version."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage {
     name = "underscore-1.4.4";
     src = [
       (fetchurl {
@@ -14501,46 +11926,28 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore"."~1.4.3" or []);
+      (self.nativeDeps."underscore" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore" ];
   };
-  full."underscore"."~1.4.4" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.4.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."~1.4.4" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  full."underscore"."~1.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.5.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore"."~1.5.2" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  full."underscore.string"."~2.2.0rc" = lib.makeOverridable self.buildNodePackage {
+  by-spec."underscore".">=1.1.7" =
+    self.by-version."underscore"."1.5.2";
+  by-spec."underscore".">=1.4.3" =
+    self.by-version."underscore"."1.5.2";
+  by-spec."underscore"."~1.4" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore"."~1.4.3" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore"."~1.4.4" =
+    self.by-version."underscore"."1.4.4";
+  by-spec."underscore"."~1.5.2" =
+    self.by-version."underscore"."1.5.2";
+  by-spec."underscore.string"."~2.2.0rc" =
+    self.by-version."underscore.string"."2.2.1";
+  by-version."underscore.string"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "underscore.string-2.2.1";
     src = [
       (fetchurl {
@@ -14549,14 +11956,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore.string"."~2.2.0rc" or []);
+      (self.nativeDeps."underscore.string" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore.string" ];
   };
-  full."underscore.string"."~2.3.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."underscore.string"."~2.3.1" =
+    self.by-version."underscore.string"."2.3.3";
+  by-version."underscore.string"."2.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "underscore.string-2.3.3";
     src = [
       (fetchurl {
@@ -14565,59 +11974,62 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."underscore.string"."~2.3.1" or []);
+      (self.nativeDeps."underscore.string" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "underscore.string" ];
   };
-  full."ungit"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "ungit-0.3.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ungit/-/ungit-0.3.2.tgz";
-        sha1 = "bb52c4af06280e81c6499cc92f13436e0fefa0d8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ungit"."*" or []);
-    deps = [
-      self.full."express"."3.2.6"
-      self.full."superagent"."0.14.7"
-      self.full."lodash.debounce"."~2.2.0"
-      self.full."lodash.find"."~2.2.0"
-      self.full."lodash.throttle"."~2.2.0"
-      self.full."temp"."0.6.0"
-      self.full."socket.io"."0.9.16"
-      self.full."moment"."2.0.0"
-      self.full."async"."0.2.9"
-      self.full."ssh2"."0.2.8"
-      self.full."rc"."0.3.0"
-      self.full."uuid"."1.4.1"
-      self.full."winston"."0.7.1"
-      self.full."passport"."0.1.17"
-      self.full."passport-local"."0.1.6"
-      self.full."npm"."1.3.1"
-      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"
-      self.full."crossroads"."~0.12.0"
-      self.full."signals"."~1.0.0"
-      self.full."hasher"."~1.1.4"
-      self.full."blueimp-md5"."~1.0.3"
-      self.full."color"."~0.4.4"
-      self.full."keen.io"."0.0.3"
-      self.full."getmac"."~1.0.5"
-      self.full."deep-extend"."~0.2.6"
+  by-spec."ungit"."*" =
+    self.by-version."ungit"."0.5.0";
+  by-version."ungit"."0.5.0" = lib.makeOverridable self.buildNodePackage {
+    name = "ungit-0.5.0";
+    src = [
+      (fetchurl {
+        url = "http://registry.npmjs.org/ungit/-/ungit-0.5.0.tgz";
+        sha1 = "89abd98e200c6bf7b102d3efc45eebf79ac1cdcc";
+      })
+    ];
+    buildInputs =
+      (self.nativeDeps."ungit" or []);
+    deps = [
+      self.by-version."express"."3.4.4"
+      self.by-version."superagent"."0.15.7"
+      self.by-version."lodash"."2.2.1"
+      self.by-version."temp"."0.6.0"
+      self.by-version."socket.io"."0.9.16"
+      self.by-version."moment"."2.4.0"
+      self.by-version."async"."0.2.9"
+      self.by-version."ssh2"."0.2.14"
+      self.by-version."rc"."0.3.1"
+      self.by-version."uuid"."1.4.1"
+      self.by-version."winston"."0.7.2"
+      self.by-version."passport"."0.1.17"
+      self.by-version."passport-local"."0.1.6"
+      self.by-version."npm"."1.3.14"
+      self.by-version."semver"."2.2.1"
+      self.by-version."forever-monitor"."1.1.0"
+      self.by-version."open"."0.0.4"
+      self.by-version."optimist"."0.6.0"
+      self.by-version."crossroads"."0.12.0"
+      self.by-version."signals"."1.0.0"
+      self.by-version."hasher"."1.1.4"
+      self.by-version."blueimp-md5"."1.0.3"
+      self.by-version."color"."0.4.4"
+      self.by-version."keen.io"."0.0.3"
+      self.by-version."getmac"."1.0.6"
+      self.by-version."deep-extend"."0.2.6"
+      self.by-version."raven"."0.5.6"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ungit" ];
   };
-  "ungit" = self.full."ungit"."*";
-  full."unzip"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
+  "ungit" = self.by-version."ungit"."0.5.0";
+  by-spec."unzip"."~0.1.7" =
+    self.by-version."unzip"."0.1.9";
+  by-version."unzip"."0.1.9" = lib.makeOverridable self.buildNodePackage {
     name = "unzip-0.1.9";
     src = [
       (fetchurl {
@@ -14626,40 +12038,46 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."unzip"."~0.1.7" or []);
+      (self.nativeDeps."unzip" or []);
     deps = [
-      self.full."fstream"."~0.1.21"
-      self.full."pullstream"."~0.4.0"
-      self.full."binary"."~0.3.0"
-      self.full."readable-stream"."~1.0.0"
-      self.full."setimmediate"."~1.0.1"
-      self.full."match-stream"."~0.0.2"
+      self.by-version."fstream"."0.1.24"
+      self.by-version."pullstream"."0.4.0"
+      self.by-version."binary"."0.3.0"
+      self.by-version."readable-stream"."1.0.17"
+      self.by-version."setimmediate"."1.0.1"
+      self.by-version."match-stream"."0.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "unzip" ];
   };
-  full."update-notifier"."~0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "update-notifier-0.1.6";
+  by-spec."update-notifier"."~0.1.3" =
+    self.by-version."update-notifier"."0.1.7";
+  by-version."update-notifier"."0.1.7" = lib.makeOverridable self.buildNodePackage {
+    name = "update-notifier-0.1.7";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.6.tgz";
-        sha1 = "c814e7eabaadaba789f75c3f652366db8efec471";
+        url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.7.tgz";
+        sha1 = "b37fb55004835240fd2e7e360c52ccffde5219c9";
       })
     ];
     buildInputs =
-      (self.nativeDeps."update-notifier"."~0.1.3" or []);
+      (self.nativeDeps."update-notifier" or []);
     deps = [
-      self.full."request"."~2.22.0"
-      self.full."configstore"."~0.1.0"
-      self.full."semver"."~2.0.0"
-      self.full."chalk"."~0.1.0"
+      self.by-version."request"."2.27.0"
+      self.by-version."configstore"."0.1.5"
+      self.by-version."semver"."2.1.0"
+      self.by-version."chalk"."0.2.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "update-notifier" ];
   };
-  full."useragent"."~2.0.4" = lib.makeOverridable self.buildNodePackage {
+  by-spec."update-notifier"."~0.1.5" =
+    self.by-version."update-notifier"."0.1.7";
+  by-spec."useragent"."~2.0.4" =
+    self.by-version."useragent"."2.0.7";
+  by-version."useragent"."2.0.7" = lib.makeOverridable self.buildNodePackage {
     name = "useragent-2.0.7";
     src = [
       (fetchurl {
@@ -14668,15 +12086,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."useragent"."~2.0.4" or []);
+      (self.nativeDeps."useragent" or []);
     deps = [
-      self.full."lru-cache"."2.2.x"
+      self.by-version."lru-cache"."2.2.4"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "useragent" ];
   };
-  full."util".">= 0.4.9" = lib.makeOverridable self.buildNodePackage {
+  by-spec."util".">= 0.4.9" =
+    self.by-version."util"."0.4.9";
+  by-version."util"."0.4.9" = lib.makeOverridable self.buildNodePackage {
     name = "util-0.4.9";
     src = [
       (fetchurl {
@@ -14685,15 +12105,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."util".">= 0.4.9" or []);
+      (self.nativeDeps."util" or []);
     deps = [
-      self.full."events.node".">= 0.4.0"
+      self.by-version."events.node"."0.4.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "util" ];
   };
-  full."utile"."0.1.7" = lib.makeOverridable self.buildNodePackage {
+  by-spec."utile"."0.1.7" =
+    self.by-version."utile"."0.1.7";
+  by-version."utile"."0.1.7" = lib.makeOverridable self.buildNodePackage {
     name = "utile-0.1.7";
     src = [
       (fetchurl {
@@ -14702,42 +12124,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."utile"."0.1.7" or []);
+      (self.nativeDeps."utile" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."1.x.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."deep-equal"."0.1.0"
+      self.by-version."i"."0.3.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."ncp"."0.2.7"
+      self.by-version."rimraf"."1.0.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "utile" ];
   };
-  full."utile"."0.1.x" = lib.makeOverridable self.buildNodePackage {
-    name = "utile-0.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
-        sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."utile"."0.1.x" or []);
-    deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."1.x.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "utile" ];
-  };
-  full."utile"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."utile"."0.1.x" =
+    self.by-version."utile"."0.1.7";
+  by-spec."utile"."0.2.x" =
+    self.by-version."utile"."0.2.0";
+  by-version."utile"."0.2.0" = lib.makeOverridable self.buildNodePackage {
     name = "utile-0.2.0";
     src = [
       (fetchurl {
@@ -14746,42 +12150,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."utile"."0.2.x" or []);
-    deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."2.x.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "utile" ];
-  };
-  full."utile"."~0.1.7" = lib.makeOverridable self.buildNodePackage {
-    name = "utile-0.1.7";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
-        sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."utile"."~0.1.7" or []);
+      (self.nativeDeps."utile" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."deep-equal"."*"
-      self.full."i"."0.3.x"
-      self.full."mkdirp"."0.x.x"
-      self.full."ncp"."0.2.x"
-      self.full."rimraf"."1.x.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."deep-equal"."0.1.0"
+      self.by-version."i"."0.3.2"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."ncp"."0.2.7"
+      self.by-version."rimraf"."2.2.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "utile" ];
   };
-  full."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."utile"."~0.1.7" =
+    self.by-version."utile"."0.1.7";
+  by-spec."uuid"."1.4.1" =
+    self.by-version."uuid"."1.4.1";
+  by-version."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
     name = "uuid-1.4.1";
     src = [
       (fetchurl {
@@ -14790,14 +12176,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."uuid"."1.4.1" or []);
+      (self.nativeDeps."uuid" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "uuid" ];
   };
-  full."validator"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."validator"."0.4.x" =
+    self.by-version."validator"."0.4.28";
+  by-version."validator"."0.4.28" = lib.makeOverridable self.buildNodePackage {
     name = "validator-0.4.28";
     src = [
       (fetchurl {
@@ -14806,14 +12194,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."validator"."0.4.x" or []);
+      (self.nativeDeps."validator" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "validator" ];
   };
-  full."vargs"."~0.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."vargs"."~0.1.0" =
+    self.by-version."vargs"."0.1.0";
+  by-version."vargs"."0.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "vargs-0.1.0";
     src = [
       (fetchurl {
@@ -14822,14 +12212,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."vargs"."~0.1.0" or []);
+      (self.nativeDeps."vargs" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "vargs" ];
   };
-  full."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."vasync"."1.3.3" =
+    self.by-version."vasync"."1.3.3";
+  by-version."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "vasync-1.3.3";
     src = [
       (fetchurl {
@@ -14838,16 +12230,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."vasync"."1.3.3" or []);
+      (self.nativeDeps."vasync" or []);
     deps = [
-      self.full."jsprim"."0.3.0"
-      self.full."verror"."1.1.0"
+      self.by-version."jsprim"."0.3.0"
+      self.by-version."verror"."1.1.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "vasync" ];
   };
-  full."verror"."1.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."verror"."1.1.0" =
+    self.by-version."verror"."1.1.0";
+  by-version."verror"."1.1.0" = lib.makeOverridable self.buildNodePackage {
     name = "verror-1.1.0";
     src = [
       (fetchurl {
@@ -14856,15 +12250,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."verror"."1.1.0" or []);
+      (self.nativeDeps."verror" or []);
     deps = [
-      self.full."extsprintf"."1.0.0"
+      self.by-version."extsprintf"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  full."verror"."1.3.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."verror"."1.3.3" =
+    self.by-version."verror"."1.3.3";
+  by-version."verror"."1.3.3" = lib.makeOverridable self.buildNodePackage {
     name = "verror-1.3.3";
     src = [
       (fetchurl {
@@ -14873,15 +12269,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."verror"."1.3.3" or []);
+      (self.nativeDeps."verror" or []);
     deps = [
-      self.full."extsprintf"."1.0.0"
+      self.by-version."extsprintf"."1.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  full."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage {
+  by-spec."verror"."1.3.6" =
+    self.by-version."verror"."1.3.6";
+  by-version."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage {
     name = "verror-1.3.6";
     src = [
       (fetchurl {
@@ -14890,15 +12288,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."verror"."1.3.6" or []);
+      (self.nativeDeps."verror" or []);
     deps = [
-      self.full."extsprintf"."1.0.2"
+      self.by-version."extsprintf"."1.0.2"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "verror" ];
   };
-  full."view-helpers"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."view-helpers"."*" =
+    self.by-version."view-helpers"."0.1.3";
+  by-version."view-helpers"."0.1.3" = lib.makeOverridable self.buildNodePackage {
     name = "view-helpers-0.1.3";
     src = [
       (fetchurl {
@@ -14907,15 +12307,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."view-helpers"."*" or []);
+      (self.nativeDeps."view-helpers" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "view-helpers" ];
   };
-  "view-helpers" = self.full."view-helpers"."*";
-  full."vows".">=0.5.13" = lib.makeOverridable self.buildNodePackage {
+  "view-helpers" = self.by-version."view-helpers"."0.1.3";
+  by-spec."vows".">=0.5.13" =
+    self.by-version."vows"."0.7.0";
+  by-version."vows"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "vows-0.7.0";
     src = [
       (fetchurl {
@@ -14924,16 +12326,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."vows".">=0.5.13" or []);
+      (self.nativeDeps."vows" or []);
     deps = [
-      self.full."eyes".">=0.1.6"
-      self.full."diff"."~1.0.3"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."diff"."1.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "vows" ];
   };
-  full."walk"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."walk"."*" =
+    self.by-version."walk"."2.2.1";
+  by-version."walk"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "walk-2.2.1";
     src = [
       (fetchurl {
@@ -14942,16 +12346,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."walk"."*" or []);
+      (self.nativeDeps."walk" or []);
     deps = [
-      self.full."forEachAsync"."~2.2"
+      self.by-version."forEachAsync"."2.2.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "walk" ];
   };
-  "walk" = self.full."walk"."*";
-  full."watch"."0.5.x" = lib.makeOverridable self.buildNodePackage {
+  "walk" = self.by-version."walk"."2.2.1";
+  by-spec."walk"."~2.2.1" =
+    self.by-version."walk"."2.2.1";
+  by-spec."watch"."0.5.x" =
+    self.by-version."watch"."0.5.1";
+  by-version."watch"."0.5.1" = lib.makeOverridable self.buildNodePackage {
     name = "watch-0.5.1";
     src = [
       (fetchurl {
@@ -14960,14 +12368,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."watch"."0.5.x" or []);
+      (self.nativeDeps."watch" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "watch" ];
   };
-  full."watch"."0.7.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."watch"."0.7.0" =
+    self.by-version."watch"."0.7.0";
+  by-version."watch"."0.7.0" = lib.makeOverridable self.buildNodePackage {
     name = "watch-0.7.0";
     src = [
       (fetchurl {
@@ -14976,14 +12386,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."watch"."0.7.0" or []);
+      (self.nativeDeps."watch" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "watch" ];
   };
-  full."wd"."~0.1.5" = lib.makeOverridable self.buildNodePackage {
+  by-spec."wd"."~0.1.5" =
+    self.by-version."wd"."0.1.5";
+  by-version."wd"."0.1.5" = lib.makeOverridable self.buildNodePackage {
     name = "wd-0.1.5";
     src = [
       (fetchurl {
@@ -14992,44 +12404,48 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."wd"."~0.1.5" or []);
+      (self.nativeDeps."wd" or []);
     deps = [
-      self.full."async"."0.2.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"
-      self.full."lodash"."~1.3.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."vargs"."0.1.0"
+      self.by-version."q"."0.9.7"
+      self.by-version."request"."2.21.0"
+      self.by-version."archiver"."0.4.10"
+      self.by-version."lodash"."1.3.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "wd" ];
   };
-  full."webdrvr"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "webdrvr-2.35.0-6";
+  by-spec."webdrvr"."*" =
+    self.by-version."webdrvr"."2.37.0-1";
+  by-version."webdrvr"."2.37.0-1" = lib.makeOverridable self.buildNodePackage {
+    name = "webdrvr-2.37.0-1";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.35.0-6.tgz";
-        sha1 = "1dffadb2960c82c7b9baba6512cd6f35f6e8d706";
+        url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.37.0-1.tgz";
+        sha1 = "8f1f2fbcc184b8964d26f0fca73264e0c1d595ea";
       })
     ];
     buildInputs =
-      (self.nativeDeps."webdrvr"."*" or []);
+      (self.nativeDeps."webdrvr" or []);
     deps = [
-      self.full."adm-zip"."~0.4.3"
-      self.full."kew"."~0.1.7"
-      self.full."mkdirp"."~0.3.5"
-      self.full."npmconf"."~0.1.2"
-      self.full."phantomjs"."~1.9.1-2"
-      self.full."tmp"."~0.0.20"
-      self.full."follow-redirects"."0.0.3"
+      self.by-version."adm-zip"."0.4.3"
+      self.by-version."kew"."0.1.7"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."npmconf"."0.1.5"
+      self.by-version."phantomjs"."1.9.2-2"
+      self.by-version."tmp"."0.0.21"
+      self.by-version."follow-redirects"."0.0.3"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "webdrvr" ];
   };
-  "webdrvr" = self.full."webdrvr"."*";
-  full."websocket-driver".">=0.3.0" = lib.makeOverridable self.buildNodePackage {
+  "webdrvr" = self.by-version."webdrvr"."2.37.0-1";
+  by-spec."websocket-driver".">=0.3.0" =
+    self.by-version."websocket-driver"."0.3.0";
+  by-version."websocket-driver"."0.3.0" = lib.makeOverridable self.buildNodePackage {
     name = "websocket-driver-0.3.0";
     src = [
       (fetchurl {
@@ -15038,14 +12454,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."websocket-driver".">=0.3.0" or []);
+      (self.nativeDeps."websocket-driver" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "websocket-driver" ];
   };
-  full."when"."~2.2.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."when"."~2.2.1" =
+    self.by-version."when"."2.2.1";
+  by-version."when"."2.2.1" = lib.makeOverridable self.buildNodePackage {
     name = "when-2.2.1";
     src = [
       (fetchurl {
@@ -15054,14 +12472,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."when"."~2.2.1" or []);
+      (self.nativeDeps."when" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "when" ];
   };
-  full."which"."1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."which"."1" =
+    self.by-version."which"."1.0.5";
+  by-version."which"."1.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "which-1.0.5";
     src = [
       (fetchurl {
@@ -15070,46 +12490,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."which"."1" or []);
+      (self.nativeDeps."which" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     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 = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
-        sha1 = "5630d6819dda692f1464462e7956cb42c0842739";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."which"."~1.0.5" or []);
-    deps = [
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "which" ];
-  };
-  full."winser"."=0.0.11" = lib.makeOverridable self.buildNodePackage {
+  by-spec."which"."1.0.x" =
+    self.by-version."which"."1.0.5";
+  by-spec."which"."~1.0.5" =
+    self.by-version."which"."1.0.5";
+  by-spec."winser"."=0.0.11" =
+    self.by-version."winser"."0.0.11";
+  by-version."winser"."0.0.11" = lib.makeOverridable self.buildNodePackage {
     name = "winser-0.0.11";
     src = [
       (fetchurl {
@@ -15118,16 +12512,18 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."winser"."=0.0.11" or []);
+      (self.nativeDeps."winser" or []);
     deps = [
-      self.full."sequence"."*"
-      self.full."commander"."*"
+      self.by-version."sequence"."2.2.1"
+      self.by-version."commander"."2.0.0"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winser" ];
   };
-  full."winston"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."winston"."*" =
+    self.by-version."winston"."0.7.2";
+  by-version."winston"."0.7.2" = lib.makeOverridable self.buildNodePackage {
     name = "winston-0.7.2";
     src = [
       (fetchurl {
@@ -15136,22 +12532,24 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."*" or []);
+      (self.nativeDeps."winston" or []);
     deps = [
-      self.full."async"."0.2.x"
-      self.full."colors"."0.6.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.3.x"
-      self.full."request"."2.16.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."async"."0.2.9"
+      self.by-version."colors"."0.6.2"
+      self.by-version."cycle"."1.0.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."request"."2.16.6"
+      self.by-version."stack-trace"."0.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
   };
-  "winston" = self.full."winston"."*";
-  full."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage {
+  "winston" = self.by-version."winston"."0.7.2";
+  by-spec."winston"."0.6.2" =
+    self.by-version."winston"."0.6.2";
+  by-version."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage {
     name = "winston-0.6.2";
     src = [
       (fetchurl {
@@ -15160,44 +12558,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."0.6.2" or []);
+      (self.nativeDeps."winston" or []);
     deps = [
-      self.full."async"."0.1.x"
-      self.full."colors"."0.x.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.2.x"
-      self.full."request"."2.9.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."async"."0.1.22"
+      self.by-version."colors"."0.6.2"
+      self.by-version."cycle"."1.0.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."pkginfo"."0.2.3"
+      self.by-version."request"."2.9.203"
+      self.by-version."stack-trace"."0.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
   };
-  full."winston"."0.6.x" = lib.makeOverridable self.buildNodePackage {
-    name = "winston-0.6.2";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
-        sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."winston"."0.6.x" or []);
-    deps = [
-      self.full."async"."0.1.x"
-      self.full."colors"."0.x.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.2.x"
-      self.full."request"."2.9.x"
-      self.full."stack-trace"."0.0.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "winston" ];
-  };
-  full."winston"."0.7.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."winston"."0.6.x" =
+    self.by-version."winston"."0.6.2";
+  by-spec."winston"."0.7.1" =
+    self.by-version."winston"."0.7.1";
+  by-version."winston"."0.7.1" = lib.makeOverridable self.buildNodePackage {
     name = "winston-0.7.1";
     src = [
       (fetchurl {
@@ -15206,21 +12585,25 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."winston"."0.7.1" or []);
+      (self.nativeDeps."winston" or []);
     deps = [
-      self.full."async"."0.2.x"
-      self.full."colors"."0.6.x"
-      self.full."cycle"."1.0.x"
-      self.full."eyes"."0.1.x"
-      self.full."pkginfo"."0.3.x"
-      self.full."request"."2.16.x"
-      self.full."stack-trace"."0.0.x"
+      self.by-version."async"."0.2.9"
+      self.by-version."colors"."0.6.2"
+      self.by-version."cycle"."1.0.2"
+      self.by-version."eyes"."0.1.8"
+      self.by-version."pkginfo"."0.3.0"
+      self.by-version."request"."2.16.6"
+      self.by-version."stack-trace"."0.0.7"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "winston" ];
   };
-  full."with"."~1.1.0" = lib.makeOverridable self.buildNodePackage {
+  by-spec."winston"."~0.7.2" =
+    self.by-version."winston"."0.7.2";
+  by-spec."with"."~1.1.0" =
+    self.by-version."with"."1.1.1";
+  by-version."with"."1.1.1" = lib.makeOverridable self.buildNodePackage {
     name = "with-1.1.1";
     src = [
       (fetchurl {
@@ -15229,31 +12612,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."with"."~1.1.0" or []);
+      (self.nativeDeps."with" or []);
     deps = [
-      self.full."uglify-js"."2.4.0"
+      self.by-version."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 {
+  by-spec."wordwrap"."0.0.x" =
+    self.by-version."wordwrap"."0.0.2";
+  by-version."wordwrap"."0.0.2" = lib.makeOverridable self.buildNodePackage {
     name = "wordwrap-0.0.2";
     src = [
       (fetchurl {
@@ -15262,30 +12631,38 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."wordwrap".">=0.0.1 <0.1.0" or []);
+      (self.nativeDeps."wordwrap" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "wordwrap" ];
   };
-  full."wordwrap"."~0.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "wordwrap-0.0.2";
+  by-spec."wordwrap".">=0.0.1 <0.1.0" =
+    self.by-version."wordwrap"."0.0.2";
+  by-spec."wordwrap"."~0.0.2" =
+    self.by-version."wordwrap"."0.0.2";
+  by-spec."wrench"."~1.4.3" =
+    self.by-version."wrench"."1.4.4";
+  by-version."wrench"."1.4.4" = lib.makeOverridable self.buildNodePackage {
+    name = "wrench-1.4.4";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+        url = "http://registry.npmjs.org/wrench/-/wrench-1.4.4.tgz";
+        sha1 = "7f523efdb71b0100e77dce834c06523cbe3d54e0";
       })
     ];
     buildInputs =
-      (self.nativeDeps."wordwrap"."~0.0.2" or []);
+      (self.nativeDeps."wrench" or []);
     deps = [
     ];
     peerDependencies = [
     ];
-    passthru.names = [ "wordwrap" ];
+    passthru.names = [ "wrench" ];
   };
-  full."ws"."0.4.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."ws"."0.4.x" =
+    self.by-version."ws"."0.4.31";
+  by-version."ws"."0.4.31" = lib.makeOverridable self.buildNodePackage {
     name = "ws-0.4.31";
     src = [
       (fetchurl {
@@ -15294,18 +12671,20 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."ws"."0.4.x" or []);
+      (self.nativeDeps."ws" or []);
     deps = [
-      self.full."commander"."~0.6.1"
-      self.full."nan"."~0.3.0"
-      self.full."tinycolor"."0.x"
-      self.full."options".">=0.0.5"
+      self.by-version."commander"."0.6.1"
+      self.by-version."nan"."0.3.2"
+      self.by-version."tinycolor"."0.0.1"
+      self.by-version."options"."0.0.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "ws" ];
   };
-  full."wu"."*" = lib.makeOverridable self.buildNodePackage {
+  by-spec."wu"."*" =
+    self.by-version."wu"."0.1.8";
+  by-version."wu"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "wu-0.1.8";
     src = [
       (fetchurl {
@@ -15314,15 +12693,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."wu"."*" or []);
+      (self.nativeDeps."wu" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "wu" ];
   };
-  "wu" = self.full."wu"."*";
-  full."x509"."*" = lib.makeOverridable self.buildNodePackage {
+  "wu" = self.by-version."wu"."0.1.8";
+  by-spec."x509"."*" =
+    self.by-version."x509"."0.0.6";
+  by-version."x509"."0.0.6" = lib.makeOverridable self.buildNodePackage {
     name = "x509-0.0.6";
     src = [
       (fetchurl {
@@ -15331,15 +12712,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."x509"."*" or []);
+      (self.nativeDeps."x509" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "x509" ];
   };
-  "x509" = self.full."x509"."*";
-  full."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
+  "x509" = self.by-version."x509"."0.0.6";
+  by-spec."xml2js"."0.2.4" =
+    self.by-version."xml2js"."0.2.4";
+  by-version."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage {
     name = "xml2js-0.2.4";
     src = [
       (fetchurl {
@@ -15348,15 +12731,17 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xml2js"."0.2.4" or []);
+      (self.nativeDeps."xml2js" or []);
     deps = [
-      self.full."sax".">=0.4.2"
+      self.by-version."sax"."0.5.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
   };
-  full."xml2js"."0.2.x" = lib.makeOverridable self.buildNodePackage {
+  by-spec."xml2js"."0.2.x" =
+    self.by-version."xml2js"."0.2.8";
+  by-version."xml2js"."0.2.8" = lib.makeOverridable self.buildNodePackage {
     name = "xml2js-0.2.8";
     src = [
       (fetchurl {
@@ -15365,48 +12750,37 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xml2js"."0.2.x" or []);
+      (self.nativeDeps."xml2js" or []);
     deps = [
-      self.full."sax"."0.5.x"
+      self.by-version."sax"."0.5.5"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xml2js" ];
   };
-  full."xml2js".">= 0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "xml2js-0.2.8";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz";
-        sha1 = "9b81690931631ff09d1957549faf54f4f980b3c2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."xml2js".">= 0.0.1" or []);
-    deps = [
-      self.full."sax"."0.5.x"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "xml2js" ];
-  };
-  full."xmlbuilder"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "xmlbuilder-0.4.2";
+  by-spec."xml2js".">= 0.0.1" =
+    self.by-version."xml2js"."0.2.8";
+  by-spec."xmlbuilder"."*" =
+    self.by-version."xmlbuilder"."0.4.3";
+  by-version."xmlbuilder"."0.4.3" = lib.makeOverridable self.buildNodePackage {
+    name = "xmlbuilder-0.4.3";
     src = [
       (fetchurl {
-        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
-        sha1 = "1776d65f3fdbad470a08d8604cdeb1c4e540ff83";
+        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.3.tgz";
+        sha1 = "c4614ba74e0ad196e609c9272cd9e1ddb28a8a58";
       })
     ];
     buildInputs =
-      (self.nativeDeps."xmlbuilder"."*" or []);
+      (self.nativeDeps."xmlbuilder" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xmlbuilder" ];
   };
-  full."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."xmlbuilder"."0.4.2" =
+    self.by-version."xmlbuilder"."0.4.2";
+  by-version."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "xmlbuilder-0.4.2";
     src = [
       (fetchurl {
@@ -15415,14 +12789,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xmlbuilder"."0.4.2" or []);
+      (self.nativeDeps."xmlbuilder" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xmlbuilder" ];
   };
-  full."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."xmlhttprequest"."1.4.2" =
+    self.by-version."xmlhttprequest"."1.4.2";
+  by-version."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage {
     name = "xmlhttprequest-1.4.2";
     src = [
       (fetchurl {
@@ -15431,14 +12807,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xmlhttprequest"."1.4.2" or []);
+      (self.nativeDeps."xmlhttprequest" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xmlhttprequest" ];
   };
-  full."xoauth2"."~0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."xoauth2"."~0.1" =
+    self.by-version."xoauth2"."0.1.8";
+  by-version."xoauth2"."0.1.8" = lib.makeOverridable self.buildNodePackage {
     name = "xoauth2-0.1.8";
     src = [
       (fetchurl {
@@ -15447,14 +12825,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."xoauth2"."~0.1" or []);
+      (self.nativeDeps."xoauth2" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "xoauth2" ];
   };
-  full."yaml"."0.2.3" = lib.makeOverridable self.buildNodePackage {
+  by-spec."yaml"."0.2.3" =
+    self.by-version."yaml"."0.2.3";
+  by-version."yaml"."0.2.3" = lib.makeOverridable self.buildNodePackage {
     name = "yaml-0.2.3";
     src = [
       (fetchurl {
@@ -15463,30 +12843,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."yaml"."0.2.3" or []);
+      (self.nativeDeps."yaml" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     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 {
+  by-spec."yeoman-generator"."~0.10.0" =
+    self.by-version."yeoman-generator"."0.10.5";
+  by-version."yeoman-generator"."0.10.5" = lib.makeOverridable self.buildNodePackage {
     name = "yeoman-generator-0.10.5";
     src = [
       (fetchurl {
@@ -15495,101 +12861,31 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.10.0" or []);
-    deps = [
-      self.full."cheerio"."~0.10.8"
-      self.full."request"."~2.16.6"
-      self.full."rimraf"."~2.1.4"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.1.1"
-      self.full."mkdirp"."~0.3.5"
-      self.full."read"."~1.0.4"
-      self.full."glob"."~3.1.21"
-      self.full."nopt"."~2.1.1"
-      self.full."cli-table"."~0.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "yeoman-generator" ];
-  };
-  full."yeoman-generator"."~0.13.0" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.13.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz";
-        sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.13.0" or []);
-    deps = [
-      self.full."cheerio"."~0.12.0"
-      self.full."request"."~2.25.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."glob"."~3.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-      self.full."dargs"."~0.1.0"
-      self.full."async"."~0.2.8"
-      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"
-      self.full."chalk"."~0.2.0"
-      self.full."text-table"."~0.1.1"
-    ];
-    peerDependencies = [
-    ];
-    passthru.names = [ "yeoman-generator" ];
-  };
-  full."yeoman-generator"."~0.13.1" = lib.makeOverridable self.buildNodePackage {
-    name = "yeoman-generator-0.13.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz";
-        sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.13.1" or []);
+      (self.nativeDeps."yeoman-generator" or []);
     deps = [
-      self.full."cheerio"."~0.12.0"
-      self.full."request"."~2.25.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."glob"."~3.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-      self.full."dargs"."~0.1.0"
-      self.full."async"."~0.2.8"
-      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"
-      self.full."chalk"."~0.2.0"
-      self.full."text-table"."~0.1.1"
+      self.by-version."cheerio"."0.10.8"
+      self.by-version."request"."2.16.6"
+      self.by-version."rimraf"."2.1.4"
+      self.by-version."tar"."0.1.18"
+      self.by-version."diff"."1.0.7"
+      self.by-version."mime"."1.2.11"
+      self.by-version."underscore.string"."2.3.3"
+      self.by-version."lodash"."1.1.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."read"."1.0.5"
+      self.by-version."glob"."3.1.21"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."cli-table"."0.2.0"
+      self.by-version."debug"."0.7.4"
+      self.by-version."isbinaryfile"."0.1.9"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "yeoman-generator" ];
   };
-  full."yeoman-generator"."~0.13.2" = lib.makeOverridable self.buildNodePackage {
+  by-spec."yeoman-generator"."~0.13.0" =
+    self.by-version."yeoman-generator"."0.13.4";
+  by-version."yeoman-generator"."0.13.4" = lib.makeOverridable self.buildNodePackage {
     name = "yeoman-generator-0.13.4";
     src = [
       (fetchurl {
@@ -15598,62 +12894,40 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."yeoman-generator"."~0.13.2" or []);
+      (self.nativeDeps."yeoman-generator" or []);
     deps = [
-      self.full."cheerio"."~0.12.0"
-      self.full."request"."~2.25.0"
-      self.full."rimraf"."~2.2.0"
-      self.full."tar"."~0.1.17"
-      self.full."diff"."~1.0.4"
-      self.full."mime"."~1.2.9"
-      self.full."underscore.string"."~2.3.1"
-      self.full."lodash"."~1.3.0"
-      self.full."mkdirp"."~0.3.5"
-      self.full."glob"."~3.2.0"
-      self.full."debug"."~0.7.2"
-      self.full."isbinaryfile"."~0.1.8"
-      self.full."dargs"."~0.1.0"
-      self.full."async"."~0.2.8"
-      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"
-      self.full."chalk"."~0.2.0"
-      self.full."text-table"."~0.1.1"
+      self.by-version."cheerio"."0.12.4"
+      self.by-version."request"."2.25.0"
+      self.by-version."rimraf"."2.2.2"
+      self.by-version."tar"."0.1.18"
+      self.by-version."diff"."1.0.7"
+      self.by-version."mime"."1.2.11"
+      self.by-version."underscore.string"."2.3.3"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."mkdirp"."0.3.5"
+      self.by-version."glob"."3.2.7"
+      self.by-version."debug"."0.7.4"
+      self.by-version."isbinaryfile"."0.1.9"
+      self.by-version."dargs"."0.1.0"
+      self.by-version."async"."0.2.9"
+      self.by-version."inquirer"."0.3.5"
+      self.by-version."iconv-lite"."0.2.11"
+      self.by-version."shelljs"."0.1.4"
+      self.by-version."findup-sync"."0.1.2"
+      self.by-version."chalk"."0.2.1"
+      self.by-version."text-table"."0.1.1"
     ];
     peerDependencies = [
     ];
     passthru.names = [ "yeoman-generator" ];
   };
-  full."yo"."*" = lib.makeOverridable self.buildNodePackage {
-    name = "yo-1.0.4";
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/yo/-/yo-1.0.4.tgz";
-        sha1 = "666b5965a8e920df877d351da793f89bd1c8707a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."yo"."*" or []);
-    deps = [
-      self.full."yeoman-generator"."~0.13.2"
-      self.full."nopt"."~2.1.1"
-      self.full."lodash"."~1.3.1"
-      self.full."update-notifier"."~0.1.3"
-      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.2.0"
-    ];
-    peerDependencies = [
-      self.full."grunt-cli"."~0.1.7"
-      self.full."bower".">=0.9.0"
-    ];
-    passthru.names = [ "yo" ];
-  };
-  "yo" = self.full."yo"."*";
-  full."yo".">=1.0.0-rc.1.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."yeoman-generator"."~0.13.1" =
+    self.by-version."yeoman-generator"."0.13.4";
+  by-spec."yeoman-generator"."~0.13.2" =
+    self.by-version."yeoman-generator"."0.13.4";
+  by-spec."yo"."*" =
+    self.by-version."yo"."1.0.4";
+  by-version."yo"."1.0.4" = lib.makeOverridable self.buildNodePackage {
     name = "yo-1.0.4";
     src = [
       (fetchurl {
@@ -15662,25 +12936,30 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."yo".">=1.0.0-rc.1.1" or []);
+      (self.nativeDeps."yo" or []);
     deps = [
-      self.full."yeoman-generator"."~0.13.2"
-      self.full."nopt"."~2.1.1"
-      self.full."lodash"."~1.3.1"
-      self.full."update-notifier"."~0.1.3"
-      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.2.0"
+      self.by-version."yeoman-generator"."0.13.4"
+      self.by-version."nopt"."2.1.2"
+      self.by-version."lodash"."1.3.1"
+      self.by-version."update-notifier"."0.1.7"
+      self.by-version."insight"."0.2.0"
+      self.by-version."sudo-block"."0.2.1"
+      self.by-version."async"."0.2.9"
+      self.by-version."open"."0.0.4"
+      self.by-version."chalk"."0.2.1"
     ];
     peerDependencies = [
-      self.full."grunt-cli"."~0.1.7"
-      self.full."bower".">=0.9.0"
+      self.by-version."grunt-cli"."0.1.11"
+      self.by-version."bower"."1.2.7"
     ];
     passthru.names = [ "yo" ];
   };
-  full."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage {
+  "yo" = self.by-version."yo"."1.0.4";
+  by-spec."yo".">=1.0.0-rc.1.1" =
+    self.by-version."yo"."1.0.4";
+  by-spec."zeparser"."0.0.5" =
+    self.by-version."zeparser"."0.0.5";
+  by-version."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage {
     name = "zeparser-0.0.5";
     src = [
       (fetchurl {
@@ -15689,14 +12968,16 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."zeparser"."0.0.5" or []);
+      (self.nativeDeps."zeparser" or []);
     deps = [
     ];
     peerDependencies = [
     ];
     passthru.names = [ "zeparser" ];
   };
-  full."zlib-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
+  by-spec."zlib-browserify"."0.0.1" =
+    self.by-version."zlib-browserify"."0.0.1";
+  by-version."zlib-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage {
     name = "zlib-browserify-0.0.1";
     src = [
       (fetchurl {
@@ -15705,7 +12986,7 @@
       })
     ];
     buildInputs =
-      (self.nativeDeps."zlib-browserify"."0.0.1" or []);
+      (self.nativeDeps."zlib-browserify" or []);
     deps = [
     ];
     peerDependencies = [
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
index 1057e3f6f28..dbbc2846952 100644
--- a/pkgs/top-level/node-packages.json
+++ b/pkgs/top-level/node-packages.json
@@ -84,6 +84,7 @@
 , "grunt-contrib-cssmin"
 , "grunt-contrib-uglify"
 , "grunt-karma"
+, "grunt-bower-task"
 , "grunt-sed"
 , "karma"
 , "karma-mocha"
@@ -107,4 +108,5 @@
 , "x509"
 , "owl-deepcopy"
 , "meat"
+, "hipache"
 ]
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
index 8725ce1e9cd..56bcda57aa0 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -1,10 +1,10 @@
-{ pkgs, stdenv, nodejs, fetchurl, neededNatives, self, generated ? ./node-packages-generated.nix }:
+{ pkgs, stdenv, nodejs, fetchurl, fetchgit, neededNatives, self, generated ? ./node-packages-generated.nix }:
 
-{
+rec {
   nativeDeps = {
-    "node-expat"."*" = [ pkgs.expat ];
-    "rbytes"."*" = [ pkgs.openssl ];
-    "phantomjs"."~1.9" = [ pkgs.phantomjs ];
+    "node-expat" = [ pkgs.expat ];
+    "rbytes" = [ pkgs.openssl ];
+    "phantomjs" = [ pkgs.phantomjs ];
   };
 
   buildNodePackage = import ../development/web/nodejs/build-node-package.nix {
@@ -12,15 +12,19 @@
     inherit (pkgs) runCommand;
   };
 
-  patchLatest = srcAttrs:
-    let src = fetchurl srcAttrs; in pkgs.runCommand src.name {} ''
+  patchSource = fn: srcAttrs:
+    let src = fn srcAttrs; in pkgs.runCommand src.name {} ''
       mkdir unpack
       cd unpack
-      tar xf ${src}
+      unpackFile ${src}
+      chmod -R +w */
       mv */ package 2>/dev/null || true
-      sed -i -e "s/: \"latest\"/: \"*\"/" package/package.json
-      tar cf $out *
+      sed -i -e "s/:\s*\"latest\"/:  \"*\"/" -e "s/:\s*\"git\(\+\(ssh\|http\|https\)\)\?\:\/\/[^\"]*\"/: \"*\"/" package/package.json
+      mv */ $out
     '';
 
+  # Backwards compat
+  patchLatest = patchSource fetchurl;
+
   /* Put manual packages below here (ideally eventually managed by npm2nix */
-} // import generated { inherit self fetchurl; inherit (pkgs) lib; }
+} // import generated { inherit self fetchurl fetchgit; inherit (pkgs) lib; }
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 90058aec242..05a6aec35a2 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -1925,10 +1925,14 @@ rec {
   };
 
   DateManip = buildPerlPackage {
-    name = "DateManip-5.54";
+    name = "Date-Manip-6.41";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-5.54.tar.gz;
-      sha256 = "0ap2jgqx7yvjsyph9zsvadsih41cj991j3jwgz5261sq7q74y7xn";
+      url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.41.tar.gz;
+      sha256 = "f7f654d8a85836bfbb248e21dd2ad39e592aa259f247bf77ef791ff19360de09";
+    };
+    propagatedBuildInputs = [ TestInter ];
+    meta = {
+      description = "Date manipulation routines";
     };
   };
 
@@ -3534,6 +3538,20 @@ rec {
     propagatedBuildInputs = [ TestScript ];
   };
 
+  FinanceQuote = buildPerlPackage {
+    name = "Finance-Quote-1.18";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/EC/ECOCODE/Finance-Quote-1.18.tar.gz;
+      sha256 = "4240faabe0646defd4ec76ca9e111977b9e8060eaec41adeb284eb422a428393";
+    };
+    propagatedBuildInputs = [ CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP ];
+    meta = {
+      homepage = http://finance-quote.sourceforge.net/;
+      description = "Get stock and mutual fund quotes from various exchanges";
+      license = "gpl";
+    };
+  };
+
   FontAFM = buildPerlPackage rec {
     name = "Font-AFM-1.20";
     src = fetchurl {
@@ -3800,6 +3818,15 @@ rec {
     buildInputs = [ pkgs.unzip ];
   };
 
+  HTMLElementExtended = buildPerlPackage {
+    name = "HTML-Element-Extended-1.18";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MS/MSISK/HTML-Element-Extended-1.18.tar.gz;
+      sha256 = "f3ef1af108f27fef15ebec66479f251ce08aa49bd00b0462c9c80c86b4b6b32b";
+    };
+    propagatedBuildInputs = [ HTMLTree ];
+  };
+
   HTMLFromANSI = buildPerlPackage {
     name = "HTML-FromANSI-2.03";
     src = fetchurl {
@@ -3894,6 +3921,15 @@ rec {
     propagatedBuildInputs = [HTMLParser];
   };
 
+  HTMLTableExtract = buildPerlPackage {
+    name = "HTML-TableExtract-2.11";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MS/MSISK/HTML-TableExtract-2.11.tar.gz;
+      sha256 = "1861d55a2aa1728ef56ea2d08d630b9a008456f1106994e4e49e76f56e4955ee";
+    };
+    propagatedBuildInputs = [ HTMLElementExtended HTMLParser ];
+  };
+
   HTMLTagset = buildPerlPackage rec {
     name = "HTML-Tagset-3.20";
     src = fetchurl {
@@ -7591,7 +7627,7 @@ rec {
   };
 
   Switch = buildPerlPackage rec {
-    name = "Switch";
+    name = "Switch-2.16";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RG/RGARCIA/Switch-2.16.tar.gz";
       sha256 = "1n7rgp1q3zwglv1pka3bnhq5g41334lwc53g31w6g44my8kqz31h";
@@ -8568,6 +8604,18 @@ rec {
     };
   };
 
+  TestInter = buildPerlPackage {
+    name = "Test-Inter-1.05";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SB/SBECK/Test-Inter-1.05.tar.gz;
+      sha256 = "bda95ef503f1c1b39a5cd1ea686d18a67a63b56a8eb458f0614fc2acc51f7988";
+    };
+    meta = {
+      description = "Framework for more readable interactive test scripts";
+      license = "perl";
+    };
+  };
+
   TextMarkdown = buildPerlPackage rec {
     name = "Text-Markdown-1.0.26";
     src = fetchurl {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3dc6a36bb7e..75dd2bc12f0 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -187,20 +187,29 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   afew = buildPythonPackage rec {
-    rev = "6bb3915636aaf86f046a017ffffd9a4ef395e199";
+    rev = "d5d0ddeae0c5758a3f6cf5de77913804d88e906a";
     name = "afew-1.0_${rev}";
 
     src = fetchurl {
       url = "https://github.com/teythoon/afew/tarball/${rev}";
       name = "${name}.tar.bz";
-      sha256 = "74926d9ddfa69534cfbd08a82f0acccab2c649558062654d5d2ff2999d201384";
+      sha256 = "0al7hz994sh0yrpixqafr25acglvniq4zsbs9aj89zr7yzq1g1j0";
     };
 
-    propagatedBuildInputs = [ pythonPackages.notmuch pkgs.dbacl ];
+    buildInputs = [ pkgs.dbacl ];
+
+    propagatedBuildInputs = [
+      pythonPackages.notmuch
+      pythonPackages.subprocess32
+      pythonPackages.chardet
+    ];
 
-    # error: invalid command 'test'
     doCheck = false;
 
+    preConfigure = ''
+      substituteInPlace afew/DBACL.py --replace "'dbacl'" "'${pkgs.dbacl}/bin/dbacl'"
+    '';
+
     postInstall = ''
       wrapProgram $out/bin/afew \
         --prefix LD_LIBRARY_PATH : ${pkgs.notmuch}/lib
@@ -289,13 +298,13 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
 
   alot = buildPythonPackage rec {
-    rev = "0711cf8efaf1a4cca24617c3406210a415006457";
-    name = "alot-0.3.4_${rev}";
+    rev = "fa10bfc2de105da819c8e11e913a44c3c1ac60a4";
+    name = "alot-0.3.5_${rev}";
 
     src = fetchurl {
       url = "https://github.com/pazz/alot/tarball/${rev}";
       name = "${name}.tar.bz";
-      sha256 = "1rxkx9cjajsv9x1dl4xp1r3vr0kb66sglxaqzjiwaknqzahmmji5";
+      sha256 = "0zd4jiwxqb7m672xkr5jcqkfpk9jx1kmkllyvjjvswkgjjqdrhax";
     };
 
     # error: invalid command 'test'
@@ -2899,6 +2908,24 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+
+  ipaddr = buildPythonPackage {
+    name = "ipaddr-2.1.7";
+    src = fetchurl {
+      url = "http://ipaddr-py.googlecode.com/files/ipaddr-2.1.7.tar.gz";
+      md5 = "71a2be9f1d528d9a945ef555de312685";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = {
+      description = "Google's IP address manipulation library";
+      homepage = http://code.google.com/p/ipaddr-py/;
+      license = pkgs.lib.licenses.asl20;
+    };
+  };
+
   ipdb = buildPythonPackage {
     name = "ipdb-0.7";
     src = fetchurl {
@@ -3442,6 +3469,27 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
 
+  mpmath = buildPythonPackage rec {
+    name = "mpmath-0.17";
+
+    src = fetchurl {
+      url    = "https://mpmath.googlecode.com/files/${name}.tar.gz";
+      sha256 = "1blgzwq4irzaf8abb4z0d2r48903n9zxf51fhnv3gv09bgxjqzxh";
+    };
+
+    meta = with stdenv.lib; {
+      homepage    = http://mpmath.googlecode.com;
+      description = "A pure-Python library for multiprecision floating arithmetic";
+      license     = licenses.bsd3;
+      maintainers = with maintainers; [ lovek323 ];
+      platforms   = platforms.unix;
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+  };
+
+
   mrbob = buildPythonPackage rec {
     name = "mrbob-${version}";
     version = "0.1a9";
@@ -5446,6 +5494,67 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
+
+  robotframework = buildPythonPackage rec {
+    version = "2.8.1";
+    name = "robotframework-${version}";
+
+    src = fetchurl {
+      url = "https://robotframework.googlecode.com/files/${name}.tar.gz";
+      sha256 = "04zwjri1j5py3fpbhy1xlc18bhbmdm2gbd58fwa2jnhmrha5dgnw";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Generic test automation framework";
+      homepage = http://robotframework.org/;
+      license = licenses.asl20;
+      platforms = platforms.linux;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
+
+  robotframework-ride = buildPythonPackage rec {
+    version = "1.2.2";
+    name = "robotframework-ride-${version}";
+
+    src = fetchurl {
+      url = "https://robotframework-ride.googlecode.com/files/${name}.tar.gz";
+      sha256 = "1yfvl0hdjjkwk90w3f3i23dxxk3yiyv4pbvnp4l7yd6cmxsia8f3";
+    };
+
+    propagatedBuildInputs = [ pygments wxPython modules.sqlite3 ];
+
+    # Stop copying (read-only) permission bits from the nix store into $HOME,
+    # because that leads to this:
+    #   IOError: [Errno 13] Permission denied: '/home/bfo/.robotframework/ride/settings.cfg'
+    postPatch = ''
+      sed -i "s|shutil\.copy(|shutil.copyfile(|" src/robotide/preferences/settings.py
+    '';
+
+    # ride_postinstall.py checks that needed deps are installed and creates a
+    # desktop shortcut. We don't really need it and it clutters up bin/ so
+    # remove it.
+    postInstall = ''
+      rm -f "$out/bin/ride_postinstall.py"
+    '';
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      description = "Light-weight and intuitive editor for Robot Framework test case files";
+      homepage = https://code.google.com/p/robotframework-ride/;
+      license = licenses.asl20;
+      platforms = platforms.linux;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
+
   rope = buildPythonPackage rec {
     version = "0.9.4";
     name = "rope-${version}";
@@ -5938,6 +6047,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
+  subprocess32 = buildPythonPackage rec {
+    name = "subprocess32-3.2.5rc1";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/s/subprocess32/${name}.tar.gz";
+      md5 = "f5f46106368be6336b54af95d048fea9";
+    };
+
+    doCheck = false;
+
+    meta = {
+      homepage = "https://pypi.python.org/pypi/subprocess32";
+      description = "Backport of the subprocess module from Python 3.2.5 for use on 2.x.";
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+    };
+  };
+
 
   sphinx = buildPythonPackage (rec {
     name = "Sphinx-1.1.3";
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index 3280df09dd5..e2f5309ced3 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -119,14 +119,12 @@ rec {
 
   # May fail as much as it wishes, we will catch the error.
   processPackage = attrSet:
-    if attrSet ? recurseForDerivations && attrSet.recurseForDerivations then
+    if attrSet.recurseForDerivations or false then
       packagesWithMetaPlatform attrSet
-    else if attrSet ? recurseForRelease && attrSet.recurseForRelease then
+    else if attrSet.recurseForRelease or false then
       packagesWithMetaPlatform attrSet
     else
-      if attrSet ? meta && attrSet.meta ? platforms
-        then attrSet.meta.platforms
-        else [];
+      attrSet.meta.hydraPlatforms or (attrSet.meta.platforms or []);
 
 
   /* Common platform groups on which to test packages. */
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index 2453712584a..5aafba980b9 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -372,7 +372,6 @@ let
   gajim = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   gav = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   gcj = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  gcj44 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   gcj46 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   gcl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   gdb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index ef7bc038c62..921a6e74134 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -53,7 +53,6 @@ with (import ./release-lib.nix);
   gcc34 = linux;
   gcc42 = linux;
   gcc44 = linux;
-  gcj44 = linux;
   ghdl = linux;
   glibc = linux;
   glibcLocales = linux;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 87b63e33891..cc62eaec86d 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -116,7 +116,6 @@ let
       gcc34 = linux;
       gcc42 = linux;
       gcc44 = linux;
-      gcj44 = linux;
       ghdl = linux;
       ghostscript = linux;
       ghostscriptX = linux;
@@ -141,7 +140,6 @@ let
       gphoto2 = linux;
       gpm = linux;
       gprolog = linux;
-      gpsbabel = all;
       gpscorrelate = linux;
       gpsd = linux;
       gqview = gtkSupported;
@@ -213,7 +211,6 @@ let
       mysql = linux;
       mysql51 = linux;
       mysql55 = linux;
-      namazu = all;
       nano = allBut "i686-cygwin";
       ncat = linux;
       netcat = all;